?

數字濾波在某溫控報警裝置的應用探討

2010-05-12 03:14金魁生
山西電子技術 2010年3期
關鍵詞:數字濾波中位值限幅

金魁生

(國營第七八五廠,山西太原030024)

0 引言

在實際的測量過程中,被測信號中不可避免地會混入一些干擾和噪聲。為了抑制和消除這些干擾和噪聲,可以采用硬件抗干擾的方法,如屏蔽或濾波器;也可以用軟件處理的方法,即數字濾波。硬件或軟件的方法幾乎可以達到相同的功效,毫無疑問,軟件處理方法更靈活,更經濟。

1 基本數字濾波算法

限幅濾波;算術平均值濾波;中位值濾波;低通數字濾波。下面逐一介紹。

1.1 限幅濾波

限幅濾波又叫程序判斷濾波。濾波原理是根據經驗判斷兩次采樣值之間的最大偏差δA。

如果本次采樣值 An與上次有效值 An-1之差│An-An-1│≤δA,則本次采樣值有效;

如果本次采樣值 An與上次有效值 An-1之差│An-An-1│>δA,則本次采樣值無效,以上次有效值作為本次有效值。

當δA=5時的限幅濾波效果圖,如圖1所示。

圖1 限幅濾波效果圖

由效果圖可見,限幅濾波能有效抑制因偶然因素引起的較大的脈沖干擾,而對周期性的干擾卻無能為力。

1.2 算術平均濾波

算術平均濾波,即連續采樣N次,并對N次采樣值進行算術平均運算,運算結果作為有效值。

算術平均值法對受到隨機干擾的信號很有效,但對脈沖性干擾的抑制作用較差。N值較大時,信號平滑度高,但靈敏度降低。實際應用中,為了提高速度,程序常用移位來代替除法,則N常取2的整數次冪[2]。

1.3 中位值濾波

所謂中值濾波是對某被測參數連續N(一般N取奇數)次采樣,然后對采樣值按大小排序,取中間值作為本次有效值。中值濾波對消除偶然因素引起的波動干擾比較有效,且N愈大濾波效果愈好。對溫度、液位等變化緩慢的被測參數采用此方法能受到良好的濾波效果;但對力、速度等變化快的參數不宜采用中值濾波。N的取值視具體情況而定,一般取3或5,對于變化很慢的對象可適當增加N值[1]。

中值濾波的實質就是排序,排序的算法很多,常見的是“冒泡法”,具體算法在此不再贅述。

1.4 一階滯后濾波

將描述普通硬件RC低通濾波器特性的一階滯后方程用差分方程來表示,便可以用軟件來實現模擬硬件濾波器的功能。RC低通濾波器的傳遞函數如公式(1)是

式中τ=RC,為濾波器的時間常數。將上式離散可得其差分方程(2)式:

式中:X(n)為本次采樣值;Y(n)為本次濾波的輸出值;Y(n-1)為上次濾波的輸出值;α=1-e-T/τ為濾波平滑系數;T為采樣周期。

采樣周期T應遠小于τ,因此α遠小于1。由差分方程可以看出本次濾波的輸出值Y(n)主要取決于前一次濾波后的輸出值Y(n-1),本次采樣值的影響比較小,這就模擬了具有較大慣性的低通濾波器的功能。

一階滯后濾波對周期性的干擾具有很好的抑制作用,適用于波動頻率較高參數的濾波,但濾波后使相位滯后,響應靈敏度降低,α的大小決定了滯后的程度。

2 改進的濾波方法

2.1 遞推平均值法

算術平均濾波法需N次采樣后,才能經運算得到一個有效值,速度較慢。為了克服這個缺點,提出了遞推平均值原理,即建一個FIFO的隊列用來存放N次采樣的數據,采得的新數據放入隊尾,并丟棄最早的隊首數據,然后把隊列中的N個數據進行算術平均運算,結果作為有效值。即每進行一次采樣就可計算出一個平均值,大大提高了數據處理能力和速度,但算術平均濾波法的其他缺點仍然存在。

這種數據存放方式可以采用環形隊列結構來實現,設環形隊列地址40H~4FH共16個單元,用R0作隊尾指示,其流程圖如圖2所示。

2.2 中值平均值法

算數平均濾波對抑制隨機干擾效果較好,但對脈沖干擾的抑制能力很弱,明顯的脈沖干擾會使平均值遠離實際值。但中值濾波對脈沖干擾的抑制作用很強,于是可以將兩者結合起來形成中值平均值濾波法。中值平均濾波的方法是連續采樣N次,去掉一個最大值和一個最小值;然后計算剩余的N-2個數的平均值。中值平均濾波法在許多比賽計分中常常用到。根據其原理可作出程序流程框圖如圖3。

圖2 遞推平均值濾波

圖3 中值平均濾波

還可以將中位值濾波與遞推平均值濾波結合起來形成遞推中位值平均濾波,這樣將進一步優化,既可消除由于偶然出現的脈沖干擾引起的偏差,又提高了運算速度。

2.3 加權平均濾波

平均濾波法的主要缺點是,為了提高對干擾的抑制效果,必須增大平均范圍N;但增大N將會引起有用信號的失真,特別是會引起有用信號中高頻分量豐富的峰值部位的失真。為協調干擾抑制與信號失真二者之間的關系,可以采用加權的平均濾波法。

所謂加權的平均指,參加平均運算的各采樣值按不同的比例進行相加求平均值。加權系數一般先小后大,以突出后幾次采樣的效果,加強系統對參數變化趨勢的辨識。N項加權平均濾波的算法公式如(3)式:

式中C0,C1,…,CN為常數,且應滿足 C0+C1+… +CN=1。

2.4 數字濾波的實際應用

用于某型產品的溫度監測報警設備,在應用中發現,當開啟排風扇甚至開照明燈就會報警,提示艙內溫度過高。經分析發現,照明燈和風扇都有儲能元件,在開啟這些設備時,會有較大的電流,如果走線不合適,就會有很大的干擾耦合進入報警設備,使采樣數據超過上限。遺憾的是軟件程序也沒有采取濾波算法,只要采樣到溫度超限就報警,等待人來處理。

對于已定型的該產品,進行大的改動明顯是很麻煩也是不合適的,如果數字濾波能夠滿足需要,無疑是最經濟方便的了。

我們首先來分析干擾的特點:

只在開啟照明燈或排風扇時,干擾出現。那么這個干擾只是脈沖干擾,但還有一點不知道,脈寬,也就是干擾持續時間,不過可以通過計算或試驗獲得。

再看設備的工作特點:當艙內溫度過高時,報警。

由此,我們就可以對程序進行改造了。由于只關心溫度超限,那么不超限時可以不予理睬,即不用濾波;當采樣到溫度超限時,啟動濾波程序。由于干擾是以脈沖的形式出現,根據上面對各種濾波方法特性的分析可知,限幅濾波和中位值濾波都能滿足要求,但濾波的目的是要躲過干擾,確認溫度超限,最好選用限幅濾波的濾波方法。運用方法如下:

首先求幾個要用的參數

δA的確定:采樣周期T,由工程實踐可確定升溫速度v,則δA=Tv;

跳出濾波時間(即采樣次數)n的確定:脈寬最大值P可由試驗求取,并按一定的安全系數確定,n=P/T。

程序流程框圖如圖4:

圖4 溫控軟件流程圖

3 結束語

數字濾波在實際的應用中,究竟用那種濾波算法及應用時機,完全決定于干擾波形的特點和應用目的??傊鶕嶋H情況選用合適的算法,就能達到事半功倍的效果。

[1]趙茂泰.智能儀器原理及應用[M].北京:電子工業出版社,1999.

[2]張毅剛.MCS-51單片機應用設計[M].第2版.哈爾濱:哈爾濱工業大學出版社,1997.

猜你喜歡
數字濾波中位值限幅
改進的壓縮感知限幅噪聲消除方案
鋁價還能沖多高?
數字濾波在語音信號降噪中的應用
期刊評價相對指標中的中位值與平均值分析
一種新的電力生產數據頻率分析與數字濾波方法研究
《吉普林》美聯儲認為美股高估
鹽酸后處理對水熱合成納米鈦酸鹽形貌及光限幅效應的影響
濾波器長度對濾波結果的影響研究
減小OFDM系統PAPR的限幅濾波方法分析
運動干涉儀平臺上單站無源定位算法研究
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合