摘 要: 以切比雪夫等波紋逼近理論為基礎(chǔ),設(shè)計了切比雪夫等波紋逼近FIR低通濾波器。在以MSP430F133單片機為核心的可燃性氣體檢測報警系統(tǒng)中,采用該低通濾波器,對可燃性氣體濃度信號處理,獲得較好的效果。
關(guān)鍵詞: 切比雪夫等波紋逼近 FIR低通濾波器 MSP430 F133 單片機
1 切比雪夫等波紋逼近低通濾波器設(shè)計方法
在數(shù)據(jù)采集系統(tǒng)中,輸入信號均含有種種噪聲和干擾,它們來自被測信號源本身、傳感器和環(huán)境等。為了進行準確測量和控制,必須消除被測信號中的噪聲和干擾。工程上常用的軟件濾波方法有:算術(shù)平均值法、滑動平均值法、防脈沖干擾平均值法等。這些方法一般可以消除由于偶然因素引起的脈沖干擾,但對周期性干擾尤其是工頻干擾和白噪聲抑制作用較差,而且平滑度不高。
切比雪夫等波紋逼近方法是FIR濾波器設(shè)計方法之一。它采用“最大誤差最小化”優(yōu)化準則,即mini(max|E(w)|),其中權(quán)函數(shù)誤差E(w)=W(w)[Hd(w)-H(w)],W(w)為加權(quán)函數(shù),Hd(w)為期望頻率響應(yīng),H(w)為實際頻率響應(yīng)。該方法使用Remez交換算法和切比雪夫逼近理論設(shè)計濾波器,在期望的和實際的濾波器頻率響應(yīng)之間實現(xiàn)最佳匹配。應(yīng)用這種方法設(shè)計的濾波器能夠獲得較好的通帶和阻帶性能,并能準確地指定通帶和阻帶邊緣。由于該濾波器在通帶和阻帶的誤差是均勻分布的,因此其頻率響應(yīng)在通帶和阻帶內(nèi)顯示出等波紋性,階次可以比較低。從上述分析,切比雪夫等波紋逼近濾波器是最優(yōu)的。
決定切比雪夫等波紋逼近低通濾波器系數(shù)的參數(shù)主要有:濾波器長度M,通帶和阻帶截止頻率wp、ws,相應(yīng)頻帶的幅度m,權(quán)系數(shù)w。其中權(quán)系數(shù)w由通帶和阻帶波動Ap、Ar決定。使用權(quán)系數(shù)w,是考慮在設(shè)計濾波器時對通帶和阻帶常要求不同的逼近精度,故乘以不同的權(quán)系數(shù),以統(tǒng)一使用最小化最大誤差。長度M由wp、ws、Ap、Ar決定。
Kaiser提出近似計算單通帶、單阻帶濾波器長度M的一個簡單公式:
本文所研究的對象為可燃性氣體檢測報警系統(tǒng)。傳感器檢測氣體濃度信號,把輸出的模擬電壓值送到單片機,經(jīng)A/D轉(zhuǎn)換成數(shù)字量后,再進行低通濾波、線性化處理以及LED顯示濃度等。由于輸入信號為緩慢變化的可燃性氣體,在濾波器設(shè)計中,可把通帶、阻帶的截止頻率選得較低,這里wp=0.1,ws=0.3(采樣頻率150Hz)。為便于進一步處理,通帶的幅頻特性應(yīng)該平坦,幅值增益接近1。當Ap=0.22db、Ar=30db時,根據(jù)MATLAB仿真,恰能滿足要求,此時M=16。切比雪夫等波紋逼近低通濾波器幅相頻率特性如圖1所示。由圖可見,該濾波器對通帶、阻帶截止頻率控制得很好,過渡帶衰減得較快。要達到同樣要求的濾波指標,使用窗函數(shù)方法設(shè)計的濾波器卻需要很高的階數(shù)(105階),而過高的階數(shù)不易在單片機或其他微控制器上實現(xiàn)。所以采用切比雪夫等波紋逼近方法設(shè)計的濾波器不但濾波性能優(yōu)良,而且階數(shù)可以做得比較低,易在單片機或其他微控制器中實現(xiàn)。
2 MSP430F133中的ADC12模塊特點及使用方法
系統(tǒng)采用MSP430F133單片機,它是美國德州儀器(TI)公司生產(chǎn)的一種新型16位Flash微控制器。其突出的優(yōu)點是低電源電壓、超低功耗、多種功能。由于其功能遠遠超過其他系列單片機,因而又稱之為混合型單片機。MSP430F133芯片中的ADC12是12位高精度A/D轉(zhuǎn)換器,它采用逐次逼近原理,12位分辨率,最高采樣速率可達2×105次/秒。利用芯片內(nèi)置的自動掃描功能,ADC12可以不需要CPU的協(xié)助而獨立工作。應(yīng)用這款單片機設(shè)計智能儀器,可以明顯地簡化外圍電路器件。
為了得到精確的轉(zhuǎn)換,適當?shù)牟蓸訒r間是必須的(這里選擇SHT0=8即Tsample=4×ADC12CLK×64)。根據(jù)系統(tǒng)設(shè)計要求,MSP430F133對一路模擬信號進行巡回處理,雖然ADC12提供了多次—單通道A/D轉(zhuǎn)換模式,但1次連續(xù)采集的點數(shù)(20個)超過了最大存儲器限額(16個)。為了保證采樣間隔相等、精度相同,本系統(tǒng)選擇單次—單通道A/D轉(zhuǎn)換模式。同時,A/D轉(zhuǎn)換的參考電平選擇外部2.5V的參考電壓供電,因為ADC12內(nèi)部提供的參考電平會隨時間、溫度有一定的漂移。
A/D處理程序采用查詢方式,即1次連續(xù)采集20個點,將采集的數(shù)據(jù)暫存到片內(nèi)RAM,然后再對這些數(shù)據(jù)進行卷積濾波。當一組數(shù)據(jù)處理結(jié)束后,再采集第二組數(shù)據(jù)。由于MSP430高速的處理能力,故選擇CPU默認時鐘頻率為800kHz(DCO提供);ADC12的轉(zhuǎn)換時鐘選擇內(nèi)部自帶的RC振蕩器ADC12OSC,頻率為5MHz;從完成一組數(shù)據(jù)采集到最終顯示可燃性氣體濃度的時間小于0.05秒,這樣的處理速度完全能夠滿足對可燃性氣體濃度實時檢測的要求。
3 切比雪夫等波紋逼近低通濾波器在MSP430F133單片機中的實現(xiàn)
可燃性氣體濃度信號經(jīng)過TGS813氣體傳感器轉(zhuǎn)變成電信號,經(jīng)前置放大后送入單片機。圖2為單片機隨機現(xiàn)場采集的一組原始信號。從圖中可以看出采集的信號存在一定幅值波動,而且幅值不是在一個范圍內(nèi)上下波動,這時采用均值濾波效果不好。圖3為原始信號的頻譜,該頻譜除了直流分量外,還包含多種頻率成份,即夾雜一些噪聲和干擾。
MSP430F133單片機具有強大的數(shù)據(jù)處理能力,采用匯編語言可以編寫出高效率的源程序。程序采用定點運算模式即能滿足精度要求。通過上面給定指標設(shè)計出的切比雪夫等波紋濾波器系數(shù)為(濾波器長度M=16,由于系數(shù)偶對稱,所以只需存儲一半系數(shù)):
h=[-0.02443 -0.02362 -0.01615 0.01153 0.05906 0.11953 0.1709 0.20291]
把每個系數(shù)都擴大1 280倍(放大倍數(shù)小,則系數(shù)之間誤差變大,擴大沒有意義;放大倍數(shù)太大,則乘除法運算時容易產(chǎn)生溢出),四舍五入取整,并轉(zhuǎn)換成16進制,以系數(shù)表格形式存放在單片機內(nèi)部的Flash存儲器中,則:
圖6為切比雪夫等波紋逼近濾波主程序框圖。程序采用模塊化結(jié)構(gòu)設(shè)計,并使用查表的方法進行卷積。在卷積求點Y(16)、Y(17)、Y(18)、Y(19)以及折線插值求對應(yīng)濃度時,都調(diào)用了16×16位定點乘法和32÷16位定點除法運算子程序。由于存儲的濾波器系數(shù)為12位,采集的電壓值亦為12位,所以定點乘法以及定點除法運算不會產(chǎn)生溢出。當發(fā)生溢出時,則程序舍掉當前數(shù)據(jù),重新采集一組新數(shù)據(jù)進行處理,從溢出到再次采集,程序執(zhí)行時間小于0.05秒。
4 結(jié)束語
本文以緩慢變化的可燃性氣體濃度信號為例,進行切比雪夫等波紋逼近低通濾波器設(shè)計,并在MSP430F133單片機中加以實現(xiàn)。通過仿真及現(xiàn)場測試,得到較滿意的效果,可以用于實際系統(tǒng)。切比雪夫等波紋逼近濾波方法能夠全面控制給定的設(shè)計指標,通帶和阻帶達到最小等波動特性,并且濾波器的階次相對較低。在該系統(tǒng)中,從完成一組數(shù)據(jù)采集到最終LED顯示可燃性氣體濃度的時間不超過0.05秒,這樣的處理速度完全能夠滿足對可燃性氣體濃度實時檢測的要求。
參考文獻
1 吳湘淇.信號系統(tǒng)與信號處理(第一版).北京:電子工業(yè)出版社,1996
2 chen C T.Digital Signal Processing Spectral Computation and Filter Design.BEIJING:Publishing House of Electronics Industry,2002
3 陳亞勇.MATLAB信號處理詳解.北京:人民郵電出版社,2002
4 魏小龍.MSP430系列單片機接口技術(shù)及系統(tǒng)設(shè)計實例.北京:北京航空航天大學(xué)出版社,2002
5 胡大可.MSP430系列FLASH型超低功耗16位單片機.北京:北京航空航天大學(xué)出版社,2001