DSP - секционная свертка DFT
Предположим, что входная последовательность x (n) большой продолжительности должна обрабатываться системой, имеющей импульсный отклик конечной длительности, путем свертки двух последовательностей. Поскольку линейная фильтрация, выполняемая с помощью DFT, включает операцию с блоком данных фиксированного размера, входная последовательность перед обработкой разделяется на блоки данных фиксированного размера.
Затем последовательные блоки обрабатываются по одному, и результаты объединяются для получения итогового результата.
Поскольку свертка выполняется путем разделения длинной входной последовательности на различные секции фиксированного размера, она называется секционной сверткой. Перед обработкой FIR-фильтром длинная входная последовательность сегментируется на блоки фиксированного размера.
Для оценки дискретной свертки используются два метода:
Overlap-save method
Overlap-add method
Метод сохранения перекрытия
Сохранение с перекрытием - это традиционное название эффективного способа оценки дискретной свертки между очень длинным сигналом x (n) и фильтром с конечной импульсной характеристикой (FIR) h (n). Ниже приведены шаги метода сохранения перекрытия -
Пусть длина блока входных данных = N = L + M-1. Следовательно, длина DFT и IDFT = N. Каждый блок данных несет M-1 точек данных предыдущего блока, за которым следуют L новых точек данных, чтобы сформировать последовательность данных длиной N = L + M-1.
Сначала для каждого блока данных вычисляется N-точечное ДПФ.
Путем добавления (L-1) нулей импульсная характеристика КИХ-фильтра увеличивается по длине, и вычисляется и сохраняется N-точечное ДПФ.
Умножение двух N-точечных ДПФ H (k) и X m (k): Y ′ m (k) = H (k) .X m (k), где K = 0,1,2,… N-1
Тогда IDFT [Y ′ m ((k)] = y ′ ((n) = [y ′ m (0), y ′ m (1), y ′ m (2), ....... y ' м (м-1), у' м (м), ....... у ' м (N-1)]
(здесь N-1 = L + M-2)
Первые точки M-1 повреждены из-за наложения имен и, следовательно, они отбрасываются, поскольку запись данных имеет длину N.
Последние L точек в результате свертки точно такие же, поэтому
y ′ m (n) = y m (n), где n = M, M + 1,… .N-1
Чтобы избежать наложения имен, последние элементы M-1 каждой записи данных сохраняются, и эти точки переносятся в следующую запись и становятся 1- м элементами M-1.
Результат IDFT, в котором исключаются первые точки M-1, для устранения наложения спектров, а оставшиеся L точек составляют желаемый результат как результат линейной свертки.
Метод добавления перекрытия
Ниже приведены шаги для определения дискретной свертки с использованием метода перекрытия.
Пусть размер блока входных данных равен L. Следовательно, размер DFT и IDFT: N = L + M-1
К каждому блоку данных добавляется M-1 нулей до последнего.
Вычислить N-точечное ДПФ.
Перемножаются два N-точечных ДПФ: Y m (k) = H (k) .X m (k), где k = 0,, 1,2,…., N-1
IDFT [Y m (k)] создает блоки длины N, на которые не влияет наложение, поскольку размер DFT равен N = L + M-1, и увеличивает длину последовательностей до N точек, добавляя M-1 нулей к каждому блок.
Последние точки M-1 каждого блока должны перекрываться и добавляться к первым точкам M-1 последующего блока.
(причина: каждый блок данных заканчивается нулями M-1)
Следовательно, этот метод известен как метод сложения перекрытия. Таким образом, получаем -
y (n) = {y 1 (0), y 1 (1), y 1 (2), ... .., y 1 (L-1), y 1 (L) + y 2 (0), y 1 (L + 1) + y 2 (1), ... ... .., y 1 (N-1) + y 2 (M-1), y 2 (M), ... .. . ... ... ...}