FFTLIB User Guide
FFTLIB_fft1dBatched_i16sc_c16sc_o16sc

Introduction

Kernel for computing batched 16-bit integer FFT.

Functions

FFTLIB_STATUS FFTLIB_fft1dBatched_i16sc_c16sc_o16sc_init (int16_t *pX, FFTLIB_bufParams1D_t *bufParamsX, int16_t *pW, FFTLIB_bufParams1D_t *bufParamsW, int16_t *pY, FFTLIB_bufParams1D_t *bufParamsY, uint32_t *pShift, FFTLIB_bufParams1D_t *bufParamsShift, uint32_t numPoints, uint32_t numChannels, void *pBlock)
 This function should be called before the FFTLIB_fft1dBatched_i16sc_c16sc_o16sc_kernel function is called. This function takes care of any one-time operations such as setting up the configuration for the streaming engine. More...
 
FFTLIB_STATUS FFTLIB_fft1dBatched_i16sc_c16sc_o16sc_kernel (int16_t *pX, FFTLIB_bufParams1D_t *bufParamsX, int16_t *pW, FFTLIB_bufParams1D_t *bufParamsW, int16_t *pY, FFTLIB_bufParams1D_t *bufParamsY, uint32_t *pShift, FFTLIB_bufParams1D_t *bufParamsShift, uint32_t numPoints, uint32_t numChannels, void *pBlock)
 This function is the main kernel compute function. More...
 
FFTLIB_STATUS FFTLIB_fft1dBatched_i16sc_c16sc_o16sc_checkParams (int16_t *pX, FFTLIB_bufParams1D_t *bufParamsX, int16_t *pW, FFTLIB_bufParams1D_t *bufParamsW, int16_t *pY, FFTLIB_bufParams1D_t *bufParamsY, uint32_t *pShift, FFTLIB_bufParams1D_t *bufParamsShift, uint32_t numPoints, uint32_t numChannels, void *pBlock)
 This function checks the validity of the parameters passed to FFTLIB_fft1dBatched_i16sc_c16sc_o16sc_init and FFTLIB_fft1dBatched_i16sc_c16sc_o16sc_kernel functions. More...
 

Macros

#define FFTLIB_FFT1DBATCHED_I16SC_C16SC_O16SC_PBLOCK_SIZE   (13 * SE_PARAM_SIZE)
 Macro to define the array size for storing SE/SA parameters. More...
 

Macro Definition Documentation

◆ FFTLIB_FFT1DBATCHED_I16SC_C16SC_O16SC_PBLOCK_SIZE

#define FFTLIB_FFT1DBATCHED_I16SC_C16SC_O16SC_PBLOCK_SIZE   (13 * SE_PARAM_SIZE)

Macro to define the array size for storing SE/SA parameters.

Definition at line 105 of file FFTLIB_fft1dBatched_i16sc_c16sc_o16sc.h.

Function Documentation

◆ FFTLIB_fft1dBatched_i16sc_c16sc_o16sc_init()

FFTLIB_STATUS FFTLIB_fft1dBatched_i16sc_c16sc_o16sc_init ( int16_t *  pX,
FFTLIB_bufParams1D_t bufParamsX,
int16_t *  pW,
FFTLIB_bufParams1D_t bufParamsW,
int16_t *  pY,
FFTLIB_bufParams1D_t bufParamsY,
uint32_t *  pShift,
FFTLIB_bufParams1D_t bufParamsShift,
uint32_t  numPoints,
uint32_t  numChannels,
void *  pBlock 
)

This function should be called before the FFTLIB_fft1dBatched_i16sc_c16sc_o16sc_kernel function is called. This function takes care of any one-time operations such as setting up the configuration for the streaming engine.

Parameters
[in]pX: Pointer to buffer with input data
[in]bufParamsX: Pointer to the structure containing dimensional information of input buffer
[in]pW: Pointer to buffer with twiddle factors
[in]bufParamsW: Pointer to the structure containing dimensional information of twiddle factor buffer
[in]pY: Pointer to buffer with output data
[in]bufParamsY: Pointer to the structure containing dimensional information of output buffer
[in]pShift: Pointer to buffer with shift value at every stage of FFT
[in]bufParamsShift: Pointer to the structure containing dimensional information of shift buffer
[in]numPoints: FFT size
[in]numChannels: Batch size of FFT
[out]pBlock: Pointer to the buffer that will hold the streaming engine parameters
Returns
Status value indicating success or failure. Refer to FFTLIB_STATUS.

Definition at line 88 of file c71/FFTLIB_fft1dBatched_i16sc_c16sc_o16sc_ci.cpp.

◆ FFTLIB_fft1dBatched_i16sc_c16sc_o16sc_kernel()

FFTLIB_STATUS FFTLIB_fft1dBatched_i16sc_c16sc_o16sc_kernel ( int16_t *  pX,
FFTLIB_bufParams1D_t bufParamsX,
int16_t *  pW,
FFTLIB_bufParams1D_t bufParamsW,
int16_t *  pY,
FFTLIB_bufParams1D_t bufParamsY,
uint32_t *  pShift,
FFTLIB_bufParams1D_t bufParamsShift,
uint32_t  numPoints,
uint32_t  numChannels,
void *  pBlock 
)

This function is the main kernel compute function.

Parameters
[in]pX: Pointer to buffer with input data
[in]bufParamsX: Pointer to the structure containing dimensional information of input buffer
[in]pW: Pointer to buffer with twiddle factors
[in]bufParamsW: Pointer to the structure containing dimensional information of twiddle factor buffer
[out]pY: Pointer to buffer with output data
[in]bufParamsY: Pointer to the structure containing dimensional information of output buffer
[in]pShift: Pointer to buffer with shift value at every stage of FFT
[in]bufParamsShift: Pointer to the structure containing dimensional information of shift buffer
[in]numPoints: FFT size
[in]numChannels: Batch size of FFT
[in]pBlock: Pointer to the buffer that will hold the streaming engine parameters
Returns
Status value indicating success or failure. Refer to FFTLIB_STATUS.

#define PACK_HIGH_INT16( V1, V2) __vpermoow_yvvv( vXPermCtrl2, c7x::as_uchar_vec( V1), c7x::as_uchar_vec( V2))

Definition at line 369 of file c71/FFTLIB_fft1dBatched_i16sc_c16sc_o16sc_ci.cpp.

◆ FFTLIB_fft1dBatched_i16sc_c16sc_o16sc_checkParams()

FFTLIB_STATUS FFTLIB_fft1dBatched_i16sc_c16sc_o16sc_checkParams ( int16_t *  pX,
FFTLIB_bufParams1D_t bufParamsX,
int16_t *  pW,
FFTLIB_bufParams1D_t bufParamsW,
int16_t *  pY,
FFTLIB_bufParams1D_t bufParamsY,
uint32_t *  pShift,
FFTLIB_bufParams1D_t bufParamsShift,
uint32_t  numPoints,
uint32_t  numChannels,
void *  pBlock 
)

This function checks the validity of the parameters passed to FFTLIB_fft1dBatched_i16sc_c16sc_o16sc_init and FFTLIB_fft1dBatched_i16sc_c16sc_o16sc_kernel functions.

Parameters
[in]pX: Pointer to buffer with input data
[in]bufParamsX: Pointer to the structure containing dimensional information of input buffer
[in]pW: Pointer to buffer with twiddle factors
[in]bufParamsW: Pointer to the structure containing dimensional information of twiddle factor buffer
[in]pY: Pointer to buffer with output data
[in]bufParamsY: Pointer to the structure containing dimensional information of output buffer
[in]pShift: Pointer to buffer with shift value at every stage of FFT
[in]bufParamsShift: Pointer to the structure containing dimensional information of shift buffer
[in]numPoints: FFT size
[in]numChannels: Batch size of FFT
[in]pBlock: Pointer to the buffer that will hold the streaming engine parameters
Returns
Status value indicating success or failure. Refer to FFTLIB_STATUS.

Definition at line 2326 of file c71/FFTLIB_fft1dBatched_i16sc_c16sc_o16sc_ci.cpp.