Пр о ц е с с о р TMS 3 2 0C4 x
91
На рис.2.17 показана “бабочка”,
вычисляемая на ступени
m
. Сте-
пень коэффициента
W
равна
pn
, где
p
- количество групп в ступени
(1,2, ..., log
2
N
),
n
- номер “бабочки”
в группе (0, 1, ...). Вычисление
БПФ выполняется по ступеням. Па-
Параметры вычислений на каждой ступени
N-
точечного БПФ с прореживанием
по частоте можно представить табл.2.1.
Таблица 2.1
Параметры вычисления БПФ с прореживанием по частоте
Ступень
Регистры
Регистры
1
2
3
log
2
N
параметров
счетчиков
p
1
2
4
N
/2
R8
AR2
b
N
/2
N
/4
N
/8
1
R9
RC
R
N
/2
N
/4
N
/8
1
IR0 = 2·R9
–
pn
1 ·
n
,
0
≤
n
≤
N
/2-1
2 ·
n
,
0
≤
n
≤
N
/4-1
4 ·
n
,
0
≤
n
≤
N
/8-1
(
N
/2) ·
n
,
n
= 0
R8
–
При вычислении БПФ log
2
N
раз повторяются вычислительные операции
ступени с использованием одного и того же массива исходных данных
x
[
k
] и
одного и того же массива коэффициентов
W
, однако, на каждой ступени обра-
батывается различное количество групп и “бабочек” в группе (рис.2.16). Это
обусловливает различный порядок выборки исходных данных и коэффициентов
при вычислении каждой “бабочки” ступени. Общий алгоритм БПФ показан на
рис.2.18., в двух правых колонках табл.2.1 указаны регистры параметров и
счетчики циклов, используемые при вычислениях ступени. В качестве счетчика
ступеней применен регистр AR7.
Детализацию алгоритма начнем с определения структур данных и поряд-
ка доступа к ним. При вычислении БПФ используется массив констант
(
)
(
)
N
n
j n N
W e
n N j
n N
=
=
−
−
2
2
2
π
π
π
cos
sin
2
π
n
, где значения sin и cos рассчитаны
для
аргумента
N
/
,
при
n
= 0, ...,
N
-1.
Используя зависимость
( )
(
)
cos
sin
x
x
= + π
2
и учитывая симметрию коэффициентов
W
, оказывается
возможным совместить оба массива констант в один с общей размерностью
N
/2+
N
/4, как показано на рис.2.19.
При вычислении “бабочки” выбор из массива констант будет произво-
диться с помощью регистров AR1 и IR1. Регистр AR1 содержит адрес текущей
синусной компоненты
W
, регистр IR1 всегда содержит значение
N
/4 (смещение
до косинусной компоненты), следовательно сумма AR1 и IR1 будет определять
адрес косинусной компоненты в массиве констант.
x
m
(
k
+
R
)
x
m
(
k
)
W
pn
-1
x
m+1
(
k
+
R
)
x
m+1
(
k
)
Рис.2.17. ”Бабочка” БПФ
с прореживанием по частоте