Пр о ц е с с о р TMS 3 2 0C4 x
89
Пример умножения комплексных матриц
N
.set
12
; определение размерностей матриц
K
.set
6
;
M
.set
10
;
CMPLX:
LDI
N
K
2, IR1
; установка адресных смещений
LDI
K
2, IR0
;
LDI
M-1, AR4
; определение счетчиков циклов
COLS:
LDI
N-1, AR3
;
ROWS:
LDI
K-1, RC
;
RPTBD
DOT
; внутренний цикл
LDF
0.0, R0
;
LDF
0.0, R2
;
LDF
0.0, R3
;
; комплексное умножение x[i,n] на y[n,j]
MPYF3
AR0++(1),
AR1++(1), R0
; Re(x)
Re(y)
R0
||
SUBF3
R0, R2, R2
; R2 - Im(x)
Im(y)
R2
MPYF3
-AR0(1),
AR1, R0
; Re(x)
Im(y)
R0
||
ADDF3
R0, R2, R2
; R2 + Re(x)
Re(y)
MPYF3
AR0,
-AR1(1), R0
; Im(x)
Re(y)
R0
||
ADDF3
R0, R3, R3
; R3 + Re(x)
Im(y)
R3
DOT:
MPYF3
AR0++(1),
AR1++(1), R0
; Im(x)
Im(y)
R0
||
ADDF3
R0, R3, R3
; R3 + Im(x)
Re(y)
R3
SUBF3
R0, R2, R2
; R2 - Im(x)
Im(y)
R2
DBUDAR3, ROWS
; цикл по строкам X
STF
R2,
AR2++(1)
; сохранение Re(z)
STF
R3,
AR2++(1)
; сохранение Im(z)
NOP
- - AR1(IR0)
; смещение на начало
; текущего столбца Y
DBUDAR4, COLS
; цикл по столбцам Y
NOP
++ AR1(IR0)
; смещение на
NOP
; следующий столбец Y
NOP
- - AR0(IR1)
; смещение на первый
; элемент X
RETS
; возврат из п/п
.end
2.5. Быстрое преобразование Фурье
Быстрым преобразованием Фурье (БПФ) называется множество алгорит-
мов вычисления дискретного преобразования Фурье (ДПФ). Дискретное преоб-
разование Фурье определяется выражением
( )
( )
X k
x n W
N
nk
n
N
=
=
0
1
, где
k
N
=
0
1
,
,
K
,
N
j
N
W e
=
2
π
.
В общем случае эффективное вычисление БПФ связано с представлением
N
в
виде произведения сомножителей. Для случая, когда
N
является степенью
двойки, существуют высокоэффективные вычислительные алгоритмы, извест-
I...,79,80,81,82,83,84,85,86,87,88 90,91,92,93,94,95,96,97,98,99,...186