![]() |
Project Ne10
An Open Optimized Software Library Project for the ARM Architecture
|
Modules | |
Float/Fixed point Complex FFT Destroy functions | |
User-callable function to destroy all necessary storage space for the fft. | |
Functions | |
ne10_fft_cfg_float32_t | ne10_fft_alloc_c2c_float32_neon (ne10_int32_t nfft) |
User-callable function to allocate all necessary storage space for the fft. | |
ne10_fft_cfg_int32_t | ne10_fft_alloc_c2c_int32_neon (ne10_int32_t nfft) |
User-callable function to allocate all necessary storage space for the fft. | |
ne10_fft_cfg_float32_t | ne10_fft_alloc_c2c_float32_c (ne10_int32_t nfft) |
User-callable function to allocate all necessary storage space for the fft. | |
void | ne10_fft_c2c_1d_float32_c (ne10_fft_cpx_float32_t *fout, ne10_fft_cpx_float32_t *fin, ne10_fft_cfg_float32_t cfg, ne10_int32_t inverse_fft) |
Mixed radix-2/3/4/5 complex FFT/IFFT of float(32-bit) data. | |
void | ne10_fft_c2c_1d_float32_neon (ne10_fft_cpx_float32_t *fout, ne10_fft_cpx_float32_t *fin, ne10_fft_cfg_float32_t cfg, ne10_int32_t inverse_fft) |
Mixed radix-2/3/4/5 complex FFT/IFFT of float(32-bit) data. | |
ne10_fft_cfg_int16_t | ne10_fft_alloc_c2c_int16 (ne10_int32_t nfft) |
User-callable function to allocate all necessary storage space for the fft. | |
void | ne10_fft_c2c_1d_int16_c (ne10_fft_cpx_int16_t *fout, ne10_fft_cpx_int16_t *fin, ne10_fft_cfg_int16_t cfg, ne10_int32_t inverse_fft, ne10_int32_t scaled_flag) |
Mixed radix-2/4 complex FFT/IFFT of 16-bit fixed point data. | |
void | ne10_fft_c2c_1d_int16_neon (ne10_fft_cpx_int16_t *fout, ne10_fft_cpx_int16_t *fin, ne10_fft_cfg_int16_t cfg, ne10_int32_t inverse_fft, ne10_int32_t scaled_flag) |
Mixed radix-2/4 complex FFT/IFFT of 16-bit fixed point data. | |
ne10_fft_cfg_int32_t | ne10_fft_alloc_c2c_int32_c (ne10_int32_t nfft) |
User-callable function to allocate all necessary storage space for the fft. | |
void | ne10_fft_c2c_1d_int32_c (ne10_fft_cpx_int32_t *fout, ne10_fft_cpx_int32_t *fin, ne10_fft_cfg_int32_t cfg, ne10_int32_t inverse_fft, ne10_int32_t scaled_flag) |
Mixed radix-2/4 complex FFT/IFFT of 32-bit fixed point data. | |
void | ne10_fft_c2c_1d_int32_neon (ne10_fft_cpx_int32_t *fout, ne10_fft_cpx_int32_t *fin, ne10_fft_cfg_int32_t cfg, ne10_int32_t inverse_fft, ne10_int32_t scaled_flag) |
Mixed radix-2/4 complex FFT/IFFT of 32-bit fixed point data. | |
2^N
(N>0) size. The function list is as follows:{real[0], imag[0], real[1], imag[1], real[2], imag[2].... real[fftSize-2], imag[fftSize-2], real[fftSize-1], imag[fftSize-1]}
2^N
(N is 1, 2, 3, 4, 5, 6, ......).include "NE10.h" ... { fftSize = 2^N; //N is 1, 2, 3, 4, 5, 6.... in = (ne10_fft_cpx_float32_t*) NE10_MALLOC (fftSize * sizeof (ne10_fft_cpx_float32_t)); out = (ne10_fft_cpx_float32_t*) NE10_MALLOC (fftSize * sizeof (ne10_fft_cpx_float32_t)); ne10_fft_cfg_float32_t cfg; ... cfg = ne10_fft_alloc_c2c_float32 (fftSize); ... //FFT ne10_fft_c2c_1d_float32_c (out, in, cfg, 0); ... //IFFT ne10_fft_c2c_1d_float32_c (out, in, cfg, 1); ... NE10_FREE (in); NE10_FREE (out); NE10_FREE (cfg); }
Note:
128/2 = 64
. So that the factor buffer is[4, 64, 4, 32, 4, 8, 4, 2, 2, 1]ne10_fft_cfg_float32_t ne10_fft_alloc_c2c_float32_c | ( | ne10_int32_t | nfft | ) |
User-callable function to allocate all necessary storage space for the fft.
[in] | nfft | length of FFT |
Definition at line 997 of file NE10_fft_float32.c.
ne10_fft_cfg_float32_t ne10_fft_alloc_c2c_float32_neon | ( | ne10_int32_t | nfft | ) |
User-callable function to allocate all necessary storage space for the fft.
[in] | nfft | length of FFT |
Definition at line 337 of file NE10_fft.c.
ne10_fft_cfg_int16_t ne10_fft_alloc_c2c_int16 | ( | ne10_int32_t | nfft | ) |
User-callable function to allocate all necessary storage space for the fft.
[in] | nfft | length of FFT |
Definition at line 1030 of file NE10_fft_int16.c.
ne10_fft_cfg_int32_t ne10_fft_alloc_c2c_int32_c | ( | ne10_int32_t | nfft | ) |
User-callable function to allocate all necessary storage space for the fft.
[in] | nfft | length of FFT |
Definition at line 1027 of file NE10_fft_int32.c.
ne10_fft_cfg_int32_t ne10_fft_alloc_c2c_int32_neon | ( | ne10_int32_t | nfft | ) |
User-callable function to allocate all necessary storage space for the fft.
[in] | nfft | length of FFT |
Definition at line 435 of file NE10_fft.c.
void ne10_fft_c2c_1d_float32_c | ( | ne10_fft_cpx_float32_t * | fout, |
ne10_fft_cpx_float32_t * | fin, | ||
ne10_fft_cfg_float32_t | cfg, | ||
ne10_int32_t | inverse_fft | ||
) |
Mixed radix-2/3/4/5 complex FFT/IFFT of float(32-bit) data.
[out] | *fout | point to the output buffer (out-of-place) |
[in] | *fin | point to the input buffer (out-of-place) |
[in] | cfg | point to the config struct |
[in] | inverse_fft | the flag of IFFT, 0: FFT, 1: IFFT |
Definition at line 1065 of file NE10_fft_float32.c.
void ne10_fft_c2c_1d_float32_neon | ( | ne10_fft_cpx_float32_t * | fout, |
ne10_fft_cpx_float32_t * | fin, | ||
ne10_fft_cfg_float32_t | cfg, | ||
ne10_int32_t | inverse_fft | ||
) |
Mixed radix-2/3/4/5 complex FFT/IFFT of float(32-bit) data.
[out] | *fout | point to the output buffer (out-of-place) |
[in] | *fin | point to the input buffer (out-of-place) |
[in] | cfg | point to the config struct |
[in] | inverse_fft | the flag of IFFT, 0: FFT, 1: IFFT |
Definition at line 676 of file NE10_fft_float32.neon.c.
void ne10_fft_c2c_1d_int16_c | ( | ne10_fft_cpx_int16_t * | fout, |
ne10_fft_cpx_int16_t * | fin, | ||
ne10_fft_cfg_int16_t | cfg, | ||
ne10_int32_t | inverse_fft, | ||
ne10_int32_t | scaled_flag | ||
) |
Mixed radix-2/4 complex FFT/IFFT of 16-bit fixed point data.
[out] | *fout | point to the output buffer (out-of-place) |
[in] | *fin | point to the input buffer (out-of-place) |
[in] | cfg | point to the config struct |
[in] | inverse_fft | the flag of IFFT, 0: FFT, 1: IFFT |
[in] | scaled_flag | scale flag, 0 unscaled, 1 scaled |
Definition at line 1110 of file NE10_fft_int16.c.
void ne10_fft_c2c_1d_int16_neon | ( | ne10_fft_cpx_int16_t * | fout, |
ne10_fft_cpx_int16_t * | fin, | ||
ne10_fft_cfg_int16_t | cfg, | ||
ne10_int32_t | inverse_fft, | ||
ne10_int32_t | scaled_flag | ||
) |
Mixed radix-2/4 complex FFT/IFFT of 16-bit fixed point data.
Mixed radix-2/4 complex FFT/IFFT of 32-bit fixed point data.
[out] | *fout | point to the output buffer (out-of-place) |
[in] | *fin | point to the input buffer (out-of-place) |
[in] | cfg | point to the config struct |
[in] | inverse_fft | the flag of IFFT, 0: FFT, 1: IFFT |
[in] | scaled_flag | scale flag, 0 unscaled, 1 scaled |
[out] | *fout | point to the output buffer (out-of-place) |
[in] | *fin | point to the input buffer (out-of-place) |
[in] | *twiddles | point to the twiddle buffer |
[in] | *factors | point to factors buffer. 0: stage number, 1: stride for the first stage, others: radix and stage's fft length/radix |
[in] | nfft | length of FFT |
[in] | inverse_fft | the flag of IFFT, 0: FFT, 1: IFFT |
[in] | scaled_flag | scale flag, 0 unscaled, 1 scaled |
Definition at line 746 of file NE10_fft_int16.neon.c.
void ne10_fft_c2c_1d_int32_c | ( | ne10_fft_cpx_int32_t * | fout, |
ne10_fft_cpx_int32_t * | fin, | ||
ne10_fft_cfg_int32_t | cfg, | ||
ne10_int32_t | inverse_fft, | ||
ne10_int32_t | scaled_flag | ||
) |
Mixed radix-2/4 complex FFT/IFFT of 32-bit fixed point data.
[out] | *fout | point to the output buffer (out-of-place) |
[in] | *fin | point to the input buffer (out-of-place) |
[in] | cfg | point to the config struct |
[in] | inverse_fft | the flag of IFFT, 0: FFT, 1: IFFT |
[in] | scaled_flag | scale flag, 0 unscaled, 1 scaled |
Definition at line 1072 of file NE10_fft_int32.c.
void ne10_fft_c2c_1d_int32_neon | ( | ne10_fft_cpx_int32_t * | fout, |
ne10_fft_cpx_int32_t * | fin, | ||
ne10_fft_cfg_int32_t | cfg, | ||
ne10_int32_t | inverse_fft, | ||
ne10_int32_t | scaled_flag | ||
) |
Mixed radix-2/4 complex FFT/IFFT of 32-bit fixed point data.
[out] | *fout | point to the output buffer (out-of-place) |
[in] | *fin | point to the input buffer (out-of-place) |
[in] | cfg | point to the config struct |
[in] | inverse_fft | the flag of IFFT, 0: FFT, 1: IFFT |
[in] | scaled_flag | scale flag, 0 unscaled, 1 scaled |
Definition at line 1220 of file NE10_fft_int32.neon.c.