摘要:針對(duì)數(shù)字信號(hào)處理課程的重要教學(xué)內(nèi)容——數(shù)字濾波器,具有概念抽象、理論性強(qiáng)、設(shè)計(jì)方法靈活等特點(diǎn),以培養(yǎng)應(yīng)用型人才為出發(fā)點(diǎn),對(duì)課程教學(xué)進(jìn)行了改革與探索,利用MATLAB演示數(shù)字濾波器的設(shè)計(jì)過程,提高了教學(xué)質(zhì)量,取得了較好的教學(xué)效果。
關(guān)鍵詞:教學(xué)改革;數(shù)字信號(hào)處理;應(yīng)用型人才培養(yǎng)
中圖分類號(hào):G642 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1674-9324(2018)18-0207-03
一、引言
數(shù)字信號(hào)處理(Digital Signal Processing,DSP)是應(yīng)用最廣泛、發(fā)展最迅速的學(xué)科之一,是通信工程、電子信息工程等專業(yè)的一門重要的專業(yè)基礎(chǔ)課[1]。數(shù)字濾波器的設(shè)計(jì)是這門課程的重要教學(xué)內(nèi)容,具有概念抽象、理論性強(qiáng)、設(shè)計(jì)方法靈活等特點(diǎn),對(duì)于應(yīng)用型本科高校的學(xué)生來說,由于數(shù)學(xué)基礎(chǔ)比較薄弱,不能很好地掌握這部分內(nèi)容的基本原理、物理意義和設(shè)計(jì)方法,更難將其應(yīng)用于今后的學(xué)習(xí)和工作中。
為了達(dá)到培養(yǎng)應(yīng)用型人才的教學(xué)目標(biāo),筆者對(duì)DSP課程中關(guān)于數(shù)字濾波器設(shè)計(jì)的教學(xué)進(jìn)行了若干教學(xué)改革,根據(jù)因材施教的原則和應(yīng)用性的導(dǎo)向進(jìn)行教學(xué),授課時(shí)淡化公式的數(shù)學(xué)推導(dǎo),僅在必要時(shí)推導(dǎo)一些重要的公式,把概念和結(jié)論講清楚,其余的數(shù)學(xué)內(nèi)容可以讓有興趣的學(xué)生課后自學(xué),同時(shí)著重強(qiáng)調(diào)概念的物理意義、設(shè)計(jì)方法和應(yīng)用領(lǐng)域,做到數(shù)學(xué)概念、物理意義、設(shè)計(jì)應(yīng)用三者并重。教學(xué)中利用MATLAB軟件強(qiáng)大地?cái)?shù)值分析、信號(hào)處理和圖形顯示的功能,將其與數(shù)字濾波器設(shè)計(jì)的教學(xué)相結(jié)合,不僅可以使學(xué)生從繁重的數(shù)學(xué)運(yùn)算與推導(dǎo)中解脫出來,還可以使設(shè)計(jì)達(dá)到最優(yōu)化,從而快速有效地實(shí)現(xiàn)各種數(shù)字濾波器的設(shè)計(jì)、仿真與性能比較。
二、IIR數(shù)字濾波器的教學(xué)
無限長沖激響應(yīng)(Infinite Impulse Response,IIR)濾波器主要有如下幾種類型:巴特沃斯濾波器(Butterworth)、切比雪夫I型濾波器(Chebyshev I)、切比雪夫II型濾波器(Chebyshev II)和橢圓濾波器(Ellipse)[2]。上課時(shí)應(yīng)說明這幾種濾波器在性能上的區(qū)別,以便學(xué)生設(shè)計(jì)濾波器時(shí)根據(jù)性能要求選擇不同類型的濾波器。對(duì)相同的指標(biāo)要求,巴特沃斯濾波器階數(shù)最高,切比雪夫次之,橢圓濾波器階數(shù)最低;當(dāng)階數(shù)相同時(shí),巴特沃斯濾波器過渡帶最寬,橢圓濾波器過渡帶最窄。
IIR數(shù)字濾波器的設(shè)計(jì)結(jié)果是濾波器的系統(tǒng)函數(shù)H(z),設(shè)計(jì)步驟為:首先確定濾波器的階數(shù)N和3dB截止頻率wc,然后得到濾波器系統(tǒng)函數(shù),運(yùn)用MATLAB進(jìn)行設(shè)計(jì)也相應(yīng)地需要調(diào)用兩個(gè)函數(shù)。
設(shè)計(jì)巴特沃斯數(shù)字濾波器:
[N,wc]=butterord(wp,ws,Rp,As);[B,A]=butter
(N,wc,ftype);
設(shè)計(jì)切比雪夫(I型)數(shù)字濾波器:
[N,wc]=cheb1ord(wp,ws,Rp,As);[B,A]=cheby1
(N,Rp,wp,ftype);
設(shè)計(jì)橢圓數(shù)字濾波器:
[N,wc]=ellipord(wp,ws,Rp,As);[B,A]=ellip(N,
Rp,As,wc,ftype);
其中,wp為通帶截止頻率;ws為阻帶截止頻率;Rp為通帶最大衰減;As為阻帶最小衰減;ftype為濾波器類型,ftype=high時(shí),設(shè)計(jì)高通濾波器,ftype=stop時(shí),設(shè)計(jì)帶阻濾波器,省略ftype為低通或帶通濾波器;A、B分別為濾波器系統(tǒng)函數(shù)的分母多項(xiàng)式系數(shù)和分子多項(xiàng)式系數(shù)。講解各個(gè)參數(shù)的含義時(shí)可以引導(dǎo)學(xué)生查閱MATLAB幫助文件,培養(yǎng)學(xué)生觸類旁通的能力。下面通過兩個(gè)案例說明如何運(yùn)用MATLAB進(jìn)行IIR數(shù)字濾波器設(shè)計(jì)的教學(xué)。
例1:設(shè)計(jì)一個(gè)低通數(shù)字濾波器,要求在通帶[0,0.2π]內(nèi)衰減不大于3dB,在阻帶[0.6π,π]內(nèi)衰減不小于40dB,且幅頻特性單調(diào)下降。
解:因?yàn)轭}目要求濾波器的幅頻特性單調(diào)下降,因此選擇巴特沃斯濾波器。MATLAB設(shè)計(jì)程序如下,濾波器幅頻響應(yīng)如圖1所示,從圖1可以看出邊界頻率處的衰減均符合題目指標(biāo)要求。
wp=0.2;ws=0.6;rp=3;rs=40;
[N,wc]=buttord(wp,ws,rp,rs);
[B,A]=butter(N,rp,wc);
hfvt=fvtool(B,A);%畫幅頻響應(yīng)圖
例2:設(shè)計(jì)一個(gè)數(shù)字低通濾波器,要求濾波器階數(shù)最低。等效的模擬低通濾波指標(biāo)是fp=100Hz,ap=1dB,fs=250Hz,as=60dB,采樣周期T=1ms。
解:因?yàn)轭}目要求濾波器的幅頻特性單調(diào)階數(shù)最低,因此選擇橢圓濾波器。MATLAB設(shè)計(jì)程序如下,濾波器幅頻響應(yīng)如圖2所示,從圖2可以看出邊界頻率處的衰減均符合題目指標(biāo)要求。
fp=100;fs=250;T=0.001;
wp=2*fp*T;ws=2*fs*T;
rp=1;rs=60;
[N,wc]=ellipord(wp,ws,rp,rs);
[B,A]=ellip(N,rp,rs,wc);
hfvt=fvtool(B,A);
以上詳細(xì)介紹了利用MATLAB設(shè)計(jì)兩種IIR數(shù)字低通濾波器的方法,兩者的幅頻特性圖直觀地展示了巴特沃斯和橢圓濾波器的不同特點(diǎn),給學(xué)生留下了深刻的印象。該方法也可以推廣到IIR高通、帶通和帶阻數(shù)字濾波器的設(shè)計(jì)。在教學(xué)中利用MATLAB仿真軟件演示數(shù)字濾波器的設(shè)計(jì)過程,可以幫助學(xué)生深入理解數(shù)字濾波器的基本理論和設(shè)計(jì)方法。
三、FIR數(shù)字濾波器的教學(xué)
有限長沖激響應(yīng)(Finite Impulse Response,F(xiàn)IR)濾波器的設(shè)計(jì)結(jié)果是濾波器的單位脈沖響應(yīng)h(n),設(shè)計(jì)方法主要有兩種:窗函數(shù)法和等波紋最佳一致逼近法。窗函數(shù)法的逼近誤差在整個(gè)頻域分布極不均勻,在誤差最小的頻段往往遠(yuǎn)遠(yuǎn)優(yōu)于指標(biāo)。指標(biāo)相同時(shí)等波紋最佳一致逼近法使濾波器的階數(shù)最低,階數(shù)相同時(shí)使最大逼近誤差最小,即通帶最大衰減最小,阻帶最小衰減最大。
窗函數(shù)法的基本步驟:首先根據(jù)阻帶最小衰減選擇窗函數(shù)的類型,然后根據(jù)過渡帶寬度確定所選窗函數(shù)的長度,再調(diào)用MATLAB函數(shù)的fir1實(shí)現(xiàn)FIR數(shù)字濾波器的設(shè)計(jì):hn=fir1(N,wc,ftype,window);N為濾波器階數(shù),等于窗長度減一;wc為過渡帶中心頻率,對(duì)π歸一化的數(shù)字頻率;ftype為濾波器類型;window為窗函數(shù)類型,常用的窗函數(shù)有海明窗(Hamming)、漢寧窗(Hanning)、布萊克曼窗(Blackman)等。上課時(shí)應(yīng)重點(diǎn)講解如何根據(jù)設(shè)計(jì)指標(biāo)選擇窗函數(shù)。
等波紋最佳一致逼近法可以利用MATLAB函數(shù)的remezord和remez來實(shí)現(xiàn):[N,fo,mo,w]=remezord(f,m,rip,F(xiàn)s);hn=remez(N,fo,mo,w,ftype).
其中,f為邊界頻率向量;m為與f對(duì)應(yīng)的幅度向量;rip為各逼近頻段允許的波紋振幅(幅頻響應(yīng)偏差);Fs為采樣頻率(省略時(shí)默認(rèn)為2Hz);w為誤差加權(quán)向量。
下面通過一個(gè)案例說明如何運(yùn)用MATLAB進(jìn)行FIR數(shù)字濾波器設(shè)計(jì)的教學(xué)。
例:用窗函數(shù)法和等波紋最佳一致逼近法設(shè)計(jì)一個(gè)FIR帶通濾波器,要求:阻帶下截止頻率ωls=0.2π,阻帶上截止頻率ωus=0.8π,通帶下截止頻率ωlp=
0.35π,通帶上截止頻率ωup=0.65π,通帶最大衰減 ap=1dB,阻帶最小衰減as=60dB。比較兩種方法的設(shè)計(jì)結(jié)果有何不同。
解:(1)窗函數(shù)法的關(guān)鍵在于正確選擇窗函數(shù)的類型,因?yàn)樽鑾ё钚∷p為60dB,因此只能選擇布萊克曼窗。MATLAB設(shè)計(jì)程序如下:濾波器的單位脈沖響應(yīng)和幅頻響應(yīng)如圖3所示,從圖3可以看出濾波器的階數(shù)為80,通帶性能指標(biāo)和題目要求較為接近,而阻帶最小衰減比題目要求多了10dB左右。
wls=0.2*pi;wlp=0.35*pi;wup=0.65*pi;
B=wlp-wls; % 過渡帶寬
N=ceil(12*pi/B); % 選擇blackman窗(過渡帶寬12*pi/N)
wc=[wlp/pi-6/N,wup/pi+6/N];
hn=fir1(N-1,wc,blackman(N));
(2)等波紋最佳一致逼近法的MATLAB設(shè)計(jì)程序如下:濾波器的單位脈沖響應(yīng)和幅頻響應(yīng)如圖4所示,從圖4可以看出濾波器的幅頻響應(yīng)在通帶和阻帶都是等波紋的,濾波器的階數(shù)為28,比窗函數(shù)法的設(shè)計(jì)結(jié)果(80階)要低得多,而且等波紋最佳一致法設(shè)計(jì)的性能指標(biāo)比較接近題目要求,使最大逼近誤差最小化。通過圖3和圖4的比較,直觀地展示了窗函數(shù)法和等波紋最佳一致逼近法的不同性能,大大增強(qiáng)了學(xué)生對(duì)抽象概念和設(shè)計(jì)方法的理解。
f=[0.2,0.35,0.65,0.8];m=[0,1,0];rp=1;rs=60;
deta1=(10^(rp/20)-1)/(10^(rp/20)+1);
deta2=10^(-rs/20);
rip=[deta2,deta1,deta2];
[N,fo,mo,w]=remezord(f,m,rip);
N=N+2;% remezord估算的階數(shù)偏小,需要調(diào)整
hn=remez(N,fo,mo,w);
四、結(jié)語
筆者根據(jù)應(yīng)用型本科高校人才培養(yǎng)的目標(biāo)和需求,將MATLAB仿真引入DSP課程教學(xué),利用MATLAB演示數(shù)字濾波器的設(shè)計(jì)過程,不僅形象生動(dòng),而且加強(qiáng)了課程內(nèi)容之間的相互聯(lián)系,能夠充分調(diào)動(dòng)學(xué)生的學(xué)習(xí)積極性與主動(dòng)性,促進(jìn)了學(xué)生對(duì)數(shù)字濾波器的基本理論和設(shè)計(jì)方法的理解和掌握,希望能對(duì)教學(xué)改革起到拋磚引玉的作用,以取得更好的教學(xué)效果。
參考文獻(xiàn):
[1]丁玉美,高西全.數(shù)字信號(hào)處理[M].西安電子科技大學(xué)出版社,2013.
[2]胡廣書.數(shù)字信號(hào)處理導(dǎo)論[M].第二版.北京:清華大學(xué)出版社,2013.