![]() |
Project Ne10
An Open Optimized Software Library Project for the ARM Architecture
|
Modules | |
Float/Fixed point Real2Complex FFT Destroy functions | |
User-callable function to destroy all necessary storage space for the fft. | |
Functions | |
ne10_fft_r2c_cfg_float32_t | ne10_fft_alloc_r2c_float32 (ne10_int32_t nfft) |
User-callable function to allocate all necessary storage space for the fft (r2c/c2r). | |
void | ne10_fft_r2c_1d_float32_c (ne10_fft_cpx_float32_t *fout, ne10_float32_t *fin, ne10_fft_r2c_cfg_float32_t cfg) |
Mixed radix-2/4 FFT (real to complex) of float(32-bit) data. | |
void | ne10_fft_c2r_1d_float32_c (ne10_float32_t *fout, ne10_fft_cpx_float32_t *fin, ne10_fft_r2c_cfg_float32_t cfg) |
Mixed radix-2/4 IFFT (complex to real) of float(32-bit) data. | |
void | ne10_fft_r2c_1d_float32_neon (ne10_fft_cpx_float32_t *fout, ne10_float32_t *fin, ne10_fft_r2c_cfg_float32_t cfg) |
Mixed radix-2/4 FFT (real to complex) of float(32-bit) data. | |
void | ne10_fft_c2r_1d_float32_neon (ne10_float32_t *fout, ne10_fft_cpx_float32_t *fin, ne10_fft_r2c_cfg_float32_t cfg) |
Mixed radix-2/4 IFFT (complex to real) of float(32-bit) data. | |
ne10_fft_r2c_cfg_int16_t | ne10_fft_alloc_r2c_int16 (ne10_int32_t nfft) |
User-callable function to allocate all necessary storage space for the fft (r2c/c2r). | |
void | ne10_fft_r2c_1d_int16_c (ne10_fft_cpx_int16_t *fout, ne10_int16_t *fin, ne10_fft_r2c_cfg_int16_t cfg, ne10_int32_t scaled_flag) |
Mixed radix-2/4 FFT (real to complex) of int16 data. | |
void | ne10_fft_c2r_1d_int16_c (ne10_int16_t *fout, ne10_fft_cpx_int16_t *fin, ne10_fft_r2c_cfg_int16_t cfg, ne10_int32_t scaled_flag) |
Mixed radix-2/4 IFFT (complex to real) of int16 data. | |
void | ne10_fft_r2c_1d_int16_neon (ne10_fft_cpx_int16_t *fout, ne10_int16_t *fin, ne10_fft_r2c_cfg_int16_t cfg, ne10_int32_t scaled_flag) |
Mixed radix-2/4 FFT (real to complex) of int16 data. | |
void | ne10_fft_c2r_1d_int16_neon (ne10_int16_t *fout, ne10_fft_cpx_int16_t *fin, ne10_fft_r2c_cfg_int16_t cfg, ne10_int32_t scaled_flag) |
Mixed radix-2/4 IFFT (complex to real) of int16 data. | |
ne10_fft_r2c_cfg_int32_t | ne10_fft_alloc_r2c_int32 (ne10_int32_t nfft) |
User-callable function to allocate all necessary storage space for the fft (r2c/c2r). | |
void | ne10_fft_r2c_1d_int32_c (ne10_fft_cpx_int32_t *fout, ne10_int32_t *fin, ne10_fft_r2c_cfg_int32_t cfg, ne10_int32_t scaled_flag) |
Mixed radix-2/4 FFT (real to complex) of int32 data. | |
void | ne10_fft_c2r_1d_int32_c (ne10_int32_t *fout, ne10_fft_cpx_int32_t *fin, ne10_fft_r2c_cfg_int32_t cfg, ne10_int32_t scaled_flag) |
Mixed radix-2/4 IFFT (complex to real) of int32 data. | |
void | ne10_fft_r2c_1d_int32_neon (ne10_fft_cpx_int32_t *fout, ne10_int32_t *fin, ne10_fft_r2c_cfg_int32_t cfg, ne10_int32_t scaled_flag) |
Mixed radix-2/4 FFT (real to complex) of int32 data. | |
void | ne10_fft_c2r_1d_int32_neon (ne10_int32_t *fout, ne10_fft_cpx_int32_t *fin, ne10_fft_r2c_cfg_int32_t cfg, ne10_int32_t scaled_flag) |
Mixed radix-2/4 IFFT (complex to real) of int32 data. | |
2^N
(N>1) size. The function list is as follows:2^N
(N is 2, 3, 4, 5, 6, ......).include "NE10.h" ... { fftSize = 2^N; //N is 2, 3, 4, 5, 6.... in = (ne10_float32_t*) NE10_MALLOC (fftSize * sizeof (ne10_float32_t)); out = (ne10_fft_cpx_float32_t*) NE10_MALLOC (fftSize * sizeof (ne10_fft_cpx_float32_t)); ne10_fft_r2c_cfg_float32_t cfg; ... cfg = ne10_fft_alloc_r2c_float32 (fftSize); ... //FFT ne10_fft_r2c_1d_float32_c (out, in, cfg); ... //IFFT ne10_fft_c2r_1d_float32_c (in, out, cfg); ... NE10_FREE (cfg); NE10_FREE (in); NE10_FREE (out); }
Note:
128/2 = 64
. So that the factor buffer is[4, 64, 4, 32, 4, 8, 4, 2, 2, 1]ne10_fft_r2c_cfg_float32_t ne10_fft_alloc_r2c_float32 | ( | ne10_int32_t | nfft | ) |
User-callable function to allocate all necessary storage space for the fft (r2c/c2r).
[in] | nfft | length of FFT |
Definition at line 1193 of file NE10_fft_float32.c.
ne10_fft_r2c_cfg_int16_t ne10_fft_alloc_r2c_int16 | ( | ne10_int32_t | nfft | ) |
User-callable function to allocate all necessary storage space for the fft (r2c/c2r).
[in] | nfft | length of FFT |
Definition at line 1140 of file NE10_fft_int16.c.
ne10_fft_r2c_cfg_int32_t ne10_fft_alloc_r2c_int32 | ( | ne10_int32_t | nfft | ) |
User-callable function to allocate all necessary storage space for the fft (r2c/c2r).
[in] | nfft | length of FFT |
Definition at line 1125 of file NE10_fft_int32.c.
void ne10_fft_c2r_1d_float32_c | ( | ne10_float32_t * | fout, |
ne10_fft_cpx_float32_t * | fin, | ||
ne10_fft_r2c_cfg_float32_t | cfg | ||
) |
Mixed radix-2/4 IFFT (complex to real) of float(32-bit) data.
[out] | *fout | point to the output buffer |
[in] | *fin | point to the input buffer |
[in] | cfg | point to the config struct |
Definition at line 1305 of file NE10_fft_float32.c.
void ne10_fft_c2r_1d_float32_neon | ( | ne10_float32_t * | fout, |
ne10_fft_cpx_float32_t * | fin, | ||
ne10_fft_r2c_cfg_float32_t | cfg | ||
) |
Mixed radix-2/4 IFFT (complex to real) of float(32-bit) data.
[out] | *fout | point to the output buffer |
[in] | *fin | point to the input buffer |
[in] | cfg | point to the config struct |
[out] | *fout | point to the output buffer |
[in] | *fin | point to the input buffer |
[in] | cfg | point to the config struct |
Definition at line 798 of file NE10_fft_float32.neon.c.
void ne10_fft_c2r_1d_int16_c | ( | ne10_int16_t * | fout, |
ne10_fft_cpx_int16_t * | fin, | ||
ne10_fft_r2c_cfg_int16_t | cfg, | ||
ne10_int32_t | scaled_flag | ||
) |
Mixed radix-2/4 IFFT (complex to real) of int16 data.
[out] | *fout | point to the output buffer |
[in] | *fin | point to the input buffer |
[in] | cfg | point to the config struct |
[in] | scaled_flag | scale flag, 0 unscaled, 1 scaled |
Definition at line 1255 of file NE10_fft_int16.c.
void ne10_fft_c2r_1d_int16_neon | ( | ne10_int16_t * | fout, |
ne10_fft_cpx_int16_t * | fin, | ||
ne10_fft_r2c_cfg_int16_t | cfg, | ||
ne10_int32_t | scaled_flag | ||
) |
Mixed radix-2/4 IFFT (complex to real) of int16 data.
[out] | *fout | point to the output buffer |
[in] | *fin | point to the input buffer |
[in] | cfg | point to the config struct |
[in] | scaled_flag | scale flag, 0 unscaled, 1 scaled |
[out] | *fout | point to the output buffer |
[in] | *fin | point to the input buffer |
[in] | *twiddles | point to the twiddle buffer |
[in] | *super_twiddles | point to the twiddle buffer for data split |
[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] | scaled_flag | scale flag, 0 unscaled, 1 scaled |
Definition at line 868 of file NE10_fft_int16.neon.c.
void ne10_fft_c2r_1d_int32_c | ( | ne10_int32_t * | fout, |
ne10_fft_cpx_int32_t * | fin, | ||
ne10_fft_r2c_cfg_int32_t | cfg, | ||
ne10_int32_t | scaled_flag | ||
) |
Mixed radix-2/4 IFFT (complex to real) of int32 data.
[out] | *fout | point to the output buffer |
[in] | *fin | point to the input buffer |
[in] | cfg | point to the config struct |
[in] | scaled_flag | scale flag, 0 unscaled, 1 scaled |
Definition at line 1241 of file NE10_fft_int32.c.
void ne10_fft_c2r_1d_int32_neon | ( | ne10_int32_t * | fout, |
ne10_fft_cpx_int32_t * | fin, | ||
ne10_fft_r2c_cfg_int32_t | cfg, | ||
ne10_int32_t | scaled_flag | ||
) |
Mixed radix-2/4 IFFT (complex to real) of int32 data.
[out] | *fout | point to the output buffer |
[in] | *fin | point to the input buffer |
[in] | cfg | point to the config struct |
[in] | scaled_flag | scale flag, 0 unscaled, 1 scaled |
Definition at line 1385 of file NE10_fft_int32.neon.c.
void ne10_fft_r2c_1d_float32_c | ( | ne10_fft_cpx_float32_t * | fout, |
ne10_float32_t * | fin, | ||
ne10_fft_r2c_cfg_float32_t | cfg | ||
) |
Mixed radix-2/4 FFT (real to complex) of float(32-bit) data.
[out] | *fout | point to the output buffer |
[in] | *fin | point to the input buffer |
[in] | cfg | point to the config struct |
Definition at line 1285 of file NE10_fft_float32.c.
void ne10_fft_r2c_1d_float32_neon | ( | ne10_fft_cpx_float32_t * | fout, |
ne10_float32_t * | fin, | ||
ne10_fft_r2c_cfg_float32_t | cfg | ||
) |
Mixed radix-2/4 FFT (real to complex) of float(32-bit) data.
[out] | *fout | point to the output buffer |
[in] | *fin | point to the input buffer |
[in] | cfg | point to the config struct |
[out] | *fout | point to the output buffer |
[in] | *fin | point to the input buffer |
[in] | cfg | point to the config struct |
Definition at line 771 of file NE10_fft_float32.neon.c.
void ne10_fft_r2c_1d_int16_c | ( | ne10_fft_cpx_int16_t * | fout, |
ne10_int16_t * | fin, | ||
ne10_fft_r2c_cfg_int16_t | cfg, | ||
ne10_int32_t | scaled_flag | ||
) |
Mixed radix-2/4 FFT (real to complex) of int16 data.
[out] | *fout | point to the output buffer |
[in] | *fin | point to the input buffer |
[in] | cfg | point to the config struct |
[in] | scaled_flag | scale flag, 0 unscaled, 1 scaled |
Definition at line 1233 of file NE10_fft_int16.c.
void ne10_fft_r2c_1d_int16_neon | ( | ne10_fft_cpx_int16_t * | fout, |
ne10_int16_t * | fin, | ||
ne10_fft_r2c_cfg_int16_t | cfg, | ||
ne10_int32_t | scaled_flag | ||
) |
Mixed radix-2/4 FFT (real to complex) of int16 data.
[out] | *fout | point to the output buffer |
[in] | *fin | point to the input buffer |
[in] | cfg | point to the config struct |
[in] | scaled_flag | scale flag, 0 unscaled, 1 scaled |
[out] | *fout | point to the output buffer |
[in] | *fin | point to the input buffer |
[in] | *twiddles | point to the twiddle buffer |
[in] | *super_twiddles | point to the twiddle buffer for data split |
[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] | scaled_flag | scale flag, 0 unscaled, 1 scaled |
Definition at line 840 of file NE10_fft_int16.neon.c.
void ne10_fft_r2c_1d_int32_c | ( | ne10_fft_cpx_int32_t * | fout, |
ne10_int32_t * | fin, | ||
ne10_fft_r2c_cfg_int32_t | cfg, | ||
ne10_int32_t | scaled_flag | ||
) |
Mixed radix-2/4 FFT (real to complex) of int32 data.
[out] | *fout | point to the output buffer |
[in] | *fin | point to the input buffer |
[in] | cfg | point to the config struct |
[in] | scaled_flag | scale flag, 0 unscaled, 1 scaled |
Definition at line 1219 of file NE10_fft_int32.c.
void ne10_fft_r2c_1d_int32_neon | ( | ne10_fft_cpx_int32_t * | fout, |
ne10_int32_t * | fin, | ||
ne10_fft_r2c_cfg_int32_t | cfg, | ||
ne10_int32_t | scaled_flag | ||
) |
Mixed radix-2/4 FFT (real to complex) of int32 data.
[out] | *fout | point to the output buffer |
[in] | *fin | point to the input buffer |
[in] | cfg | point to the config struct |
[in] | scaled_flag | scale flag, 0 unscaled, 1 scaled |
Definition at line 1357 of file NE10_fft_int32.neon.c.