王倢婷
摘要:為了獲取高精度有效信號(hào)在信號(hào)檢測(cè)系統(tǒng)中,常常需要進(jìn)行濾波,將設(shè)置頻率以外的信號(hào)徹底清除,數(shù)字濾波器廣泛應(yīng)用于各種測(cè)量系統(tǒng)。基于MATLAB的在線數(shù)字濾波器設(shè)計(jì)過(guò)程簡(jiǎn)單易行,不僅具有較高的精度和穩(wěn)定性,還有運(yùn)算速度快,延遲小的特點(diǎn),可以滿足測(cè)量要求。但在實(shí)際應(yīng)用時(shí)如果采樣數(shù)據(jù)長(zhǎng)度選擇不當(dāng),輸出波形會(huì)出現(xiàn)失真。通過(guò)實(shí)驗(yàn)分析了采樣數(shù)據(jù)長(zhǎng)度與波形失真的關(guān)系,在使用時(shí)要兼顧誤差與延遲,保證數(shù)字濾波測(cè)量精度。
關(guān)鍵詞:MATLAB;數(shù)字濾波器;在線測(cè)量;誤差分析;信號(hào)失真
中圖分類號(hào):TP302 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2014)26-6242-04
Abstract: In order to acquire high quality signal in the sensing and data acquisition system, it is needed to perform filtering to get rid of the frequency band which isn't wanted. As a result, digital filters are widely used in all kinds of measuring systems. The real-time online digital filter that based on MATLAB is easy to design. It also possesses high accuracy and stability, fast speed and low delay, which means it satisfy the demands of most measuring system. However, the distortion occurs when the length of sample string is too short in the application. This work analyzes the relation between sample string length and the distortion by the experiments and tries to reach a balance between errors and delay to ensure the high quality of filter performance.
Key words: MATLAB; digital filter; online measuring; error analyze; signal distortion
1 概述
在信號(hào)測(cè)量與采編系統(tǒng)中,為了提高采編系統(tǒng)的信噪比,經(jīng)常使用濾波器對(duì)采集的信號(hào)進(jìn)行濾波,在某些情況下,測(cè)量系統(tǒng)在信號(hào)處理時(shí)要求信號(hào)精度高、信號(hào)識(shí)別率高,使得系統(tǒng)對(duì)濾波器的性能提出了很高的要求,比如要求濾波器滿足通帶不平度小、帶外衰減快、系統(tǒng)延遲低等。
MATLAB,又稱矩陣實(shí)驗(yàn)室,是美國(guó)MathWorks公司出品的一款功能強(qiáng)大的數(shù)學(xué)軟件,可以用于數(shù)據(jù)分析、算法研發(fā)和數(shù)值計(jì)算,在科學(xué)研究以及工程上應(yīng)用十分廣泛。然而MATLAB雖然功能強(qiáng)大,但其本身的設(shè)計(jì)主要是面向離線的數(shù)據(jù)分析,所以鮮有人嘗試?yán)肕ATLAB進(jìn)行低延遲,高性能的在線濾波。該文以腦電信號(hào)處理中的theta波(4~12Hz)為例,利用MATLAB中的數(shù)字濾波器實(shí)現(xiàn)實(shí)時(shí)濾波。
2 數(shù)字濾波器設(shè)計(jì)
2.1 濾波器類型選擇
工程上常用的濾波器有四種:切比雪夫I型濾波器、切比雪夫II型濾波器、巴特沃茲濾波器和橢圓濾波器。腦中樞神經(jīng)信號(hào)Theta波是4-10Hz的低頻信號(hào),需用帶通濾波器,四種濾波器作為theta波濾波器時(shí)的頻域特性,見(jiàn)圖1所示。
為滿足通帶不平度小、帶外衰減快,從圖中我們可以看出,切比雪夫I型濾波器通帶增益為0,阻帶衰減幅度最大,是最佳的theta波濾波器的選擇。
2.2 濾波器參數(shù)設(shè)計(jì)
在MATLAB信號(hào)處理工具箱提供了幾個(gè)直接設(shè)計(jì)IIR數(shù)字濾波器的函數(shù),可以直接調(diào)用。設(shè)計(jì)契比雪夫I型IIR濾波器可使用cheby1函數(shù),cheby1函數(shù)可設(shè)計(jì)低通、高通、帶通和帶阻契比雪夫I型濾IIR波器,其通帶內(nèi)為等波紋,阻帶內(nèi)為單調(diào)。cheby1(n,Wn,Rp)函數(shù)要確定濾波器的最小階數(shù)n、截止頻率Wn 、通帶波紋系數(shù)Rp。濾波器的頻域響應(yīng)并不是平滑的,會(huì)有一定波動(dòng),通帶波動(dòng)Rp即描述這種波動(dòng)的參數(shù),其意義為濾波器頻域響應(yīng)曲線在通帶上均值與極值的差,即波動(dòng)的幅度。theta波帶通頻率為4~12Hz,需要設(shè)定濾波器階數(shù)n;通帶波動(dòng)R。濾波器階數(shù)n越大,其通帶與阻帶的增益差就越大,濾波效果就越好,但相對(duì)地,運(yùn)算時(shí)間也會(huì)越長(zhǎng)。這里n選取一個(gè)適當(dāng)?shù)闹虚g值5,由于為帶通濾波器,其實(shí)際階數(shù)為2n即10,一個(gè)10階濾波器對(duì)于實(shí)時(shí)測(cè)量系統(tǒng)來(lái)說(shuō)是比較合適的,不會(huì)產(chǎn)生太大的運(yùn)算量,同時(shí)也可以保證較好的濾波效果。Rp取不同值,濾波器的頻域特性不同,圖2為其頻域響應(yīng)在通帶附近局部放大圖。從圖中可以看出Rp在0.18和0.19之間存在一個(gè)閾值,使濾波器在通帶上的增益關(guān)于Rp有一個(gè)突變,而隨著Rp增大,響應(yīng)曲線在通帶上的波動(dòng)也越來(lái)越大,因此選取0.19作為Rp的值。
2.3 在線濾波的失真分析
理想情況下,采樣信號(hào)的長(zhǎng)度無(wú)限長(zhǎng),經(jīng)傅立葉變換后得到有限的傅立葉級(jí)數(shù),而在實(shí)際測(cè)量中,常將數(shù)據(jù)進(jìn)行分段采樣,有限長(zhǎng)度的信號(hào)經(jīng)過(guò)傅立葉變換后會(huì)得到一個(gè)無(wú)窮的傅立葉級(jí)數(shù),致使其頻域成分會(huì)產(chǎn)生一定的失真。所以在信號(hào)采集時(shí),如果信號(hào)分段的長(zhǎng)度過(guò)短,經(jīng)濾波后,頻域信號(hào)會(huì)出現(xiàn)較嚴(yán)重的失真,實(shí)驗(yàn)發(fā)現(xiàn)濾波的信號(hào)分段越短,失真越厲害,如圖4所示,實(shí)驗(yàn)過(guò)程如下所述。
首先產(chǎn)生一個(gè)隨機(jī)數(shù)組,其中每個(gè)點(diǎn)都為隨機(jī)數(shù),將此隨機(jī)數(shù)組作為原始的采樣信號(hào)。然后分別通過(guò)以下兩種方法得到兩個(gè)濾波后的信號(hào):一是將整個(gè)數(shù)組采集下來(lái)先濾波后截取一段信號(hào);二是先采集同樣長(zhǎng)度的一組信號(hào)后濾波。最后將這兩組濾波后的信號(hào)進(jìn)行比對(duì),找出它們不相等點(diǎn)的個(gè)數(shù)。從理論分析第一組信號(hào)沒(méi)有失真或失真較小。濾波器設(shè)置為:切比雪夫I型帶通濾波器,通帶為4~12Hz,Rp=0.18,采樣頻率設(shè)定為2000赫茲。每組實(shí)驗(yàn)重復(fù)1000次,對(duì)其不相等點(diǎn)的個(gè)數(shù)取平均,用來(lái)表示失真程度,取三位有效數(shù)字,實(shí)驗(yàn)結(jié)果見(jiàn)表1。隨機(jī)產(chǎn)生的原始信號(hào)長(zhǎng)度為100000,即相當(dāng)于50秒的采樣信號(hào)。每一數(shù)組的每次重復(fù)即代表隨機(jī)生成新的模擬信號(hào)和新的截取位置,可以認(rèn)為該實(shí)驗(yàn)結(jié)果能夠反映信號(hào)處理的真實(shí)情況。從表中可以看出,在信號(hào)長(zhǎng)度為5000時(shí),絕對(duì)的失真程度開(kāi)始基本保持不變,而失真所占截取信號(hào)的比例開(kāi)始減小。
2.4 在線濾波的延遲分析
對(duì)于一個(gè)實(shí)時(shí)工作的系統(tǒng)來(lái)說(shuō),延遲的大小是非常重要的一個(gè)指標(biāo)。實(shí)時(shí)濾波造成的延遲主要是運(yùn)算延遲,運(yùn)算延遲與單次處理數(shù)據(jù)的長(zhǎng)度成正比。為方便起見(jiàn),濾波器設(shè)置為:theta波濾波器(4~12Hz),采樣率2k,階數(shù)為5,Rp為0.18。通過(guò)實(shí)驗(yàn)1000次,實(shí)驗(yàn)結(jié)果如圖5所示。
其中橫坐標(biāo)為數(shù)據(jù)長(zhǎng)度(采樣點(diǎn)數(shù)),縱坐標(biāo)為延遲時(shí)間(單位毫秒)。濾波數(shù)據(jù)為指定長(zhǎng)度的隨機(jī)數(shù)列。其中,延遲時(shí)間為1000次實(shí)驗(yàn)結(jié)果的平均值,每次實(shí)驗(yàn)均使用一個(gè)新的隨機(jī)數(shù)列。從圖中可明顯地看出,運(yùn)算延遲和數(shù)據(jù)大小是呈線性關(guān)系,不存在“最佳”單次濾波數(shù)據(jù)長(zhǎng)度。要確定濾波的數(shù)據(jù)采集長(zhǎng)度,應(yīng)該結(jié)合實(shí)際應(yīng)用要求和運(yùn)算條件來(lái)判斷。
3 結(jié)論
隨著科學(xué)技術(shù)的不斷發(fā)展,在傳感器檢測(cè)與數(shù)據(jù)采集系統(tǒng)中,為了獲取高精度有效信號(hào),一方面需要提高數(shù)據(jù)采集系統(tǒng)的信噪比,另一方面需要設(shè)置相應(yīng)帶寬,將設(shè)置頻率以外的信號(hào)徹底清除?;贛ATLAB的在線濾波器設(shè)計(jì)簡(jiǎn)單,使用方便。但在實(shí)際應(yīng)用時(shí)如果采樣數(shù)據(jù)長(zhǎng)度截取的太短,會(huì)導(dǎo)致輸出波形失真;如果采樣數(shù)據(jù)長(zhǎng)度截取的太長(zhǎng),加大運(yùn)算量,會(huì)產(chǎn)生延遲,因此,在使用時(shí)要兼顧誤差與延遲,保證數(shù)字濾波器的測(cè)量精度。
參考文獻(xiàn):
[1] 宋壽鵬.數(shù)字濾波器設(shè)計(jì)及工程應(yīng)用[M].鎮(zhèn)江:江蘇大學(xué)出版社,2009.
[2] 王建軍,主譯.神經(jīng)科學(xué)-探索腦[M].2版.北京:高等教育出版社,2011.
[3] 張志涌.MATLAB教程[M].北京:北京航空航天大學(xué)出版社,2010.
[4] 高會(huì)生,主譯.MATLAB實(shí)用教程[M]2版.北京:電子工業(yè)出版社,2010.
[5] 杜勇.數(shù)字濾波器的MATLAB與FPGA實(shí)現(xiàn)[M].北京:電子工業(yè)出版社,2012.
[6] 陳懷琛.數(shù)字信號(hào)處理教程[M].北京:電子工業(yè)出版社,2008.
[7] 胡順華.一種基于Chebyshev函數(shù)的新型帶通濾波器設(shè)計(jì)方法[J].電訊技術(shù),2010,50(7):123-124.
[8] 無(wú)名氏.基于matlab 數(shù)字濾波器的設(shè)計(jì)[EB/OL].http://wenku.baidu.com/view/5beb2798d5b bfd0a7956738c.html.