Functions
DSPF_sp_cfftr2_dit
Collaboration diagram for DSPF_sp_cfftr2_dit:

Functions

void DSPF_sp_cfftr2_dit (float *x, float *w, unsigned short n)
 

Detailed Description

Function Documentation

◆ DSPF_sp_cfftr2_dit()

void DSPF_sp_cfftr2_dit ( float *  x,
float *  w,
unsigned short  n 
)

This routine performs the decimation-in-time (DIT) radix-2 FFT of the input array x. x has N complex floating-point numbers arranged as successive real and imaginary number pairs. Input array x contains N complex points (N*2 elements). The coefficients for the FFT are passed to the function in array w which contains N/2 complex numbers (N elements) as successive real and imaginary number pairs. The FFT coefficients w are in N/2 bit-reversed order The elements of input array x are in normal order The assembly routine performs 4 output samples (2 real and 2 imaginary) for a pass through inner loop.

  @param x Pointer to complex data input.
  @param w Pointer to complex twiddle factor in bit-reverse order.
  @param n Length of FFT in complex samples, power of 2 such that n>=32.
Algorithm:
DSPF_sp_cfftr2_dit_cn.c is the natural C equivalent of the optimized linear assembly code without restrictions. Note that the linear assembly code is optimized and restrictions may apply.
Assumptions:
N needs to be power of 2 and N >= 32
x, and w should be align on the double-word boundary
The FFT Coefficients w are in bit-reversed order
The elements of input array x are in normal order
The imaginary coefficients of w are negated as {cos(d*0), sin(d*0), cos(d*1), sin(d*1) ...} as opposed to the normal sequence of {cos(d*0), -sin(d*0), cos(d*1), -sin(d*1) ...} where d = 2*PI/n.
Implementation Notes:
Interruptibility: The code is interrupt-tolerant but not interruptible.
Endian Support: The code supports both big and little endian modes.

Copyright 2022, Texas Instruments Incorporated