33 #include "NE10_types.h"
55 ne10_int32_t inverse_fft);
61 extern void (*ne10_fft_c2r_1d_float32) (ne10_float32_t *fout,
68 ne10_int32_t inverse_fft,
69 ne10_int32_t scaled_flag);
74 ne10_int32_t scaled_flag);
76 extern void (*ne10_fft_c2r_1d_int32) (ne10_int32_t *fout,
79 ne10_int32_t scaled_flag);
84 ne10_int32_t inverse_fft,
85 ne10_int32_t scaled_flag);
90 ne10_int32_t scaled_flag);
92 extern void (*ne10_fft_c2r_1d_int16) (ne10_int16_t *fout,
95 ne10_int32_t scaled_flag);
120 ne10_int32_t inverse_fft);
133 ne10_int32_t inverse_fft,
134 ne10_int32_t scaled_flag);
139 ne10_int32_t scaled_flag);
144 ne10_int32_t scaled_flag);
149 ne10_int32_t inverse_fft,
150 ne10_int32_t scaled_flag);
155 ne10_int32_t scaled_flag);
160 ne10_int32_t scaled_flag);
170 ne10_int32_t inverse_fft);
183 ne10_int32_t inverse_fft,
184 ne10_int32_t scaled_flag);
189 ne10_int32_t scaled_flag);
194 ne10_int32_t scaled_flag);
199 ne10_int32_t inverse_fft,
200 ne10_int32_t scaled_flag);
205 ne10_int32_t scaled_flag);
210 ne10_int32_t scaled_flag);
216 ne10_float32_t * pSrc,
217 ne10_float32_t * pDst,
218 ne10_uint32_t blockSize);
221 ne10_float32_t * pSrc,
222 ne10_float32_t * pDst,
223 ne10_uint32_t blockSize);
226 ne10_float32_t * pSrc,
227 ne10_float32_t * pDst,
228 ne10_uint32_t blockSize);
231 ne10_float32_t * pSrc,
232 ne10_float32_t * pDst,
233 ne10_uint32_t blockSize);
236 ne10_float32_t * pSrc,
237 ne10_float32_t * pDst,
238 ne10_float32_t * pScratchIn,
239 ne10_uint32_t blockSize);
244 ne10_uint16_t numTaps,
245 ne10_float32_t * pCoeffs,
246 ne10_float32_t * pState,
247 ne10_uint32_t blockSize);
250 ne10_uint16_t numTaps,
252 ne10_float32_t * pCoeffs,
253 ne10_float32_t * pState,
254 ne10_uint32_t blockSize);
258 ne10_uint16_t numTaps,
259 ne10_float32_t * pCoeffs,
260 ne10_float32_t * pState,
261 ne10_uint32_t blockSize);
264 ne10_uint16_t numStages,
265 ne10_float32_t * pCoeffs,
266 ne10_float32_t * pState);
269 ne10_uint16_t numTaps,
270 ne10_float32_t * pCoeffs,
271 ne10_float32_t * pState,
272 ne10_int32_t * pTapDelay,
273 ne10_uint16_t maxDelay,
274 ne10_uint32_t blockSize);
278 ne10_float32_t * pSrc,
279 ne10_float32_t * pDst,
280 ne10_uint32_t blockSize);
283 ne10_float32_t * pSrc,
284 ne10_float32_t * pDst,
285 ne10_uint32_t blockSize);
288 ne10_float32_t * pSrc,
289 ne10_float32_t * pDst,
290 ne10_uint32_t blockSize);
293 ne10_float32_t * pSrc,
294 ne10_float32_t * pDst,
295 ne10_uint32_t blockSize);
298 ne10_float32_t * pSrc,
299 ne10_float32_t * pDst,
300 ne10_float32_t * pScratchIn,
301 ne10_uint32_t blockSize);
310 #ifdef ENABLE_NE10_FIR_FLOAT_NEON
312 ne10_float32_t * pSrc,
313 ne10_float32_t * pDst,
314 ne10_uint32_t blockSize)
315 asm (
"ne10_fir_float_neon");
323 #ifdef ENABLE_NE10_FIR_DECIMATE_FLOAT_NEON
325 ne10_float32_t *pSrc,
326 ne10_float32_t *pDst,
327 ne10_uint32_t blockSize)
asm (
"ne10_fir_decimate_float_neon");
335 #ifdef ENABLE_NE10_FIR_INTERPOLATE_FLOAT_NEON
337 ne10_float32_t *pSrc,
338 ne10_float32_t *pDst,
339 ne10_uint32_t blockSize)
asm (
"ne10_fir_interpolate_float_neon");
347 #ifdef ENABLE_NE10_FIR_LATTICE_FLOAT_NEON
349 ne10_float32_t * pSrc,
350 ne10_float32_t * pDst,
351 ne10_uint32_t blockSize)
asm (
"ne10_fir_lattice_float_neon");
359 #ifdef ENABLE_NE10_FIR_SPARSE_FLOAT_NEON
361 ne10_float32_t * pSrc,
362 ne10_float32_t * pDst,
363 ne10_float32_t * pScratch,
364 ne10_uint32_t blockSize)
365 asm (
"ne10_fir_sparse_float_neon");
374 ne10_float32_t * pSrc,
375 ne10_float32_t * pDst,
376 ne10_uint32_t blockSize);
380 ne10_uint16_t numStages,
381 ne10_float32_t * pkCoeffs,
382 ne10_float32_t * pvCoeffs,
383 ne10_float32_t * pState,
384 ne10_uint32_t blockSize);
389 ne10_float32_t * pSrc,
390 ne10_float32_t * pDst,
391 ne10_uint32_t blockSize);
399 #ifdef ENABLE_NE10_IIR_LATTICE_FLOAT_NEON
401 ne10_float32_t * pSrc,
402 ne10_float32_t * pDst,
403 ne10_uint32_t blockSize)
asm (
"ne10_iir_lattice_float_neon");
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.
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_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 32-bit fixed point data.
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.
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.
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.
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.
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.
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_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.
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.
ne10_result_t ne10_iir_lattice_init_float(ne10_iir_lattice_instance_f32_t *S, ne10_uint16_t numStages, ne10_float32_t *pkCoeffs, ne10_float32_t *pvCoeffs, ne10_float32_t *pState, ne10_uint32_t blockSize)
Initialization function for the floating-point IIR lattice filter.
void ne10_iir_lattice_float_c(const ne10_iir_lattice_instance_f32_t *S, ne10_float32_t *pSrc, ne10_float32_t *pDst, ne10_uint32_t blockSize)
Processing function for the floating-point IIR lattice filter.
void ne10_fir_decimate_float_c(const ne10_fir_decimate_instance_f32_t *S, ne10_float32_t *pSrc, ne10_float32_t *pDst, ne10_uint32_t blockSize)
Processing function for the floating-point FIR decimator.
void ne10_fir_interpolate_float_c(const ne10_fir_interpolate_instance_f32_t *S, ne10_float32_t *pSrc, ne10_float32_t *pDst, ne10_uint32_t blockSize)
Processing function for the floating-point FIR interpolator.
void ne10_fir_lattice_float_c(const ne10_fir_lattice_instance_f32_t *S, ne10_float32_t *pSrc, ne10_float32_t *pDst, ne10_uint32_t blockSize)
Processing function for the floating-point FIR lattice filter.
void ne10_fir_sparse_float_c(ne10_fir_sparse_instance_f32_t *S, ne10_float32_t *pSrc, ne10_float32_t *pDst, ne10_float32_t *pScratchIn, ne10_uint32_t blockSize)
Processing function for the floating-point sparse FIR filter.
void ne10_fir_float_c(const ne10_fir_instance_f32_t *S, ne10_float32_t *pSrc, ne10_float32_t *pDst, ne10_uint32_t blockSize)
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.
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_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_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.
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_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.
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_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_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_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_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.
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.
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_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.
structure for the 16 bits fixed point FFT function.
structure for the 32 bits fixed point FFT function.
structure for the floating point FFT state
Instance structure for the floating-point FIR Decimation.
Instance structure for the floating-point FIR filter.
Instance structure for the floating-point FIR Interpolation.
Instance structure for the floating point FIR Lattice filter.
Instance structure for the floating-point FIR Sparse filter.
Instance structure for the floating point IIR Lattice filter.