6.4.8 IFFTComplexIP
Description
IFFTComplexIP computes the inverse Fast Fourier Transform of a source complex vector in place.
Prototype
fractcomplex* IFFTComplexIP(int log2N, fractcomplex* srcV, fractcomplex* twidFactors);
Arguments
Parameters |
Description |
---|---|
log2N |
Base 2 logarithm of N (number of complex elements in source vector) |
srcV |
Pointer to the source vector |
twidFactors |
Pointer to twiddle factors |
Return
Pointer to the base address of the destination sample.
Remarks
N must be an integer power of 2.
This function internally calls BitReversalComplex and FFTComplexIP functions.
This function operates in place.
The elements in the source complex vector are expected in a natural order, and the resulting transform will be stored back in natural order.
The dstV vector must be allocated in the Y-Data space with address alignment to a modulo of N.
To avoid saturation (overflow) during computation, the values of the source vector should be in the range [-0.5, 0.5].
Only the first N/2 twiddle factors are needed.
The twiddle factors must be initialized with the conjFlag set to a value other than zero.
Output is scaled by the factor of N.
Source File
- ifft_aa.s
Function Profile
Program Words |
6 |
Cycle Count |
27 |
- The above-mentioned program word and cycle counts pertains solely to IFFTComplexIP. However, as this function inherently utilizes BitReversalComplex and FFTComplexIP, the respective counts for these functions must also be considered.
- In the description of BitReversalComplex and FFTComplexIP, the number of cycles reported includes four cycles of C-function call overhead. Thus, the number of actual cycles from these function to add to IFFTComplexIP is 2x4 less than whatever number is reported for a stand-alone IFFTComplexIP.
System resource usage
The below system resource usages exclude that of BitReversalComplex and FFTComplexIP.
- W0, W1 - used, not restored
- REPEAT instruction usage - None