1 引 言
數(shù)字濾波器是數(shù)字信號(hào)處理的基礎(chǔ),用來對信號(hào)進(jìn)行過濾、檢測與參數(shù)估計(jì)等處理,在通信、圖像、語音、雷達(dá)等許多領(lǐng)域都有著十分廣泛的應(yīng)用。尤其在圖像處理、數(shù)據(jù)壓縮等方面取得了令人矚目的進(jìn)展和成就。鑒于此,數(shù)字濾波器的設(shè)計(jì)就顯得尤為重要。
目前數(shù)字濾波器的設(shè)計(jì)有許多現(xiàn)成的高級(jí)語言設(shè)計(jì)程序,但他們都存在設(shè)計(jì)效率較低,不具有可視圖形,不便于修改參數(shù)等缺點(diǎn),而Matlab為數(shù)字濾波的研究和應(yīng)用提供了一個(gè)直觀、高效、便捷的利器。他以矩陣運(yùn)算為基礎(chǔ),把計(jì)算、可視化、程序設(shè)計(jì)融合到了一個(gè)交互式的工作環(huán)境中。尤其是Matlab工具箱使各個(gè)領(lǐng)域的研究人員可以直觀方便地進(jìn)行科學(xué)研究與工程應(yīng)用。其中的信號(hào)處理工具箱、圖像處理工具箱、小波工具箱等更是為數(shù)字濾波研究的蓬勃發(fā)展提供了可能。
本文主要介紹基于Matlab環(huán)境的IIR數(shù)字濾波器的設(shè)計(jì),然后將設(shè)計(jì)結(jié)果應(yīng)用于圖像處理,針對處理結(jié)果進(jìn)一步分析了濾波器性能的優(yōu)劣。
2 IIR數(shù)字濾波器的設(shè)計(jì)
IIR數(shù)字濾波器最大的優(yōu)點(diǎn)是給定一組指標(biāo)時(shí),他的階數(shù)要比相同組的FIR濾波器的低得多;贛atlab的IIR濾波器的設(shè)計(jì)方法主要有完全設(shè)計(jì)法、模擬原型設(shè)計(jì)法和直接設(shè)計(jì)法等。
2.1 模擬原型法
采用經(jīng)典低通濾波器作為連續(xù)域上的設(shè)計(jì)模型,通過頻域變換得到IIR數(shù)字濾波器,最后還要進(jìn)行離散化處理。Matlab提供的低通模擬濾波器原型函數(shù)包括:besselap,buttap,cheb1lp,cheb2ap,ellipap;頻域變換函數(shù)包括:lp2bp,lp2bs,lp2hp,lp2lp;離散化處理函數(shù)有bilinear和impinvar。
2.2 完全設(shè)計(jì)法
Matlab信號(hào)處理工具箱提供了幾個(gè)直接設(shè)計(jì)IIR數(shù)字濾波器的函數(shù),直接調(diào)用就可以設(shè)計(jì)濾波器,這為設(shè)計(jì)通用濾波器提供了方便。
設(shè)計(jì)Butterworth濾波器用函數(shù)butter(),可以設(shè)計(jì)低通、高通、帶通和帶阻的數(shù)字和模擬濾波器,其特性是通帶內(nèi)的幅度響應(yīng)最大限度的平滑,但損失了截止頻率處的下降斜度。
設(shè)計(jì)Chebyshev I型濾波器用函數(shù)chebyl()?梢栽O(shè)計(jì)低通、高通、帶通和帶阻的數(shù)字和模擬ChebyshevI型濾披器,其通帶內(nèi)為等波紋,阻帶內(nèi)為單調(diào)。Chebyshev I型濾波器的下降斜度比II型大,但其代價(jià)是通帶內(nèi)波紋較大。
設(shè)計(jì)Chebyshev II型濾波器用函數(shù)cheby2()?梢栽O(shè)計(jì)低通、高通、帶通和帶阻的數(shù)字和模擬Chebyshev II型濾波器,其通帶內(nèi)為單調(diào),阻帶內(nèi)等波紋。Chebyshev II型濾波器的下降斜度比I型小,但其阻帶內(nèi)波紋較大。
設(shè)計(jì)橢圓濾波器用函數(shù)ellip(),與cheby1,cheby2類似,可以設(shè)計(jì)低通、高通、帶通和帶阻的數(shù)字和模擬濾波器。與Butterworth和chebyshev濾波器相比,ellip函數(shù)可以得到下降斜度更大的濾波器,得到通帶和阻帶均為等波紋。一般情況下,橢圓濾波器能以最低的階實(shí)現(xiàn)指定的性能指標(biāo)。
2.3 直接設(shè)計(jì)法
直接設(shè)計(jì)方法的思想是基于給定的濾波器參數(shù)直接在離散域上尋找合適的數(shù)字濾波器,他不限于常規(guī)的濾波器類型,如低通、高通、帶通和帶阻等。這種方法甚至可以設(shè)計(jì)多帶的頻率響應(yīng),Matlab提供yulewalk函數(shù)用于輔助設(shè)計(jì)。
2.4 通用Butterworth設(shè)計(jì)方法
使用這種方法設(shè)計(jì)的Butterworth數(shù)字濾波器可以有不同數(shù)目的零點(diǎn)和極點(diǎn),Matlab提供的maxflat函數(shù)實(shí)現(xiàn)了這一功能。這個(gè)函數(shù)與butter函數(shù)很相似,但他可以指定兩個(gè)階參數(shù),其中歸一化和非歸一化各一個(gè)。如果這兩個(gè)參數(shù)的值相同,那么他與butter函數(shù)的結(jié)果就是相同的。
2.5 參數(shù)建模法
尋找接近于所需要設(shè)計(jì)的濾波器的通用模型,時(shí)域上的建模函數(shù)為lpc,prony,Stmcb;頻域上的建模函數(shù)有invfreqs和invfreqz。
3 IIR數(shù)字濾波器的實(shí)現(xiàn)
當(dāng)從設(shè)計(jì)中求得了濾波器H(z)的分子分母系數(shù)向量之后,用filter指令可以實(shí)現(xiàn)對應(yīng)的數(shù)字濾波器;也可通過Simulink建模仿真來實(shí)現(xiàn)濾波器。
(1)用filter指令實(shí)現(xiàn)
(2)用Simulink實(shí)現(xiàn)
首先構(gòu)建Simulink模型:
然后設(shè)置仿真參數(shù):仿真時(shí)間段為0~1 s,求解器采用固定步長的離散求解器,其余參數(shù)采用默認(rèn)值。設(shè)置離散濾波器參數(shù):分子系數(shù)向量[0,1],分母系數(shù)向量[1,-0.8],采樣時(shí)間0.1 s。
再設(shè)置數(shù)據(jù)輸入輸出模塊的參數(shù),輸入變量名為simin,并允許數(shù)據(jù)外插。輸出數(shù)據(jù)為simout,設(shè)定為向量格式,將設(shè)置好的仿真存盤為discretfilter.mdl文件。仿真程序:
(3)理論計(jì)算
由此可見,用filter指令和Simulink建模仿真結(jié)果與理論計(jì)算結(jié)果是一致的。
4 數(shù)字濾波器應(yīng)用于圖像處理
示例:用同一指標(biāo)的低通濾波器對加不同噪聲的同一幅圖像濾波效果的比較。
由濾波效果圖發(fā)現(xiàn),我們設(shè)計(jì)的3階butterworthz低通濾波器在d0(截止頻率)為20時(shí)。對3種噪聲的濾除效果相差不多,都達(dá)到了濾除噪聲的目的,但使圖像均不同程度的模糊。這是因?yàn)樵谝环鶊D像中,圖像的邊緣、圖像中的顆粒噪聲均代表了圖像信號(hào)的高頻分量,而圖像的背景則代表了其低頻分量。用濾波的方法濾除其商頻分最就能去掉噪聲,但同時(shí)使圖像的高頻分量得到衰減,也就是說濾波后圖像變模糊了。當(dāng)然也不難想象,Butterworth低通濾波器的截止頻率越低,圖像信號(hào)的高頻分量損失就越多,濾波后的圖像也就越模糊。
圖3使用的是同一階數(shù)(N=5)不同截止頻率的濾波器對加入鹽椒噪聲的圖像的濾波效果比較。
5 結(jié) 語
綜上所述,利用Matlab的信號(hào)處理工具箱能夠方便快捷地設(shè)計(jì)和實(shí)現(xiàn)各種濾波器,這對于信號(hào)的傳輸和處理有著極其重要的作用。
來源:電子產(chǎn)品世界