В этом примере показано, как фильтровать синусоиду с помощью методов Overlap-Add и Overlap-Save FFT с помощью блока фильтра FIR частотной области.


Алгоритм [1] наложения-сложения фильтрует входной сигнал в частотной области. Вход разделен на неперекрывающиеся блоки, которые линейно свернуты с коэффициентами КИХ-фильтра. Линейная свертка каждого блока вычисляется путем умножения дискретных преобразований Фурье (DFT) блока и коэффициентов фильтра и вычисления обратного DFT произведения. Для длины фильтра M и размер БПФ N, последнее M-1 образцы линейной свертки добавляются к первому M-1 выборки следующей входной последовательности. Первое N-M+1 последовательно выводят выборки каждого результата суммирования.
Алгоритм [2] сохранения перекрытия также фильтрует входной сигнал в частотной области. Вход разделен на перекрывающиеся блоки, которые циклически свернуты с коэффициентами КИХ-фильтра. Круговая свертка каждого блока вычисляется путем умножения DFT блока и коэффициентов фильтра и вычисления обратного DFT произведения. Для длины фильтра M и размер БПФ N, первый M-1 точки круговой свертки недопустимы и отбрасываются. Выходные данные состоят из оставшихся N-M+1 точек, которые эквивалентны истинной свертке.
Наложение-сохранение и наложение-добавление вводят задержку обработки выборок N-M + 1. Вы можете уменьшить эту задержку, разбив числитель на более короткие сегменты, применив наложение-добавление или наложение-сохранение над секциями, а затем объединив результаты для получения отфильтрованных выходных данных [3]. Задержка уменьшается до длины разбиения за счет дополнительных вычислений по сравнению с традиционным наложением-сохранением/наложением (хотя все еще численно более эффективным, чем фильтрация во временной области для длинных фильтров). В этой модели мы используем продолжительность разделения 30, который уменьшает время ожидания от 213 образцов для традиционного overlap-add/overlap-save к 30 образцам.
[1] Алгоритм наложения-добавления: Proakis and Manolakis, цифровая обработка сигналов, 3-е изд., Prentice-Hall, Englewood Cliffs, NJ, 1996, стр. 430 - 433.
[2] Алгоритм наложения-сохранения: Оппенгейм и Шефер, обработка дискретных временных сигналов, Прентис-Холл, Энглвуд Клиффс, Нью-Джерси, 1989, стр. 558 - 560.
[3] Т. Г. Штокам-младший, «Высокоскоростная свертка и корреляция», Proc. 1966 Spring Joint Computer Conf., AFIPS, Vol 28, 1966, pp. 229-233.