Наложение-Добавление/Сохранение

В этом примере показов, как фильтровать синусоиду с помощью методов Overlap-Add и Overlap-Save БПФ с помощью блока Частотного диапазона конечной импульсной характеристики filter.

Алгоритм перекрытия-добавления [1] фильтрует входной сигнал в частотный диапазон. Вход разделен на неперекрывающиеся блоки, которые линейно свернуты с коэффициентами конечной импульсной характеристики. Линейная свертка каждого блока вычисляется путем умножения дискретных преобразований Фурье (ДПФ) блока и коэффициентов фильтра и вычисления обратного ДПФ продукта. Для определения длины фильтра M и размер БПФ N, последнее M-1 выборки линейной свертки добавляют к первому M-1 выборки следующей входной последовательности. Первый N-M+1 выборки каждого результата суммирования выводятся последовательно.

Алгоритм [2] сохранения перекрытия также фильтрует входной сигнал в частотный диапазон. Вход разделен на перекрывающиеся блоки, которые циркулярно свернуты с коэффициентами конечной импульсной характеристики. Круговая свертка каждого блока вычисляется путем умножения ДПФ блока и коэффициентов фильтра и вычисления обратной ДПФ продукта. Для определения длины фильтра M и размер БПФ N, первый M-1 точки круговой свертки являются недопустимыми и отбрасываются. Выходы состоят из остальных N-M+1 точки, которые эквивалентны истинной свертке.

Overlap-save и overlap-add вводят задержку обработки отсчетов N-M + 1. Можно уменьшить эту задержку, разбив числитель на более короткие сегменты, применив overlap-add или overlap-save к разделам, а затем объединив результаты, чтобы получить отфильтрованный выход [3]. Время ожидания уменьшено до продолжительности разделения, за счет дополнительного расчета по сравнению с традиционным overlap-save/overlap-add (хотя все еще численно более эффективный, чем пространственно-временная фильтрация для длинных фильтров). В этой модели мы используем продолжительность разделения 30, который уменьшает время ожидания от 213 выборок для традиционного overlap-add/overlap-save к 30 выборкам.

Ссылки

[1] Overlap-Add Algorithm: Proakis and Manolakis, Digital Signal Processing, 3rd Ed, Prentice Hall, Englewood Cliffs, NJ, 1996, pp. 430 - 433.

[2] Алгоритм наложения-сохранения: Oppenheim and Schafer, обработка сигналов в дискретном времени, Prentice Hall, Englewood Cliffs, NJ, 1989, pp. 558 - 560.

[3] Т. Г. Стокхэм-младший, «Высокоскоростная свертка и корреляция», Proc. 1966 Spring Joint Computer Conf., AFIPS, Vol 28, 1966, pp. 229-233.