Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лекции / LEKKURS6.DOC
Скачиваний:
91
Добавлен:
16.04.2013
Размер:
1.63 Mб
Скачать

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. Общее количество операция при таком построении алгоритма БПФ равно .

Соседние файлы в папке лекции