1.2 Алгоритм бпф с прореживанием по времени .
Принцип прореживания по времени наиболее удобно
иллюстрируется в частном случае, когда N является целой степенью числа 2. Так как N-четное число, можно рассматривать вычисление X(k) путем разбиения x(n) на две N/2- точечные последовательности, состоящие из точек x(n) с четными номерами и точек x(n) с нечетными номерами.
Согласно
определению ДПФ (3)
![]()
Разделяя x(n) на четные и нечетные точки, и заменяя индексы суммирования на n=2r при четном n и n=2r+1 при нечетном n ,получим :
(5).
Т.к.
(6),
то (5) примет вид:
(7).
В (7) введены обозначения:
(8).
(9).
· Каждая из сумм G(k) и H(k)в (5) является N/2 точечным ДПФ.Первая сумма G(k) есть N/2 точечное ДПФ четных точек исходной последовательности, вторая H(k) -N/2 точечное ДПФ нечетных точек исходных последовательностей.
Хотя индекс r простирается на N значений,k=0,1,..N-1, каждая из
сумм
требует вычислений для k от 0 до N/2-1, т.к.
, а вместе
с ними и G(k) и H(k),периодичны по k с периодом N/2.
После того как ДПФ, соответствующие двум суммам в (7) вычислены ,они объединяются и дают N-точечное ДПФ.
Посчитаем количество операций при таком алгоритме. Выражение
(7) требует вычисления двух N/2 точечных ДПФ, что в свою очередь требует 2(N/2) комплексных умножений и приблизительно 2(N/2) комплексных сложений. Затем два N/2 точечных умножений должны быть объединены, что потребует N комплексных умножений, соответствующих умножению второй суммы на W и затем N комплексных сложений, соответствующих сложению произведения с первой суммой.
Следовательно
вычисления по (7) для всех значений
k требуют
или
комплексных умножений и столько
же комплексных сложений. Легко проверить,
что при N>2
<
.
Начатый алгоритм можно продолжить далее. Если N/2 четное
число, что имеет место всегда, когда N равно степени 2, то можно
вычислять каждое ДПФ в (7) путем разбиения сумм G(k)(8) и H(k)(9) на два N/4 точечных ДПФ.
Так для первой суммы введя переобозначение x(2r) =g(r),
получим:
(10).
В
преобразованиях (10) учтен тот факт, что
.
Аналогично, делая переобозначенние x(2r+1)=h(r) для H(k) из (9) получим:
(11).
Продолжая
процесс деления последовательности
дальше, в конце концов N-точечное
преобразование Фурье сведем к
вычислению нескольких двухточечных
ДПФ. Если
, то это потребует
ступеней
вычислений. Общее количество операций
при этом будет равно
.
Проиллюстрируем принцип БПФ на примере 8-ми точечного
преобразования Фурье с помощью техники направленных сигнальных графов. При этом предполагается , что ветви, входящие в узел, суммируются , давая узловую переменную. Предполагается , что когда не указываются коэффициенты , передача по ветви равна единице.Для других ветвей коэффициент передачи равен степени W .

Подчеркнем, что в описанном выше алгоритме входные
данные должны быть записаны в необычном порядке, который называется двоичной инверсией.В восьмиточечной последовательности последовательность входных данных x(n) была следующая n=0,4,2,6,1,5,3,7 .Чтобы перейти к такому порядку следования элементов, нужно записать каноническую последовательность индексов
n =0,1,2,3,4,5,6,7 в двоичном виде 000,001,010,011,100, 101, 110 -
111. Осуществляя двоичную инверсию и переходя к десятичному представлению получим 000,100,010,110,001,101,011,111
n=0,4,2,6,1,5,3,7.
Таким образом, алгоритм БПФ с прореживанием по времени были основаны на разложении ДПФ путем формирования уменьшающихся подпоследовательностей входной последовательности x(n). С другой стороны , можно рассмотреть разложение выходной последовательности X(k) на уменьшающиеся подпоследовательности . Класс алгоритмов БПФ, основанный на этой процедуре, обычно называется классом алгоритмов с прореживанием по частоте.
1.3 Быстрое преобразование Фурье с прореживанием по частоте.
Чтобы
вывести БПФ- алгоритм с прореживанием
по частоте для
,
сначала разделим входную последовательность
на две половины так, что
(12).
Объединяя
обе суммы мы учитывали тот факт, что
Каждая
из сумм в (12) не является N/2 точечным
преобразованием Фурье, т.к. в кажной из
сумм стоит
,
а не
.
Рассмотрим теперь отдельно четные и
нечетные k, обозначив через X(2r) X(2r+1), так
что
(13)
(14)
r=0,1,2,.....(N/2-1).
Выражения
(13) и (14) уже являются N/2-точечными
преобразованиями Фурье т.к.
:
в (13) от суммы первой и второй половины
входной последовательности , в (14) от
произведения
на
разность первой и второй половины
входной последовательности. Объединяя
первую и вторую половину N/2 точечного
преобразования Фурье таким же образом
, как и в предыдущем случае, придем к
вычислению N/4-точечных преобразований
Фурье. Таким образом, любая последовательность
длиной
,
может быть с помощью данного алгоритма
приведена к вычислению набора 2-х
точечных ДПФ.
Оценим
общее количество операций при таком
построении алгоритма БПФ. Методом
прореживания по частоте мы разбили
вычисления на
ступеней (при N=8 m=3). На каждой ступени
производится N/2 умножений и N сложений.
Таким образом общий порядок вычислений
дает число
.
Таким образом порядок вичислительных
операций алгоритма БПФ с прореживанием
по частоте тот же, что и с прореживанием
по времени. Одно их различий алгоритмов
состоит в том , что при прореживании по
частоте входная последовательность
имеет обычный порядок, а выходная
последовательность с двоичной инверсией.
При прореживании по времени, наоборот,
двоичной инверсии подвергается входная
последовательность. Более того, можно
заметить , что один из алгоритмов можно
получить из другого взаимной заменой
входа и выхода и обращению направления
всех стрелок в направленном графе.
Таким
образом, в случае, если
,
можно построить эффективный алгоритм
вычисления ДПФ . На практике выгодно
всегда иметь дело с последовательностью
такой длины. Это можно осуществить во
многих случаях, просто дополняя
последовательность конечной длины
нулями до нужной длины. Однако, можно
построить эффективные алгоритмы БФП и
в более общем случае, когда длина
последовательности не является целой
степенью двух, но представима в виде
произведения целых чисел
.
Если
,
то преобразование Фурье такой
последовательности можно представить
в виде p ДПФ длины q. Общее количество
операция при таком построении алгоритма
БПФ равно
.
