黃曉珊,徐國(guó)保
(廣東海洋大學(xué)信息學(xué)院,湛江 524088)
基于MATLAB語(yǔ)音降噪IIR濾波器的設(shè)計(jì)
黃曉珊,徐國(guó)保
(廣東海洋大學(xué)信息學(xué)院,湛江524088)
自然界中聲音所包含的頻譜是豐富的。工業(yè)車間里所包含的噪聲頻率也是多樣的,對(duì)于不同的設(shè)備儀器,它們所發(fā)出的噪音頻段也不同。然而,有研究表明:工業(yè)噪聲頻率范圍雖然比較廣泛,但高頻部分才是對(duì)人耳影響較大的,噪聲聾也主要是由于高頻聲的強(qiáng)刺激造成的[1]。
隨著工業(yè)化進(jìn)程的不斷發(fā)展,人們?cè)谒畹沫h(huán)境里難免會(huì)接觸到各種對(duì)人耳損傷較大的高頻噪聲,有些頻率較高的,甚至可以達(dá)到上萬(wàn)赫茲[1]??萍嫉倪M(jìn)步使人們對(duì)生活質(zhì)量提出了更高的要求,各種降噪方法、降噪技術(shù)應(yīng)需誕生。目前,市場(chǎng)上所采用的降噪方法,主要是通過(guò)產(chǎn)生反向聲波來(lái)中和噪聲或者采用物理吸聲材料降噪。這兩種方法,要么是在物理實(shí)現(xiàn)上存在一定的困難,開(kāi)發(fā)成本相對(duì)比較高,要么是因材料自身的局限性導(dǎo)致降噪效果不明顯[2]。正因如此,通過(guò)濾波系統(tǒng)濾除語(yǔ)音中的高頻噪聲成分成為一件具有重要意義的事情。根據(jù)傅氏變換,我們知道語(yǔ)音信號(hào)可以看成是由許許多多不同的頻率成分所組成,而濾波器可以濾除實(shí)際環(huán)境中不需要的頻率成分,MATLAB仿真軟件又為數(shù)字濾波器設(shè)計(jì)、信號(hào)處理和信號(hào)分析等提供了便捷有效的平臺(tái)。
正是由于數(shù)字IIR濾波器能有效濾除外界環(huán)境中的高頻噪聲成分,且在設(shè)計(jì)平臺(tái)上具有直觀可靠的特點(diǎn),本文借助MATLAB仿真軟件,先將語(yǔ)音信號(hào)加上一段高頻噪聲,再利用MATLAB軟件所設(shè)計(jì)出的IIR濾波器對(duì)加噪語(yǔ)音進(jìn)行去噪。通過(guò)對(duì)加噪語(yǔ)音信號(hào)和濾波后語(yǔ)音信號(hào)的時(shí)域波形對(duì)比和頻譜對(duì)比,可以看出所設(shè)計(jì)的IIR濾波器達(dá)到較好的濾除高頻噪聲的效果。
從技術(shù)上分,目前國(guó)內(nèi)外所采用的聲音降噪方法主要有兩種:主動(dòng)降噪和被動(dòng)降噪。主動(dòng)降噪主要是利用反向聲波來(lái)中和噪聲的,即通過(guò)電子設(shè)備產(chǎn)生一個(gè)與原來(lái)的噪聲相位相差180°的聲波,兩者疊加,從而消除外界噪音[2]。被動(dòng)降噪則是采用硅膠等物理材料來(lái)吸收外界聲波從而達(dá)到消聲的效果。上述兩種方法中,如果采用被動(dòng)降噪方法,降噪效果往往不大理想[2]。而采用主動(dòng)降噪方法,需要得到一個(gè)與原來(lái)的噪聲波形成倒相關(guān)系的聲波,這在物理實(shí)現(xiàn)上存在一定的困難,開(kāi)發(fā)成本相對(duì)比較高。因而,通過(guò)濾波系統(tǒng)濾除語(yǔ)音中的噪聲成為人們一直以來(lái)追求的事情。濾波系統(tǒng),按采用的是數(shù)字信號(hào)處理的方式還是模擬信號(hào)處理的方式,可以分為數(shù)字濾波器和模擬濾波器。模擬濾波器由于模擬電路自身所帶的限制,系統(tǒng)往往運(yùn)行不穩(wěn)定,容易產(chǎn)生自激嘯叫[2]。數(shù)字濾波器則在提取有用信息上表現(xiàn)突出,且因數(shù)字信號(hào)自身具有易存儲(chǔ)、易處理等優(yōu)勢(shì),目前數(shù)字濾波器已廣泛地應(yīng)用于各個(gè)科技領(lǐng)域。數(shù)字濾波器按單位采樣響應(yīng)又可以分為IIR(Infinite Impulse Response)濾波器和FIR(Finite Impulse Response)濾波器。相比于FIR濾波器,IIR濾波器有如下特點(diǎn)[3]:
(1)對(duì)于同樣的濾波器設(shè)計(jì)指標(biāo),設(shè)計(jì)一個(gè)IIR濾波器所需要的階數(shù)一般會(huì)比設(shè)計(jì)一個(gè)FIR濾波器所需要的階數(shù)低得多,即設(shè)計(jì)一個(gè)IIR濾波器所用的存儲(chǔ)單元相對(duì)較少,可達(dá)到價(jià)格便宜、效率高的效果。IIR濾波器低階數(shù)的優(yōu)勢(shì)是通過(guò)犧牲線性相位這一條件來(lái)獲得的,而對(duì)于語(yǔ)音信號(hào),我們只關(guān)心濾波后信號(hào)的幅頻特性,對(duì)其相頻特性要求不高,所以IIR濾波器適合于語(yǔ)音濾波降噪。
(2)IIR濾波器的設(shè)計(jì)可以借助常用模擬濾波器的原型,如Butterworth濾波器、Chebyshev I型濾波器、ChebyshevⅡ型濾波器等,且對(duì)于這些經(jīng)典的濾波器模型,目前大部分已經(jīng)具有相應(yīng)的設(shè)計(jì)公式,其設(shè)計(jì)參數(shù)也都已經(jīng)表格化。
鑒于IIR濾波器在設(shè)計(jì)上的便捷性和在語(yǔ)音濾波上的適應(yīng)性,本文采用IIR濾波器技術(shù)來(lái)進(jìn)行語(yǔ)音降噪。
設(shè)計(jì)IIR數(shù)字濾波器的方法有兩種,一種是采用最優(yōu)法設(shè)計(jì),即在某種最優(yōu)化準(zhǔn)則意義上逼近需要的濾波器系統(tǒng)函數(shù),這種設(shè)計(jì)通常需要大量的迭代運(yùn)算,一般離不開(kāi)PC。另一種是是借助常用模擬濾波器的原型,利用s平面到z平面的映射變換將模擬域上的系統(tǒng)函數(shù)Ha(s)轉(zhuǎn)換成滿足預(yù)定指標(biāo)的數(shù)字濾波器Ha(z)[4]。鑒于物理實(shí)現(xiàn)的靈活性,本文采用后一種方案。
圖1 兩類數(shù)字IIR濾波器
在頻帶變換先后的順序上,數(shù)字IIR濾波器的設(shè)計(jì)可分為兩類。一類是先在模擬域上進(jìn)行頻帶變換,再數(shù)字化,如圖1(a)所示;另一類是先數(shù)字化,再在數(shù)字域上實(shí)現(xiàn)頻帶變換,如圖1(b)所示。
基于上述分析,本文采用雙線性變換法來(lái)進(jìn)行模擬指標(biāo)與數(shù)字指標(biāo)之間的轉(zhuǎn)換。此時(shí),數(shù)字角頻率和模擬角頻率之間的關(guān)系為:
其中,Ω為數(shù)字角頻率,ω為模擬角頻率。
3.1數(shù)字IIR濾波器設(shè)計(jì)的MATLAB程序流程
先通過(guò)PC自帶的錄音設(shè)備錄制一段語(yǔ)音,再利用格式轉(zhuǎn)換軟件對(duì)所得的錄音文件進(jìn)行格式轉(zhuǎn)換,轉(zhuǎn)為. WAV格式[6]。接下來(lái)的流程如圖2所示。
圖2 數(shù)字IIR濾波器的程序流程圖
3.2數(shù)字IIR濾波器的網(wǎng)絡(luò)結(jié)構(gòu)
常見(jiàn)的IIR系統(tǒng)表示方法有差分方程法、零極點(diǎn)表示法和增益形式表示法等,不同的系統(tǒng)表達(dá)方式所得出的系統(tǒng)函數(shù)形式不一樣,其網(wǎng)絡(luò)結(jié)構(gòu)圖也不相同,即由同一個(gè)IIR濾波系統(tǒng)可以得到多種不同的網(wǎng)絡(luò)結(jié)構(gòu)形式,如直接Ⅰ型、直接Ⅱ型、級(jí)聯(lián)型、并聯(lián)型等[7]。
IIR濾波器的差分方程表示法:
由IIR濾波器的差分方程表示法可以得出IIR濾波器的直接型網(wǎng)絡(luò)結(jié)構(gòu),但是通過(guò)直接型網(wǎng)絡(luò),一般不能做到直接控制IIR濾波器的系數(shù),即存在零極點(diǎn)控制難的問(wèn)題。直接Ⅱ型是對(duì)直接Ⅰ型在延時(shí)器數(shù)量上的改進(jìn)。
IIR濾波器的零極點(diǎn)形式表示法:
其中,zj表示系統(tǒng)零點(diǎn),si表示系統(tǒng)極點(diǎn)。由上式可以很容易得看出系統(tǒng)的零極點(diǎn),但在工程分析上采用較多的是增益形式表示法。
IIR濾波器的增益形式表示法:
IIR濾波器的增益形式表示法是其最常見(jiàn)的系統(tǒng)表達(dá)方法,由IIR濾波器的增益形式表示法可以得出IIR濾波器的級(jí)聯(lián)型網(wǎng)絡(luò)結(jié)構(gòu)以及并聯(lián)型網(wǎng)絡(luò)結(jié)構(gòu)。其中,級(jí)聯(lián)型由IIR濾波器增益表達(dá)式的二階子網(wǎng)絡(luò),即二階節(jié)得出,其特點(diǎn)為零極點(diǎn)單獨(dú)可控制[4]。并聯(lián)型由IIR濾波器增益形式展開(kāi)的部分和式得出的,其特點(diǎn)是極點(diǎn)可單獨(dú)控制,但零點(diǎn)不能直接控制[4]。
由MATLAB仿真結(jié)果,得出相應(yīng)系數(shù)如下:
根據(jù)所得系數(shù),可以寫(xiě)出濾波器數(shù)字IIR濾波器的系統(tǒng)函數(shù):
根據(jù)上述表達(dá)式,得出所設(shè)計(jì)IIR濾波器的級(jí)聯(lián)型網(wǎng)絡(luò)結(jié)構(gòu),如圖3所示。
圖3 IIR濾波器的級(jí)聯(lián)型網(wǎng)絡(luò)結(jié)構(gòu)
通過(guò)圖4可以發(fā)現(xiàn)加噪后,原始語(yǔ)音信號(hào)完全被高頻噪聲所覆蓋,此時(shí),通過(guò)MATLAB播放該語(yǔ)音信號(hào),只能聽(tīng)到令人難受的刺耳高頻聲。
從圖5可以明顯地看出:通過(guò)濾波后,該語(yǔ)音信號(hào)的時(shí)域波形圖有了很大的改善,且與原始語(yǔ)音信號(hào)的時(shí)域波形圖較為接近,這說(shuō)明所設(shè)計(jì)的IIR濾波器在時(shí)域波形上有較好的恢復(fù)效果。
圖4 原始語(yǔ)音信號(hào)和加噪語(yǔ)音信號(hào)的時(shí)域波形對(duì)比
圖5 濾波前后信號(hào)時(shí)域波形和頻譜的對(duì)比
從頻譜上看,濾波前,原始語(yǔ)音信號(hào)已被高頻噪聲所淹沒(méi)。而濾波后,信號(hào)頻譜中的高頻噪聲明顯已被濾除,此時(shí),通過(guò)MATLAB播放該語(yǔ)音信號(hào),可以證實(shí),音頻中所含的高頻噪聲成分確實(shí)已去除。對(duì)比濾波前后的音頻效果,可以得出該濾波器在濾除高頻噪聲上效果好。
本文介紹和分析了數(shù)字IIR濾波器的設(shè)計(jì)流程,通過(guò)MATLAB仿真軟件,依據(jù)現(xiàn)實(shí)要求,設(shè)計(jì)了一個(gè)能濾除夾雜在語(yǔ)音信號(hào)中高頻噪聲成分的IIR濾波器,該濾波器具有網(wǎng)絡(luò)結(jié)構(gòu)簡(jiǎn)單,濾波效果明顯等特點(diǎn)。MATLAB仿真平臺(tái)使數(shù)字IIR濾波器的設(shè)計(jì)過(guò)程更加便捷和直觀。從語(yǔ)音降噪的角度出發(fā),本文只是濾除了夾雜在語(yǔ)音信號(hào)中對(duì)人們影響較大的高頻部分,并沒(méi)有將語(yǔ)音信號(hào)中的低頻的噪聲分量濾除,沒(méi)有達(dá)到完全的降噪效果,在低頻噪聲的濾除方面上仍需要再做進(jìn)一步研究。
[1]李家瑞.工業(yè)企業(yè)環(huán)境保護(hù)[M].北京:冶金工業(yè)出版社,1992,18.
[2]董淑斌,陳克安.有源耳罩的發(fā)展現(xiàn)狀與前景[J].電聲技術(shù),2004(8):54-56,59.
[3]南洋,孟開(kāi)元.基于單片機(jī)實(shí)時(shí)處理的IIR濾波與實(shí)現(xiàn)[J].電子測(cè)量,2005,5(5):40-44.
[4]王震宇,張培珍.數(shù)字信號(hào)處理[M].北京:北京大學(xué)出版社,2010,2.
[5]賈景慧.基于雙線性變換法的IIR濾波器的設(shè)計(jì)[J].數(shù)字技術(shù)與應(yīng)用,2012(5):130-131.
[6]雷學(xué)堂,徐火希.基于MATLAB的語(yǔ)音濾波實(shí)驗(yàn)設(shè)計(jì)[J].實(shí)驗(yàn)技術(shù)與管理,2007,24(4):38-41.
[7]周少波.基于MATLAB對(duì)IIR濾波器的設(shè)計(jì)與仿真[J].科技情報(bào)開(kāi)發(fā)與經(jīng)濟(jì),2011,21(14):175-177.
MATLAB;IIR Filter;Audio Denoising
Design of Audio Denoising IIR Filter Based on MATLAB
HUANG Xiao-shan,XU Guo-bao
(Information College,Guangdong Ocean University,Zhanjiang 524088)
1007-1423(2016)22-0048-05DOI:10.3969/j.issn.1007-1423.2016.22.011
黃曉珊(1992-),女,廣東普寧人,研究方向?yàn)橥ㄐ排c信息處理
徐國(guó)保(1976-),男,江西德興人,博士,副教授,研究方向?yàn)殡娮酉到y(tǒng)設(shè)計(jì)、信息處理,Email:xuguobao@126.com
2016-05-10
2016-07-10
濾波降噪技術(shù)在現(xiàn)代產(chǎn)業(yè)發(fā)展中扮演著重要的地位,MATLAB軟件則為數(shù)字濾波器的設(shè)計(jì)提供便捷的平臺(tái)。為了濾除語(yǔ)音信號(hào)中夾雜的高頻噪聲成分,利用MATLAB仿真軟件設(shè)計(jì)一個(gè)數(shù)字IIR低通濾波器。用MATLAB對(duì)加噪語(yǔ)音信號(hào)進(jìn)行濾波,通過(guò)對(duì)比濾波前后語(yǔ)音信號(hào)的時(shí)域波形和頻譜來(lái)檢驗(yàn)該濾波器的濾波效果。實(shí)驗(yàn)結(jié)果表明,該濾波器對(duì)高頻噪聲信號(hào)有很好的濾波效果。
MATLAB;IIR濾波器;語(yǔ)音降噪
2015年度國(guó)家級(jí)大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練計(jì)劃項(xiàng)目(No.CXXL2015018)、廣東海洋大學(xué)創(chuàng)新強(qiáng)校工程項(xiàng)目(No.GDOU2015 050207)
Filtering and denoising technology plays an important role in modern industry development,while MATLAB software provides a convenient platform for digital filter design.To filter out the high frequency noise element mixed in voice,designs a digital IIR low pass filter based on MATLAB software.Noised speech signal is filtered through the MATLAB operation and the proposed filter is tested by comparing time domain waveform and spectrum of the speech signal the filter.The experimental result shows that this filter has a good filtering effect on the high frequency noise element.