Алгоритм БПФ по основанию два с прореживанием по частоте
DSPL-2.0 — свободная библиотека алгоритмов цифровой обработки сигналов Распространяется под лицензией LGPL v3 Страница проекта на SourceForge |
В предыдущем разделе был подробно рассмотрен алгоритм БПФ с прореживанием по времени. Рассмотрим еще один способ разделения и объединения, который носит название прореживание по частоте.
Пусть имеется отсчетов входного сигнала , , при этом представляет собой целую степень двойки .
В алгоритме БПФ с прореживанием по времени производилось разделение исходного сигнала в соответствии с двоично-инверсной перестановкой.
Таким образом, мы получили первую и вторую половины дискретного преобразования Фурье (ДПФ).
В алгоритме с прореживанием по частоте исходный сигнал , , делится пополам, т.е. и , .
Тогда ДПФ сигнала может быть записано в виде:
Рассмотрим выражение (1) для спектральных отсчетов , , с четными индексами:
Аналогично рассмотрим выражение (1) для спектральных отсчетов , , с нечетными индексами:
Учтем в выражении (4), что , а также, что .
Тогда выражение (4) можно представить в виде:
Таким образом, процедура разделения заключается в расчете сигналов половинной длительности и , .
После чего можно заменить точечное ДПФ двумя точечными ДПФ сигналов и .
Процедура расчета сигналов половинной длительности
Отличие графа «бабочка» алгоритма с прореживанием по частоте от аналогичного графа для алгоритма с прореживанием по времени заключается в том, что умножение на поворотный коэффициент производится после вычитания ветвей.
В графе «бабочка» алгоритма с прореживанием по времени умножение на поворотный коэффициент производилось до вычитания ветвей.
Мы заменили расчет -точечного ДПФ двумя -очечными.
В результате граф алгоритма БПФ с прореживанием по частоте для приведен на рисунке 2.
При этом каждое из -точечных ДПФ также может быть рассчитано с использованием алгоритма с прореживанием по частоте.
В результате получим полный граф алгоритма БПФ с прореживанием по частоте, как это показано на рисунке 3.
На первом этапе получаем и , в соответствии с (6):
В данном разделе мы рассмотрели алгоритм БПФ по основанию два с прореживанием по частоте.
В следующем разделе мы рассмотрим вычислительную эффективность алгоритмов БПФ по основанию два и некоторые вопросы программной реализации алгоритмов БПФ.