14 Software Examples
14 – 14
setup operations for the next stage.
{1024 point DIT radix 2 FFT}
{Block Floating Point Scaling}
.MODULE
fft;
{
Calling Parameters
inplacereal=real input data in scrambled order
inplaceimag=all zeroes (real input assumed)
twid_real=twiddle factor cosine values
twid_imag=twiddle factor sine values
groups=N/2
bflys_per_group=1
node_space=1
Return Values
inplacereal=real FFT results, sequential order
inplaceimag=imag. FFT results, sequential order
Altered Registers
I0,I1,I2,I3,I4,I5,L0,L1,L2,L3,L4,L5
M0,M1,M2,M3,M4,M5
AX0,AX1,AY0,AY1,AR,AF
MX0,MX1,MY0,MY1,MR,SB,SE,SR,SI
Altered Memory
inplacereal, inplaceimag, groups, node_space,
bflys_per_group, blk_exponent
}
.CONST
log2N=10, N=1024, nover2=512, nover4=256;
.EXTERNAL
twid_real, twid_imag;
.EXTERNAL
inplacereal, inplaceimag;
.EXTERNAL
groups, bflys_per_group, node_space;
.EXTERNAL
bfp_adj;
.ENTRY
fft_strt;
fft_strt:
CNTR=log2N - 2;
{Initialize stage counter}
M0=0;
M1=1;
L1=0;
L2=0;
L3=0;
L4=%twid_real;
L5=%twid_imag;
L6=0;