CMSIS-DSP  
CMSIS DSP Software Library
 
Loading...
Searching...
No Matches

Functions

void arm_cfft_f32 (const arm_cfft_instance_f32 *S, float32_t *p1, uint8_t ifftFlag, uint8_t bitReverseFlag)
 Processing function for the floating-point complex FFT.
 
arm_status arm_cfft_init_4096_f32 (arm_cfft_instance_f32 *S)
 Initialization function for the cfft f32 function with 4096 samples.
 
arm_status arm_cfft_init_2048_f32 (arm_cfft_instance_f32 *S)
 Initialization function for the cfft f32 function with 2048 samples.
 
arm_status arm_cfft_init_1024_f32 (arm_cfft_instance_f32 *S)
 Initialization function for the cfft f32 function with 1024 samples.
 
arm_status arm_cfft_init_512_f32 (arm_cfft_instance_f32 *S)
 Initialization function for the cfft f32 function with 512 samples.
 
arm_status arm_cfft_init_256_f32 (arm_cfft_instance_f32 *S)
 Initialization function for the cfft f32 function with 256 samples.
 
arm_status arm_cfft_init_128_f32 (arm_cfft_instance_f32 *S)
 Initialization function for the cfft f32 function with 128 samples.
 
arm_status arm_cfft_init_64_f32 (arm_cfft_instance_f32 *S)
 Initialization function for the cfft f32 function with 64 samples.
 
arm_status arm_cfft_init_32_f32 (arm_cfft_instance_f32 *S)
 Initialization function for the cfft f32 function with 32 samples.
 
arm_status arm_cfft_init_16_f32 (arm_cfft_instance_f32 *S)
 Initialization function for the cfft f32 function with 16 samples.
 
arm_status arm_cfft_init_f32 (arm_cfft_instance_f32 *S, uint16_t fftLen)
 Generic initialization function for the cfft f32 function.
 
arm_cfft_instance_f32arm_cfft_init_dynamic_f32 (uint32_t fftLen)
 Initialize data structure for a FFT.
 

Description

Function Documentation

◆ arm_cfft_f32()

void arm_cfft_f32 ( const arm_cfft_instance_f32 S,
float32_t p1,
uint8_t  ifftFlag,
uint8_t  bitReverseFlag 
)

Processing function for the floating-point complex FFT.

Parameters
[in]Spoints to an instance of the floating-point CFFT structure
[in,out]p1points to the complex data buffer of size 2*fftLen. Processing occurs in-place
[in]ifftFlagflag that selects transform direction
  • value = 0: forward transform
  • value = 1: inverse transform
[in]bitReverseFlagflag that enables / disables bit reversal of output
  • value = 0: disables bit reversal of output
  • value = 1: enables bit reversal of output
Neon version
The neon version has a different API. The input and output buffers must be different. There is an optional temporary buffer. If the temporary buffer is not used, the input buffer is modified. The temporary buffer has same size as input or output buffer. The bit reverse flag is not more available in Neon version.
float32_t * pIn,
float32_t * pOut,
float32_t * pBuffer,
uint8_t ifftFlag);

◆ arm_cfft_init_1024_f32()

arm_status arm_cfft_init_1024_f32 ( arm_cfft_instance_f32 S)

Initialization function for the cfft f32 function with 1024 samples.

Parameters
[in,out]Spoints to an instance of the floating-point CFFT structure
Returns
execution status
Use of this function is mandatory only for the Helium and Neon versions of the FFT.
Other versions can still initialize directly the data structure using variables declared in arm_const_structs.h

◆ arm_cfft_init_128_f32()

arm_status arm_cfft_init_128_f32 ( arm_cfft_instance_f32 S)

Initialization function for the cfft f32 function with 128 samples.

Parameters
[in,out]Spoints to an instance of the floating-point CFFT structure
Returns
execution status
Use of this function is mandatory only for the Helium and Neon versions of the FFT.
Other versions can still initialize directly the data structure using variables declared in arm_const_structs.h

◆ arm_cfft_init_16_f32()

arm_status arm_cfft_init_16_f32 ( arm_cfft_instance_f32 S)

Initialization function for the cfft f32 function with 16 samples.

Parameters
[in,out]Spoints to an instance of the floating-point CFFT structure
Returns
execution status
Use of this function is mandatory only for the Helium and Neon versions of the FFT.
Other versions can still initialize directly the data structure using variables declared in arm_const_structs.h

◆ arm_cfft_init_2048_f32()

arm_status arm_cfft_init_2048_f32 ( arm_cfft_instance_f32 S)

Initialization function for the cfft f32 function with 2048 samples.

Parameters
[in,out]Spoints to an instance of the floating-point CFFT structure
Returns
execution status
Use of this function is mandatory only for the Helium and Neon versions of the FFT.
Other versions can still initialize directly the data structure using variables declared in arm_const_structs.h

◆ arm_cfft_init_256_f32()

arm_status arm_cfft_init_256_f32 ( arm_cfft_instance_f32 S)

Initialization function for the cfft f32 function with 256 samples.

Parameters
[in,out]Spoints to an instance of the floating-point CFFT structure
Returns
execution status
Use of this function is mandatory only for the Helium and Neon versions of the FFT.
Other versions can still initialize directly the data structure using variables declared in arm_const_structs.h

◆ arm_cfft_init_32_f32()

arm_status arm_cfft_init_32_f32 ( arm_cfft_instance_f32 S)

Initialization function for the cfft f32 function with 32 samples.

Parameters
[in,out]Spoints to an instance of the floating-point CFFT structure
Returns
execution status
Use of this function is mandatory only for the Helium and Neon versions of the FFT.
Other versions can still initialize directly the data structure using variables declared in arm_const_structs.h

◆ arm_cfft_init_4096_f32()

arm_status arm_cfft_init_4096_f32 ( arm_cfft_instance_f32 S)

Initialization function for the cfft f32 function with 4096 samples.

Parameters
[in,out]Spoints to an instance of the floating-point CFFT structure
Returns
execution status
Use of this function is mandatory only for the Helium and Neon versions of the FFT.
Other versions can still initialize directly the data structure using variables declared in arm_const_structs.h

◆ arm_cfft_init_512_f32()

arm_status arm_cfft_init_512_f32 ( arm_cfft_instance_f32 S)

Initialization function for the cfft f32 function with 512 samples.

Parameters
[in,out]Spoints to an instance of the floating-point CFFT structure
Returns
execution status
Use of this function is mandatory only for the Helium and Neon versions of the FFT.
Other versions can still initialize directly the data structure using variables declared in arm_const_structs.h

◆ arm_cfft_init_64_f32()

arm_status arm_cfft_init_64_f32 ( arm_cfft_instance_f32 S)

Initialization function for the cfft f32 function with 64 samples.

Parameters
[in,out]Spoints to an instance of the floating-point CFFT structure
Returns
execution status
Use of this function is mandatory only for the Helium and Neon versions of the FFT.
Other versions can still initialize directly the data structure using variables declared in arm_const_structs.h

◆ arm_cfft_init_dynamic_f32()

arm_cfft_instance_f32 * arm_cfft_init_dynamic_f32 ( uint32_t  fftLen)

Initialize data structure for a FFT.

Parameters
[in]fftLenThe fft length
Returns
Pointer to the new structure
This function is only available for Neon
This function is allocating memory. The memory must be released when no more used. This function can be used with FFT lengths longer than the ones supported on Cortex-M

With this function, FFT lengths can also contain factor 3 and 5 (but must be multiple of 4)

◆ arm_cfft_init_f32()

arm_status arm_cfft_init_f32 ( arm_cfft_instance_f32 S,
uint16_t  fftLen 
)

Generic initialization function for the cfft f32 function.

Parameters
[in,out]Spoints to an instance of the floating-point CFFT structure
[in]fftLenfft length (number of complex samples)
Returns
execution status
Use of this function is mandatory only for the Helium and Neon versions of the FFT. Other versions can still initialize directly the data structure using variables declared in arm_const_structs.h
This function should be used only if you don't know the FFT sizes that you'll need at build time. The use of this function will prevent the linker from removing the FFT tables that are not needed and the library code size will be bigger than needed.
If you use CMSIS-DSP as a static library, and if you know the FFT sizes that you need at build time, then it is better to use the initialization functions defined for each FFT size.