臧旭躍 趙河明 郭晨
【摘要】數(shù)字濾波器是數(shù)字信號(hào)處理的一個(gè)重要分支,它的精確度高、使用靈活、可靠性高,具有模擬設(shè)備所沒(méi)有的許多優(yōu)點(diǎn),采用數(shù)字濾波器對(duì)信號(hào)進(jìn)行處理是目前的發(fā)展方向。數(shù)字濾波器可分為IIR和FIR兩大類(lèi),本文根據(jù)模擬濾波器的設(shè)計(jì)原理,提出了基于MATLAB的數(shù)字濾波器的設(shè)計(jì)與仿真,并在MATLB環(huán)境下實(shí)現(xiàn) 了FIR數(shù)字濾波器的仿真,通過(guò)分析可知所設(shè)計(jì)的濾波器符合我所提出的技術(shù)指標(biāo)。
【關(guān)鍵詞】模擬濾波器; MATLAB;FIR數(shù)字濾波器
1.引言
數(shù)字FIR(Finite Impulse Response)濾波器[1]指有限脈沖響應(yīng)數(shù)字濾波器,這是一種數(shù)字型信號(hào)處理領(lǐng)域中應(yīng)用非常廣泛的基礎(chǔ)性濾波器元件,數(shù)字FIR濾波器的特點(diǎn)是能夠在輸入具有任意幅頻特性的數(shù)字信號(hào)后,保證輸出數(shù)字信號(hào)的相頻特性任然保持嚴(yán)格線性。另外FIR數(shù)字濾波器具有有限長(zhǎng)的脈沖采樣響應(yīng)特性,比較穩(wěn)定。因此,F(xiàn)IR濾波器的應(yīng)用要遠(yuǎn)遠(yuǎn)廣于IIR濾波器,在信息傳輸領(lǐng)域、模式識(shí)別領(lǐng)域以及數(shù)字圖像處理領(lǐng)域具有舉足輕重的作用。
數(shù)字FIR濾波器的工作原理[2]:模擬信號(hào)首先經(jīng)由A/D轉(zhuǎn)換器件(逐次逼近型A/D轉(zhuǎn)換器速度較快)被轉(zhuǎn)換成數(shù)字信號(hào),進(jìn)入濾波器進(jìn)行處理后,形成一長(zhǎng)串?dāng)?shù)據(jù)序列,如果需要的話將該數(shù)據(jù)序列輸入到外接D/A轉(zhuǎn)換器,轉(zhuǎn)換成模擬信號(hào)使用。
圖1 FIR濾波器的工作原理
2.數(shù)字FIR濾波器的設(shè)計(jì)指標(biāo)
在設(shè)計(jì)一個(gè)濾波器之前,必須首先確定一些技術(shù)指標(biāo)。這些技術(shù)指標(biāo)需要根據(jù)工程實(shí)際的需要來(lái)制定。在很多實(shí)際應(yīng)用中,數(shù)字濾波器常常被用來(lái)實(shí)現(xiàn)選頻操作。因此,指標(biāo)的形式一般確定為頻域中幅度和相位響應(yīng)。幅度指標(biāo)主要以?xún)煞N方式給出[3],第一種是絕對(duì)指標(biāo),它提供對(duì)幅度響應(yīng)函數(shù)的要求,這些指標(biāo)一般應(yīng)用于FIR濾波器的設(shè)計(jì);第二種指標(biāo)是相對(duì)指標(biāo),它以分貝值的形式給出要求,在工程實(shí)際中,這種指標(biāo)最受歡迎。對(duì)于相位響應(yīng)指標(biāo)形式,通常希望系統(tǒng)在通頻帶中具有線性相位。運(yùn)用相位響應(yīng)指標(biāo)進(jìn)行濾波器設(shè)計(jì)具有如下優(yōu)點(diǎn):只包含實(shí)數(shù)算法,不涉及復(fù)數(shù)運(yùn)算;只存在延遲失真,只有固定數(shù)量的延遲;長(zhǎng)度為M的濾波器(階數(shù)為M-1),它的計(jì)算量為M/2數(shù)量級(jí)。
3.數(shù)字FIR濾波器的設(shè)計(jì)思想與設(shè)計(jì)步驟
有限長(zhǎng)單位沖激響應(yīng)(FIR)數(shù)字濾波器可以實(shí)現(xiàn)線性相位[25],又可具有任意幅度特性。有限長(zhǎng)FIR數(shù)字濾波器的設(shè)計(jì)方法主要是窗函數(shù)設(shè)計(jì)法。窗函數(shù)設(shè)計(jì)法是一種通過(guò)截短和計(jì)權(quán)的方法使無(wú)限長(zhǎng)非因果序列成為有限長(zhǎng)脈沖響應(yīng)序列的設(shè)計(jì)方法。通常在設(shè)計(jì)濾波器之前,應(yīng)該先根據(jù)具體的工程應(yīng)用確定濾波器的技術(shù)指標(biāo)。在大多數(shù)實(shí)際應(yīng)用中,數(shù)字濾波器常常被用來(lái)實(shí)現(xiàn)選頻操作,所以指標(biāo)的形式一般為在頻域中以分貝值給出的相對(duì)幅度響應(yīng)和相位響應(yīng)。用窗函數(shù)法設(shè)計(jì)FIR濾波器的基本理念是在時(shí)域上將設(shè)計(jì)出的濾波器單位脈沖響應(yīng)函數(shù)盡可能接近理想濾波器單位脈沖響應(yīng)函數(shù)。
設(shè)理想條件下,F(xiàn)IR濾波器的單位脈沖響應(yīng)函數(shù)為[4];
(1)
(2)
但是一個(gè)無(wú)限長(zhǎng)的非因果系統(tǒng),而我們想要的是一個(gè)有限長(zhǎng)的因果濾波器,于是我們使用一個(gè)窗函數(shù)來(lái)截?cái)?,即用一個(gè)合適的窗函數(shù)對(duì)做加窗處理:
(3)
只要窗函數(shù)的長(zhǎng)度和形狀選取合適,我們就可以生成合適的濾波器。
用窗函數(shù)法設(shè)計(jì)FIR濾波器的步驟[5]如下:
(1)根據(jù)過(guò)渡帶寬及阻帶衰減要求,選擇窗函數(shù)的類(lèi)型并估計(jì)窗口長(zhǎng)度N(或階數(shù)M=N-1)。窗函數(shù)類(lèi)型可根據(jù)最小阻帶衰減獨(dú)立選擇,因?yàn)榇翱陂L(zhǎng)度N對(duì)最小阻帶衰減沒(méi)有影響。在確定窗函數(shù)類(lèi)型以后,可根據(jù)過(guò)渡帶寬小于給定指標(biāo)確定所擬用的窗函數(shù)的窗口長(zhǎng)度N。設(shè)待求濾波器的過(guò)渡帶寬為,它與窗口長(zhǎng)度N近似成反比。窗函數(shù)類(lèi)型確定后,其計(jì)算公式也確定了,不過(guò)這些公式是近似的,得出的窗口長(zhǎng)度還要在計(jì)算中逐步修正。原則是在保證阻帶衰減滿足要求的情況下,盡量選擇較小的N。在和窗函數(shù)類(lèi)型確定后,即可調(diào)用MATLAB中的窗函數(shù)求出窗函數(shù)。
(2)根據(jù)待求濾波器的理想頻率響應(yīng)求出理想單位脈沖響應(yīng)。如果給出待求濾波器的頻率響應(yīng)為, 在一般情況下,是不能用封閉公式表示的,需要采用數(shù)值方法表示。從采樣N點(diǎn),采用離散傅里葉反變換(IDFT)即可求出。
(3)計(jì)算濾波器的單位脈沖響應(yīng)。它是理想單位脈沖響應(yīng)和窗函數(shù)的乘積,即:
(4)
在MATLAB中用點(diǎn)乘命令表示為:
(5)
(4)驗(yàn)算技術(shù)指標(biāo)是否滿足要求。為了計(jì)算數(shù)字濾波器在頻域中的特性,可調(diào)用freqz子程序,如果不滿足要求,可根據(jù)具體情況,調(diào)整窗函數(shù)類(lèi)型或長(zhǎng)度,直到滿足要求為止。
4.FIR濾波器程序設(shè)計(jì)
設(shè)帶通FIR濾波器的頻率響應(yīng)為:
(6)
(1)用凱澤窗函數(shù)設(shè)計(jì)一個(gè)長(zhǎng)度的帶通濾波器,其通帶最大衰減為;其阻帶最小衰減為,源程序如下:
圖2 設(shè)計(jì)(1)源程序
圖3 設(shè)計(jì)(1)源程序
圖4 設(shè)計(jì)(1)源程序
程序在MATLAB環(huán)境下的運(yùn)行及結(jié)果如圖5所示。
圖5 設(shè)計(jì)(1)的結(jié)果圖
運(yùn)行上面程序的M文件,得到的結(jié)果為:線性相位斜率為5.6533;同時(shí)得到如圖5.1所示的圖形結(jié)果。從計(jì)算結(jié)果可知,參數(shù)刀=5.6533。從圖5.1還可以看出最小阻帶衰減小于60dB,因此需要增加刀使得衰減增至60dB。
(2)設(shè)計(jì)一個(gè)具有如下指標(biāo)的低通FIR濾波器;;;因?yàn)橐笏p阻帶,所以可以選擇海明窗和布萊克曼窗,現(xiàn)在一海明窗為例實(shí)現(xiàn)。原程序如圖6所示。
圖6 設(shè)計(jì)(2)源程序
程序在MATLAB環(huán)境下的運(yùn)行及結(jié)果如圖7所示:
圖7 設(shè)計(jì)(2)的結(jié)果圖
圖8 設(shè)計(jì)(2)的結(jié)果圖
如圖8所示,該函數(shù)很好地實(shí)現(xiàn)了所提出的技術(shù)要求。
5.結(jié)論
從本文的分析和設(shè)計(jì)可以看出,使用窗函數(shù)法進(jìn)行設(shè)計(jì)的最大優(yōu)勢(shì)為簡(jiǎn)單實(shí)用性很強(qiáng),因?yàn)槠湓O(shè)計(jì)出的FIR濾波器的頻域特性很容易滿足設(shè)計(jì)要求,F(xiàn)IR濾波器的沖激響應(yīng)是有限長(zhǎng)序列,其系統(tǒng)函數(shù)為一個(gè)多項(xiàng)式,它所含的極點(diǎn)多為原點(diǎn),所以FIR濾波器永遠(yuǎn)是穩(wěn)定的。但該方法的缺點(diǎn)往往在大多數(shù)設(shè)計(jì)結(jié)果里,我們所設(shè)計(jì)的濾波器的頻率響應(yīng)的邊界頻率條件往往不能?chē)?yán)格控制。
參考文獻(xiàn)
[1]陳后金,數(shù)字信號(hào)處理[M].北京:高等教育出版社,2004:124-177.
[2]蔣志凱.數(shù)字濾波與卡爾曼濾波[M]北京:中國(guó)科學(xué)技術(shù)出版社,1993:1-2.
[3]韓得竹,王華.MATLAB電子仿真與應(yīng)用[M].國(guó)防工業(yè)出版社,2001.
[4]M.S.Lobo,L.Vandenberghe,S.Boyd,H.Lebret.Second-Order Cone Programming[J].Linear Algebraand its Applications,1998,284(1-3):193-228.
[5]L.Vandenberghe,S.Boyd.Semidefiniteprogramming[J].SIAM review,1996,38(1):49-95.