6.4.7 IFFTComplex

Description

IFFTComplex computes the inverse Fast Fourier Transform of a source complex vector and stores the results in the destination complex vector.

Prototype

fractcomplex* IFFTComplex(int log2N, fractcomplex* dstCV, fractcomplex* srcCV, fractcomplex* twidFactors);

Arguments

Parameters

Description

log2N

Base 2 logarithm of N (number of complex elements in source vector)

dstCV

Pointer to the destination vector

srcCV

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 VectorCopy and IFFTComplexIP functions.

This function operates out of place. A complex vector, large enough to receive the results of the operation, must already have been allocated and assigned to dstCV.

The source array is expected to be in a natural order. Similarly, the resultant array will be stored back in a natural order as well.

The dstCV 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 conjFlag set to a value other than zero.

Output is scaled by the factor of N.

Source File

  • ifftoop_aa.s

Function Profile

Program Words

10

Cycle Count

30

Note:
  1. The above-mentioned program word and cycle counts pertain solely to IFFTComplex. However, as this function inherently utilizes VectorCopy and IFFTComplexIP, the respective counts for these functions must also be considered.
  2. In the description of VectorCopy and IFFTComplexIP, the number of cycles reported includes four cycles of C-function call overhead. Thus, the number of actual cycles from these functions to add to IFFTComplex is 2x4 less than whatever number is reported for a stand-alone IFFTComplex.

System resource usage

The following system resource usages exclude that of VectorCopy and IFFTComplexIP.

  • W0…W4 - used, not restored
  • REPEAT instruction usage - None