Edge AI Add-on API 2.2.0
Loading...
Searching...
No Matches
nrf_dsp_fft_f32.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2026 Nordic Semiconductor ASA
3 *
4 * SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
5 */
15#ifndef _NRF_DSP_TRANSFORM_FFT_F32_H_
16#define _NRF_DSP_TRANSFORM_FFT_F32_H_
17
19
20#ifdef __cplusplus
21extern "C" {
22#endif
23
24typedef struct nrf_dsp_cfft_f32_s
25{
26 uint16_t len;
28 const uint16_t* p_bitrev_table;
31
38
43typedef void (*nrf_dsp_cfft_radix_func_f32_t)(const nrf_dsp_cfft_f32_t* p_cfft, flt32_t* p_input);
44
56 uint16_t len,
57 const flt32_t* p_twiddle_rfft,
58 const flt32_t* p_twiddle_cfft,
59 const uint16_t* p_bitrev_table,
60 uint16_t bitrev_table_len);
61
74void nrf_dsp_rfft_f32(nrf_dsp_rfft_f32_t* p_rfft, flt32_t* p_input, flt32_t* p_output);
75
91 flt32_t* p_input,
92 flt32_t* p_output,
94
105 uint16_t len,
106 const flt32_t* p_twiddle_cfft,
107 const uint16_t* p_bitrev_table,
108 uint16_t bitrev_table_len);
109
120void nrf_dsp_cfft_f32(const nrf_dsp_cfft_f32_t* p_cfft, flt32_t* p_input, uint8_t bitreverse_flag);
121
135 flt32_t* p_input,
136 uint8_t bitreverse_flag,
138
151
164
177
188uint16_t nrf_dsp_cfft_twiddle_factors_f32(flt32_t* p_twiddle_cfft, uint16_t fft_len);
189
199uint16_t nrf_dsp_rfft_twiddle_factors_f32(flt32_t* p_twiddle_rfft, uint16_t fft_len);
200
201#ifdef __cplusplus
202}
203#endif
204
205#endif /* _NRF_DSP_TRANSFORM_FFT_F32_H_ */
206
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 o...
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.
struct nrf_dsp_rfft_f32_s nrf_dsp_rfft_f32_t
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.
Definition nrf_dsp_fft_f32.h:43
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 al...
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_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_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....
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.
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 al...
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 adva...
struct nrf_dsp_cfft_f32_s nrf_dsp_cfft_f32_t
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.
float flt32_t
32-bit floating-point type definition.
Definition nrf_edgeai_ctypes.h:21
uint16_t len
Definition nrf_dsp_fft_f32.h:26
uint16_t bitrev_table_len
Definition nrf_dsp_fft_f32.h:27
const uint16_t * p_bitrev_table
Definition nrf_dsp_fft_f32.h:28
const flt32_t * p_twiddle
Definition nrf_dsp_fft_f32.h:29
Definition nrf_dsp_fft_f32.h:25
nrf_dsp_cfft_f32_t cfft
Definition nrf_dsp_fft_f32.h:34
uint16_t len
Definition nrf_dsp_fft_f32.h:35
const flt32_t * p_twiddle_rfft
Definition nrf_dsp_fft_f32.h:36
Definition nrf_dsp_fft_f32.h:33