Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Глинченко А.С. - Цифровая обработка сигналов. ч.2 (2001)(3 M.pdf
Скачиваний:
522
Добавлен:
13.09.2013
Размер:
2.76 Mб
Скачать

41

8.4. АЛГОРИТМ БПФ ПО ОСНОВАНИЮ 2 С ПРОРЕЖИВАНИЕМ ПО ЧАСТОТЕ И ГРАФ-СХЕМА ЕГО ПРОГРАММНОЙ РЕАЛИЗАЦИИ

Рассмотрим кратко, как осуществляют прореживание в данном алгоритме БПФ и определяют его базовую операцию. Для этого входную последовательность x(n) представляют в виде двух подпоследовательностей:

x1(n) = x(n) и x2(n) = x(n + (N/2)), n = 0, 1, …(N/2) – 1,

т. е. в виде ее первой x1(n) и второй x2(n) половин и выражают через них ДПФ исходной последовательности:

X ( jk ) =

( N/2 ) 1x1( n )WNkn +

( N/2 ) 1x2( n )WNk( n + ( N/2 )) ,

 

n= 0

n= 0

k = 0, 1, …N – 1.

Далее выполняют прореживание ДПФ-последовательности X(jk) путем разбиения ее на две (N/2)-точечные ДПФ-подпоследовательности X(j2k), X[j(2k + 1), соответствующие частотным выборкам с четными и нечетными номерами k:

 

( N/2 )1

( N/2 )1

X ( j2k ) =

x1( n )WNkn/2

+

0

x2( n )WNkn/2 =

 

 

n=

0

 

n=

 

( N/2 )1

 

 

( N/2 )1

f1( n )WNkn/2 ,

[x1( n ) + x2( n )]WNkn/2 =

 

 

n=

0

 

 

 

n= 0

 

( N/2 )1

 

( N/2 )1

x2( n )WNkn/2WNnWN( 2k + 1)N/2 =

X ( j( 2k + 1)) =

x1( n )WNkn/2WNn +

0

 

n= 0

 

 

n=

 

 

( N/2 )1

 

 

 

( N/2 )1

=

[x1( n ) x2( n )]WNn WNkn/2 =

g1( n )WNkn/2 ,

n=

0

 

 

 

 

n=

0

k= 0, 1, …(N/2) – 1.

Врезультате ДПФ исходной последовательности выражается через ДПФ

некоторых N/2-точечных последовательностей f1(n), g1(n), определяемых следующим образом:

f1( n ) = x1( n ) + x2( n ) ,

(8.5)

g1( n ) = [x1( n ) x2( n )]WNn , n = 0, 1, …(N/2) – 1.

42

Выражения (8.5) и соответствуют базовой операции данного алгоритма, представляемой графически зеркально отраженным сигнальным графом БПФ с прореживанием по времени (рис. 8.2).

Из последовательностей f1(n) и g1(n) по тому же правилу можно снова сформировать по две (N/4)-точечные последовательности, ДПФ которых также в совокупности образуют ДПФ исходной последовательности x(n). В результате на L-м этапе прореживания получается (N/2) двухточечных последовательностей, ДПФ которых вычисляется в соответствии с базовой операцией (8.5) и образуют вместе ДПФ исходной последовательности X(jk). Однако из-за прореживаний в частотной области порядок следования частотных выборок ДПФ оказывается при этом неестественным – двоичноинверсным, требующим по завершении вычисления дополнительных перестановок. Они выполняются также, как и перестановки входной последовательности x(n) перед вычислением БПФ с прореживанием по времени. Входная же последовательность здесь имеет естественный порядок следования. Это является полезной в ряде случаев отличительной особенностью данного алгоритма.

Полный сигнальный граф БПФ с прореживанием по частоте является зеркальным отображением сигнального графа БПФ с прореживанием по времени (рис. 8.3 для N = 8).

Оба алгоритм БПФ имеют одинаковую вычислительную эффективность, определяемую (8.4). Присущие им особенности позволяют совместно и эффективно использовать их при реализации описанных в главе 5 нерекурсивных цифровых фильтров на основе ДПФ (БПФ) (рис. 8. 7).

X(jkдв.инв) Y(jkдв.инв)

x(n)N

БПФ

БПФ

y(n)N

 

с прореживанием

с прореживанием

 

 

по частоте

по времени

 

h(n)N

H(jkдв.инв)

 

 

 

 

 

 

 

 

БПФ

 

 

 

с прореживанием

 

 

 

 

 

 

по частоте

 

 

 

 

 

 

Рис. 8.7. Структура нерекурсивного фильтра на основе БПФ

спрореживанием по времени и по частоте

Спомощью БПФ с прореживанием по частоте, не требующего перестановок на входе, вычисляются ДПФ входной последовательности x(n) и импульсной характеристики h(n), а с помощью БПФ с прореживанием по времени вычисляется ОДПФ их произведения Y(jk), имеющего необходимый для данного алгоритма двоично-инверсный порядок отсчетов. Выходные отсчеты

43

ОДПФ при этом получаются в естественном порядке, в результате чего полностью исключается необходимость перестановок отсчетов и частотных выборок в процессе обработки.

Граф-схема алгоритма программной реализации БПФ с прореживанием по частоте получается с учетом свойственных ему закономерностей и представлена на рис. 8.8. При необходимости выполнения перестановок выходной последовательности X(jk) можно воспользоваться граф-схемой алгоритма перестановок рис. 8.6.

44

НАЧАЛО

Описание переменных: X(n), W, T, P1, P2, P3, i, l, m и др.

Ввод массива X(n), n = 0, 1, …N – 1

i = l = m =1

Вычисление адресов операндов и

поворачивающего множителя: P1 = (m – 1) + (l – 1) 2 L –i

P2 = P1 + 2 L –i

P3 = (m – 1)2 i –1; W = e –j (2π /N)P3

Базовая операция: T = X(P1) + X(P2)

X(P2) = [X(P1) − X(P2)] W

X(P1) = T

 

 

L – i

0

 

 

 

 

m =2

m = m + 1

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

m =1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i – 1

0

 

 

 

 

l =2

 

l = l + 1

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

l = 1 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

i = L

 

 

 

 

 

i = i + 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

Перестановки: X(k) = X(n)| n = k (дв.инв), k = 0, 1,…N – 1

Вывод массива X(p), p = 0, 1, …N – 1

КОНЕЦ

Рис. 8.8. Граф-схема алгоритма программной реализации БПФ с прореживанием по частоте

Соседние файлы в предмете Электроника