Project Ne10
An open, optimized software library for the ARM architecture.
Functions
NE10_fft_generic_int32.cpp File Reference
#include "NE10_types.h"
#include "NE10_macros.h"
#include "NE10_fft.h"
#include "NE10_fft_generic_int32.h"

Go to the source code of this file.

Functions

template<int RADIX, bool is_first_stage, bool is_inverse, bool is_scaled>
void ne10_radix_butterfly_int32_c (ne10_fft_cpx_int32_t *Fout, const ne10_fft_cpx_int32_t *Fin, const ne10_fft_cpx_int32_t *twiddles, const ne10_int32_t fstride, const ne10_int32_t out_step, const ne10_int32_t nfft)
 Generic butterfly function for 32-bit fixed point. More...
 
template<bool is_inverse, bool is_scaled>
void ne10_mixed_radix_generic_butterfly_int32_impl_c (ne10_fft_cpx_int32_t *Fout, const ne10_fft_cpx_int32_t *Fin, const ne10_int32_t *factors, const ne10_fft_cpx_int32_t *twiddles, ne10_fft_cpx_int32_t *buffer)
 Generic FFT function for 32-bit fixed point. More...
 
void ne10_mixed_radix_generic_butterfly_int32_c (ne10_fft_cpx_int32_t *Fout, const ne10_fft_cpx_int32_t *Fin, const ne10_int32_t *factors, const ne10_fft_cpx_int32_t *twiddles, ne10_fft_cpx_int32_t *buffer, const ne10_int32_t is_scaled)
 Generic (forward) FFT function for 32-bit fixed point. More...
 
void ne10_mixed_radix_generic_butterfly_inverse_int32_c (ne10_fft_cpx_int32_t *Fout, const ne10_fft_cpx_int32_t *Fin, const ne10_int32_t *factors, const ne10_fft_cpx_int32_t *twiddles, ne10_fft_cpx_int32_t *buffer, const ne10_int32_t is_scaled)
 Generic IFFT function for 32-bit fixed point. More...
 

Function Documentation

void ne10_mixed_radix_generic_butterfly_int32_c ( ne10_fft_cpx_int32_t Fout,
const ne10_fft_cpx_int32_t Fin,
const ne10_int32_t factors,
const ne10_fft_cpx_int32_t twiddles,
ne10_fft_cpx_int32_t buffer,
const ne10_int32_t  is_scaled 
)

Generic (forward) FFT function for 32-bit fixed point.

Parameters
[out]FoutPointing to output buffer.
[in]FinPointing to input buffer.
[in]factorsPointing to factors buffer.
[in]twiddlesPointing to twiddles buffer.
[in]bufferPointing to temp buffer so that Fin is not polluted.
[in]is_scaledWhether output is scaled by size of FFT.

Definition at line 343 of file NE10_fft_generic_int32.cpp.

template<bool is_inverse, bool is_scaled>
void ne10_mixed_radix_generic_butterfly_int32_impl_c ( ne10_fft_cpx_int32_t Fout,
const ne10_fft_cpx_int32_t Fin,
const ne10_int32_t factors,
const ne10_fft_cpx_int32_t twiddles,
ne10_fft_cpx_int32_t buffer 
)
inline

Generic FFT function for 32-bit fixed point.

Template Parameters
is_inverseWhether it is the inverse (backward) FFT.
is_scaledWhether output is scaled by size of FFT.
Parameters
[out]FoutPointing to output buffer.
[in]FinPointing to input buffer.
[in]factorsPointing to factors buffer.
[in]twiddlesPointing to twiddles buffer.
[in]bufferPointing to temp buffer so that Fin is not polluted.

Definition at line 235 of file NE10_fft_generic_int32.cpp.

void ne10_mixed_radix_generic_butterfly_inverse_int32_c ( ne10_fft_cpx_int32_t Fout,
const ne10_fft_cpx_int32_t Fin,
const ne10_int32_t factors,
const ne10_fft_cpx_int32_t twiddles,
ne10_fft_cpx_int32_t buffer,
const ne10_int32_t  is_scaled 
)

Generic IFFT function for 32-bit fixed point.

Parameters
[out]FoutPointing to output buffer.
[in]FinPointing to input buffer.
[in]factorsPointing to factors buffer.
[in]twiddlesPointing to twiddles buffer.
[in]bufferPointing to temp buffer so that Fin is not polluted.
[in]is_scaledWhether output is scaled by size of FFT.

Definition at line 374 of file NE10_fft_generic_int32.cpp.

template<int RADIX, bool is_first_stage, bool is_inverse, bool is_scaled>
void ne10_radix_butterfly_int32_c ( ne10_fft_cpx_int32_t Fout,
const ne10_fft_cpx_int32_t Fin,
const ne10_fft_cpx_int32_t twiddles,
const ne10_int32_t  fstride,
const ne10_int32_t  out_step,
const ne10_int32_t  nfft 
)
inline

Generic butterfly function for 32-bit fixed point.

Template Parameters
RADIXRadix of this stage. One among {2, 3, 4, 5 }
is_first_stageWhether this stags is the first. If it is, multiplication with twiddles is optimizied because all twiddles are $ 1 $.
is_inverseWhether it is the inverse (backward) FFT.
is_scaledWhether output of this stage is scaled. For fixed-point, output is scaled by RADIX during each stage.
Parameters
[out]FoutPointing to output buffer.
[in]FinPointing to input buffer.
[in]twiddlesPointint to twiddles buffer. If is_first_stage is set true, twiddles will be ignored.
[in]fstrideNumber of butterfly groups.
[in]out_stepStep between output data.
[in]nfftSize of the input array.

Definition at line 69 of file NE10_fft_generic_int32.cpp.