IFFT_DP_1D_C2C
fft_plan_t ifft_dp_plan_1d_c2c (int N, int mode, fft_callout_t fxns)
int ifft_dp_1d_c2c_direct (fft_param_u u, void *edmaState)
int ifft_dp_1d_c2c_ecpy (fft_param_u u, void *edmaState)
int ifft_dp_1d_c2c_4step_ecpy (fft_param_u u, void *edmaState)
#define IFFT_DP_1D_C2C_4STEP_MIN_SIZE   ( 4*1024)
#define IFFT_DP_1D_C2C_4STEP_MAX_SIZE   (1024*1024)
#define IFFT_DP_1D_C2C_NUMOFLINEBUFS   2

Detailed Description

1


Define Documentation

#define IFFT_DP_1D_C2C_4STEP_MIN_SIZE   ( 4*1024)

Definition at line 51 of file ifft_dp_1d_c2c.h.

#define IFFT_DP_1D_C2C_4STEP_MAX_SIZE   (1024*1024)

Definition at line 52 of file ifft_dp_1d_c2c.h.

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

Definition at line 58 of file ifft_dp_1d_c2c.h.


Function Documentation

fft_plan_t ifft_dp_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 IFFT
int ifft_dp_1d_c2c_direct ( fft_param_u  u,
void *  edmaState 
)

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

Parameters:
N= FFT size
para1= Twiddle, mixed radix & bluestein parameters
in= input pointer
out= output pointer
tw= twiddle pointer
Bn= Bluestein pointer
workbuf= Bluestein scratch pointer
Algorithm:
Algorithm can run in anysize or power of two mode based upon values of N1 & N2. Supported radix values are 2, 3, 4, & 5, and Bluestein for all other sizes.
Note:Parameters para1 & para2 are determined at runtime and will depend upon type of FFT desired, radix 3 & 5, radix 2 & 4, or bluestein.
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.
Implementation notes:
Endian Support: The code supports little endian modes.
Interruptibility: The code is interrupt-tolerant but not interruptible.
int ifft_dp_1d_c2c_ecpy ( fft_param_u  u,
void *  edmaState 
)

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

Parameters:
N= FFT size
para1= Twiddle, mixed radix & bluestein parameters
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 anysize or power of two mode based upon values of N1 & N2. Supported radix values are 2, 3, 4, & 5, and Bluestein for all other sizes.
Note:Parameters para1 & para2 are determined at runtime and will depend upon type of FFT desired, radix 3 & 5, radix 2 & 4, or bluestein.
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_dp_1d_c2c_4step_ecpy ( fft_param_u  u,
void *  edmaState 
)

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

Parameters:
N= FFT size
n1= FFT size stage 1
n2= FFT size stage 2
para1= Twiddle, mixed radix & bluestein parameters for stage 1
para2= Twiddle, mixed radix & bluestein parameters for stage 2
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.
Note:Parameters para1 & para2 are determined at runtime and will depend upon type of FFT desired, radix 3 & 5, or radix 2 & 4.
Assumptions:
N1 & N2 are a multiple of IFFT_DP_1D_C2C_NUMOFLINEBUFS and positive values.
All input, output and working buffers are double word aligned.
No input, working or buffers overlap.
Size Limitations:
Current limitations are: 1024*1024 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