FFT_SP_1D_C2C
fft_plan_t fft_sp_plan_1d_c2c (int N, int mode, fft_callout_t fxns)
int fft_sp_1d_c2c_direct (fft_param_u u, void *edmaState)
int fft_sp_1d_c2c_ecpy (fft_param_u u, void *edmaState)
int fft_sp_1d_c2c_4step_ecpy (fft_param_u u, void *edmaState)
#define FFT_SP_1D_C2C_4STEP_MIN_SIZE   ( 32*1024)
#define FFT_SP_1D_C2C_4STEP_MAX_SIZE   (4*1024*1024)
#define FFT_SP_1D_C2C_NUMOFLINEBUFS   2

Detailed Description

1


Define Documentation

#define FFT_SP_1D_C2C_4STEP_MIN_SIZE   ( 32*1024)

Definition at line 51 of file fft_sp_1d_c2c.h.

#define FFT_SP_1D_C2C_4STEP_MAX_SIZE   (4*1024*1024)

Definition at line 52 of file fft_sp_1d_c2c.h.

Parameters:
FFT_SP_1D_C2C_NUMOFLINEBUFS= number of cache lines to process each iteration

Definition at line 58 of file fft_sp_1d_c2c.h.


Function Documentation

fft_plan_t fft_sp_plan_1d_c2c ( int  N,
int  mode,
fft_callout_t  fxns 
)
Parameters:
N= FFT size dimension 1
mode= FFT_DIRECT & FFT_ECPY are supported for 1d FFT
int fft_sp_1d_c2c_direct ( fft_param_u  u,
void *  edmaState 
)

This program performs one 1-dimensional single-precision complex-to-complex FFT.

Parameters:
N= FFT size
M= Power of 2 FFT size, if Bluestein algorithm is used
twsize= Twiddle buffer size in bytes
N_p2= Power of 2 FFT size in Mixed-radix FFT
s_r3= Number of stages of radix-3
s_r5= Number of states of radix-5
in= input pointer
out= output pointer
tw= twiddle pointer
Bn= Bluestein pointer
workbuf= Bluestein scratch pointer
Algorithm:
Algorithm can run in radix 2, 3, 4 & 5 based upon value of N and Bluestein for all other sizes.
Assumptions:
N is a positive value.
All input, output and working buffers are double word aligned.
No input, working or buffers overlap.
Size Limitations:
Current limitations are: None.
Implementation notes:
Endian Support: The code supports little endian modes.
Interruptibility: The code is interrupt-tolerant but not interruptible.
int fft_sp_1d_c2c_ecpy ( fft_param_u  u,
void *  edmaState 
)

This program performs one 1-dimensional single-precision complex-to-complex FFT.

Parameters:
N= FFT size
M= Power of 2 FFT size, if Bluestein algorithm is used
twsize= Twiddle buffer size in bytes
N_p2= Power of 2 FFT size in Mixed-radix FFT
s_r3= Number of stages of radix-3
s_r5= Number of states of radix-5
data= input pointer
work= output pointer
data_w= input/output buffer pointer
work_w= working buffer pointer
tw= twiddle pointer
tw_w= twiddle buffer pointer
Bn= Bluestein pointer
Bn_w= Bluestein buffer pointer
workbuf= Bluestein scratch pointer
Algorithm:
Algorithm can run in radix 2, 3, 4 & 5 based upon value of N and Bluestein for all other sizes.
Assumptions:
N is a positive value.
All input, output and working buffers are double word aligned.
No input, working or buffers overlap.
Size Limitations:
Current limitations are: 1024 FFT size with bluestein, 2048 FFT size for power of 2.
Note: 4_step ecpy will be utilized for FFT sizes 2048 and above.
Implementation notes:
Endian Support: The code supports little endian modes.
Interruptibility: The code is interrupt-tolerant but not interruptible.
int fft_sp_1d_c2c_4step_ecpy ( fft_param_u  u,
void *  edmaState 
)

This program performs one 1-dimensional single-precision complex-to-complex FFT.

Parameters:
n1= FFT size stage 1
n2= FFT size stage 2
twsize= Twiddle buffer size in bytes
N_p2= stage 1 Power of 2 FFT size in Mixed-radix FFT
s_r3= stage 1 Number of stages of radix-3
s_r5= stage 1 Number of states of radix-5
twsize1= Twiddle buffer size for 1st stage of mixed-radix
N_p21= stage 2 Power of 2 FFT size in Mixed-radix FFT
s_r31= stage 2 Number of stages of radix-3
s_r51= stage 2 Number of states of radix-5
data= input pointer
work= output pointer
data_w= input/output buffer pointer
work_w= working buffer pointer
work_t= Cache line buffer pointer
tw= twiddle pointer
tw_w= twiddle buffer pointer
Algorithm:
Algorithm can run in radix 2, 3, 4 & 5 based upon value of N.
Assumptions:
N is a positive value and multiple of 64.
All input, output and working buffers are double word aligned.
No input, working or buffers overlap.
Size Limitations:
Current limitations are: 2048*2048 FFT size for power of 2.
Implementation notes:
Endian Support: The code supports little endian modes.
Interruptibility: The code is interrupt-tolerant but not interruptible.

Copyright 2014, Texas Instruments Incorporated