《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 切比雪夫等波紋逼近低通濾波器在MSP430單片機(jī)中的實(shí)現(xiàn)
切比雪夫等波紋逼近低通濾波器在MSP430單片機(jī)中的實(shí)現(xiàn)
孫 兵,唐 紅,何 瑾
(哈爾濱工業(yè)大學(xué) 自動(dòng)化測(cè)試與控制系,黑龍江 哈爾濱150001)
摘要: 以切比雪夫等波紋逼近理論為基礎(chǔ),設(shè)計(jì)了切比雪夫等波紋逼近FIR低通濾波器。在以MSP430F133單片機(jī)為核心的可燃性氣體檢測(cè)報(bào)警系統(tǒng)中,采用該低通濾波器,對(duì)可燃性氣體濃度信號(hào)處理,獲得較好的效果。
Abstract:
Key words :

摘   要:切比雪夫等波紋逼近理論為基礎(chǔ),設(shè)計(jì)了切比雪夫等波紋逼近FIR低通濾波器。在以MSP430F133單片機(jī)為核心的可燃性氣體檢測(cè)報(bào)警系統(tǒng)中,采用該低通濾波器,對(duì)可燃性氣體濃度信號(hào)處理,獲得較好的效果。
關(guān)鍵詞: 切比雪夫等波紋逼近  FIR低通濾波器  MSP430 F133  單片機(jī)

1  切比雪夫等波紋逼近低通濾波器設(shè)計(jì)方法
  在數(shù)據(jù)采集系統(tǒng)中,輸入信號(hào)均含有種種噪聲和干擾,它們來自被測(cè)信號(hào)源本身、傳感器和環(huán)境等。為了進(jìn)行準(zhǔn)確測(cè)量和控制,必須消除被測(cè)信號(hào)中的噪聲和干擾。工程上常用的軟件濾波方法有:算術(shù)平均值法、滑動(dòng)平均值法、防脈沖干擾平均值法等。這些方法一般可以消除由于偶然因素引起的脈沖干擾,但對(duì)周期性干擾尤其是工頻干擾和白噪聲抑制作用較差,而且平滑度不高。
  切比雪夫等波紋逼近方法是FIR濾波器設(shè)計(jì)方法之一。它采用“最大誤差最小化”優(yōu)化準(zhǔn)則,即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)為實(shí)際頻率響應(yīng)。該方法使用Remez交換算法和切比雪夫逼近理論設(shè)計(jì)濾波器,在期望的和實(shí)際的濾波器頻率響應(yīng)之間實(shí)現(xiàn)最佳匹配。應(yīng)用這種方法設(shè)計(jì)的濾波器能夠獲得較好的通帶和阻帶性能,并能準(zhǔn)確地指定通帶和阻帶邊緣。由于該濾波器在通帶和阻帶的誤差是均勻分布的,因此其頻率響應(yīng)在通帶和阻帶內(nèi)顯示出等波紋性,階次可以比較低。從上述分析,切比雪夫等波紋逼近濾波器是最優(yōu)的。
  決定切比雪夫等波紋逼近低通濾波器系數(shù)的參數(shù)主要有:濾波器長(zhǎng)度M,通帶和阻帶截止頻率wp、ws,相應(yīng)頻帶的幅度m,權(quán)系數(shù)w。其中權(quán)系數(shù)w由通帶和阻帶波動(dòng)Ap、Ar決定。使用權(quán)系數(shù)w,是考慮在設(shè)計(jì)濾波器時(shí)對(duì)通帶和阻帶常要求不同的逼近精度,故乘以不同的權(quán)系數(shù),以統(tǒng)一使用最小化最大誤差。長(zhǎng)度M由wp、ws、Ap、Ar決定。
  Kaiser提出近似計(jì)算單通帶、單阻帶濾波器長(zhǎng)度M的一個(gè)簡(jiǎn)單公式:

  本文所研究的對(duì)象為可燃性氣體檢測(cè)報(bào)警系統(tǒng)。傳感器檢測(cè)氣體濃度信號(hào),把輸出的模擬電壓值送到單片機(jī),經(jīng)A/D轉(zhuǎn)換成數(shù)字量后,再進(jìn)行低通濾波、線性化處理以及LED顯示濃度等。由于輸入信號(hào)為緩慢變化的可燃性氣體,在濾波器設(shè)計(jì)中,可把通帶、阻帶的截止頻率選得較低,這里wp=0.1,ws=0.3(采樣頻率150Hz)。為便于進(jìn)一步處理,通帶的幅頻特性應(yīng)該平坦,幅值增益接近1。當(dāng)Ap=0.22db、Ar=30db時(shí),根據(jù)MATLAB仿真,恰能滿足要求,此時(shí)M=16。切比雪夫等波紋逼近低通濾波器幅相頻率特性如圖1所示。由圖可見,該濾波器對(duì)通帶、阻帶截止頻率控制得很好,過渡帶衰減得較快。要達(dá)到同樣要求的濾波指標(biāo),使用窗函數(shù)方法設(shè)計(jì)的濾波器卻需要很高的階數(shù)(105階),而過高的階數(shù)不易在單片機(jī)或其他微控制器上實(shí)現(xiàn)。所以采用切比雪夫等波紋逼近方法設(shè)計(jì)的濾波器不但濾波性能優(yōu)良,而且階數(shù)可以做得比較低,易在單片機(jī)或其他微控制器中實(shí)現(xiàn)。

2  MSP430F133中的ADC12模塊特點(diǎn)及使用方法
  系統(tǒng)采用MSP430F133單片機(jī),它是美國(guó)德州儀器(TI)公司生產(chǎn)的一種新型16位Flash微控制器。其突出的優(yōu)點(diǎn)是低電源電壓、超低功耗、多種功能。由于其功能遠(yuǎn)遠(yuǎn)超過其他系列單片機(jī),因而又稱之為混合型單片機(jī)。MSP430F133芯片中的ADC12是12位高精度A/D轉(zhuǎn)換器,它采用逐次逼近原理,12位分辨率,最高采樣速率可達(dá)2×105次/秒。利用芯片內(nèi)置的自動(dòng)掃描功能,ADC12可以不需要CPU的協(xié)助而獨(dú)立工作。應(yīng)用這款單片機(jī)設(shè)計(jì)智能儀器,可以明顯地簡(jiǎn)化外圍電路器件。
  為了得到精確的轉(zhuǎn)換,適當(dāng)?shù)牟蓸訒r(shí)間是必須的(這里選擇SHT0=8即Tsample=4×ADC12CLK×64)。根據(jù)系統(tǒng)設(shè)計(jì)要求,MSP430F133對(duì)一路模擬信號(hào)進(jìn)行巡回處理,雖然ADC12提供了多次—單通道A/D轉(zhuǎn)換模式,但1次連續(xù)采集的點(diǎn)數(shù)(20個(gè))超過了最大存儲(chǔ)器限額(16個(gè))。為了保證采樣間隔相等、精度相同,本系統(tǒng)選擇單次—單通道A/D轉(zhuǎn)換模式。同時(shí),A/D轉(zhuǎn)換的參考電平選擇外部2.5V的參考電壓供電,因?yàn)锳DC12內(nèi)部提供的參考電平會(huì)隨時(shí)間、溫度有一定的漂移。
  A/D處理程序采用查詢方式,即1次連續(xù)采集20個(gè)點(diǎn),將采集的數(shù)據(jù)暫存到片內(nèi)RAM,然后再對(duì)這些數(shù)據(jù)進(jìn)行卷積濾波。當(dāng)一組數(shù)據(jù)處理結(jié)束后,再采集第二組數(shù)據(jù)。由于MSP430高速的處理能力,故選擇CPU默認(rèn)時(shí)鐘頻率為800kHz(DCO提供);ADC12的轉(zhuǎn)換時(shí)鐘選擇內(nèi)部自帶的RC振蕩器ADC12OSC,頻率為5MHz;從完成一組數(shù)據(jù)采集到最終顯示可燃性氣體濃度的時(shí)間小于0.05秒,這樣的處理速度完全能夠滿足對(duì)可燃性氣體濃度實(shí)時(shí)檢測(cè)的要求。
3  切比雪夫等波紋逼近低通濾波器在MSP430F133單片機(jī)中的實(shí)現(xiàn)
  可燃性氣體濃度信號(hào)經(jīng)過TGS813氣體傳感器轉(zhuǎn)變成電信號(hào),經(jīng)前置放大后送入單片機(jī)。圖2為單片機(jī)隨機(jī)現(xiàn)場(chǎng)采集的一組原始信號(hào)。從圖中可以看出采集的信號(hào)存在一定幅值波動(dòng),而且幅值不是在一個(gè)范圍內(nèi)上下波動(dòng),這時(shí)采用均值濾波效果不好。圖3為原始信號(hào)的頻譜,該頻譜除了直流分量外,還包含多種頻率成份,即夾雜一些噪聲和干擾。

  MSP430F133單片機(jī)具有強(qiáng)大的數(shù)據(jù)處理能力,采用匯編語言可以編寫出高效率的源程序。程序采用定點(diǎn)運(yùn)算模式即能滿足精度要求。通過上面給定指標(biāo)設(shè)計(jì)出的切比雪夫等波紋濾波器系數(shù)為(濾波器長(zhǎng)度M=16,由于系數(shù)偶對(duì)稱,所以只需存儲(chǔ)一半系數(shù)):
  h=[-0.02443  -0.02362  -0.01615  0.01153  0.05906  0.11953  0.1709  0.20291]
  把每個(gè)系數(shù)都擴(kuò)大1 280倍(放大倍數(shù)小,則系數(shù)之間誤差變大,擴(kuò)大沒有意義;放大倍數(shù)太大,則乘除法運(yùn)算時(shí)容易產(chǎn)生溢出),四舍五入取整,并轉(zhuǎn)換成16進(jìn)制,以系數(shù)表格形式存放在單片機(jī)內(nèi)部的Flash存儲(chǔ)器中,則:

  圖6為切比雪夫等波紋逼近濾波主程序框圖。程序采用模塊化結(jié)構(gòu)設(shè)計(jì),并使用查表的方法進(jìn)行卷積。在卷積求點(diǎn)Y(16)、Y(17)、Y(18)、Y(19)以及折線插值求對(duì)應(yīng)濃度時(shí),都調(diào)用了16×16位定點(diǎn)乘法和32÷16位定點(diǎn)除法運(yùn)算子程序。由于存儲(chǔ)的濾波器系數(shù)為12位,采集的電壓值亦為12位,所以定點(diǎn)乘法以及定點(diǎn)除法運(yùn)算不會(huì)產(chǎn)生溢出。當(dāng)發(fā)生溢出時(shí),則程序舍掉當(dāng)前數(shù)據(jù),重新采集一組新數(shù)據(jù)進(jìn)行處理,從溢出到再次采集,程序執(zhí)行時(shí)間小于0.05秒。

4  結(jié)束語
  本文以緩慢變化的可燃性氣體濃度信號(hào)為例,進(jìn)行切比雪夫等波紋逼近低通濾波器設(shè)計(jì),并在MSP430F133單片機(jī)中加以實(shí)現(xiàn)。通過仿真及現(xiàn)場(chǎng)測(cè)試,得到較滿意的效果,可以用于實(shí)際系統(tǒng)。切比雪夫等波紋逼近濾波方法能夠全面控制給定的設(shè)計(jì)指標(biāo),通帶和阻帶達(dá)到最小等波動(dòng)特性,并且濾波器的階次相對(duì)較低。在該系統(tǒng)中,從完成一組數(shù)據(jù)采集到最終LED顯示可燃性氣體濃度的時(shí)間不超過0.05秒,這樣的處理速度完全能夠滿足對(duì)可燃性氣體濃度實(shí)時(shí)檢測(cè)的要求。
參考文獻(xiàn)
1   吳湘淇.信號(hào)系統(tǒng)與信號(hào)處理(第一版).北京:電子工業(yè)出版社,1996
2   chen C T.Digital Signal Processing Spectral Computation and Filter Design.BEIJING:Publishing House of Electronics Industry,2002
3   陳亞勇.MATLAB信號(hào)處理詳解.北京:人民郵電出版社,2002
4   魏小龍.MSP430系列單片機(jī)接口技術(shù)及系統(tǒng)設(shè)計(jì)實(shí)例.北京:北京航空航天大學(xué)出版社,2002
5   胡大可.MSP430系列FLASH型超低功耗16位單片機(jī).北京:北京航空航天大學(xué)出版社,2001

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。