黃曉珊,徐國保
(廣東海洋大學信息學院,湛江 524088)
基于MATLAB語音降噪IIR濾波器的設計
黃曉珊,徐國保
(廣東海洋大學信息學院,湛江524088)
自然界中聲音所包含的頻譜是豐富的。工業車間里所包含的噪聲頻率也是多樣的,對于不同的設備儀器,它們所發出的噪音頻段也不同。然而,有研究表明:工業噪聲頻率范圍雖然比較廣泛,但高頻部分才是對人耳影響較大的,噪聲聾也主要是由于高頻聲的強刺激造成的[1]。
隨著工業化進程的不斷發展,人們在所生活的環境里難免會接觸到各種對人耳損傷較大的高頻噪聲,有些頻率較高的,甚至可以達到上萬赫茲[1]。科技的進步使人們對生活質量提出了更高的要求,各種降噪方法、降噪技術應需誕生。目前,市場上所采用的降噪方法,主要是通過產生反向聲波來中和噪聲或者采用物理吸聲材料降噪。這兩種方法,要么是在物理實現上存在一定的困難,開發成本相對比較高,要么是因材料自身的局限性導致降噪效果不明顯[2]。正因如此,通過濾波系統濾除語音中的高頻噪聲成分成為一件具有重要意義的事情。根據傅氏變換,我們知道語音信號可以看成是由許許多多不同的頻率成分所組成,而濾波器可以濾除實際環境中不需要的頻率成分,MATLAB仿真軟件又為數字濾波器設計、信號處理和信號分析等提供了便捷有效的平臺。
正是由于數字IIR濾波器能有效濾除外界環境中的高頻噪聲成分,且在設計平臺上具有直觀可靠的特點,本文借助MATLAB仿真軟件,先將語音信號加上一段高頻噪聲,再利用MATLAB軟件所設計出的IIR濾波器對加噪語音進行去噪。通過對加噪語音信號和濾波后語音信號的時域波形對比和頻譜對比,可以看出所設計的IIR濾波器達到較好的濾除高頻噪聲的效果。
從技術上分,目前國內外所采用的聲音降噪方法主要有兩種:主動降噪和被動降噪。主動降噪主要是利用反向聲波來中和噪聲的,即通過電子設備產生一個與原來的噪聲相位相差180°的聲波,兩者疊加,從而消除外界噪音[2]。被動降噪則是采用硅膠等物理材料來吸收外界聲波從而達到消聲的效果。上述兩種方法中,如果采用被動降噪方法,降噪效果往往不大理想[2]。而采用主動降噪方法,需要得到一個與原來的噪聲波形成倒相關系的聲波,這在物理實現上存在一定的困難,開發成本相對比較高。因而,通過濾波系統濾除語音中的噪聲成為人們一直以來追求的事情。濾波系統,按采用的是數字信號處理的方式還是模擬信號處理的方式,可以分為數字濾波器和模擬濾波器。模擬濾波器由于模擬電路自身所帶的限制,系統往往運行不穩定,容易產生自激嘯叫[2]。數字濾波器則在提取有用信息上表現突出,且因數字信號自身具有易存儲、易處理等優勢,目前數字濾波器已廣泛地應用于各個科技領域。數字濾波器按單位采樣響應又可以分為IIR(Infinite Impulse Response)濾波器和FIR(Finite Impulse Response)濾波器。相比于FIR濾波器,IIR濾波器有如下特點[3]:
(1)對于同樣的濾波器設計指標,設計一個IIR濾波器所需要的階數一般會比設計一個FIR濾波器所需要的階數低得多,即設計一個IIR濾波器所用的存儲單元相對較少,可達到價格便宜、效率高的效果。IIR濾波器低階數的優勢是通過犧牲線性相位這一條件來獲得的,而對于語音信號,我們只關心濾波后信號的幅頻特性,對其相頻特性要求不高,所以IIR濾波器適合于語音濾波降噪。
(2)IIR濾波器的設計可以借助常用模擬濾波器的原型,如Butterworth濾波器、Chebyshev I型濾波器、ChebyshevⅡ型濾波器等,且對于這些經典的濾波器模型,目前大部分已經具有相應的設計公式,其設計參數也都已經表格化。
鑒于IIR濾波器在設計上的便捷性和在語音濾波上的適應性,本文采用IIR濾波器技術來進行語音降噪。
設計IIR數字濾波器的方法有兩種,一種是采用最優法設計,即在某種最優化準則意義上逼近需要的濾波器系統函數,這種設計通常需要大量的迭代運算,一般離不開PC。另一種是是借助常用模擬濾波器的原型,利用s平面到z平面的映射變換將模擬域上的系統函數Ha(s)轉換成滿足預定指標的數字濾波器Ha(z)[4]。鑒于物理實現的靈活性,本文采用后一種方案。

圖1 兩類數字IIR濾波器
在頻帶變換先后的順序上,數字IIR濾波器的設計可分為兩類。一類是先在模擬域上進行頻帶變換,再數字化,如圖1(a)所示;另一類是先數字化,再在數字域上實現頻帶變換,如圖1(b)所示。

基于上述分析,本文采用雙線性變換法來進行模擬指標與數字指標之間的轉換。此時,數字角頻率和模擬角頻率之間的關系為:

其中,Ω為數字角頻率,ω為模擬角頻率。
3.1數字IIR濾波器設計的MATLAB程序流程
先通過PC自帶的錄音設備錄制一段語音,再利用格式轉換軟件對所得的錄音文件進行格式轉換,轉為. WAV格式[6]。接下來的流程如圖2所示。

圖2 數字IIR濾波器的程序流程圖
3.2數字IIR濾波器的網絡結構
常見的IIR系統表示方法有差分方程法、零極點表示法和增益形式表示法等,不同的系統表達方式所得出的系統函數形式不一樣,其網絡結構圖也不相同,即由同一個IIR濾波系統可以得到多種不同的網絡結構形式,如直接Ⅰ型、直接Ⅱ型、級聯型、并聯型等[7]。
IIR濾波器的差分方程表示法:

由IIR濾波器的差分方程表示法可以得出IIR濾波器的直接型網絡結構,但是通過直接型網絡,一般不能做到直接控制IIR濾波器的系數,即存在零極點控制難的問題。直接Ⅱ型是對直接Ⅰ型在延時器數量上的改進。
IIR濾波器的零極點形式表示法:

其中,zj表示系統零點,si表示系統極點。由上式可以很容易得看出系統的零極點,但在工程分析上采用較多的是增益形式表示法。
IIR濾波器的增益形式表示法:

IIR濾波器的增益形式表示法是其最常見的系統表達方法,由IIR濾波器的增益形式表示法可以得出IIR濾波器的級聯型網絡結構以及并聯型網絡結構。其中,級聯型由IIR濾波器增益表達式的二階子網絡,即二階節得出,其特點為零極點單獨可控制[4]。并聯型由IIR濾波器增益形式展開的部分和式得出的,其特點是極點可單獨控制,但零點不能直接控制[4]。
由MATLAB仿真結果,得出相應系數如下:

根據所得系數,可以寫出濾波器數字IIR濾波器的系統函數:

根據上述表達式,得出所設計IIR濾波器的級聯型網絡結構,如圖3所示。

圖3 IIR濾波器的級聯型網絡結構
通過圖4可以發現加噪后,原始語音信號完全被高頻噪聲所覆蓋,此時,通過MATLAB播放該語音信號,只能聽到令人難受的刺耳高頻聲。
從圖5可以明顯地看出:通過濾波后,該語音信號的時域波形圖有了很大的改善,且與原始語音信號的時域波形圖較為接近,這說明所設計的IIR濾波器在時域波形上有較好的恢復效果。

圖4 原始語音信號和加噪語音信號的時域波形對比

圖5 濾波前后信號時域波形和頻譜的對比
從頻譜上看,濾波前,原始語音信號已被高頻噪聲所淹沒。而濾波后,信號頻譜中的高頻噪聲明顯已被濾除,此時,通過MATLAB播放該語音信號,可以證實,音頻中所含的高頻噪聲成分確實已去除。對比濾波前后的音頻效果,可以得出該濾波器在濾除高頻噪聲上效果好。
本文介紹和分析了數字IIR濾波器的設計流程,通過MATLAB仿真軟件,依據現實要求,設計了一個能濾除夾雜在語音信號中高頻噪聲成分的IIR濾波器,該濾波器具有網絡結構簡單,濾波效果明顯等特點。MATLAB仿真平臺使數字IIR濾波器的設計過程更加便捷和直觀。從語音降噪的角度出發,本文只是濾除了夾雜在語音信號中對人們影響較大的高頻部分,并沒有將語音信號中的低頻的噪聲分量濾除,沒有達到完全的降噪效果,在低頻噪聲的濾除方面上仍需要再做進一步研究。
[1]李家瑞.工業企業環境保護[M].北京:冶金工業出版社,1992,18.
[2]董淑斌,陳克安.有源耳罩的發展現狀與前景[J].電聲技術,2004(8):54-56,59.
[3]南洋,孟開元.基于單片機實時處理的IIR濾波與實現[J].電子測量,2005,5(5):40-44.
[4]王震宇,張培珍.數字信號處理[M].北京:北京大學出版社,2010,2.
[5]賈景慧.基于雙線性變換法的IIR濾波器的設計[J].數字技術與應用,2012(5):130-131.
[6]雷學堂,徐火希.基于MATLAB的語音濾波實驗設計[J].實驗技術與管理,2007,24(4):38-41.
[7]周少波.基于MATLAB對IIR濾波器的設計與仿真[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-),女,廣東普寧人,研究方向為通信與信息處理
徐國保(1976-),男,江西德興人,博士,副教授,研究方向為電子系統設計、信息處理,Email:xuguobao@126.com
2016-05-10
2016-07-10
濾波降噪技術在現代產業發展中扮演著重要的地位,MATLAB軟件則為數字濾波器的設計提供便捷的平臺。為了濾除語音信號中夾雜的高頻噪聲成分,利用MATLAB仿真軟件設計一個數字IIR低通濾波器。用MATLAB對加噪語音信號進行濾波,通過對比濾波前后語音信號的時域波形和頻譜來檢驗該濾波器的濾波效果。實驗結果表明,該濾波器對高頻噪聲信號有很好的濾波效果。
MATLAB;IIR濾波器;語音降噪
2015年度國家級大學生創新創業訓練計劃項目(No.CXXL2015018)、廣東海洋大學創新強校工程項目(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.