CSI-DSP  Version 1.0.0
CSI DSP Software Library
函数
实数快速傅里叶变换

函数

void csky_fft_lib_int16_ifft (q31_t log2_buf_len, q15_t *in_buf, q15_t *out_buf, const q15_t *twi_table, const twi_table_rfft_q15 *last_stage_twi_table, const uint16_t *bitrev_tbl, q15_t *temp_buf, q7_t *ScaleShift, q31_t br)
 Q15 实数快速傅里叶逆变换 更多...
 
void csky_fft_lib_int32_ifft (q31_t log2_buf_len, q31_t *in_buf, q31_t *out_buf, const q31_t *twi_table, const twi_table_rfft_q31 *last_stage_twi_table, const uint16_t *bitrev_tbl, q31_t *temp_buf, q31_t br)
 Q31 实数快速傅里叶逆变换 更多...
 
void csky_fft_lib_int16_fft (q31_t log2_buf_len, q15_t *in_buf, q15_t *out_buf, const q15_t *twi_table, const twi_table_rfft_q15 *last_stage_twi_table, const uint16_t *bitrev_tbl, q15_t *temp_buf, q7_t *ScaleShift, q31_t br)
 Q15 实数快速傅里叶变换 更多...
 
void csky_fft_lib_int32_fft (q31_t log2_buf_len, q31_t *in_buf, q31_t *out_buf, const q31_t *twi_table, const twi_table_rfft_q31 *last_stage_twi_table, const uint16_t *bitrev_tbl, q31_t *temp_buf, q31_t br)
 Q31 实数快速傅里叶变换 更多...
 

简要说明

简介
这是快速傅里叶变换库的实数部分。实数快速傅里叶变换有着FFT对称性的优点,在 计算速度优于相同长度的复数FFT。 和源方法 不同的是,这里正向和逆向 变换是分离的,因而参数ifftFlag就不需要了。更多细节可以在 实数FFT函数 中看到。
算法
函数使用的算法基本和 源方法 相同。
初始化
和CFFT一样,不需要初始化任何常数结构体,所有的参数和常数都会被直接传入函数。

函数说明

void csky_fft_lib_int16_fft ( q31_t  log2_buf_len,
q15_t in_buf,
q15_t out_buf,
const q15_t twi_table,
const twi_table_rfft_q15 *  last_stage_twi_table,
const uint16_t *  bitrev_tbl,
q15_t temp_buf,
q7_t ScaleShift,
q31_t  br 
)
参数
[in]log_buf_lenFFT输入数据的log2值,FFT的长度N 为(1<<log2_buf_len)
[in,out]*in_buf指向输入和输出内存
[in]*out_buf未被使用
[in]*twi_table指向旋转因子表
[in]*bitrev_tbl指向比特反转表
[in]*temp_buf未被使用
[in]*ScaleShift未被使用
[in]br比特反转标志,通常被置位
返回
none
注解
由于时域和频域的数据都为Q15,正向变换很容易溢出。小心使用,以防溢出。
void csky_fft_lib_int16_ifft ( q31_t  log2_buf_len,
q15_t in_buf,
q15_t out_buf,
const q15_t twi_table,
const twi_table_rfft_q15 *  last_stage_twi_table,
const uint16_t *  bitrev_tbl,
q15_t temp_buf,
q7_t ScaleShift,
q31_t  br 
)
参数
[in]log_buf_lenFFT输入数据的log2值,FFT的长度N 为(1<<log2_buf_len)
[in,out]*in_buf指向输入和输出内存
[in]*out_buf未被使用
[in]*twi_table指向旋转因子表
[in]*bitrev_tbl指向比特反转表
[in]*temp_buf未被使用
[in]*ScaleShift未被使用
[in]br比特反转标志,通常被置位
返回
none.
void csky_fft_lib_int32_fft ( q31_t  log2_buf_len,
q31_t in_buf,
q31_t out_buf,
const q31_t twi_table,
const twi_table_rfft_q31 *  last_stage_twi_table,
const uint16_t *  bitrev_tbl,
q31_t temp_buf,
q31_t  br 
)
参数
[in]log_buf_lenFFT输入数据的log2值,FFT的长度N 为(1<<log2_buf_len)
[in,out]*in_buf指向输入和输出内存
[in]*out_buf未被使用
[in]*twi_table指向旋转因子表
[in]*bitrev_tbl指向比特反转表
[in]*temp_buf未被使用
[in]br比特反转标志,通常被置位
返回
none.
注解
由于时域和频域的数据都为Q31,正向变换很容易溢出。小心使用,以防溢出。
void csky_fft_lib_int32_ifft ( q31_t  log2_buf_len,
q31_t in_buf,
q31_t out_buf,
const q31_t twi_table,
const twi_table_rfft_q31 *  last_stage_twi_table,
const uint16_t *  bitrev_tbl,
q31_t temp_buf,
q31_t  br 
)
参数
[in]log_buf_lenFFT输入数据的log2值,FFT的长度N 为(1<<log2_buf_len)
[in,out]*in_buf指向输入和输出内存
[in]*out_buf未被使用
[in]*twi_table指向旋转因子表
[in]*bitrev_tbl指向比特反转表
[in]*temp_buf未被使用
[in]br比特反转标志,通常被置位
返回
none.