move
move
move
move
move
move
movep
fclr
do
fmpy d4,d6,d1 fadd.s d1,d0
fmpy d5,d6,d1 fsub.s d1,d0
fmpy d4,d6,d1 fsub.s d1,d0
fmpy d5,d6,d1 fadd.s d1,d0
end
movep
B.1.15 Fast Fourier Transforms
B.1.15.1 Radix 2 Decimation in Time FFT
metr2a
metr2a
;
;Radix 2 Decimation in Time In-Place Fast Fourier Transform Routine
;
;
Complex input and output data
;
;
;
Normally ordered input data
;
Bit reversed output data
;
;
Coefficient lookup table
;
MOTOROLA
DSP96002 IMPLEMENTATION
#$ffffffff,m0
m0,m4
m0,m1
#data,r0
r0,r1
#coef,r4
d1
#n,end
fadd.s d1,d0
macro
points,data,coef,coefsize
ident
1,4
Real data in X memory
Imaginary data in Y memory
+Cosine value (1/2 cycle) in X memory
DSP96002 USER'S MANUAL
x:input,d0.s
x:(r0)+,d4.s y:(r4)+,d6.s
x:(r0)+,d5.s y:(r4)+,d6.s
d5.s,x:(r1)+ y:(r4)+,d6.s
x:(r0)+,d4.s y:(r4)+,d6.s
d0.s,x:(r1)+ y:(r4)+,d6.s
d0.s,x:output
Totals: 19
ProgramICycles
Words
2
2
1
1
1
1
2
2
1
1
2
2
1
2
1
1
2
3
1
1
1
1
1
1
1
1
1
1
1
2
---
---
4N+18
(17
4N+16)
B-11