一階濾波算法公式為:Y(n)=aX(n)+(1-a)Y(n-1)
Y(n)-本次濾波輸出值;
Y(n-1)-上次濾波輸出值;
a-濾波系數(shù)。
其中,濾波系數(shù)a越小,濾波結(jié)果越平滑,但反應(yīng)靈敏度越低;濾波系數(shù)a越大,則反應(yīng)靈敏度越高,但濾波結(jié)果平滑性越差,越不穩(wěn)定。所以,在選取濾波系數(shù)時(shí),應(yīng)對(duì)平滑性和靈敏度進(jìn)行考慮然后取舍。
同時(shí),應(yīng)注意小數(shù)舍棄帶來的誤差。比如:本次采樣值=25,上次濾波結(jié)果=24,濾波系數(shù)=10,根據(jù)濾波算法:
本次濾波結(jié)果=(25*10+24*(256-10))/256=24.0390625
但是,我們?cè)趩纹瑱C(jī)運(yùn)算中,很少采用浮點(diǎn)數(shù)。因此運(yùn)算后的小數(shù)部分要么舍棄,要么進(jìn)行四舍五入運(yùn)算。這樣一來,本例中的結(jié)果24.0390625就變成了24。假如每次采樣值都=25,那么濾波結(jié)果永遠(yuǎn)=24。也就是說濾波結(jié)果和實(shí)際數(shù)據(jù)一直存在無法消除的誤差。