IFFT_SP_1D_C2R
fft_plan_t ifft_sp_plan_1d_c2r (int N, int mode, fft_callout_t fxns)
int ifft_sp_1d_c2r_direct (fft_param_u u, void *edmaState)
int ifft_sp_1d_c2r_ecpy (fft_param_u u, void *edmaState)
int ifft_sp_1d_c2r_4step_ecpy (fft_param_u u, void *edmaState)
#define IFFT_SP_1D_C2R_4STEP_MIN_SIZE   ( 4*1024)
#define IFFT_SP_1D_C2R_4STEP_MAX_SIZE   (4*1024*1024)
#define IFFT_SP_1D_C2R_NUMOFLINEBUFS   2

Detailed Description

1


Define Documentation

#define IFFT_SP_1D_C2R_4STEP_MIN_SIZE   ( 4*1024)

Definition at line 51 of file ifft_sp_1d_c2r.h.

#define IFFT_SP_1D_C2R_4STEP_MAX_SIZE   (4*1024*1024)

Definition at line 52 of file ifft_sp_1d_c2r.h.

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

Definition at line 58 of file ifft_sp_1d_c2r.h.


Function Documentation

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

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

Parameters:
N= IFFT size
M= Power of 2 IFFT size, if Bluestein algorithm is used
twsize= Twiddle buffer size in bytes
N_p2= Power of 2 IFFT size in Mixed-radix IFFT
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 ifft_sp_1d_c2r_ecpy ( fft_param_u  u,
void *  edmaState 
)

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

Parameters:
N= IFFT size
M= Power of 2 IFFT size, if Bluestein algorithm is used
twsize= Twiddle buffer size in bytes
N_p2= Power of 2 IFFT size in Mixed-radix IFFT
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 IFFT size with bluestein, 2048 IFFT size for power of 2.
Note: 4_step ecpy will be utilized for IFFT sizes 2048 and above.
Implementation notes:
Endian Support: The code supports little endian modes.
Interruptibility: The code is interrupt-tolerant but not interruptible.
int ifft_sp_1d_c2r_4step_ecpy ( fft_param_u  u,
void *  edmaState 
)

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

Parameters:
n1= IFFT size stage 1
n2= IFFT size stage 2
twsize= Twiddle buffer size in bytes
N_p2= stage 1 Power of 2 IFFT size in Mixed-radix IFFT
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 IFFT size in Mixed-radix IFFT
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 128.
All input, output and working buffers are double word aligned.
No input, working or buffers overlap.
Size Limitations:
Current limitations are: 2048*2048 IFFT 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