祝廣場(chǎng) 李志 梅映新
(中國(guó)船舶重工集團(tuán)公司第七一二研究所,武漢 430064)
巴特沃斯濾波器具有通帶內(nèi)最大平坦的振幅特性,而且隨著頻率的增加而單調(diào)下降[1]。
其幅度平方函數(shù)具有如下形式:
其中,N為整數(shù),稱為濾波器階數(shù),N越大,通帶和阻帶的近似性越好,過渡性也越陡。如圖1所示:
歸一化 L(L為偶數(shù))階巴特沃斯模擬低通濾波器的傳遞函數(shù)為
可見,巴特沃斯濾波器可以寫成L/2個(gè)2階級(jí)聯(lián)的形式。
圖1 巴特沃斯濾波器的幅值響應(yīng)曲線
(1)計(jì)算預(yù)畸變后模擬濾波器的通帶邊界頻率
(2)模擬濾波器的頻率尺度變換:
數(shù)字濾波克服了硬件濾波的許多不足,它與硬件濾波相比有以下優(yōu)點(diǎn)[1]:
(1)數(shù)字濾波用軟件實(shí)現(xiàn),不需要增加硬件設(shè)備因而可靠性高、穩(wěn)定性好,不存在阻抗匹配問題。
(2)硬件濾波通常是各通道專用,而數(shù)字濾波則可多通道共享,從而降低了成本。
(3)數(shù)字濾波可以對(duì)頻率很低的信號(hào)進(jìn)行濾波(如0.01 Hz),而硬件濾波由于受電路元件的限制,頻率不可能太低。
(4)數(shù)字濾波可以根據(jù)信號(hào)的不同,采用不同的濾波方法或?yàn)V波參數(shù),具有靈活、方便、功能強(qiáng)的特點(diǎn)。
在單片機(jī)系統(tǒng)中常用的數(shù)字濾波器算法有程序判斷法、中值判斷法、算術(shù)平均值濾波法、加權(quán)濾波法、滑動(dòng)濾波法、低通濾波法和復(fù)合濾波法等,這幾種方法原理簡(jiǎn)單,已廣泛應(yīng)用于控制系統(tǒng)等領(lǐng)域,但是采用上述濾波算法后數(shù)據(jù)的精度不高。而巴特沃斯數(shù)字濾波器屬于無限沖擊響應(yīng)數(shù)字濾波器IIR的一種,被稱為最平的幅頻響應(yīng)濾波器,IIR數(shù)字濾波器用系統(tǒng)函數(shù)表示為:
當(dāng)系數(shù){ai;i=1,2,3,…,N}至少有一個(gè)是非零時(shí),式(3)描述的系統(tǒng)被稱為無限沖擊響應(yīng)(IIR)數(shù)字濾波器。對(duì)于IIR濾波器,一般情況下滿足M≤N,這時(shí)系統(tǒng)稱為N階IIR數(shù)字濾波器。由式(3)可得出表示輸入輸出關(guān)系的常系數(shù)差分方程表達(dá)式:
IIR 濾波器的結(jié)構(gòu)分為直接型(包括直接Ⅰ型和直接Ⅱ型)、級(jí)聯(lián)型和并聯(lián)型三種。在選擇濾波器結(jié)構(gòu)時(shí)應(yīng)該本著易于控制濾波性能、適于模塊化和編程實(shí)現(xiàn)的原則,一般情況下可設(shè)計(jì)一個(gè)二階濾波器,通過級(jí)聯(lián)可實(shí)現(xiàn)可控的高階IIR 濾波器。也可以設(shè)計(jì)一個(gè)具有良好特性的雙二階濾波器,然后通過控制級(jí)聯(lián)的個(gè)數(shù),就可以實(shí)現(xiàn)任意階數(shù)的濾波器[3]。本系統(tǒng)根據(jù)控制精度和系統(tǒng)內(nèi)部資源的要求選用直接Ⅱ型濾波器。
數(shù)字濾波器的一般設(shè)計(jì)步驟是:首先利用模擬頻率和數(shù)字頻率的關(guān)系將數(shù)字濾波器的頻率指標(biāo)轉(zhuǎn)換為模擬濾波器的頻率指標(biāo),然后根據(jù)模擬濾波器的技術(shù)指標(biāo)設(shè)計(jì)模擬濾波器的H(s),最后用脈沖響應(yīng)不變法,將模擬濾波器H(s)轉(zhuǎn)換為數(shù)學(xué)濾波器H(z)。這種傳統(tǒng)的設(shè)計(jì)方法繁瑣且效率不高。
用Matlab設(shè)計(jì)巴特沃斯濾波器有兩種方法,第一種是用函數(shù)設(shè)計(jì),Matlab中提供了buttord()和butter()兩個(gè)函數(shù),在輸入通帶阻帶的截止頻率和衰減后可得到欲設(shè)計(jì)的巴特沃斯濾波器的階數(shù)和截止頻率,進(jìn)而得到濾波器的系數(shù)。另一種方法是用Matlab的信號(hào)處理工具箱特有的濾波器分析設(shè)計(jì)工具FDATOOL,它是圖形GUI 分析設(shè)計(jì)工具,可以直接設(shè)計(jì)濾波器并觀察實(shí)際效果,隨時(shí)修改,所見即所得,方便高效快捷。所以我們采用這種方法來設(shè)計(jì)巴特沃斯濾波器。
(1)在Matlab命令窗口中,輸入FDATOOL,回車,即可打開濾波器設(shè)計(jì)工具箱,其設(shè)計(jì)界面如圖2所示:
圖2 Matlab濾波器設(shè)計(jì)工具界面
(2)在濾波器類型中選擇“Lowpass”,設(shè)計(jì)方法選“IIR-Butterworth”,指定濾波器階數(shù)為5階,采樣頻率1000 Hz,截至頻率25Hz,然后點(diǎn)“Design Filter”,就完成了低通巴特沃斯濾波器的設(shè)計(jì),結(jié)果如圖3所示。
圖3 Butterworth濾波器設(shè)計(jì)圖
(3)導(dǎo)出系數(shù)。從圖4-8的左上部可以看出,5階的巴特沃斯濾波器被分成了3節(jié)級(jí)聯(lián)的形式。從設(shè)計(jì)界面的File菜單中,可以將濾波器的增益和系數(shù)矩陣導(dǎo)出到Matlab的工作空間中,如圖4所示:
圖4 導(dǎo)出系數(shù)
(4)圖5為濾波器傳遞函數(shù)系數(shù),每一行代表一個(gè)二階濾波器的傳遞函數(shù)系數(shù),他們之間的增益是2.341e-006。然后根據(jù)濾波器的級(jí)聯(lián)關(guān)系,算出5階巴特沃斯濾波器的系數(shù)為:
圖5 濾波器系數(shù)矩陣
(5)將IIR數(shù)字濾波器傳遞函數(shù)寫成如下一般形式:
再根據(jù)式(5)列出5階巴特沃斯的差分方程,并作變形如下:
式(6)即為巴特沃斯濾波器的差分方程式,在程序中采用迭代方式來實(shí)現(xiàn)。
本文在巴特沃斯濾波器原理的基礎(chǔ)上探討了其特性,根據(jù)巴特沃斯濾波器的設(shè)計(jì)算法,利用Matlab工具箱中的FDATOOL設(shè)計(jì)工具,設(shè)計(jì)出了一個(gè)5階的巴特沃斯低通數(shù)字濾波器。在GPS的加速度處理中,其濾波性能良好,保證了測(cè)量數(shù)據(jù)的準(zhǔn)確性。
[1]李鐘鎮(zhèn). 基于Matlab 設(shè)計(jì)巴特沃斯低通濾波器. 信息技術(shù), 2003, (3).
[2]馬杰, 董金明. IIR數(shù)字濾波器在定點(diǎn)DSP上的實(shí)現(xiàn).聲學(xué)與電子工程, 2006, (2):40-44.
[3]公丕波, 郝金明, 朱偉剛. GPS接收機(jī)與PC機(jī)間串口通信的實(shí)現(xiàn). 海洋測(cè)繪, 2005, (5).