Edge AI Add-on API 2.2.0
Loading...
Searching...
No Matches
nrf_dsp_fft_i16.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_I16_H_
16#define _NRF_DSP_TRANSFORM_FFT_I16_H_
17
19
20#ifdef __cplusplus
21extern "C" {
22#endif
23
24typedef struct nrf_dsp_cfft_i16_s
25{
26 uint16_t len;
28 const uint16_t* p_bitrev_table;
29 const int16_t* p_twiddle;
31
38
43typedef void (*nrf_dsp_cfft_radix_func_i16_t)(const nrf_dsp_cfft_i16_t* p_cfft, int16_t* p_input);
44
56 uint16_t len,
57 const int16_t* p_twiddle_rfft,
58 const int16_t* p_twiddle_cfft,
59 const uint16_t* p_bitrev_table,
60 uint16_t bitrev_table_len);
61
74void nrf_dsp_rfft_i16(const nrf_dsp_rfft_i16_t* p_rfft, int16_t* p_input, int16_t* p_output);
75
91 int16_t* p_input,
92 int16_t* p_output,
94
105 uint16_t len,
106 const int16_t* p_twiddle_cfft,
107 const uint16_t* p_bitrev_table,
108 uint16_t bitrev_table_len);
109
119void nrf_dsp_cfft_i16(const nrf_dsp_cfft_i16_t* p_cfft, int16_t* p_input, uint8_t bitreverse_flag);
120
134 int16_t* p_input,
135 uint8_t bitreverse_flag,
137
149void nrf_dsp_cfft_radix4_i16(const nrf_dsp_cfft_i16_t* p_cfft, int16_t* p_input);
150
162void nrf_dsp_cfft_radix4by2_i16(const nrf_dsp_cfft_i16_t* p_cfft, int16_t* p_input);
163
173uint16_t nrf_dsp_rfft_twiddle_factors_i16(int16_t* p_twiddle_rfft, uint16_t fft_len);
174
185uint16_t nrf_dsp_cfft_twiddle_factors_i16(int16_t* p_twiddle_cfft, uint16_t fft_len);
186
187#ifdef __cplusplus
188}
189#endif
190
191#endif /* _NRF_DSP_TRANSFORM_FFT_I16_H_ */
192
void nrf_dsp_rfft_i16(const nrf_dsp_rfft_i16_t *p_rfft, int16_t *p_input, int16_t *p_output)
The fixed-point 16-bit real FFT function Real FFT algorithms take advantage of the symmetry propertie...
void(* nrf_dsp_cfft_radix_func_i16_t)(const nrf_dsp_cfft_i16_t *p_cfft, int16_t *p_input)
Complex FFT 16-bit radix function type.
Definition nrf_dsp_fft_i16.h:43
void nrf_dsp_rfft_init_i16(nrf_dsp_rfft_i16_t *p_rfft, uint16_t len, const int16_t *p_twiddle_rfft, const int16_t *p_twiddle_cfft, const uint16_t *p_bitrev_table, uint16_t bitrev_table_len)
Initialize real FFT instance structure.
void nrf_dsp_cfft_rdx_i16(const nrf_dsp_cfft_i16_t *p_cfft, int16_t *p_input, uint8_t bitreverse_flag, nrf_dsp_cfft_radix_func_i16_t radix_func)
The fixed-point 16-bit complex FFT function with custom radix function to use.
void nrf_dsp_cfft_init_i16(nrf_dsp_cfft_i16_t *p_cfft, uint16_t len, const int16_t *p_twiddle_cfft, const uint16_t *p_bitrev_table, uint16_t bitrev_table_len)
Initialize complex FFT instance structure.
struct nrf_dsp_cfft_i16_s nrf_dsp_cfft_i16_t
uint16_t nrf_dsp_cfft_twiddle_factors_i16(int16_t *p_twiddle_cfft, uint16_t fft_len)
Generate fixed-point 16 bit complex twiddle factors buffer.
void nrf_dsp_cfft_radix4_i16(const nrf_dsp_cfft_i16_t *p_cfft, int16_t *p_input)
The fixed-point 16-bit complex FFT uses a radix algorithm. Single radix-8 1-stage,...
uint16_t nrf_dsp_rfft_twiddle_factors_i16(int16_t *p_twiddle_rfft, uint16_t fft_len)
Generate fixed-point 16 bit real twiddle factors buffer:
struct nrf_dsp_rfft_i16_s nrf_dsp_rfft_i16_t
void nrf_dsp_cfft_i16(const nrf_dsp_cfft_i16_t *p_cfft, int16_t *p_input, uint8_t bitreverse_flag)
The fixed-point 16-bit complex FFT function.
void nrf_dsp_rfft_rdx_i16(const nrf_dsp_rfft_i16_t *p_rfft, int16_t *p_input, int16_t *p_output, nrf_dsp_cfft_radix_func_i16_t radix_func)
The fixed-point 16-bit real FFT function with custom radix function to use. Real FFT algorithms take ...
void nrf_dsp_cfft_radix4by2_i16(const nrf_dsp_cfft_i16_t *p_cfft, int16_t *p_input)
The fixed-point 16-bit complex FFT uses a mixed-radix algorithm. Multiple radix-4 stages are performe...
const uint16_t * p_bitrev_table
Definition nrf_dsp_fft_i16.h:28
uint16_t len
Definition nrf_dsp_fft_i16.h:26
const int16_t * p_twiddle
Definition nrf_dsp_fft_i16.h:29
uint16_t bitrev_table_len
Definition nrf_dsp_fft_i16.h:27
Definition nrf_dsp_fft_i16.h:25
uint16_t len
Definition nrf_dsp_fft_i16.h:35
const int16_t * p_twiddle_rfft
Definition nrf_dsp_fft_i16.h:36
nrf_dsp_cfft_i16_t cfft
Definition nrf_dsp_fft_i16.h:34
Definition nrf_dsp_fft_i16.h:33