陳翀
(珠海格力電器股份有限公司 廣東珠海 519070)
數(shù)字濾波實質(zhì)是一種程序濾波,即通過一定的計算程序,對采樣信號進行平滑加工,減少干擾在有用信號中的比重。與模擬濾波器相比,數(shù)字濾波器有以下優(yōu)點:
(1)無需增加硬設(shè)備,且可多通道共享一個濾波器(多通道共同調(diào)用一個濾波子程序)。從而降低了成本。
(2)由于不用硬設(shè)備,各回路間不存在阻抗匹配等問題,故可靠性高、穩(wěn)定性好。
(3)可以對頻率很低的信號(如0.01Hz)進行濾波,這是模擬濾波器做不到的。
(4)可根據(jù)需要選擇不同的濾波方法或改變?yōu)V波參數(shù),使用方便、靈活。
由于以上優(yōu)點,數(shù)字濾波在微機控制系統(tǒng)中得到了廣泛應(yīng)用。
數(shù)字濾波的方法有很多,實際工程應(yīng)用中,可根據(jù)采樣信號的特點進行選擇。
程序判斷濾波是根據(jù)輸入信號的特點,確定出兩次采樣輸入信號可能出現(xiàn)的最大偏差。若超過此偏差,則表明輸入信號是干擾信號,應(yīng)該去掉;如果小于此偏差值,可將信號作為本次采樣值。程序判斷濾波又可分為限幅和限速兩種。
2.1.1 限幅濾波
限幅濾波的做法是把兩次相鄰的采樣值相減,求出其增量(以絕對值表示),然后與兩次采樣允許的最大差值(由被控對象的實際情況決定)△Y進行比較,若小于或等于△Y,則本次采樣值有效,若大于△Y,則仍取上次采樣值作為本次采樣值,程序流程如圖1。其中Y(K)為第K次采樣值,Y(K-1)為為第K-1次采樣值,△Y 為相鄰兩次采樣值所允許的最大偏差,其大小取決于采樣周期及Y值的變化動態(tài)響應(yīng)。
此濾波方法主要用于變化緩慢的參數(shù),如溫度、濕度等采樣信號?!鱕的選取非常重要,若△Y太大,干擾信號無法有效濾除,使系統(tǒng)誤差增大;若△Y太小,又會誤將有用信號濾除,使采樣效率變低?!鱕的取值通??筛鶕?jù)經(jīng)驗數(shù)據(jù)獲得,必要時可由實驗得出。
2.1.2 限速濾波
限速濾波是用三次采樣值決定采樣結(jié)果,設(shè)采樣時刻t1、t2、t3所采集的參數(shù)分別為Y(1)、Y(2)、Y(3),則:
程序流程圖如圖2。限速濾波是一種折衷的方法,既照顧了采樣的實時性,又顧及了采樣變化的連續(xù)性。但這種方法的缺點是:(1)必須根據(jù)現(xiàn)場情況不斷更換△Y的值;(2)不能反映采樣點數(shù)大于3時,采樣信號的受干擾情況。因此它的應(yīng)用受到一定的限制。
中值濾波是對某一參數(shù)連續(xù)采樣n次(n取奇數(shù)),然后把n次采樣值順序排列,再取中間值作為本次采樣值。此濾波方法對于濾除偶然因素引起的脈動干擾十分有效。但其實時性不夠,因此適用于緩慢變化的采樣信號(如溫度、濕度等),不宜于快速變化的采樣信號(如:交流電壓、電流、流量等)。
進行程序設(shè)計時,首先對N個采樣信號進行從大到小或從小到大的排序,然后取中間值。以5個采樣樣本為例,程序流程如圖3。
算術(shù)平均值濾波是要尋找一個Y(k),使該值與各采樣值間誤差的平方和為最小,即:
由一元函數(shù)求極值原理,得:
圖1 限幅程序濾波
圖2 限速程序濾波
圖3 中值濾波程序流程圖
圖4 一階慣性濾波程序流程圖
此濾波方法適用于對周期性脈動的信號進行平滑加工,但不適宜于脈沖性干擾較嚴重的場合。平滑程序取決于采樣次數(shù)n,n越大,平滑程序越高,但靈敏度卻下降。另外,將n次采樣值同等對待,事實上削弱了當前采樣值在程序中的比重,實時性較差。
為了提高濾波效果,有時將各次采樣值取不同的比例系數(shù),然后再相加,這種方法稱為加權(quán)平均濾波法。其運算公式為:
式中,Ci為比例系數(shù),它應(yīng)滿足
此公式體現(xiàn)了各次采樣值在評價值中所占的比例,可根據(jù)具體情況決定。一般采樣次數(shù)越靠后,Ci的取值越大,以提高新近采樣值在平均值中的比重。
上述兩種濾波方法,每次都必須聯(lián)系采樣N次,需要時間較長,檢測速度緩慢。為提高數(shù)據(jù)處理的速度,可采樣數(shù)據(jù)滑動的方法。每輸入一個新近采樣值,就將較早的采樣值丟掉,然后再進行加權(quán)平均運算,從而加快了數(shù)據(jù)處理的速度。
無源濾波器RC電路是模擬量輸入通道常用的濾波方法,但對于低頻干擾卻因RC參數(shù)取值較大而難以實現(xiàn)。而一階慣性濾波是一種以數(shù)字形式實現(xiàn)低通濾波的動態(tài)濾波法。在濾去緩慢變化的隨機信號方面,此方法尤其實用。
一階慣性濾波的數(shù)學表達式,為:
Y(k)=(1-α)Y(k-1)+αX(k)
其中,Y(k),Y(k-1)分別為第k次及k-1次濾波后的輸出值;X(k)為第K次采樣值;濾波系數(shù)α=1-eT/Tf,T為采樣周期,當T< 在實際使用過程中,可以通過實驗選擇適當?shù)腡f值直到檢測到的信號不產(chǎn)生明顯的紋波為止。一階慣性濾波程序流程圖如圖4。 一階慣性濾波的基本意圖是把本次采樣值與上次濾波器輸出的值進行加權(quán)平均,因此在輸入的過程中。任何快速的干擾均被濾掉,僅保留下緩慢變化的信號,為此稱之為低通濾波。假設(shè)更換一種形式,Y(k)=αX(k)-(1-α)Y(k-1),即可構(gòu)成高通濾波形式。這取決于系數(shù)α與實間常數(shù)Tf的關(guān)系。 實際工程應(yīng)用中,可根據(jù)采樣信號的特點,選擇適用的數(shù)字濾波方法。有時為了提高濾波效果,也可以把兩種或兩種以上不同濾波功能的數(shù)字濾波器組合起來,構(gòu)成復合數(shù)字濾波器。 例如:算術(shù)平均濾波,可以對周期性的脈動采樣值進行平滑加工,但對于隨機的脈沖干擾,則無法消除。然而,中值濾波卻可以解決這個問題。因此,可以把兩者結(jié)合起來,形成多功能的復合濾波。即把采樣值先按從大到小的順序排列起來,然后將最大值和最小值去掉,再把剩余的部分求和再取平均值。 此外,可以采用雙重濾波的方法,即把采樣值經(jīng)過低通濾波后,再經(jīng)過一次高通濾波,這樣,結(jié)果更接近理想值,這實際上相當于多級RC濾波器。 [1] 潘新民等.單片微型計算機實用程序設(shè)計.北京:人民郵電出版社,1995年 [2] 涂值美等.過程控制系統(tǒng).北京:機械工業(yè)出版社,1993年 [3] 武自芳,虞鶴松.微機控制系統(tǒng)及其應(yīng)用.西安:西安交通大學出版社,1998年3 結(jié)束語