Edge AI Add-on API 2.2.0
Loading...
Searching...
No Matches
nrf_dsp_fft_f32.h File Reference

Go to the source code of this file.

Data Structures

struct  nrf_dsp_cfft_f32_s
 
struct  nrf_dsp_rfft_f32_s
 

Typedefs

typedef struct nrf_dsp_cfft_f32_s nrf_dsp_cfft_f32_t
 
typedef struct nrf_dsp_rfft_f32_s nrf_dsp_rfft_f32_t
 
typedef void(* nrf_dsp_cfft_radix_func_f32_t) (const nrf_dsp_cfft_f32_t *p_cfft, flt32_t *p_input)
 Complex FFT radix function type.
 

Functions

void nrf_dsp_rfft_init_f32 (nrf_dsp_rfft_f32_t *p_rfft, uint16_t len, const flt32_t *p_twiddle_rfft, const flt32_t *p_twiddle_cfft, const uint16_t *p_bitrev_table, uint16_t bitrev_table_len)
 Initialize real FFT instance structure.
 
void nrf_dsp_rfft_f32 (nrf_dsp_rfft_f32_t *p_rfft, flt32_t *p_input, flt32_t *p_output)
 The floating-point real FFT function. Real FFT algorithms take advantage of the symmetry properties of the FFT and have a speed advantage over complex algorithms of the same length. This function can compute results "in-place" of input buffer.
 
void nrf_dsp_rfft_rdx_f32 (const nrf_dsp_rfft_f32_t *p_rfft, flt32_t *p_input, flt32_t *p_output, nrf_dsp_cfft_radix_func_f32_t radix_func)
 The floating-point real FFT function with custom radix function to use. Real FFT algorithms take advantage of the symmetry properties of the FFT and have a speed advantage over complex algorithms of the same length. This function can compute results "in-place" of input buffer.
 
void nrf_dsp_cfft_init_f32 (nrf_dsp_cfft_f32_t *p_cfft, uint16_t len, const flt32_t *p_twiddle_cfft, const uint16_t *p_bitrev_table, uint16_t bitrev_table_len)
 Initialize complex FFT instance structure.
 
void nrf_dsp_cfft_f32 (const nrf_dsp_cfft_f32_t *p_cfft, flt32_t *p_input, uint8_t bitreverse_flag)
 The floating-point complex FFT function.
 
void nrf_dsp_cfft_rdx_f32 (const nrf_dsp_cfft_f32_t *p_cfft, flt32_t *p_input, uint8_t bitreverse_flag, nrf_dsp_cfft_radix_func_f32_t radix_func)
 The floating-point complex FFT function with custom radix function to use.
 
void nrf_dsp_cfft_radix8by2_f32 (const nrf_dsp_cfft_f32_t *p_cfft, flt32_t *p_input)
 The floating-point complex FFT uses a mixed-radix algorithm. Multiple radix-2 stages are performed along with a radix-1 stage, as needed. The algorithm supports lengths of [16, 128, 1024] and each length uses a different twiddle factor table.
 
void nrf_dsp_cfft_radix8by4_f32 (const nrf_dsp_cfft_f32_t *p_cfft, flt32_t *p_input)
 The floating-point complex FFT uses a mixed-radix algorithm. Multiple radix-4 stages are performed along with a radix-1 stage, as needed. The algorithm supports lengths of [32, 256, 2048] and each length uses a different twiddle factor table.
 
void nrf_dsp_cfft_radix8_f32 (const nrf_dsp_cfft_f32_t *p_cfft, flt32_t *p_input)
 The floating-point complex FFT uses a radix algorithm. Single radix-8 1-stage, algorithm. The algorithm supports lengths of [64, 512, 4096] and each length uses a different twiddle factor table.
 
uint16_t nrf_dsp_cfft_twiddle_factors_f32 (flt32_t *p_twiddle_cfft, uint16_t fft_len)
 Generate floating-point complex twiddle factors buffer.
 
uint16_t nrf_dsp_rfft_twiddle_factors_f32 (flt32_t *p_twiddle_rfft, uint16_t fft_len)
 Generate floating-point real twiddle factors buffer.