11.07.2015 Views

section 7 - Index of

section 7 - Index of

section 7 - Index of

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

; Real-Valued FFT for MOTOROLA DSP560001112,; based on Glenn Bergland's algorithm,rifft macro points,binlogsz,idata,odata, twiddle,bergtablemove #idata,rOmove #points/4,nOmove #twiddle+ 1,r7lua (rO)+nO,r1move rO,r4move r1,r5move #1,r3move x:(rO),A y:(r4),yO;rO = ptr to a;bflys in ea group, half at ea pass;r7 always points to start location <strong>of</strong> twiddle;r1 = ptr to b;r4 points to c;r5 points to d,with predecrement;group per pass, double at ea pass;A=a,yO=cdoFirst Pass -- W(n) = 1nO,pass1;first pass is trivial, no multiplicationsA---\ I---A'= Re[ A + jB + (C + jD) ] = A + CB----'--L/----B'= Im[ A + jB + (C + jD) ] =j(D + B)C----/I \----C'= Re[ A + jB - (C + jD) ] = A - CD---I \---D'= Im[-A - jB + (C + jD) ] =j(D - B),-------------------------------------------------pass 1sub yO,A x:(r1 ),xO y:(r5),Badd xO,B A,x:(r1)+ y:(r5),Asub xO,A x:(rO)+,B B,y:(r4)+add yO,B x:(rO)-, A A,y:(r5)+move B,x:(rO)+ y:(r4),yO;A=a-c=c' ,B=d,xO=b,;B=d+b=b', A=d,PUT c' to x:b;A=d-b=d',B=a,PUT b' to y:c;B=a+C=a', A=next a,PUT d';yO=next c, PUT a'move #idata,rOdo #binlogsz-3,end-passmove r7,r2move r2,r6move nO,AIsr Ar3,Blsi A,nOmove B,r3lua (rO)+nO,r1move rO,r4move r1,r5lua (r3)-,n2move x:(rO),A y:(r4),yO;rO = ptr to a;do all passes except first and last;r2 points to real twiddle;r6 points to imag twiddle;half bflys per group;double group per pass;r3 is temp reg.;r1 = ptr to b;r4 points to c;r5 points to d;n2=group per pass -1;A=a, yO=cFigure 8-5 Real Input FFT Based on Glenn Bergland Algorithm (Sheet 5 <strong>of</strong> 8)

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!