主题中讨论的其他器件:C2000WARE
您好
我使用 FFT 库、结果看起来不错、但我仍然有一些担忧 。
位于当前运行的代码片段上方。
1、我还不确定函数的顺序是否准确。
2、输入内容是 Q15格式的16位滤波 ADC 数据、在输入 FFT 数据之前、会将数据集转换为 Q30格式、这会造成精度显著降低。
当需要将 FFT 结果转换为 G 值时、如何解释 FFT 结果以将其与 ADC 结果链接回。
我是否应该在调用 rfft_calc 函数后使用_IQ30sqrt 函数?
void FFT_Compute(RFFT_t * this) { RFFT32* rff = this->RFFT; RFFT32_brev(this->Input.ReadyToUseBuff_Q30, &ipcb[0], FFT_SIZE); // Bit reversed this->RFFT->win(rff); // Q31 format (abs(ipcbsrc)/2^16).^2 this->RFFT->calc(rff); // Compute the FFT this->RFFT->split(rff); // Post processing to get the correct spectrum this->RFFT->mag(rff); // Q31 format (abs(ipcbsrc)/2^16).^2 }