申 艷,陳后金,薛 健,郝曉莉,周 航
(北京交通大學(xué)電子信息工程學(xué)院,北京 100044)
基于Matlab加噪語(yǔ)音的FIR濾波器設(shè)計(jì)
申 艷,陳后金,薛 健,郝曉莉,周 航
(北京交通大學(xué)電子信息工程學(xué)院,北京 100044)
傳統(tǒng)的FIR濾波器設(shè)計(jì)是根據(jù)給定的頻率指標(biāo),設(shè)計(jì)出滿足指標(biāo)的系統(tǒng)函數(shù)。本文提出一種基于Matlab加噪語(yǔ)音的FIR濾波器設(shè)計(jì)方法。該方法首先通過(guò)Matlab產(chǎn)生單頻噪聲,加入到語(yǔ)音信號(hào)中,并改變單頻噪聲的頻率來(lái)調(diào)整FIR濾波器設(shè)計(jì)的難度;然后,根據(jù)混入噪聲信號(hào)的頻譜,設(shè)計(jì)出所需要的濾波頻率指標(biāo);選擇合適的窗函數(shù),設(shè)計(jì)滿足該頻率指標(biāo)的 FIR濾波器;最后,利用FIR濾波器對(duì)混入噪聲的信號(hào)濾波,得到濾波后的語(yǔ)音信號(hào)。
有限沖激相應(yīng);濾波器;噪聲;語(yǔ)音
有限沖激響應(yīng)FIR數(shù)字濾波器在數(shù)字信號(hào)處理領(lǐng)域應(yīng)用廣泛,是“數(shù)字信號(hào)處理”課程一個(gè)重要的內(nèi)容[1-3]。傳統(tǒng)的FIR濾波器設(shè)計(jì)的學(xué)習(xí),一般是根據(jù)給定的頻率特性,設(shè)計(jì)出濾波器的系統(tǒng)函數(shù),并畫(huà)出頻率特性曲線和濾波器的格形結(jié)構(gòu)。學(xué)生在學(xué)習(xí)這一部分內(nèi)容時(shí)感到不易理解。
Matlab軟件為FIR濾波器的學(xué)習(xí)和研究提供了直觀便捷的途徑[4-7]。結(jié)合我校研究型學(xué)習(xí)項(xiàng)目,本文提出一個(gè)結(jié)合加入噪聲的語(yǔ)音信號(hào)作為輸入的FIR濾波器設(shè)計(jì)題目。結(jié)果表明這種FIR濾波器設(shè)計(jì)學(xué)習(xí)非常有效,有助于學(xué)生對(duì)FIR濾波器設(shè)計(jì)知識(shí)的掌握。
FIR數(shù)字濾波器的設(shè)計(jì)通常是根據(jù)理想濾波器的頻率響應(yīng) Hd(ejΨ),采用窗函數(shù)法、頻率取樣法或優(yōu)化設(shè)計(jì)等方法使所設(shè)計(jì)濾波器頻率響應(yīng)H(ejΨ)逼近H d(ejΨ),這里僅討論窗函數(shù)法。
窗函數(shù)法設(shè)計(jì)FIR濾波器的基本思想是在時(shí)域逼近理想濾波器的單位脈沖響應(yīng)[1]。首先根據(jù)待逼近的理想濾波器的頻率響應(yīng)Hd(ejΨ),加入線性相位因子ej(-0.5MΨ+β),實(shí)現(xiàn)因果化處理。其中 ,Ψ表示數(shù)字角頻率,M表示FIR濾波器的階數(shù),β是與Ψ無(wú)關(guān)的常數(shù)。對(duì)I型和II型線性相位FIR濾波器β=0,對(duì)III型和IV型線性相位濾波器,β=π/2。其次,由IDTFT求出理想濾波器的單位脈沖響應(yīng)h d[k],最后,將無(wú)限長(zhǎng)的h d[k]加窗截?cái)嗟玫接邢揲L(zhǎng)序列h[k],實(shí)現(xiàn)一個(gè)穩(wěn)定系統(tǒng)。
按照傳統(tǒng)的FIR濾波器設(shè)計(jì),給出低通濾波器指標(biāo)如下:
通帶截頻 Ψp=0.15π,阻帶截頻 Ψs=0.2π,通帶衰減A p=1dB,阻帶衰減A s=44dB。
根據(jù)上述指標(biāo),可采用Hanning窗、Hamming窗或Blackman窗設(shè)計(jì)。利用Matlab軟件編程,得到的設(shè)計(jì)結(jié)果如圖1所示。

圖1 三種窗函數(shù)設(shè)計(jì)的FIR濾波器
根據(jù)設(shè)計(jì)指標(biāo),這三種窗函數(shù)設(shè)計(jì)的濾波器的階數(shù)分別是:Hanning窗125階,H amming窗141階,Blackman窗是229階。由圖1可見(jiàn),Hanning窗的過(guò)渡帶最窄,階數(shù)最少,Hamming窗的過(guò)渡帶和Hanning窗近似,階數(shù)比Hanning窗大,阻帶衰減最小;Blackman窗的過(guò)渡帶最寬,階數(shù)和阻帶衰減最大。Hamming窗和 Blackm an的設(shè)計(jì)都存在裕量。傳統(tǒng)的FIR濾波器設(shè)計(jì)到這里就結(jié)束了。
通過(guò)以上分析可以看出,傳統(tǒng)的FIR濾波器僅僅給出了設(shè)計(jì)的階數(shù)、過(guò)渡帶和阻帶衰減等設(shè)計(jì)結(jié)果,以這些數(shù)據(jù)來(lái)比較它們的優(yōu)劣,無(wú)法從語(yǔ)音或者圖像直觀地感受到所設(shè)計(jì)的濾波器的效果。本文據(jù)此提出一種基于Matlab語(yǔ)音加噪聲作為輸入的窗函數(shù)FIR濾波器設(shè)計(jì)方法。
在“數(shù)字信號(hào)處理”課程的學(xué)習(xí)中,經(jīng)常采用一維信號(hào)進(jìn)行舉例實(shí)驗(yàn),比如心電圖信號(hào)和語(yǔ)音信號(hào)等。這里利用Matlab生成一維的語(yǔ)音信號(hào),以語(yǔ)音“你好”為例,其時(shí)域波型和頻域頻譜如圖2所示。

圖2 “你好”語(yǔ)音信號(hào)時(shí)域和頻域圖像
圖2(a)是“你好”的語(yǔ)音信號(hào)時(shí)域圖像,在時(shí)間上持續(xù)了0.453秒。圖2(b)是其對(duì)應(yīng)的頻譜,主要頻率范圍在0到4400Hz之間。為了敘述方便,這里頻譜圖的橫軸均以模擬頻率表示。
接著,將一單頻噪聲疊加到“你好”語(yǔ)音信號(hào)中,我們可以根據(jù)加入噪聲的位置設(shè)計(jì)頻率特性,通過(guò)窗函數(shù)法設(shè)計(jì)的FIR濾波器進(jìn)行實(shí)驗(yàn),檢驗(yàn)其能否有效濾除噪聲。
加入的單頻噪聲的位置應(yīng)當(dāng)高于語(yǔ)音信號(hào)“你好”的最高頻率4400Hz,噪聲頻率越高,濾波器設(shè)計(jì)的指標(biāo)就越寬松。因?yàn)樵肼暱梢院苋菀妆粸V除,從聽(tīng)覺(jué)上,很明顯地感覺(jué)到噪聲已經(jīng)濾除,和沒(méi)有加入噪聲的語(yǔ)音信號(hào)完全一致。但對(duì)學(xué)生學(xué)習(xí)FIR濾波器的設(shè)計(jì)水平提高度不大,因?yàn)閷?shí)際情況是噪聲會(huì)很靠近信號(hào)。
本文加入單頻噪聲在4500Hz到6600H z之間,由此就需要謹(jǐn)慎選擇濾波器的參數(shù)。否則噪聲很難濾除干凈,我們還是能夠聽(tīng)到單頻噪聲產(chǎn)生的“嗞嗞”聲。然而,即使所選擇的參數(shù)能夠?qū)⒃肼暈V除干凈,也會(huì)導(dǎo)致所選擇的階數(shù)太大,而難以實(shí)現(xiàn)。因此如何設(shè)計(jì)單頻噪聲的頻譜位置很重要,它決定了FIR濾波器設(shè)計(jì)的難易程度。圖3給出了Matlab產(chǎn)生的4500Hz和6600H z噪聲的時(shí)域和頻域圖像。
圖中虛線為4500Hz的噪聲,實(shí)線為6600Hz噪聲。如能在這兩個(gè)頻率之間加入單頻噪聲,就可以設(shè)計(jì)難度比較合適的FIR濾波器。

圖3 4500H z和6600Hz單頻噪聲
FIR濾波器的設(shè)計(jì)指標(biāo)是由所選擇的窗函數(shù)決定的。窗函數(shù)選定后,過(guò)渡帶寬度、通帶衰減和阻帶衰減等參數(shù)就確定了。通帶截頻和阻帶截頻是由語(yǔ)音信號(hào)和噪聲信號(hào)的頻譜決定的。濾波器的階數(shù)是由過(guò)渡帶寬度、通帶截頻和阻帶截頻決定的。根據(jù)頻譜特性提出如下濾波指標(biāo):通帶截頻 Ψp=0.15π,阻帶截頻 Ψs=0.2π,通帶衰減 A p=0.5dB,阻帶衰減 A s=44dB。若采用Hanning窗,計(jì)算得到FIR濾波器的截頻和階數(shù)分別為:Ψc=(Ψp+Ψs)/2=0.175π,N ≥6.2π/(Ψs-Ψp)=124。采用I型濾波器,取 N=125。則理想低通濾波器的單位脈沖響應(yīng)是

用Hanning窗截?cái)?h d[k]使得到滿足要求的FIR低通濾波器的單位脈沖響應(yīng)h[k]=h d[k]·w[k]。加入單頻噪聲的語(yǔ)音信號(hào)和h[k]卷積后,即可得到濾波后的語(yǔ)音信號(hào)。
首先,我們加入4500Hz的余弦單頻噪聲。通過(guò)頻譜分析和計(jì)算,阻帶衰減至少應(yīng)為30dB,因此選擇Hanning窗、H amming窗和 Blackm an均可滿足設(shè)計(jì)要求。以Hanning窗為例,將單頻的余弦信號(hào)疊加到“你好”語(yǔ)音信號(hào)中,得到的混噪信號(hào)如圖4(a)所示。
圖4(b)表示通過(guò)設(shè)計(jì)的FIR濾波器濾波后的語(yǔ)音信號(hào)。從頻譜圖中可以看出,噪聲已經(jīng)濾除。聽(tīng)覺(jué)上也能夠直接感受到濾波后的語(yǔ)音信號(hào),但是需要140階的FIR濾波器。
在這種FIR濾波器參數(shù)指標(biāo)下,將噪聲移動(dòng)到高于4500H z的頻率位置,濾波后的效果將會(huì)更好。因?yàn)榇藭r(shí)噪聲頻率落在濾波器的高頻阻帶范圍,抑制度更大。為了節(jié)省設(shè)計(jì)成本,從聽(tīng)覺(jué)上感受到濾波效果良好的情況下,需要降低濾波器的階數(shù)。

圖4 FIR濾波前后語(yǔ)音信號(hào)頻譜
濾波器階數(shù)的降低可通過(guò)選擇Kaiser窗函數(shù)實(shí)現(xiàn)。針對(duì)該實(shí)驗(yàn),阻帶衰減30dB即可,用Kaiser窗設(shè)計(jì)的濾波器可以滿足該指標(biāo)。設(shè)計(jì)得到的階數(shù)是48階,比Hanning窗減少了92階。
濾波器階數(shù)的降低還可以通過(guò)增大過(guò)渡帶寬度實(shí)現(xiàn),增大過(guò)渡帶的寬度包含了降低通帶截頻和提高阻帶截止頻率。如果降低通帶截止頻率,信號(hào)有效頻率成分會(huì)損失,濾波后的語(yǔ)音信號(hào)失真,聽(tīng)起來(lái)顯得低沉;如果提高阻帶截止頻率,將無(wú)法完全濾除單頻噪聲,濾波后的語(yǔ)音信號(hào)依然能夠聽(tīng)到噪聲。
如果在語(yǔ)音信號(hào)中加入6600Hz的單頻余弦噪聲,那么前述140階濾波器的指標(biāo)完全可以滿足要求。為了降低階數(shù),可以更改濾波器的指標(biāo),將阻帶截頻增大到 Ψs=0.3π,這時(shí)只需要32階濾波器就可以實(shí)現(xiàn)濾除噪聲的良好效果。
綜上所述,基于Matlab語(yǔ)音的FIR濾波器設(shè)計(jì)改善了傳統(tǒng)的設(shè)計(jì)方式,能夠從聽(tīng)覺(jué)上直接感受到FIR濾波器的濾波效果,隨時(shí)驗(yàn)證濾波器設(shè)計(jì)是否有效。通過(guò)調(diào)整加入語(yǔ)音信號(hào)的噪聲頻率,可改變FIR濾波器設(shè)計(jì)的難易程度。這就需要學(xué)生自主設(shè)計(jì)濾波器指標(biāo),并選擇合適的窗函數(shù)來(lái)達(dá)到FIR濾波器的設(shè)計(jì)目的。
通過(guò)2010年“數(shù)字信號(hào)處理”課程研究型學(xué)習(xí)的檢驗(yàn),說(shuō)明該方法是成功有效的。在沒(méi)有采用本文所提出的方法之前,學(xué)生通過(guò)計(jì)算得到FIR濾波器設(shè)計(jì)的參數(shù),采用Matlab畫(huà)出濾波器的頻率響應(yīng),這種方式僅讓學(xué)生掌握了FIR濾波器設(shè)計(jì)的計(jì)算過(guò)程。而采用了本文的方法之后,學(xué)生動(dòng)手錄制實(shí)際的語(yǔ)音信號(hào),加入噪聲,進(jìn)行FIR濾波器設(shè)計(jì),從聽(tīng)覺(jué)上直觀的感受到濾波器設(shè)計(jì)的效果,隨時(shí)修改濾波器參數(shù),以達(dá)到滿足聽(tīng)覺(jué)感受的指標(biāo)。
語(yǔ)音信號(hào)對(duì)相位的敏感性不高,該方法也可以應(yīng)用于IIR濾波器設(shè)計(jì)。IIR濾波器實(shí)現(xiàn)的階數(shù)比FIR濾波器少,可節(jié)省成本。在噪聲頻譜位置的設(shè)計(jì)方面,和FIR濾波器的設(shè)計(jì)類似。進(jìn)一步的工作可以在語(yǔ)音信號(hào)中加入多頻率噪聲,或者帶限噪聲,并考慮加入噪聲的類型和位置。在加入相同的噪聲頻譜的情況下,比較不同的濾波器方法。與實(shí)際通信系統(tǒng)和雷達(dá)系統(tǒng)的噪聲情況結(jié)合起來(lái),增大FIR濾波器的設(shè)計(jì)難度,讓學(xué)生能將理論知識(shí)更好地運(yùn)用到實(shí)際情況。
[1] 陳后金,薛健,胡健.數(shù)字信號(hào)處理[M].北京:高等教育出版社,2007
[2] 胡廣書(shū).數(shù)字信號(hào)處理——理論、算法與實(shí)現(xiàn)[M].北京:清華大學(xué)出版社,2003
[3] 程佩青.數(shù)字信號(hào)處理教程[M].北京:清華大學(xué)出版社,2007
[4] Sanjit K.M itra,Digital Signal Processing[M].M cg raw-Hill companies,2004
[5] 劉興釗,李力利.對(duì)FIR數(shù)字濾波器頻域?qū)崿F(xiàn)錯(cuò)誤觀點(diǎn)的討論[J].南京:電氣電子教學(xué)學(xué)報(bào).2007:29(2)
[6] 鐘國(guó)梁.淺談學(xué)習(xí)窗函數(shù)法設(shè)計(jì)FIR數(shù)字濾波器體會(huì)[J].南京:電氣電子教學(xué)學(xué)報(bào).2009:31(3)
[7] 王玉德.“數(shù)字信號(hào)處理”課程的教與學(xué)的探討[J].南京:電氣電子教學(xué)學(xué)報(bào).2008:30(6)
FIR Filter Design of Noisy Audio Signals Based on Matlab
SHEN Yan,CHEN Hou-jin,XUE Jian,HAO X iao-li,ZHOU Hang
(Schoolo f E lectronic and In formation Eng ineering,Beijing Jiaotong Un iversity,Beij ing 100044,China)
The objectof conventional FIR filter is to design the system function from thegiven design index.An audio signalmethod based on Matlab is presented to improve the convertional design.Firstly,a noise of single frequency is generated and added to the audio signal recorded by the Matlab so ftware.A range of frequency of the noise is designed to adjust the difficulty of the FIR design.Secondly,according to the frequency of the noisy audio signal,frequency parameters satisfying the given design index are com puted.Selecting properw indow function and designing the FIR filter are com plated.A t last,filtering the noisy audio signal,the audio signal isobtained from the output.
FIR;Filter;noise;audio
TN 713+.7
A
1008-0686(2011)02-0041-04
2010-06-23;
2010-09-16
電工電子基礎(chǔ)課程國(guó)家級(jí)教學(xué)團(tuán)隊(duì)項(xiàng)目(244033529);電工電子國(guó)家級(jí)實(shí)驗(yàn)教學(xué)示范中心項(xiàng)目(351003535)
申 艷(1979-),女,博士,講師,主要從事信號(hào)處理的研究,E-mail:sheny@bjtu.edu.cn