屈召貴
(四川旅游學(xué)院 信息與工程學(xué)院,四川 成都 610100)
隨著半導(dǎo)體集成電路的發(fā)展,以及機(jī)器學(xué)習(xí)、人工智能技術(shù)的不斷進(jìn)步,數(shù)字信號(hào)處理在通信、生物、醫(yī)療、工業(yè)控制、雷達(dá)聲納、能源開采等領(lǐng)域廣泛應(yīng)用。該門課程涉及的理論和技術(shù)已成為電子信息、地質(zhì)勘探、生物醫(yī)療等諸多學(xué)科領(lǐng)域工程技術(shù)人員必掌握的知識(shí)。數(shù)字信號(hào)處理課程作為電類專業(yè)的一門必修課,其重要性不言而喻。其中數(shù)字濾波器的設(shè)計(jì)在信息處理領(lǐng)域應(yīng)用普遍,由于其涉及的知識(shí)面較多,理論知識(shí)復(fù)雜,內(nèi)容抽象,難于理解[1-6],因此相當(dāng)一部分學(xué)生對(duì)這些知識(shí)的學(xué)習(xí)感到困難。本文基于此提出FIR數(shù)字濾波器設(shè)計(jì)基本原理、設(shè)計(jì)方法和應(yīng)用MATLAB進(jìn)行實(shí)現(xiàn)的實(shí)驗(yàn)項(xiàng)目,通過可視化、可聽化的效果,讓學(xué)生掌握FIR數(shù)字濾波器的設(shè)計(jì)。
一般來說,理想頻響都為分段恒定的,在邊界頻率處有突變點(diǎn),所以,這樣得到的理想單位脈沖響應(yīng)hd(n)往往都是無限長(zhǎng)序列,而且是非因果的。但FIR的h(n)是有限長(zhǎng)的,問題是怎樣用一個(gè)有限長(zhǎng)的序列去近似無限長(zhǎng)的hd(n)。最直接簡(jiǎn)單的辦法是直接截取其一段來代替。這種截取可以形象地想像為h(n)就好像是通過一個(gè)“窗口”所看到的一段hd(n),因此,h(n)也可表示為hd(n)和一個(gè)“窗函數(shù)”w(n)的乘積,即:h(n)=w(n)hd(n)。
在這里窗口函數(shù)就是矩形脈沖函數(shù)RN(n),當(dāng)然為了改善設(shè)計(jì)濾波器的特性,它還可以有其他的形式,相當(dāng)于在矩形窗內(nèi)對(duì)hd(n)作一定的加權(quán)處理。如圖1所示,對(duì)于理想數(shù)字濾波器的單位取樣響應(yīng)而言,幅度較大的樣點(diǎn)都集中在對(duì)稱中心附近,這些樣點(diǎn)將對(duì)濾波器的頻率響應(yīng)起到主要作用。如果只允許選擇有限個(gè)樣點(diǎn)作為一個(gè)系統(tǒng)的單位取樣響應(yīng),當(dāng)然在對(duì)稱中心周圍對(duì)稱選擇得到的對(duì)應(yīng)的頻率響應(yīng)與理想濾波器的頻率響應(yīng)最為近似,而且允許取的點(diǎn)數(shù)越多越相近,這是窗函數(shù)法設(shè)計(jì)FIR濾波器的重要思想[10-14]。
圖1 理想數(shù)字濾波器和窗函數(shù)的頻響
窗函數(shù)的傅式變換W(ejω)的主瓣決定了H(ejω)的過渡帶寬。W(ejω)的旁瓣大小和多少?zèng)Q定了H(ejω)在通帶和阻帶范圍內(nèi)的波動(dòng)幅度。常用的幾種窗函數(shù)有:
矩形窗:
w(n)=RN(n)
Hanning窗:
Hamming窗:
Blackmen窗:
Kaiser窗:
式中Io(x)為零階貝塞爾函數(shù)。
常用的幾種窗函數(shù)幅頻特性參數(shù)如表1所示。
表1 常用窗函數(shù)幅頻特性參數(shù)
一般擬設(shè)計(jì)的數(shù)字濾波器性能指標(biāo)通常有通帶截頻ωp,阻帶截頻ωs,通帶衰耗Ap,阻帶衰耗As等參數(shù)。大多數(shù)情況下頻率參數(shù)是用模擬值給出,如采樣頻率Fs,通帶截頻fp,阻帶截頻fs。可通過這些技術(shù)指標(biāo)設(shè)計(jì)出符合線性相位要求的單位脈沖響應(yīng)hn或H(k),從而實(shí)現(xiàn)數(shù)字濾波器的功能。
(1)選定窗函數(shù)的類型
根據(jù)擬設(shè)計(jì)的濾波器的阻帶截頻ωs處的衰減小于阻帶衰耗As,選定合適的窗函數(shù),再選擇過渡帶較窄(越接近理想頻響)的窗函數(shù)。通過查表1,最終確定要選用的窗函數(shù)。
(2)計(jì)算窗函數(shù)的寬度N
根據(jù)給定的參數(shù)ωp、ωs計(jì)算過渡帶ΔB,如式(1)所示:
ΔB=ωs-ωp
(1)
由表1可知,各窗函數(shù)的過渡帶為mπ/N,因此有關(guān)系式(2)、(3):
(2)
(3)
上述計(jì)算如果給出的是模擬參數(shù),應(yīng)轉(zhuǎn)換為數(shù)字參數(shù)代入計(jì)算。如果擬設(shè)計(jì)的濾波器為高通、低通濾波器,則可直接用式(1)和(3)計(jì)算窗函數(shù)的寬度N。如果是帶通濾波器和帶阻濾波器,由于其過渡帶有兩個(gè),因此選擇較窄的過渡帶ΔB代入式(3)計(jì)算,若計(jì)算的N為非整數(shù)時(shí),需要進(jìn)行向上取整運(yùn)算,以使設(shè)計(jì)出的濾波器在兩個(gè)過渡帶都能滿足要求。
(3)計(jì)算w(n)的N個(gè)樣點(diǎn)值
將N值代入選定的窗函數(shù)表達(dá)式,計(jì)算出w(n)的N個(gè)樣點(diǎn)值。通常用MATLAB提供的窗函數(shù)來確定。各種窗的計(jì)算如表2所示。
表2 MATLAB窗函數(shù)計(jì)算w(n)
hd(n)為理想濾波器的頻響,根據(jù)擬設(shè)計(jì)的濾波器類型計(jì)算Hd(ejωτ)。滿足線性相位條件的系統(tǒng)輸入序列x(n)和輸出序列y(n)之間的關(guān)系如式(4)所示:
y(n)=Ax(n-τ)
(4)
其z變換如式(5)所示:
Y(z)=Az-τX(z)
(5)
令z=ejω,則有式(6):
H(ejω)=H(ω)e-jωτ
(6)
寫成幅度和相位函數(shù),如式(7)所示:
Hd(ejω)=H(ω)θ(ω)
(7)
式中θ(ω)=-ωτ,τ=(N-1)/2。
理想濾波器的3 dB截頻ωc可近似位于過渡帶中心,即有式(8):
(8)
低通濾波器的hd(n)的計(jì)算如式(9)所示,其中,-ωc<ω<ωc,幅度為“1”,其他為“0”。
(9)
由同樣的方法可設(shè)計(jì)高通、帶通、帶阻濾波器的理想頻率響應(yīng)hd(n)。
由式(9)可知hd(n)為無限長(zhǎng),實(shí)際應(yīng)用中需加窗截?cái)?,變?yōu)橛邢揲L(zhǎng)單位脈沖響應(yīng)。其變換關(guān)系如式(10)所示:
h(n)=hd(n)·w(n)
(10)
如低通濾波器3 dB截頻為0.3π,N取33,用海明窗截?cái)嗟谋磉_(dá)式如式(11)所示:
(11)
根據(jù)求解的h(n)計(jì)算H(ejω),通過MATLAB程序分析其幅頻特性,主要驗(yàn)證阻帶衰耗是否滿足要求,若不滿足要求,可適當(dāng)改變窗函數(shù)形式或長(zhǎng)度N,重復(fù)上述設(shè)計(jì)過程,以得到滿意的結(jié)果。
設(shè)有一段受干擾的音頻信號(hào),其有用信號(hào)頻率在1.5 kHz以內(nèi),干擾信號(hào)的頻率為8 kHz。要求設(shè)計(jì)FIR數(shù)字濾波器提取有用信號(hào),將干擾信號(hào)衰減抑制在50 dB以內(nèi),通帶衰耗控制在1 dB以內(nèi)。
由任務(wù)要求可知,濾波器應(yīng)設(shè)計(jì)為低通濾波器,其指標(biāo)要求:通帶截頻fp為1.5 kHz,通帶衰耗Ap為1 dB,阻帶截頻fs為3 kHz,阻帶衰耗As為50 dB。采樣頻率Fs至少應(yīng)為16 kHz。
(1)求數(shù)字角頻率??捎?jì)算數(shù)字濾波器的通帶數(shù)字截頻ωp為0.187 5π,阻帶數(shù)字截頻ωs為0.375π。
(2)窗函數(shù)類型。由于阻帶衰耗為50 dB,通過查表1可知,選用海明窗最為合適。
(3)計(jì)算窗函數(shù)的寬度N。由式(3)可計(jì)算,窗函數(shù)的寬度N為43,滿足第一類線性相位條件。
(4)計(jì)算hd(n)。由式(8)可知,ωc=0.281 25π,τ=21。再根據(jù)式(9),可求出hd(n),如式(12)所式:
(12)
(5)確定FIR濾波器的h(n)。由式(10)可求出h(n),如式(13)所示:
(13)
用MATLAB分別畫出用于實(shí)驗(yàn)的原始信號(hào)的頻譜圖(如圖2所示,在8 kHz存在干擾信號(hào))、設(shè)計(jì)的線性相位FIR低通濾波器幅頻特性圖(如圖3所示)、濾波后的信號(hào)頻譜圖(如圖4所示)。
圖2 原如信號(hào)頻譜圖
圖3 線性相位FIR低通濾波器幅頻特性
圖4 濾波后的頻譜圖
由圖3可知,設(shè)計(jì)的濾波器阻帶衰減在50 dB以下。由圖4可知,8 kHz的干擾信號(hào)成功被濾出。因此設(shè)計(jì)濾波器符合設(shè)計(jì)要求。通過MATLAB的音頻播放功能檢驗(yàn)濾出后的信息,明顯無干擾聲音。
窗函數(shù)法是FIR數(shù)字濾波器常用的設(shè)計(jì)方法,易于實(shí)現(xiàn)線性相位。其設(shè)計(jì)思路是根據(jù)目標(biāo)濾波器的理想模型,通過加窗或截取的方法得到滿足設(shè)計(jì)指標(biāo)的濾波器,是一種直接逼近方式,逼近程度取決于窗的長(zhǎng)度和窗的類型。實(shí)驗(yàn)以離散傅里葉變換理論為基礎(chǔ),以MATLAB為工具,從視覺和聽覺等方面直觀感受數(shù)字濾波器設(shè)計(jì)的實(shí)驗(yàn),實(shí)踐表明大大提高了學(xué)生的實(shí)驗(yàn)效果。