Алгоритмы БПФ с прореживанием по времени и по частоте

 

Быстрые алгоритмы БПФ являются “обратимыми”, т.е. вычисления по графу БПФ (см., например, рис. 3.1) могут выполняться как “слева направо”, так и “справа налево”.

В первом случае алгоритм БПФ основан на “бабочке” вида:

(8.11)

и называется алгоритмом с прореживанием по времени (алгоритм Кули- Тьюки) [21,25].

Во втором случае (при вычислении по графу “справа налево”) алгоритм БПФ производится на основе бабочки вида:

(8.12)

и называется алгоритмом БПФ с прореживанием по частоте (алгоритмом Сэнди-Тьюки). Такие алгоритмы были впервые опубликованы в середине 60-х годов [21,25].

Графы подобных базовых операций приведены на рис. 8.2, а) и б) соответственно.

а)

б)

Рис. 8.2. Графы базовых операций БПФ с прореживанием по времени (а) и по частоте (б)

Заметим, что для алгоритма БПФ с прореживанием по частоте не выполняется двоично-инверсная перестановка элементов вектора X перед первой итерацией, но зато необходимо переставлять элементы векторов результата по закону двоичной инверсии.

8.5. Алгоритм БПФ по основанию r (N = rm, r³3)

 

До сих пор мы рассматривали БПФ только для случая, когда N = 2m . На практике, однако, достаточно часто возникает необходимость вычисления ДПФ при , где r отлично от 2 (например, N=125=53, N= 625=54; N=27 и т.д.).

Для таких случаев несколько позднее Сэнди и Радемахором были разработаны алгоритмы БПФ, основу которых составляют базовые операции “бабочка” следующего вида для алгоритмов с прореживанием по времени:

(8.13)

и для алгоритмов с прореживанием по частоте соответственно:

(8.14)

Графически каждая из представленных базовых операций может быть изображена так, как это указано на рис.8.3.

а)


б)

Рис. 8.3. Графы базовых опeраций БПФ по основанию r

Остановимся на правилах перестановки элементов в таком случае. На входе выполняется перестановка по закону r - ичной инверсии, т.е. на входе элементы вектора X объединяются в подвектора из r - элементов, причём шаг выборок составит:

С помощью системы рекуррентных соотношений, подобных выражению (8.9), алгоритм БПФ для N=rM с прореживанием по времени можно описать

следующим образом [6,15]:

(8.15)

где - матрица ДЭФ порядка r (т.е. ДПФ для вектора N сводится к ряду ДПФ размера r над блоками), k=(n)mod l, n текущий индекс элемента вектора ( ), ,

, , ,

Граф БПФ для N=9 имеет вид, представленный на рис.8.4

Рис.8.4. Граф БПФ