EasyManua.ls Logo

Analog Devices adsp-2100

Analog Devices adsp-2100
486 pages
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
14Software Examples
14 – 15
SB=-2;
{—————— STAGE 1 ——————}
I0=^inplacereal;
I1=^inplacereal + 1;
I2=^inplaceimag;
I3=^inplaceimag + 1;
M2=2;
CNTR=nover2;
AX0=DM(I0,M0);
AY0=DM(I1,M0);
AY1=DM(I3,M0);
DO group_lp UNTIL CE;
AR=AX0+AY0, AX1=DM(I2,M0);
SB=EXPADJ AR, DM(I0,M2)=AR;
AR=AX0-AY0;
SB=EXPADJ AR;
DM(I1,M2)=AR, AR=AX1+AY1;
SB=EXPADJ AR, DM(I2,M2)=AR;
AR=AX1-AY1, AX0=DM(I0,M0);
SB=EXPADJ AR, DM(I3,M2)=AR;
AY0=DM(I1,M0);
group_lp: AY1=DM(I3,M0);
CALL bfp_adj;
{——————————STAGES 2 TO N-1———————————————————}
DO stage_loop UNTIL CE; {Compute all stages in FFT}
I0=^inplacereal; {I0 ->x0 in 1st grp of stage}
I2=^inplaceimag; {I2 ->y0 in 1st grp of stage}
SI=DM(groups);
SR=ASHIFT SI BY -1(LO); {groups / 2}
DM(groups)=SR0; {groups=groups / 2}
CNTR=SR0; {CNTR=group counter}
M4=SR0; {M4=twiddle factor modifier}
M2=DM(node_space); {M2=node space modifier}
I1=I0;
MODIFY(I1,M2); {I1 ->y0 of 1st grp in stage}
I3=I2;

Table of Contents

Related product manuals