Texas Instruments TMS320C67 DSP Series Programmer's Reference Manual page 61

Library
Hide thumbs Also See for TMS320C67 DSP Series:
Table of Contents

Advertisement

DSPF_sp_icfftr2_dif
Special Requirements
Implementation Notes
4-36
x[i*2+1] = itemp;
}
}
}
The follwoing C code is used to perform the final scaling of the IFFT:
/* divide each element of x by n */
divide(float* x, int n)
{
int i;
float inv = 1.0 / n;
for(i=0; i < n; i++)
{
x[2*i]
= inv * x[2*i];
x[2*i+1] = inv * x[2*i+1];
}
}
-
Both input x and coefficient w should be aligned on double-word boundary.
-
x should be padded with 4 words.
-
n should be greater than 8.
-
Loading input x as well as coefficient w in double word.
-
MPY was used to perform an MV. EX. mpy x, 1, y <=> mv x, y
-
Because the data loads are 1 iteration ahead of the coefficent loads,
counter i was copied so that the actual count could live longer for the coef-
ficent loads.
-
2 inner loops are callapsed into one loop.
-
Prolog and epilog are done in parallel with the outermost loop.
-
Since the twiddle table is in bit-reversed order, it turns out that the same
twiddle table will also work for smaller IFFTs.This means that if you need
to do both 512 and 1024 point IFFTs in the same application, you only need
to have the 1024 point twiddle table. The 512 point FFT will use the first
half of the 1024 point twiddle table.

Hide quick links:

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the TMS320C67 DSP Series and is the answer not in the manual?

Questions and answers

Table of Contents