Skip to content

FFT kernels on complex input values

Module: Transform Functions / FFT transforms

More...

Functions

Name
void plp_cfft_f32p_xpulpv2(void * arg)
Floating-point FFT on complex input data for XPULPV2 extension.
void plp_cfft_radix2_f32p_xpulpv2(void * arg)
void plp_cfft_radix4_f32p_xpulpv2(void * arg)
void plp_cfft_radix8_f32p_xpulpv2(void * arg)
void plp_cfft_f32s_xpulpv2(const plp_cfft_instance_f32 * S, const float32_t * pSrc, uint8_t ifftFlag, uint8_t bitReverseFlag)
Floating-point FFT on complex input data for XPULPV2 extension.
void plp_cfft_radix2_f32s_xpulpv2(const plp_cfft_instance_f32 * S, const float32_t * pSrc, uint8_t ifftFlag, uint8_t bitReverseFlag)
void plp_cfft_radix4_f32s_xpulpv2(const plp_cfft_instance_f32 * S, const float32_t * pSrc, uint8_t ifftFlag, uint8_t bitReverseFlag)
void plp_cfft_radix8_f32s_xpulpv2(const plp_cfft_instance_f32 * S, const float32_t * pSrc, uint8_t ifftFlag, uint8_t bitReverseFlag)

Detailed Description

These kernels calculate the FFT transform on complex input data. If the dimension of the transform is FFTLen, both the input and the output buffer must contain at least (2*FFTLen) float32 values, corresponding to FFTLen complex values in the form (real part, complex part). Input and output can refer to the same memory location (in-place computation). The best algorithm is executed based on the val FFTLen. Supported algorithms: radix-2, radix-4, radix-8

Functions Documentation

function plp_cfft_f32p_xpulpv2

void plp_cfft_f32p_xpulpv2(
    void * arg
)

Floating-point FFT on complex input data for XPULPV2 extension.

Parameters:

  • arg points to an instance of the floating-point FFT structure

Return: none

Floating-point FFT on complex input data for XPULPV2 extension (parallel version).

function plp_cfft_radix2_f32p_xpulpv2

static void plp_cfft_radix2_f32p_xpulpv2(
    void * arg
)

function plp_cfft_radix4_f32p_xpulpv2

static void plp_cfft_radix4_f32p_xpulpv2(
    void * arg
)

function plp_cfft_radix8_f32p_xpulpv2

static void plp_cfft_radix8_f32p_xpulpv2(
    void * arg
)

function plp_cfft_f32s_xpulpv2

void plp_cfft_f32s_xpulpv2(
    const plp_cfft_instance_f32 * S,
    const float32_t * pSrc,
    uint8_t ifftFlag,
    uint8_t bitReverseFlag
)

Floating-point FFT on complex input data for XPULPV2 extension.

Parameters:

  • S points to an instance of the floating-point FFT structure
  • pSrc points to the complex data buffer of size 2*fftLen. Processing occurs in-place.
  • ifftFlag flag that selects forwart (ifftFlag=0) or inverse (ifftFlag=1)
  • bitReverseFlag flag that enables (bitReverseFlag=1) of disables (bitReverseFlag=0) bit reversal of output.

Return: none

function plp_cfft_radix2_f32s_xpulpv2

static void plp_cfft_radix2_f32s_xpulpv2(
    const plp_cfft_instance_f32 * S,
    const float32_t * pSrc,
    uint8_t ifftFlag,
    uint8_t bitReverseFlag
)

function plp_cfft_radix4_f32s_xpulpv2

static void plp_cfft_radix4_f32s_xpulpv2(
    const plp_cfft_instance_f32 * S,
    const float32_t * pSrc,
    uint8_t ifftFlag,
    uint8_t bitReverseFlag
)

function plp_cfft_radix8_f32s_xpulpv2

static void plp_cfft_radix8_f32s_xpulpv2(
    const plp_cfft_instance_f32 * S,
    const float32_t * pSrc,
    uint8_t ifftFlag,
    uint8_t bitReverseFlag
)

Updated on 2023-03-01 at 16:16:32 +0000