Collaboration diagram for DSP_fft16x16:
void | DSP_fft16x16 (const short *restrict ptr_w, int npoints, short *restrict ptr_x, short *restrict ptr_y) |
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.
ptr_w | = input twiddle factors | |
npoints | = number of points | |
ptr_x | = transformed data reversed | |
ptr_y | = linear transformed data |