数字滤波技术-导读
一、作用
當傳感器信號經過A/D變換輸入微處理器時,經常混有如尖脈沖之類的隨機噪聲干擾,尤其是在傳感器輸出電壓低的情況下,這種干擾更不可忽視,必須予以消弱或濾除。對于周期性的工頻(50HZ)干擾信號,采用積分時間等于20ms的整數倍的雙積分A/D變換器,可以有效地消除其影響;對于隨機干擾信號,利用軟件數字濾波技術有助于解決這個問題。總之,采用數字濾波技術,可使傳感器的精度比不補償時獲得較明顯的提高,有時候提高一個數量級。
數字濾波技術是指在軟件中對采集到的數據進行電磁兼容消除干擾的處理。一般來說,除了在硬件中對信號采取抗干擾措施之外,還要在軟件中進行數字濾波的處理,以進一步消除附加在數據中的各式各樣的干擾,使采集到的數據能夠真實的反映現場的工藝實際情況。這里介紹的是可以用于工控軟件中的一般的數字濾波技術,能夠滿足一般的數據處理需要,更為復雜的數字濾波這里不作進一步的介紹。
二、常用方法
1.死區處理
從工業現場采集到的信號往往會在一定的范圍內不斷的波動,或者說有頻率較高、能量不大的干擾疊加在信號上,這種情況往往出現在應用共控板卡的場合,此時采集到的數據有效值的最后一位不停的波動,難以穩定。這種情況可以采取死區處理,把波停波動的值進行死區處理,只有當變化超出某值時才認為該值發生了變化。比如編程時可以先對數據除以10,然后取整,去掉波動項。2.算術平均值法
公式為YK =(X1+X2+X3+…+XN)/N,在一個周期內的不同時間點取樣,然后求其平均值,這種方法可以有效的消除周期性的干擾。同樣,這種方法還可以推廣成為連續幾個周期進行平均。3.中值濾波法
這種方法的原理是將采集到的若干個周期的變量值進行排序,然后取排好順序的值得中間的值,這種方法可以有效的防止受到突發性脈沖干擾的數據進入。在實際使用時,排序的周期的數量要選擇適當,如果選擇過小,可能起不到去除干擾的作用,選擇的數量過大,會造成采樣數據的時延過大,造成系統性能變差。4.低通濾波法
公式為YK =QXK+(1-Q)YK-1 截止頻率為f=K/2πT。這種濾波方式相當于使采集到的數據通過一次低通濾波器。來自線現場的的往往是4---20mA信號,它的變化一般比較緩慢,而干擾一般帶有突發性的特點,變化頻率較高,而低通濾波器就可以濾除這種干擾,這就是低通濾波的原理。實際使用時要選擇合理的Q值,過高過低都不能達到目的。5.滑動濾波法
滑動濾波法是從一階低通濾波法推廣過來的,原理是信號不會出現突變,這種方法也有其局限性,所有的信號的突變都看作干擾。但這種方式可以應用在一些比較特殊的場合,使用時相應的數據處理過程也要做變化,比如PID的參數。滑動濾波法的公式是:Yn=Q1Xn+Q2Xn-1+Q3Xn-2,其中Q1 + Q2+ Q3 =1且Q1 >Q2> Q3。三、實際使用
在實際使用時,可能不僅僅使用一種方法,而是綜合運用上述的方法,比如在中值濾波法中,加入平均值濾波,借以提高濾波的性能。總而言之,要根據現場的情況,靈活選用。
總結
- 上一篇: Matlab---寻找峰值函数
- 下一篇: 如何编写高效android代码