楊天晴 楊靜宗 付 蕊 吳麗玫
(保山學(xué)院信息學(xué)院,云南 保山 678000)
在我們生活的環(huán)境中,噪聲無處不在。一方面,由于受噪聲和干擾的污染,導(dǎo)致由采樣信號辨識得到的系統(tǒng)模型存在偏差妨礙了系統(tǒng)控制精度的提高[1]。另一方面,含噪信號對我們的工作和生活造成了很多負面影響。語音信號降噪的實現(xiàn)將會提高辦公效率,為我們進行信息交流營造一個舒適的聽覺環(huán)境。在語音信號降噪領(lǐng)域中,傳統(tǒng)的方法有濾波器法、小波變換法、小波閾值法[2?4],其中,韓長軍[2]運用IIR和IFR兩種濾波器對語音信號進行降噪,該方法能夠?qū)崿F(xiàn)對夾雜噪聲的語音信號進行有效成分的提取,但是只能提取微弱語音信號,語音信號和噪聲信號頻譜分析要求高工作量大,且降噪效果不明顯。唐玲和程建[3]采用小波分析對語音信號進行特征提取,選取適當(dāng)?shù)男〔ㄋ惴ㄟM行語音信號降噪,該方法能夠消除一些噪聲,但效果不是太明顯。自1995年D.L.Donoho[4]提出小波閾值降噪方法后,很多學(xué)者就把該方法應(yīng)用到語音信號的降噪中去,結(jié)果表明小波閾值法和以上兩種方法降噪相比,降噪效果提高了許多。但是,這種傳統(tǒng)的方法,閾值單一,在降噪聲的同時,造成語音信號失真且信號容易震蕩,降噪效果并不是最優(yōu)的。除此之外,小波基的合理選取、層數(shù)的劃分、閾值的估計等問題一直是一個難點。于是,張雪等采用EEMD聯(lián)合能量熵及小波閾值的語音降噪方法[5],該方法從根本上克服了小波分解中需要預(yù)先設(shè)定小波基和分解層數(shù)的問題,也達成了良好的抑制噪聲目的,但信號容易失真。通過分析現(xiàn)有研究成果發(fā)現(xiàn),目前信號處理方法往往存在適用范圍小、參數(shù)選取困難、降噪效果差、信號失真率高等問題。針對以上問題,以MATLAB仿真軟件為仿真實驗平臺,采用EEMD結(jié)合小波閾值法和單純的小波閾值法對含噪語音信號進行降噪。比較這兩種方法以及其中的硬閾值、軟閾值、硬軟閾值折衷這三種閾值函數(shù)的降噪效果。
小波變換是一種信號的時間—尺度分析方法,是一種時間窗和頻率窗都可以改變的時域局部化分析方法,經(jīng)過伸縮和平移運算功能對函數(shù)或信號進行多標準細化剖析,達到在低頻部分具有較高的頻率分辨率和較低的時間分辨率,在高頻部分則與之相反,能夠自動適應(yīng)時頻信號分析的要求,任何信號細節(jié)都不會被忽視,因此被譽為“數(shù)學(xué)顯微鏡”[6]。小波分析的這樣特點與語音信號的“短時平穩(wěn)”特點剛好吻合,因此小波分析在語音信號處理中得到十分廣泛應(yīng)用。
這里所說的小波,單從從字面意思去理解就是指小的波,即ψ(t)表示小波,滿足:
小波變換是一個平方可積函數(shù)f(t)∈L2(R)與一組在時域和頻域上都具備較好局部性質(zhì)的小波基ψ(t)的內(nèi)積,則f(t)的小波變換定義[7][8]為:
式中,<*,*>表示內(nèi)積;a>0為尺度因子,b為位移因子;*表示共軛復(fù)數(shù);ψa,b(t)為:
式中ψa,b(t)是母小波經(jīng)過位移和伸縮所產(chǎn)生的一個小波序列,稱為小波基函數(shù)或簡稱小波基。
小波變換具低熵性、多分辨率特性、去相關(guān)性、選基靈活性等特點,其在時域和頻域上都具有表征信號部分特征的能力,因此對檢測信號的瞬態(tài)或奇異點有利,可以覆蓋整個頻域,實現(xiàn)算法簡單且執(zhí)行速度較快且具有“變焦”的特性,在低頻段可以用寬分析窗口,在高頻段可以用窄分析窗口[8]。
隨著小波理論研究的不斷發(fā)展進步,它的應(yīng)用領(lǐng)域也越來越廣泛,其中利用小波變換進行信號降噪及重構(gòu)從始至終都是一個熱門課題??偟膩碚f,小波去噪的方法大概可以分為模極大值去噪方法、相關(guān)去噪方法、小波閾值去噪法[2],對比以上三種方法各自有各自的特點,我們在應(yīng)用中要結(jié)合信號特征選擇合適的方法。
1.2.1 小波閾值法
小波閾值法降噪是由美國斯坦福大學(xué)教授Donoho在1994年提出的一種基于閾值估計和閾值規(guī)則選取的信號降噪的方法,在小波降噪應(yīng)用領(lǐng)域取得的成績可佳。對語音信號這種具有非平穩(wěn)性和復(fù)雜性的信號,加入白噪聲后得到含噪語音信號,其含噪信號表示形式[8]如下:
式中,x(t)表示原始信號,s(t)表示白噪聲,σ表示噪聲強度,在最簡單的情況下可以假設(shè)s(t)為高斯白噪聲,且σ=1。N為離散采樣系列x(t)的長度。
小波閾值法降噪的具體步驟如圖1:
圖1 小波閾值降噪流程圖
1.2.2 小波硬軟閾值折衷法
小波硬軟閾值折衷去噪方法的原理很簡單,通俗易懂,就是在閾值估計器中加入了a因子,當(dāng)a取0時,即為硬閾值小波系數(shù)估計器,當(dāng)a取1時,即軟閾值小波系數(shù)估計器。而對于一般的0<a<1來說,估計出來的數(shù)據(jù)ω∧j,k的大小介于硬、軟閾值方法之間,因此可以通過在0到1區(qū)間內(nèi)適當(dāng)調(diào)整a因子的大小,來獲得更好的降噪效果。硬、軟閾值折衷法小波系數(shù)估計器表達式[9]如下:
但是該閾值函數(shù)所得到的估計信號可能會產(chǎn)生附加振蕩。于是郭曉霞等人提出了一種改良的硬軟閾值折衷法,該方法優(yōu)于傳統(tǒng)的軟閾值法、硬閾值法、標準的硬軟閾值折衷法[10]。該方法的閾值函數(shù)如下:
式中b、d均為大于1的實常數(shù),a、b取任意值時具有連續(xù)性,根據(jù)實際情況可調(diào)整b、d的取值。
集合經(jīng)驗?zāi)B(tài)分解 EEMD(Ensemble Empirical Mode Decomposition)[11?12]是 Huang針對 EMD方法的不足提出的一種噪聲輔助數(shù)據(jù)分析方法。該方法有效的解決了模態(tài)混疊現(xiàn)象和端點效應(yīng),使真實的信號得到了保留,降噪效果也十分明顯。EEMD分解的算法十分通俗易懂,簡單的來說就是以EMD分解為基礎(chǔ),把白噪聲引入到要分析的信號中,經(jīng)過多次EEMD分解后,噪音就會被相互抵消。具體的EEMD分解流程如下[13]:
1)在信號f(t)中,依次加入n次平均值是零且幅值標準差不變的高斯白噪聲,得到新的信號fk(t):
2)對N組fk(t)依次EMD分解,得到多組IMFS。將第i次添加高斯白噪聲后計算得到的第j個IMFS記為fi,j(t)。
3)由于不相關(guān)隨機序列統(tǒng)計值為零,對分解所得IMFS進行總體集成平均計算后,得到最終的IFMS分量。每一個IFM分量是多個IMF分量的進程平均值。在平均過程中,先前添加的高斯白噪聲對IMFS產(chǎn)生的影響也得到了抑制,最終獲得EEMD算法處理過的有效IMFS,即:
EEMD算法流程圖如圖2所示:
圖2 EEMD分解流程圖
所謂信噪比就是信號和噪聲能量比值的對數(shù),其定義式[8]為:
所謂的均方誤差就是原始信號與去噪后的估計信號量之間方差的平方根,其定義式為:
式中f(n)表示原始信號,表示去噪后的信號。均方誤差越小降噪效果越好。
為了使降噪效果更加的可靠,對模擬的信號疊加不同信噪比的噪聲。用小波閾值法降噪和EEMD分解結(jié)合小波閾值法對模擬信號進行降噪,在MATLAB仿真平臺對該模擬信號進行降噪處理,驗證算法的降噪效果。再把相應(yīng)的算法應(yīng)用到語音信號的降噪中去。語音信號降噪流程圖如下:
圖3 語音信號降噪流程圖
基本算法步驟如下:
1)用模擬信號檢測小波閾值降噪法和EEMD結(jié)合小波閾值法降噪的可行性;
2)采用小波閾值法降噪方法對信號進行降噪處理,主要包括三步:選擇適當(dāng)?shù)男〔ɑ头纸鈱訑?shù);選擇適當(dāng)?shù)拈撝岛烷撝岛瘮?shù);進行小波分解與重構(gòu);
3)EEMD分解結(jié)合小波閾值法降噪,對含噪信號進行EEMD分解后,用小波閾值法降噪;
4)通過比較選擇EEMD分解聯(lián)合小波硬軟閾值折衷降噪法對含噪語音信號降噪;
5)結(jié)果判別。觀察降和試聽降噪后的語音信號,看是否滿足光滑性和相似性這兩個信號降噪原則;
6)對降噪后的結(jié)果進行分析,用信噪比(SNR)和均方誤差(RMSE)來衡量算法的有效性。
小波閾值法模擬信號降噪仿真實驗:
對原始模擬信號y=5*sin(pi*20*t)+3*cos(2*pi*50*t),設(shè)置采樣頻率fs為1 000 HZ,采樣數(shù)據(jù)點N為2 000,n、t、y均為1×2000 double。對該模擬信號添加不同信噪比的噪聲,分別用小波軟閾值法、硬閾值法、硬軟閾值折衷法對含噪語音信號Y進行降噪處理,其中用硬軟閾值折衷法降噪時,在閾值估計器中加入a因子,在本實驗中取a=0.5。經(jīng)過EEMD分解為9個IMF分量和1個剩余分量。然后,計算出每一個IMF分量的能量熵,并繪制能量熵值圖。
圖4 含噪模擬信號EEMD分解
圖5 IMFS分量的能量熵值
圖6 原始語音信號與含噪語音信號波形圖對比
圖7 小波硬軟閾值折衷去噪處理后波形圖
圖8 EEMD結(jié)合小波硬軟閾值折衷去噪處理后波形圖
小波閾值法語音降噪仿真實驗:將下載的源語音信號“sp01.wav”放在MATLAB 2019a的bin文件目錄下,對該語音信號添加不同信噪比的噪聲,采用與用模擬信號相同的算法對語音信號進行降噪。在進行EEMD分解語音信號時,向源語音信號中加入100次信噪比為10 db的隨機高斯白噪聲,噪聲信號Y經(jīng)過EEMD分解為13個IMFS分量和1個剩余分量,計算出每一個IMF分量的能量熵,并繪制能量熵值圖。仿真結(jié)果如下:
圖9 含噪模擬信號EEMD分解
圖10 IMFS分量的能量熵值
圖11 源語音信號和含噪語音信號波形圖
圖12 小波硬軟閾折衷值處理后語音信號波形圖
圖13 EEMD-小波硬軟閾折衷值處理后語音信號波形圖
對含噪信號分別用小波閾值法和EEMD分解結(jié)合小波閾值法進行降噪。模擬信號降噪效果如表1、表2所示,語音信號降噪效果如表3、表4所示。從表1、表2數(shù)據(jù)可以看出,EEMD結(jié)合小波閾值法降噪后信噪比和均方誤差改善情況較好。其中,在這兩種方法下,在硬閾值、軟閾值、硬軟閾值折衷三種閾值函數(shù)中,硬軟閾值折衷法降噪效果是最好的。因此驗證了這兩種算法對信號降噪的可行性。
表1 疊加信噪比SNR=10時不同方法下的降噪信噪比對比
表2 疊加信噪比SNR=10時不同方法下的降噪均方誤差對比
表3 疊加SNR=10時不同方法降噪后語音信號信噪比
表4 疊加SNR=10時不同方法降噪后語音信號均方誤差
把相應(yīng)的算法應(yīng)用到模擬信號的降噪中,從表3、表4中可以看出,單純的小波閾值法在硬軟閾值折衷函數(shù)下信噪比只提高了2 db,均方誤差降低了近0.002,EEMD結(jié)合小波閾值法,信噪比提高了近13 db,均方誤差降低了近0.003??芍〔ㄩ撝捣ê虴EMD分解結(jié)合小波硬軟閾值法同樣適合對語音信號降噪,其中EEMD分解結(jié)合小波閾值法降噪結(jié)果較明顯,而且這兩種方法中,硬軟閾值折衷函數(shù)在語音信號的降噪中效果最好,且信號不失真,具有很好的應(yīng)用前景。
將EEMD分解和小波閾值法中的硬閾值、軟閾值、硬軟閾值折衷法相結(jié)合,并應(yīng)用到語音信號的降噪過程中,對比試驗結(jié)果發(fā)現(xiàn),硬軟閾值折衷法的降噪效果明顯優(yōu)于單純的硬、軟閾值方法,且EEMD結(jié)合小波硬軟閾值法彌補了小波分解中需要預(yù)先設(shè)定小波基和分解層數(shù)的問題,信號不易失真,降噪效果較好。