DSP_fft16x16
[Fast Fourier Transform]

Collaboration diagram for DSP_fft16x16:


Detailed Description

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


Function Documentation

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

The following code performs a mixed radix FFT for "npoints" which is either a multiple of 4 or 2. It uses logN4 - 1 stages of radix4 transform and performs either a radix2 or radix4 transform on the last stage depending on "npoints". If "npoints" is a multiple of 4 then this last stage is also a radix4 transform, otherwise it is a radix2 transform.

Parameters:
ptr_w = input twiddle factors
npoints = number of points
ptr_x = transformed data reversed
ptr_y = linear transformed data
Algorithm:
DSP_fft16x16_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<=65536.
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 code supports both big and little endian modes.
Interruptibility: The code is interruptible.


Copyright 2014, Texas Instruments Incorporated