Fast Fourier Transforms on Motorola's Digital Signal Processors
Fast Fourier Transforms on Motorola's Digital Signal Processors
Fast Fourier Transforms on Motorola's Digital Signal Processors
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
; ------------ NORMAL RADIX-2 BUTTERFLY ----------------------------------- *<br />
;**************************************************************************<br />
**<br />
_nr2<br />
move r0,r4<br />
move r1,r5<br />
move n0,n1<br />
move n0,n4<br />
move n0,n5<br />
move x:(r6)+n6,d9.s y:,d8.s<br />
move y:(r1),d7.s<br />
fmpy.s d8,d7,d3 x:(r1)+,d6.s<br />
fmpy.s d9,d6,d0<br />
fmpy.s d9,d7,d1 y:(r1),d7.s<br />
fmpy d8,d6,d2 fadd.s d3,d0 x:(r0),d4.s<br />
fmpy d8,d7,d3 faddsub.s d4,d0 x:(r1)+,d6.s<br />
do n7,_endgrp ; loop of groups<br />
do r7,_bfly ; butterflyloop<br />
fmpy d9,d6,d0 fsub.s d1,d2 d0.s,x:(r4) y:(r0)+,d5.s<br />
fmpy d9,d7,d1 faddsub.s d5,d2 d4.s,x:(r5) y:(r1),d7.s<br />
fmpy d8,d6,d2 fadd.s d3,d0 x:(r0),d4.s d2.s,y:(r5)+<br />
fmpy d8,d7,d3 faddsub.s d4,d0 x:(r1)+,d6.s d5.s,y:(r4)+<br />
_bfly<br />
fmpy d9,d6,d0 fsub.s d1,d2 d0.s,x:(r4) y:(r0)+,d5.s<br />
fmpy d9,d7,d1 faddsub.s d5,d2 d4.s,x:(r5) y:(r1),d7.s<br />
fmpy d8,d6,d2 fadd.s d3,d0 x:(r0),d4.s d2.s,y:(r5)+<br />
fmpy d8,d7,d3 faddsub.s d4,d0 x:(r1)+n1,d6.s d5.s,y:(r4)+<br />
fmpy d9,d6,d0 fsub.s d1,d2 d0.s,x:(r4) y:(r0)+,d5.s<br />
fmpy d9,d7,d1 faddsub.s d5,d2 d4.s,x:(r5) y:(r1),d7.s<br />
fmpy d8,d6,d2 fadd.s d3,d0 x:(r0),d4.s d2.s,y:(r5)+<br />
move x:(r6)+n6,d9.s y:,d8.s<br />
fmpy d8,d7,d3 faddsub.s d4,d0 x:(r1)+,d6.s d5.s,y:(r4)+<br />
fmpy d9,d6,d0 fsub.s d1,d2 d0.s,x:(r4) y:(r0)+n0,d5.s<br />
fmpy d9,d7,d1 faddsub.s d5,d2 d4.s,x:(r5) y:(r1),d7.s<br />
fmpy d8,d6,d2 fadd.s d3,d0 x:(r0),d4.s d2.s,y:(r5)+n5<br />
fmpy d8,d7,d3 faddsub.s d4,d0 x:(r1)+,d6.s d5.s,y:(r4)+n4<br />
_endgrp<br />
rts<br />
endm<br />
% MATLAB-File to generate the radix-4 twiddle factor table for the<br />
% fast FFT-program RMIX1.ASM .<br />
% By increasing the variable fftlength you can make tables for higher<br />
% FFT-lengths than 1024.<br />
%<br />
% Karl Schwarz, Raimund Meyer 17.10.1989<br />
% Lehrstuhl fuer Nachrichtentechnik<br />
% Universitaet Erlangen-Nuernberg<br />
Figure A-1 Optimized Complex FFT for the DSP96002 (sheet 9 of 20)<br />
MOTOROLA A-9