用累試法直接在Z平面設計數(shù)字濾波器的研究
O 引 言
數(shù)字濾波器是數(shù)字信號處理的一個重要分支。所謂數(shù)字濾波器,是指輸入、輸出均為數(shù)字信號通過一定運算關系改變輸入信號所含頻率成分的相對比例或者濾除某些頻率成分的器件。數(shù)字濾波器和模擬濾波器具有同樣的濾波功能,但具有不同的實現(xiàn)方式。前者是利用有限精度算法來實現(xiàn),精度高,穩(wěn)定性強,實現(xiàn)靈活且不要求阻抗匹配,故在很多方面優(yōu)于模擬濾波器;數(shù)字濾波器是利用離散系統(tǒng)特性對系統(tǒng)輸入信號進行加工和變換,改變輸入序列的頻譜或信號波形,讓有用頻率的信號分量通過,抑制無用的信號分量輸出。數(shù)字濾波器的分類有很多種,若從實現(xiàn)的網(wǎng)絡結構分類,可分為無限脈沖響應濾波器(IIR)和有限脈沖響應濾波器(FIR)兩種。從結構上看,IIR數(shù)字濾波器采用遞歸結構,F(xiàn)IR數(shù)字濾波器主要采用非遞歸的結構。本文從另外一個角度出發(fā),直接在Z平面上選擇零、極點,這里稱為累試法。它既可以設計IIR型數(shù)字濾波器,也可以設計FIR型濾波器。
l 數(shù)字濾波器設計原理與方法
IIR濾波器設計方法通常是借助于模擬濾波器的設計方法進行的,先根據(jù)技術指標設計出模擬的低通濾波器,然后將模擬濾波器通過變換來設計數(shù)字濾波器,即把s平面映射到Z平面。這一類方法相對容易一些,這是因為模擬濾波器設計方法已經(jīng)很成熟,設計出的濾波器具有運算項數(shù)少的優(yōu)點。而對于FIR數(shù)字濾波器的設計方法,其一主要借助于加各種窗函數(shù)來實現(xiàn),其二通過頻率采樣實現(xiàn)。
2 累試法設計數(shù)字濾波器的思路及原則
所謂累試法就是直接利用軟件,在Z平面上反復多次設置濾波器的零、極點,觀察幅頻、相位特性是否滿足預先設定的技術指標,如果滿足技術指標,則軟件輸出濾波器的系統(tǒng)函數(shù)和濾波器的結構,否則還繼續(xù)在Z平面上設置零、極點,直到滿足技術要求為止。這種設計濾波器的思想與成熟的設計方法是一致的,其實質是一個逐步逼近的過程。
根據(jù)文獻可知系統(tǒng)函數(shù)受系統(tǒng)的零、極點的影響。而零點在相應頻率處產(chǎn)生谷值,極點產(chǎn)生峰值。并且零點離單位圓越近陷落越深,極點離單位圓越近,則波峰越陡峭,同樣地,在相同位置設置的零點、極點越多,能達到的陡峭效果越好。根據(jù)這個思路,可以在Z平面上選擇零、極點,當系統(tǒng)幅度特性滿足設計指標,由零、極點來確定系統(tǒng)函數(shù),從而確定濾波器的結構。按照這種方法設計應遵循以下的原則:
(1)設置零、極點時主要考慮濾波器是何種類型。如果設計FIR類型,不設置極點,只設置零點,這樣的濾波器為非遞歸型。一旦設置了極點有可能使濾波器變成遞歸型的。
(2)如果要濾除某一頻率,則可以在相應數(shù)字頻率處設置一零點;相反,則可以設置一極點。
(3)根據(jù)濾波器的穩(wěn)定條件,極點應該設置在單位圓的內部。
(4)為了便于實現(xiàn)濾波器的結構,零、極點應該成對設置(零、極點在實軸上除外),所謂成對設置就是一對零點應該是共軛的,對于極點同樣如此。
(5)要使某頻率處陷落越深或波峰越陡峭,則可以在相應位置多設置幾個零點或極點。
(6)所謂低頻是指在0附近,高頻這在π附近,數(shù)字頻率范圍為O~2π。
(7)零點z與其關于圓周對稱點具有相同的濾波效應。
(8)由于系統(tǒng)函數(shù)單位圓外的極點zk用代替不影響系統(tǒng)的幅頻特性,相頻特性有所不同。因此當遇到系統(tǒng)涉及單位圓外部極點時,可以用其單位圓內部鏡像極點代替。
(9)在同點分別選擇一個零點和一個極點,存在零極點對消現(xiàn)象,對系統(tǒng)沒有影響。
3 軟件實現(xiàn)與應用
軟件設計要求是便于操作、能夠用鼠標、鍵盤輸入零、極點;能顯示頻譜和相位特性;能夠輸出傳輸函數(shù)和結構。而Visual Basic 6.O屬于可視化編程,編程思路較為簡單,易于實現(xiàn)。
3.1 計算機輔助設計界面
計算機輔助設計系統(tǒng)界面參數(shù)設置方便直觀,便于分析和理解。其界面如圖l所示。計算機輔助設計的界面主要由文本框、組合框、圖像框組成。其中4個文本框用來設置零、極點的實部、虛部,在文本框中輸入相應數(shù)據(jù)后,按零點輸入按鈕輸入零點,此時會在下面的圖像框中相應位置顯示一個小圓圈,表示在該處選擇了一個零點;也可以按下“選擇零點”,直接用鼠標在下面的z平面單擊鼠標左鍵,也選擇了一個零點。對于極點輸入同上述,用“+”表示選擇了極點。這時可以按下右邊按鈕控件“頻譜特性”,則會在右上邊的幅頻特性圖像框中顯示系統(tǒng)的幅頻特性,同理按下“相位特性”則會顯示相頻特性。如果滿足設計要求則按下“濾波器的數(shù)學模型”,會彈出一個對話框,里面顯示了系統(tǒng)的傳輸函數(shù);如果按下“濾波器結構”,則彈出系統(tǒng)的結構圖。
3.2 應用實例
例1:設置一個帶通濾波器,帶通中心頻率為ω0=π/2,ω=0,π時,幅度衰減為0。
確定極點為用軟件在Z平面上選擇零、極點,得到的幅度特性和相位特性如圖2,圖3所示。其幅頻特性與參考文獻一致。
鼠標單擊“濾波器的數(shù)學模型”,便得到系統(tǒng)函數(shù)
例2:設計一梳狀濾波器。
設計過程同上,其幅頻特性如圖4所示。
4 結 語
用累試法直接設計數(shù)字濾波器,具有簡單、直觀、快速的優(yōu)點,Visual Basic提供了一種可視界面的設計方法,極大地提高了應用程序開發(fā)的效率。程序運行結果理想,波形直觀。所產(chǎn)生的幅頻特性、相頻特性滿足設計需要,為設計濾波器提供了一種簡單可靠的方法。