在FFT處理線面呢,很多人就說要加窗,加窗的好處了就是防止能量泄露和高頻濾波啊,不過精度呢就會相應的降低。(聽說是這樣的。本人小白) 窗的種類也很多啦,然後聽說啥都不懂的就可以了選擇漢寧窗。。。 在MATLAB裡面呢直接調用hann(); 然後呢在stm32裡面呢就直接一個for。。。。。。感覺用了 ...
在FFT處理線面呢,很多人就說要加窗,加窗的好處了就是防止能量泄露和高頻濾波啊,不過精度呢就會相應的降低。(聽說是這樣的。本人小白)
窗的種類也很多啦,然後聽說啥都不懂的就可以了選擇漢寧窗。。。
在MATLAB裡面呢直接調用hann();
然後呢在stm32裡面呢就直接一個for。。。。。。感覺用了後腰也不疼了,上樓也有力了,波形貌似變好了。。。。
float Han_Win(u16 i ,u16 ADC) { float Wn; Wn = 0.5-0.5*cos((2 * Pi*(i - 1))/(N - 1)); //w = .5*(1 - cos(2*pi*(1:m)'/(n+1))); Wn = Wn * (float)ADC; return Wn; }
for(i = 0; i < N ; i++) { lBUFIN1[i] = Han_Win(i ,(s16)ADCConvertedValue[i]); lBUFIN2[i] = Han_Win(i ,(s16)(ADCConvertedValue[i]>>16)); }