CSI-DSP
Version 1.0.0
CSI DSP Software Library
|
Functions | |
void | csky_fft_lib_cx16_fft (q31_t log2_buf_len, q15_t *in_buf, q15_t *out_buf, const q15_t *twi_table, const uint16_t *bitrev_tbl, q15_t *temp_buf, q7_t *ScaleShift, q31_t br) |
Processing function for the Q15 complex FFT. More... | |
void | csky_fft_lib_cx32_fft (q31_t log2_buf_len, q31_t *in_buf, q31_t *out_buf, const q31_t *twi_table, const uint16_t *bitrev_tbl, q31_t *temp_buf, q31_t br) |
Processing function for the Q31 complex FFT. More... | |
void | csky_fft_lib_cx16_ifft (q31_t log2_buf_len, q15_t *in_buf, q15_t *out_buf, const q15_t *twi_table, const uint16_t *bitrev_tbl, q15_t *temp_buf, q7_t *ScaleShift, q31_t br) |
Processing function for the Q15 complex inverse FFT. More... | |
void | csky_fft_lib_cx32_ifft (q31_t log2_buf_len, q31_t *in_buf, q31_t *out_buf, const q31_t *twi_table, const uint16_t *bitrev_tbl, q31_t *temp_buf, q31_t br) |
Processing function for the Q31 complex inverse FFT. More... | |
2*fftLen
interleaved values as shown below. {real[0], imag[0], real[1], imag[1],..}The FFT result will be contained in the same array and the frequency domain values will have the same interleaving. Unlike the Original Method the forward transform, the inverse transform are seperated, so the
ifftFlag
a is not needed.1/fftLen
, which realized by multiply 1/2
at every stage. And this matches the textbook definition of the inverse FFT.void csky_fft_lib_cx16_fft | ( | q31_t | log2_buf_len, |
q15_t * | in_buf, | ||
q15_t * | out_buf, | ||
const q15_t * | twi_table, | ||
const uint16_t * | bitrev_tbl, | ||
q15_t * | temp_buf, | ||
q7_t * | ScaleShift, | ||
q31_t | br | ||
) |
[in] | log_buf_len | log2 value of FFT size, the FFT size N is (1<<log2_buf_len) |
[in,out] | *in_buf | point to the input and output memory |
[in] | *out_buf | not used |
[in] | *twi_table | point to the twi table |
[in] | *bitrev_tbl | point to the bit reversal table |
[in] | *temp_buf | not used |
[in] | *ScaleShift | not used |
[in] | br | bit reversal flag, always set |
void csky_fft_lib_cx16_ifft | ( | q31_t | log2_buf_len, |
q15_t * | in_buf, | ||
q15_t * | out_buf, | ||
const q15_t * | twi_table, | ||
const uint16_t * | bitrev_tbl, | ||
q15_t * | temp_buf, | ||
q7_t * | ScaleShift, | ||
q31_t | br | ||
) |
[in] | log_buf_len | log2 value of FFT size, the FFT size N is (1<<log2_buf_len) |
[in,out] | *in_buf | point to the input and output memory |
[in] | *out_buf | not used |
[in] | *twi_table | point to the twi table |
[in] | *bitrev_tbl | point to the bit reversal table |
[in] | *temp_buf | not used |
[in] | *ScaleShift | not used |
[in] | br | bit reversal flag, always set |
void csky_fft_lib_cx32_fft | ( | q31_t | log2_buf_len, |
q31_t * | in_buf, | ||
q31_t * | out_buf, | ||
const q31_t * | twi_table, | ||
const uint16_t * | bitrev_tbl, | ||
q31_t * | temp_buf, | ||
q31_t | br | ||
) |
[in] | log_buf_len | log2 value of FFT size, the FFT size N is (1<<log2_buf_len) |
[in,out] | *in_buf | point to the input and output memory |
[in] | *out_buf | not used |
[in] | *twi_table | point to the twi table |
[in] | *bitrev_tbl | point to the bit reversal table |
[in] | *temp_buf | not used |
[in] | br | bit reversal flag, always set |
void csky_fft_lib_cx32_ifft | ( | q31_t | log2_buf_len, |
q31_t * | in_buf, | ||
q31_t * | out_buf, | ||
const q31_t * | twi_table, | ||
const uint16_t * | bitrev_tbl, | ||
q31_t * | temp_buf, | ||
q31_t | br | ||
) |
[in] | log_buf_len | log2 value of FFT size, the FFT size N is (1<<log2_buf_len) |
[in,out] | *in_buf | point to the input and output memory |
[in] | *out_buf | not used |
[in] | *twi_table | point to the twi table |
[in] | *bitrev_tbl | point to the bit reversal table |
[in] | *temp_buf | not used |
[in] | br | bit reversal flag, always set |