XCORE SDK
XCORE Software Development Kit
xs3_fft.h
1 // Copyright 2020-2021 XMOS LIMITED.
2 // This Software is subject to the terms of the XMOS Public Licence: Version 1.
3 
4 #pragma once
5 
6 
47 C_API
49  complex_s32_t x[],
50  const unsigned length);
51 
97 C_API
99  complex_s32_t x[],
100  const unsigned length);
101 
128 C_API
130  complex_s32_t x[],
131  const unsigned length);
132 
183 C_API
185  complex_s32_t x[],
186  const unsigned length,
187  const unsigned inverse);
188 
222 C_API
223 void xs3_fft_dit_forward (
224  complex_s32_t x[],
225  const unsigned N,
226  headroom_t* hr,
227  exponent_t* exp);
228 
262 C_API
263 void xs3_fft_dit_inverse (
264  complex_s32_t x[],
265  const unsigned N,
266  headroom_t* hr,
267  exponent_t* exp);
268 
302 C_API
303 void xs3_fft_dif_forward (
304  complex_s32_t x[],
305  const unsigned N,
306  headroom_t* hr,
307  exponent_t* exp);
308 
342 C_API
343 void xs3_fft_dif_inverse (
344  complex_s32_t x[],
345  const unsigned N,
346  headroom_t* hr,
347  exponent_t* exp);
int exponent_t
An exponent.
Definition: xs3_math_types.h:76
unsigned headroom_t
Headroom of some integer or integer array.
Definition: xs3_math_types.h:86
void xs3_fft_index_bit_reversal(complex_s32_t x[], const unsigned length)
Applies the index bit-reversal required for FFTs.
void xs3_fft_dif_forward(complex_s32_t x[], const unsigned N, headroom_t *hr, exponent_t *exp)
Compute a forward DFT using the decimation-in-frequency FFT algorithm.
Definition: xs3_fft_dif.c:79
headroom_t xs3_fft_spectra_split(complex_s32_t x[], const unsigned length)
Splits the merged spectrum that results from DFTing a pair of real signals together.
void xs3_fft_mono_adjust(complex_s32_t x[], const unsigned length, const unsigned inverse)
Makes the adjustments required when performing a mono DFT or IDFT.
Definition: xs3_fft_util.c:162
void xs3_fft_dit_inverse(complex_s32_t x[], const unsigned N, headroom_t *hr, exponent_t *exp)
Compute an inverse DFT using the decimation-in-time IFFT algorithm.
Definition: xs3_fft_dit.c:153
headroom_t xs3_fft_spectra_merge(complex_s32_t x[], const unsigned length)
Merges the spectra of two real signals so they can be IDFTed simultaneously.
void xs3_fft_dit_forward(complex_s32_t x[], const unsigned N, headroom_t *hr, exponent_t *exp)
Compute a forward DFT using the decimation-in-time FFT algorithm.
Definition: xs3_fft_dit.c:79
void xs3_fft_dif_inverse(complex_s32_t x[], const unsigned N, headroom_t *hr, exponent_t *exp)
Compute an inverse DFT using the decimation-in-frequency IFFT algorithm.
Definition: xs3_fft_dif.c:153
A complex number with a 32-bit real part and 32-bit imaginary part.
Definition: xs3_math_types.h:49