陳 真, 王 釗
(中國石油大學(xué)(華東) 信息與控制工程學(xué)院, 山東 青島 266580)
?
IIR數(shù)字濾波器的仿真設(shè)計與分析
陳真, 王釗
(中國石油大學(xué)(華東) 信息與控制工程學(xué)院, 山東 青島266580)
分析了在Matlab環(huán)境下仿真設(shè)計的關(guān)鍵問題,提出了利用模擬濾波器和基于Matlab設(shè)計IIR數(shù)字濾波器的實現(xiàn)步驟和方法,并以脈沖響應(yīng)不變法和雙線性變換法進行巴特沃思濾波器低通濾波器仿真設(shè)計作為案例,進行了效果對比分析。仿真結(jié)果表明,所設(shè)計的IIR數(shù)字濾波器完全滿足技術(shù)指標(biāo)的要求,該設(shè)計通過頻率變換可以進一步實現(xiàn)高通、帶通等其他所需類型的數(shù)字濾波器。
濾波器設(shè)計;IIR數(shù)字濾波器; 仿真設(shè)計; 巴特沃斯濾波器;Matlab
數(shù)字濾波器具有精度高、穩(wěn)定性和靈活性好、處理功能強等優(yōu)點,是數(shù)字信號分析中廣泛應(yīng)用的工具之一。根據(jù)離散系統(tǒng)的時域特性,數(shù)字濾波器分為無限沖激響應(yīng)濾波器(IIR濾波器)和有限沖激響應(yīng)濾波器(FIR濾波器)兩大類。IIR數(shù)字濾波器常用來設(shè)計頻率特性為分段常數(shù)的濾波器,可以用較少的階數(shù)獲得相同的技術(shù)指標(biāo)。借助于原型模擬濾波器的設(shè)計方法比較方便、高效,主要有脈沖響應(yīng)不變法和雙線性變換法兩種映射方法。其中脈沖響應(yīng)不變法是通過數(shù)字濾波器的單位脈沖響應(yīng)序列h(n)逼近模擬濾波器的沖激響應(yīng)ha(t)實現(xiàn)的;雙線性變換法是臨界頻率預(yù)畸變后通過正切變換實現(xiàn)的[1-2]。通過分析總結(jié)IIR數(shù)字濾波器設(shè)計的關(guān)鍵問題[3-12],提出了基于Matlab的IIR數(shù)字濾波器的設(shè)計步驟和編程實現(xiàn)方法。
實際應(yīng)用中的數(shù)字濾波器有低通、高通、帶通和帶阻等類型。歸一化的原型模擬低通濾波器通過模擬頻帶變換可以變換成其他所需類型的模擬濾波器,再通過脈沖響應(yīng)不變法或雙線性變換法數(shù)字化為所需類型的數(shù)字濾波器。
首先,根據(jù)數(shù)字低通濾波器的性能要求設(shè)計模擬低通濾波器,然后通過脈沖響應(yīng)不變法或雙線性變換法將其數(shù)字化為所需的數(shù)字低通濾波器。在Matlab中與IIR濾波器設(shè)計相關(guān)的函數(shù)包括:模擬濾波器原型的產(chǎn)生函數(shù),如巴特沃思(Butterworth);模擬濾波器轉(zhuǎn)換為數(shù)字濾波器的沖激響應(yīng)不變函數(shù)impinvar和雙線性變換函數(shù)bilinear;模擬IIR濾波器的階數(shù)選擇函數(shù)(如buttord函數(shù))等。以巴特沃思濾波器為例,其設(shè)計步驟及相關(guān)函數(shù)如圖1所示,說明如下。

圖1 巴特沃思濾波器設(shè)計步驟及相關(guān)函數(shù)
(1) 巴特沃思濾波器設(shè)計函數(shù)[B,A]=butter(N,Wn,options)返回一個用有理分式表示的低通數(shù)字濾波器系統(tǒng)函數(shù)的分子分母系數(shù)向量B和A。
(2) 巴特沃思濾波器階次選擇函數(shù)[N,Wn]=buttord(Wp,Ws,Rp,Rs,‘s’)或[N,Wn]=buttord(Wp,Ws,Rp,Rs)得到了實現(xiàn)該頻域指標(biāo)要求的巴特沃思低通濾波器最低階次N和3dB截止頻率Wn。
(3) 沖激響應(yīng)不變函數(shù)[Bz,Az]=impinvar(Bs,As,fs)將模擬濾波器的[Bs,As]轉(zhuǎn)換成了實際采樣頻率為fs的數(shù)字濾波器的[Bz,Az]。
(4) 雙線性變換函數(shù)[Bz,Az]=bilinear(Bs,As,fs)將模擬濾波器的[Bs,As]轉(zhuǎn)換成實際采樣頻率為fs的數(shù)字濾波器的[Bz,Az]。
(5)freqz函數(shù)可以得到數(shù)字濾波器的頻率響應(yīng)H(z)。
2.1歸一化頻率
在數(shù)字濾波器函數(shù)的頻域指標(biāo)中,所有頻率都以Nyquist頻率進行歸一化,即采樣頻率的1/2。歸一化頻率f應(yīng)滿足0 2.2階次選擇函數(shù)buttord的應(yīng)用 巴特沃思濾波器階次選擇函數(shù)[N,Wn]=buttord(Wp,Ws,Rp,Rs,‘s’)用于模擬濾波器設(shè)計,Wp,Ws單位為rad/s。[N,Wn]=buttord(Wp,Ws,Rp,Rs)用于數(shù)字濾波器設(shè)計。以設(shè)計一個數(shù)字帶通濾波器為例,通帶為1 000~2 000Hz,阻帶分別為500Hz和2 500Hz,設(shè)采樣率為10kHz,通帶起伏為1dB,阻帶最小衰減為60dB,分析后選用用于數(shù)字濾波器設(shè)計的函數(shù)形式[N,Wn]=buttord(Wp,Ws,Rp,Rs),即 [N,Wn]=buttord([1000 2000]/5000,[500 2500]/5000,1,60) 得到:N=12,Wn=0.195 1, 0.408 0 由[B,A]=butter(N,Wn)得到滿足設(shè)計指標(biāo)要求的最小階次巴特沃思帶通濾波器,其幅頻響應(yīng)曲線如圖2所示。Matlab中仿真設(shè)計的具體實現(xiàn)如下: [N,Wn]=buttord([1000 2000]/5000,[500 2500]/5000,1,60); [B,A]=butter(N,Wn); [h2,w1]=freqz(B,A,10000); f1=w1/pi*5000; plot(f1,(abs(h2)),′-′); grid; xlabel(′頻率/Hz′); ylabel(′幅度/dB′); legend(′幅頻響應(yīng)曲線′,0); 圖2 數(shù)字帶通濾波器幅頻曲線 2.3設(shè)計函數(shù)butter的應(yīng)用 應(yīng)用巴特沃思濾波器設(shè)計函數(shù)[B,A]=butter(3,Wn,′s′)得到兩種設(shè)計方法的頻響曲線如圖3所示,可見采用脈沖響應(yīng)不變法設(shè)計的濾波器由于從s平面到z平面不是一一映射關(guān)系,所以產(chǎn)生了混疊失真現(xiàn)象,而雙線性變換法則避免了混疊問題。Matlab中采用脈沖響應(yīng)不變法和雙線性變換法的三階巴特沃思數(shù)字低通濾波仿真設(shè)計的具體實現(xiàn)如下: [B,A]=butter(3,2*pi*1000,′s′); [num1,den1]=impinvar(B,A,4000); [h1,w]=freqz(num1,den1); [B,A]=butter(3,8000,′s′); [num2,den2]=bilinear(B,A,4000); [h2,w1]=freqz(num2,den2); f=w/pi*2000; f1=w1/pi*2000; plot(f,(abs(h1)),′-.′,f1,(abs(h2)),′-′); grid; xlabel(′頻率/Hz′); ylabel(′幅度/dB′); legend(′脈沖響應(yīng)不變法′,′雙線性變換法′,0); 保持其他設(shè)計指標(biāo)要求不變,采樣頻率分別取fs=3kHz和fs=5kHz巴特沃思數(shù)字低通濾波器幅頻響應(yīng)對比曲線如圖4、圖5所示。仿真結(jié)果表明,采樣頻率越高,脈沖響應(yīng)不變法產(chǎn)生的頻率混疊效應(yīng)越小,雙線性變換法則避免了頻率混疊效應(yīng)。 圖3 兩種設(shè)計方法的幅頻曲線 圖4 脈沖響應(yīng)不變法不同fs幅頻曲線 保持其他設(shè)計指標(biāo)要求不變,三階、五階和七階巴特沃思數(shù)字低通濾波器幅頻響應(yīng)對比曲線如圖6所示。仿真結(jié)果表明,階次越高,脈沖響應(yīng)不變法產(chǎn)生的頻率混疊效應(yīng)越小。 圖5 雙線性變換法不同fs幅頻曲線 圖6 脈沖響應(yīng)不變法不同階次幅頻曲線 由于歸一化的原型模擬低通濾波器通過模擬頻帶變換,可以變換成其他所需類型的模擬濾波器,這里選用脈沖響應(yīng)不變法和雙線性變換法設(shè)計巴特沃思數(shù)字低通濾波器作為設(shè)計案例。 案例1:分別用脈沖響應(yīng)不變法和雙線性變換法設(shè)計巴特沃思數(shù)字低通濾波器,性能指標(biāo)要求為:通帶邊界頻率為0.2kHz,通帶波動為1dB,阻帶邊界頻率為0.3kHz,最小阻帶衰減25dB,采樣周期為1ms。 根據(jù)前述設(shè)計步驟及相關(guān)函數(shù)設(shè)計巴特沃思數(shù)字低通濾波器的幅頻特性曲線如圖7所示,仿真結(jié)果表明其帶寬和衰減量滿足性能指標(biāo)的設(shè)計要求。 Matlab中仿真設(shè)計的具體實現(xiàn)如下: fc=200; fr=300; fs=1000; T=1/fs; delt=1; At=25; wc=2*pi*200; wt=2*pi*300; [N,wn]=buttord(wc,wt,delt,At,′s′); [B,A]=butter(N,wn,′s′); [num1,den1]=impinvar(B,A,fs);% 脈沖響應(yīng)不變法 [h1,W]=freqz(num1,den1); wc=2*fs*tan(pi*fc/fs); wt=2*fs*tan(pi*fr/fs); [N,Wn]=buttord(wc,wt,delt,At,′s′); [B,A]=butter(N,wn,′s′); [num2,den2]=bilinear(B,A,fs);% 雙線性變換法 [h2,w]=freqz(num2,den2); f=w/pi*500; plot(f,(abs(h1)),′-.′,f,(abs(h2)),′-′); grid; xlabel(′頻率/Hz′); ylabel(′幅度/dB′);legend(′脈沖響應(yīng)不變法′,′雙線性變換法′,0); 圖7 巴特沃思數(shù)字低通濾波器的幅頻特性曲線 案例2:不同采樣頻率對比。 案例1中采樣周期分別取1ms和1.5ms,設(shè)計的巴特沃思數(shù)字低通濾波器的對比幅頻特性曲線如圖8、圖9所示。仿真結(jié)果表明,對于脈沖響應(yīng)不變法,采樣頻率越高,頻率混疊效應(yīng)越小,對于雙線性變換法無頻率混疊效應(yīng)。 圖8 脈沖響應(yīng)不變法不同采樣周期幅頻曲線 圖9 雙線性變換法不同采樣周期幅頻曲線 應(yīng)用脈沖響應(yīng)不變法和雙線性變換法設(shè)計的基于Matlab的IIR數(shù)字濾波器不僅具有精度高、穩(wěn)定性和靈活性好、處理功能強等數(shù)字濾波器的諸多優(yōu)點,而且高效、方便,較少的階數(shù)就可以滿足設(shè)計指標(biāo)的要求。仿真設(shè)計的案例效果對比分析證明了該設(shè)計方法可行、有效。 References) [1] 吳鎮(zhèn)揚.數(shù)字信號處理[M].北京:高等教育出版社,2004. [2] 高西全,丁美玉.數(shù)字信號處理[M].3版.西安:西安電子科技大學(xué)出版社,2008. [3] 叢玉良,王宏志,趙曉暉.數(shù)字信號處理原理及其MATLAB實現(xiàn)[M].2版.北京:電子工業(yè)出版社,2009. [4] 劉興,張鶴.基于Matlab的IIR數(shù)字濾波器的設(shè)計與仿真分析[J].機電設(shè)備,2015(5):68-72. [5] 陳忠澤,鄧賢君.IIR數(shù)字濾波器設(shè)計中兩種方法的比較[J].數(shù)字技術(shù)與應(yīng)用,2010(6):23-24. [6] 謝海霞,孫志雄.IIR濾波器的DSP實現(xiàn)[J].電子器件,2013,36(2):194-196. [7] 焦明濤,華宇,歐陽迪寶,等.一種IIR濾波器的FPGA設(shè)計與仿真[J].時間頻率學(xué)報,2012,35(3):156-162 [8] 肖閩進.IIR數(shù)字濾波器的FPGA快速實現(xiàn)[J].常州工學(xué)院學(xué)報,2015,28(4):21-24. [9] 謝小娟,馮友宏,何國棟,等.IIR數(shù)字濾波器設(shè)計中兩種主要數(shù)字化方法的比較[J].山西電子技術(shù),2013(1):26-28. [10] 黃麗薇,鄭英,王迷迷,等.IIR數(shù)字濾波器的研究與設(shè)計[J].信息技術(shù),2015(9):187-190. [11] 嚴(yán)慧.基于Matlab的IIR數(shù)字濾波器設(shè)計[J].軟件導(dǎo)刊,2013,12(1):110-113. [12] 王大偉,賈榮叢,王劃一.基于Matlab的巴特沃斯濾波器設(shè)計[J].現(xiàn)代電子技術(shù),2012,35(21):71-72. DesignandanalysisofsimulationofIIRdigitalfilter ChenZhen,WangZhao (CollegeofInformationandControlEngineering,ChinaUniversityofPetroleum,Qingdao266580,China) AnalyzingthekeyproblemsofthesimulationdesignintheMatlabenvironment,theimplementationstepsandmethodsoftheIIRdigitalfilterdesignareproposedbyuseoftheanalogfilterdesignbasedonMatlab.TakingthesimulationdesignofalowpassButterworthfilterasanexample,theeffectisanalyzedandcontrasted.ThesimulationresultsshowthatthedesignedIIRdigitalfiltercancompletelysatisfytherequirementsoftechnicaltargets.Bythefrequencytransformation,thehigh-pass,band-pass,andotherrequiredtypedigitalfilterscanberealizedfurther. designoffilter;IIRdigitalfilter;simulationdesign;Butterworthfilter;Matlab DOI:10.16791/j.cnki.sjg.2016.07.029 2016-01-06 山東省優(yōu)秀中青年科學(xué)家科研獎勵基金項目(BS2011DX040);中央高校基本科研業(yè)務(wù)費專項資金項目(11CX04045A) 陳真(1975—),女,山東濰坊,碩士,高級工程師,主要研究方向為信號處理、模式識別、人工智能. E-mail:chen_zhen_09@163.com TP391 A 1002-4956(2016)7-0122-04





3 應(yīng)用案例及分析



4 結(jié)語