DSP_ifft16x16
[Fast Fourier Transform]

Collaboration diagram for DSP_ifft16x16:


Detailed Description

void DSP_ifft16x16 (const short *restrict ptr_w, int npoints, short *restrict ptr_x, short *restrict ptr_y)


Function Documentation

void DSP_ifft16x16 ( const short *restrict  ptr_w,
int  npoints,
short *restrict  ptr_x,
short *restrict  ptr_y 
)

This code performs a Radix-4 IFFT with digit reversal. The code uses a special ordering of twiddle factors and memory accesses to improve performance in the presence of cache. It operates largely in-place, but the final digit-reversed output is written out-of-place.

Parameters:
ptr_w,: Pointer to vector of Q.15 FFT coefficients of size 2*nx elements.
npoints,: Number of complex elements in vector x.
ptr_x,: Pointer to input vector of size 2*nx elements.
ptr_y,: Pointer to output vector of size 2*nx elements.
Algorithm:
DSP_ifft16x16_cn.c is the natural C equivalent of the optimized intrinsic C code without restrictions. Note that the intrinsic C code is optimized and restrictions may apply.
Assumptions:
In-place computation is not allowed.
Size of FFT, nx, must be power of 2 and 16<=nx<=32768.
The arrays for the complex input data x[], complex output data y[] and twiddle factor w[] must be double word aligned.
The input and output data are complex, with the real/imaginary components stored in adjacent locations in the array. The real components are stored at even array indices, and the imaginary components are stored at odd array indices.
Implementation Notes:
Endian Support: The intrinsic optimized C code supports both big and little endian modes.
The linear assembly code supports little endian mode only.
Interruptibility: The code is interruptible.


Copyright 2014, Texas Instruments Incorporated