譚家杰 胡湘娟 羅昌由
摘 要:詳細(xì)研究了數(shù)字濾波器的設(shè)計(jì)方法,根據(jù)數(shù)字濾波器的基本原理,提出了設(shè)計(jì)的新方法——累試法。即用軟件直接在Z平面選擇零點(diǎn)和極點(diǎn),然后觀察數(shù)字濾波器的幅頻特性、相頻特性,如果滿足設(shè)計(jì)要求,則輸出系統(tǒng)函數(shù)和數(shù)字濾波器的結(jié)構(gòu),否則繼續(xù)在Z平面設(shè)置重復(fù)設(shè)置零極點(diǎn)。用Visual Basic 6.0設(shè)計(jì)出累試法軟件,該方法直接、簡(jiǎn)單,可快速地設(shè)計(jì)出數(shù)字濾波器。
關(guān)鍵詞:數(shù)字濾波器;計(jì)算機(jī)輔助設(shè)計(jì);Visual Basic軟件;累試法
中圖分類號(hào):TN713.7文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1004-373X(2009)03-085-02
Study on Directly Design of Digital Filter on Z Plane with Many Times Trials
TAN Jiajie1,2,HU Xiangjuan LUO Changyou1
(1.Hengyang Normal University,Hengyang,421008,China;
2.College of Optoelectronic Science and Engineering,Huazhong University of Science and Technology,Wuhan,430074,China)
Abstract:A variety of digital filter design,and a new method called many times trials to construct digital filter according to the basic principles of digital filter are presented.Designing the digital filter on Z plane by choosing of zero and polar directly with software,and then observing the digital filter of the frequency,phase-frequency characteristics,if meeting design requirements,system functions and structure of the digital filter are output,otherwise continue to choose zero and polar in the Z plane.Finally the software of many times trials with Visual Basic 6.0 is designed.The method is direct,simple,able to quickly design a digital filter.
Keywords:digital filter;computer aided design;Visual Basic 6.0 software;many times trials
0 引 言
數(shù)字濾波器是數(shù)字信號(hào)處理的一個(gè)重要分支。所謂數(shù)字濾波器,是指輸入、輸出均為數(shù)字信號(hào)通過一定運(yùn)算關(guān)系改變輸入信號(hào)所含頻率成分的相對(duì)比例或者濾除某些頻率成分的器件[1]。數(shù)字濾波器和模擬濾波器具有同樣的濾波功能,但具有不同的實(shí)現(xiàn)方式。前者是利用有限精度算法來實(shí)現(xiàn)[2],精度高,穩(wěn)定性強(qiáng),實(shí)現(xiàn)靈活且不要求阻抗匹配,故在很多方面優(yōu)于模擬濾波器;數(shù)字濾波器是利用離散系統(tǒng)特性對(duì)系統(tǒng)輸入信號(hào)進(jìn)行加工和變換,改變輸入序列的頻譜或信號(hào)波形,讓有用頻率的信號(hào)分量通過,抑制無用的信號(hào)分量輸出[1-3]。數(shù)字濾波器的分類有很多種,若從實(shí)現(xiàn)的網(wǎng)絡(luò)結(jié)構(gòu)分類,可分為無限脈沖響應(yīng)濾波器(IIR)和有限脈沖響應(yīng)濾波器(FIR)兩種[1-4]。從結(jié)構(gòu)上看,IIR數(shù)字濾波器采用遞歸結(jié)構(gòu),FIR數(shù)字濾波器主要采用非遞歸的結(jié)構(gòu)[4]。本文從另外一個(gè)角度出發(fā),直接在Z平面上選擇零、極點(diǎn),這里稱為累試法[1]。它既可以設(shè)計(jì)IIR型數(shù)字濾波器,也可以設(shè)計(jì)FIR型濾波器。
1 數(shù)字濾波器設(shè)計(jì)原理與方法
IIR濾波器設(shè)計(jì)方法通常是借助于模擬濾波器的設(shè)計(jì)方法進(jìn)行的,先根據(jù)技術(shù)指標(biāo)設(shè)計(jì)出模擬的低通濾波器,然后將模擬濾波器通過變換來設(shè)計(jì)數(shù)字濾波器,即把s平面映射到Z平面[1-4]。這一類方法相對(duì)容易一些,這是因?yàn)槟M濾波器設(shè)計(jì)方法已經(jīng)很成熟,設(shè)計(jì)出的濾波器具有運(yùn)算項(xiàng)數(shù)少的優(yōu)點(diǎn)。而對(duì)于FIR數(shù)字濾波器的設(shè)計(jì)方法,其一主要借助于加各種窗函數(shù)來實(shí)現(xiàn),其二通過頻率采樣實(shí)現(xiàn)[1,2]。
2 累試法設(shè)計(jì)數(shù)字濾波器的思路及原則
所謂累試法就是直接利用軟件,在Z平面上反復(fù)多次設(shè)置濾波器的零、極點(diǎn),觀察幅頻、相位特性是否滿足預(yù)先設(shè)定的技術(shù)指標(biāo),如果滿足技術(shù)指標(biāo),則軟件輸出濾波器的系統(tǒng)函數(shù)和濾波器的結(jié)構(gòu),否則還繼續(xù)在Z平面上設(shè)置零、極點(diǎn),直到滿足技術(shù)要求為止[1]。這種設(shè)計(jì)濾波器的思想與成熟的設(shè)計(jì)方法是一致的,其實(shí)質(zhì)是一個(gè)逐步逼近的過程。
根據(jù)文獻(xiàn)[1,2,5]可知系統(tǒng)函數(shù)受系統(tǒng)的零、極點(diǎn)的影響。而零點(diǎn)在相應(yīng)頻率處產(chǎn)生谷值,極點(diǎn)產(chǎn)生峰值。并且零點(diǎn)離單位圓越近陷落越深,極點(diǎn)離單位圓越近,則波峰越陡峭,同樣地,在相同位置設(shè)置的零點(diǎn)、極點(diǎn)越多,能達(dá)到的陡峭效果越好。根據(jù)這個(gè)思路,可以在Z平面上選擇零、極點(diǎn),當(dāng)系統(tǒng)幅度特性滿足設(shè)計(jì)指標(biāo),由零、極點(diǎn)來確定系統(tǒng)函數(shù),從而確定濾波器的結(jié)構(gòu)。
按照這種方法設(shè)計(jì)應(yīng)遵循以下的原則:
(1) 設(shè)置零、極點(diǎn)時(shí)主要考慮濾波器是何種類型。如果設(shè)計(jì)FIR類型,不設(shè)置極點(diǎn),只設(shè)置零點(diǎn),這樣的濾波器為非遞歸型。一旦設(shè)置了極點(diǎn)有可能使濾波器變成遞歸型的。
(2) 如果要濾除某一頻率,則可以在相應(yīng)數(shù)字頻率處設(shè)置一零點(diǎn);相反,則可以設(shè)置一極點(diǎn)。
(3) 根據(jù)濾波器的穩(wěn)定條件,極點(diǎn)應(yīng)該設(shè)置在單位圓的內(nèi)部。
(4) 為了便于實(shí)現(xiàn)濾波器的結(jié)構(gòu),零、極點(diǎn)應(yīng)該成對(duì)設(shè)置(零、極點(diǎn)在實(shí)軸上除外),所謂成對(duì)設(shè)置就是一對(duì)零點(diǎn)應(yīng)該是共軛的,對(duì)于極點(diǎn)同樣如此。
(5) 要使某頻率處陷落越深或波峰越陡峭,則可以在相應(yīng)位置多設(shè)置幾個(gè)零點(diǎn)或極點(diǎn)。
(6) 所謂低頻是指在0附近,高頻這在π附近,數(shù)字頻率范圍為0~2π。
(7) 零點(diǎn)z與其關(guān)于圓周對(duì)稱點(diǎn)1/具有相同的濾波效應(yīng)。
(8) 由于系統(tǒng)函數(shù)單位圓外的極點(diǎn)zk用1/k代替不影響系統(tǒng)的幅頻特性,相頻特性有所不同。因此當(dāng)遇到系統(tǒng)涉及單位圓外部極點(diǎn)時(shí),可以用其單位圓內(nèi)部鏡像極點(diǎn)代替。
(9) 在同點(diǎn)分別選擇一個(gè)零點(diǎn)和一個(gè)極點(diǎn),存在零極點(diǎn)對(duì)消現(xiàn)象,對(duì)系統(tǒng)沒有影響。
3 軟件實(shí)現(xiàn)與應(yīng)用
軟件設(shè)計(jì)要求是便于操作、能夠用鼠標(biāo)、鍵盤輸入零、極點(diǎn);能顯示頻譜和相位特性;能夠輸出傳輸函數(shù)和結(jié)構(gòu)。而Visual Basic 6.0屬于可視化編程,編程思路較為簡(jiǎn)單,易于實(shí)現(xiàn)。
3.1 計(jì)算機(jī)輔助設(shè)計(jì)界面
計(jì)算機(jī)輔助設(shè)計(jì)系統(tǒng)界面參數(shù)設(shè)置方便直觀,便于分析和理解。其界面如圖1所示。計(jì)算機(jī)輔助設(shè)計(jì)的界面主要由文本框、組合框、圖像框組成。其中4個(gè)文本框用來設(shè)置零、極點(diǎn)的實(shí)部、虛部,在文本框中輸入相應(yīng)數(shù)據(jù)后,按零點(diǎn)輸入按鈕輸入零點(diǎn),此時(shí)會(huì)在下面的圖像框中相應(yīng)位置顯示一個(gè)小圓圈,表示在該處選擇了一個(gè)零點(diǎn);也可以按下“選擇零點(diǎn)”,直接用鼠標(biāo)在下面的Z平面單擊鼠標(biāo)左鍵,也選擇了一個(gè)零點(diǎn)。對(duì)于極點(diǎn)輸入同上述,用“+”表示選擇了極點(diǎn)。這時(shí)可以按下右邊按鈕控件“頻譜特性”,則會(huì)在右上邊的幅頻特性圖像框中顯示系統(tǒng)的幅頻特性,同理按下“相位特性”則會(huì)顯示相頻特性。如果滿足設(shè)計(jì)要求則按下“濾波器的數(shù)學(xué)模型”,會(huì)彈出一個(gè)對(duì)話框,里面顯示了系統(tǒng)的傳輸函數(shù);如果按下“濾波器結(jié)構(gòu)”,則彈出系統(tǒng)的結(jié)構(gòu)圖。
圖1 軟件的界面圖
3.2 應(yīng)用實(shí)例
例1:設(shè)置一個(gè)帶通濾波器,帶通中心頻率為ω0=π/2,ω=0,π時(shí),幅度衰減為0[1]。
確定極點(diǎn)為z1,2=re±jπ2,零點(diǎn)z3,4=±1,用軟件在Z平面上選擇零、極點(diǎn),得到的幅度特性和相位特性如圖2,圖3所示。其幅頻特性與參考文獻(xiàn)[1]一致。
圖2 例1的幅頻特性
圖3 例1的相頻特性
鼠標(biāo)單擊“濾波器的數(shù)學(xué)模型”,便得到系統(tǒng)函數(shù)H(z)=1-z-21+0.81z-2。
例2:設(shè)計(jì)一梳狀濾波器。
設(shè)計(jì)過程同上,其幅頻特性如圖4所示。
圖4 梳狀濾波器的幅頻特性
4 結(jié) 語
用累試法直接設(shè)計(jì)數(shù)字濾波器,具有簡(jiǎn)單、直觀、快速的優(yōu)點(diǎn),Visual Basic提供了一種可視界面的設(shè)計(jì)方法,極大地提高了應(yīng)用程序開發(fā)的效率。程序運(yùn)行結(jié)果理想,波形直觀。所產(chǎn)生的幅頻特性、相頻特性滿足設(shè)
計(jì)需要,為設(shè)計(jì)濾波器提供了一種簡(jiǎn)單可靠的方法。
參考文獻(xiàn)
[1]丁玉美,高西全,彭學(xué)愚.數(shù)字信號(hào)處理[M].2版.西安:西安電子科技大學(xué)出版社,2002.
[2]程佩青.數(shù)字信號(hào)處理教程[M].2版.北京:清華大學(xué)出版社,2001.
[3]譚家杰,陳淑芳,張?zhí)m英,等.基于Visual Basic 6.0數(shù)字濾波器設(shè)計(jì)[J].四川理工學(xué)院學(xué)報(bào):自然科學(xué)版,2008,21(2):88-91.
[4]嚴(yán)雪萍,韓慶福,馬淋軍.一種基于VB的虛擬數(shù)字濾波器的設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2007,30(13):46-48.
[5]馮華君,洪淑月,施曉鐘.借助Z變換和零極點(diǎn)設(shè)計(jì)數(shù)字陷波器[J].浙江師范大學(xué)學(xué)報(bào):自然科學(xué)版,2004,27(1):26-29.
[6]任菊,蔡光君,劉惠英.直接型FIR濾波器的優(yōu)化和實(shí)現(xiàn).現(xiàn)代電子技術(shù),2008,31(7):103-104.
作者簡(jiǎn)介 譚家杰 男,1968年出生,湖南衡陽人,碩士,副教授。主要從事光電檢測(cè)及信號(hào)處理研究。
注:本文中所涉及到的圖表、注解、公式等內(nèi)容請(qǐng)以PDF格式閱讀原文。