Edge AI Add-on API 2.3.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 uint16_t len;
27 const uint16_t *p_bitrev_table;
30
36
41typedef void (*nrf_dsp_cfft_radix_func_f32_t)(const nrf_dsp_cfft_f32_t *p_cfft, flt32_t *p_input);
42
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
75void nrf_dsp_rfft_f32(nrf_dsp_rfft_f32_t *p_rfft, flt32_t *p_input, flt32_t *p_output);
76
94 flt32_t *p_input,
95 flt32_t *p_output,
97
110 uint16_t len,
111 const flt32_t *p_twiddle_cfft,
112 const uint16_t *p_bitrev_table,
113 uint16_t bitrev_table_len);
114
127void nrf_dsp_cfft_f32(const nrf_dsp_cfft_f32_t *p_cfft, flt32_t *p_input, uint8_t bitreverse_flag);
128
145 flt32_t *p_input,
146 uint8_t bitreverse_flag,
148
163
177
192
204uint16_t nrf_dsp_cfft_twiddle_factors_f32(flt32_t *p_twiddle_cfft, uint16_t fft_len);
205
217uint16_t nrf_dsp_rfft_twiddle_factors_f32(flt32_t *p_twiddle_rfft, uint16_t fft_len);
218
219#ifdef __cplusplus
220}
221#endif
222
223#endif /* _NRF_DSP_TRANSFORM_FFT_F32_H_ */
224
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:41
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-8 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:25
uint16_t bitrev_table_len
Definition nrf_dsp_fft_f32.h:26
const uint16_t * p_bitrev_table
Definition nrf_dsp_fft_f32.h:27
const flt32_t * p_twiddle
Definition nrf_dsp_fft_f32.h:28
Definition nrf_dsp_fft_f32.h:24
nrf_dsp_cfft_f32_t cfft
Definition nrf_dsp_fft_f32.h:32
uint16_t len
Definition nrf_dsp_fft_f32.h:33
const flt32_t * p_twiddle_rfft
Definition nrf_dsp_fft_f32.h:34
Definition nrf_dsp_fft_f32.h:31