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

Note:
  1. 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.
  2. 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