请问专家,怎样正确使用TI库函数里面的窗函数,加窗之前FFT结果是正确的,加窗之后结果就不对了!困扰了好几天了,用的是2812,在网上也找不到相关资料!程序中有关窗函数的语句如下:
#define N 512
#pragma DATA_SECTION(ipcb, "FFTipcb");
#pragma DATA_SECTION(mag,"FFTmag");
RFFT32 fft=RFFT32_512P_DEFAULTS;
long ipcb[N+2];
mag[N/2+1];
const long win[N/2]=HANNING512;
程序中间,采样结果进行处理后赋给ipcb数组,
ipcb[ConversionCount]=((unsigned long)Voltage1[ConversionCount])<<15;//归一化,转换成Q31格式
主程序
main()
{
……
/* Initialize FFT module */
fft.ipcbptr=ipcb;
fft.magptr=mag;
fft.winptr=(long*)win;
fft.init(&fft);
……
//FFT计算程序
RFFT32_brev(ipcb,ipcb,N); // Input samples in Real Part
fft.win(&fft);
fft.calc(&fft);
fft.split(&fft);
fft.mag(&fft);
}
窗函数的参数好像放到.econst段中,在CMD文件中的分配:
.econst : > FLASH, PAGE = 0
与FFT相关的库函数语句就这些,麻烦专家看一下!是不是哪一句程序有问题!怎样来修改,得到正确结果,谢谢啦!