詹 展,秦會(huì)斌
(杭州電子科技大學(xué) 新型電子器件與應(yīng)用研究所,浙江 杭州 310018)
小波變換針對(duì)短時(shí)傅里葉變換時(shí)頻局部化精細(xì)和靈活性方面的缺點(diǎn),采用具有時(shí)域局域化特性的小波函數(shù)作為基底,能自動(dòng)調(diào)節(jié)時(shí)頻窗來(lái)滿足實(shí)際分析中的要求,具有多分辨分析的特點(diǎn),在信號(hào)處理中有廣泛的應(yīng)用。Donoho和Johnstone在小波變換的基礎(chǔ)上提出了小波閾值降噪[1],常見的主要有硬閾值函數(shù)和軟閾值函數(shù)[2],由于繼承了小波分析的優(yōu)點(diǎn),實(shí)現(xiàn)簡(jiǎn)單,得到了實(shí)際應(yīng)用。但是硬閾值函數(shù)在閾值處是間斷的,處理后獲得的小波系數(shù)用逆小波變換進(jìn)行重構(gòu)[3]時(shí)會(huì)產(chǎn)生偽吉布斯(Pseudo-Gibbs)效應(yīng),從而使信號(hào)出現(xiàn)失真、震蕩現(xiàn)象。軟閾值函數(shù)的估計(jì)小波系數(shù)與真實(shí)小波系數(shù)存有固定偏差。針對(duì)這些缺陷,有研究人員提出了與之相關(guān)的改進(jìn)方法,如軟硬折中的閾值函數(shù)、加權(quán)平均法構(gòu)造的閾值函數(shù)、基于粒子群尋優(yōu)算法[4- 10]等,有一定的改善。
為了克服以上缺點(diǎn),文中在文獻(xiàn)[6]的基礎(chǔ)上進(jìn)行改進(jìn),提出一種新的小波閾值函數(shù),有調(diào)節(jié)閾值因子,能夠改善閾值函數(shù)的連續(xù)性,提高信噪比,減小均方誤差,并將其應(yīng)用到語(yǔ)音增強(qiáng)中,達(dá)到了良好的去噪效果。
小波閾值去噪法的原理分為3個(gè)步驟[7]:對(duì)原信號(hào)小波分解,確定閾值函數(shù)和閾值,小波系數(shù)重構(gòu)。流程如圖1所示。
圖1 小波閾值去噪流程
傳統(tǒng)的閾值函數(shù)由Donoho等提出,由于符號(hào)函數(shù)的特殊數(shù)學(xué)特性,兩種函數(shù)表達(dá)式組成分別如下:
(1)
(2)
式1為硬閾值函數(shù)表達(dá)式,其中ωj,k表示小波系數(shù)。當(dāng)ωj,k的數(shù)值大于閾值λ時(shí),對(duì)ωj,k不做處理,在一定程度上保存了初始信號(hào)的噪聲分量,產(chǎn)生較大的方差,而且由表達(dá)式可以看出函數(shù)在±λ處有間斷點(diǎn),使得硬閾值函數(shù)在整個(gè)函數(shù)空間范圍內(nèi)不連續(xù),去噪后的小波系數(shù)重構(gòu)時(shí),會(huì)產(chǎn)生偽吉布斯現(xiàn)象。
由于硬、軟閾值函數(shù)都存在缺陷,為了提高小波閾值函數(shù)的去噪效果,學(xué)者們基于以上兩種方法,提出了一些改進(jìn)的閾值函數(shù)。
文獻(xiàn)[6]提出的小波閾值函數(shù)為:
(3)
其中,u=1-e-α(|wj,k|-λ)2,α,n為調(diào)節(jié)因子,且為整數(shù)。
式3介于硬閾值和軟閾值函數(shù)之間,通過(guò)改變調(diào)節(jié)因子在一度程度上能夠降低小波系數(shù)與估計(jì)小波系數(shù)的恒定誤差,但是還有待進(jìn)一步改進(jìn)。
文中提出了一個(gè)基于對(duì)數(shù)函數(shù)[8]的改進(jìn)閾值函數(shù)來(lái)進(jìn)一步提升消噪效果。
針對(duì)傳統(tǒng)閾值函數(shù)存在的各種問題,文中提出一個(gè)基于對(duì)數(shù)的改進(jìn)閾值函數(shù)。該閾值函數(shù)不僅能避免傳統(tǒng)閾值函數(shù)的不足,而且隨著小波分解尺度的變化會(huì)做出自適應(yīng)調(diào)整。該閾值函數(shù)具有調(diào)整因子,使用更加靈活,實(shí)用性強(qiáng)。其表達(dá)式為:
(4)
其中,u=1-e-α(|wj,k|-λ)2,α和n為調(diào)節(jié)因子,且為整數(shù)。
新閾值函數(shù)不但有軟閾值函數(shù)連續(xù)的特點(diǎn),且當(dāng)|ωj,k|>λ時(shí)函數(shù)是高階可導(dǎo)的,現(xiàn)在從數(shù)學(xué)角度對(duì)式3進(jìn)行如下分析。
(1)函數(shù)的連續(xù)性。
在wj,k=λ處:當(dāng)wj,k→λ+時(shí),
同理也可以證明新閾值函數(shù)在wj,k=-λ處也是連續(xù)的,證明過(guò)程同上。因此新的閾值函數(shù)在定義域內(nèi)連續(xù),還避免了因間斷問題導(dǎo)致的偽吉布斯現(xiàn)象。
(2)函數(shù)的漸近線。
當(dāng)wj,k→±∞時(shí),
同時(shí)當(dāng)wj,k→時(shí),
(3)閾值函數(shù)的偏差性。
(4)函數(shù)的高階可導(dǎo)性。
新閾值函數(shù)定義域內(nèi)是由符號(hào)函數(shù)、指數(shù)函數(shù)和對(duì)數(shù)函數(shù)組成的,它們都是初等函數(shù),根據(jù)初等函數(shù)可導(dǎo)的性質(zhì)可知,新閾值函數(shù)也是一個(gè)高階可導(dǎo)函數(shù)。
(5)閾值可變因子α與n影響分析。
當(dāng)α→∞時(shí),n→∞,新閾值函數(shù)為式1,成為一個(gè)硬閾值函數(shù);當(dāng)α→0時(shí),新閾值函數(shù)為式2,變?yōu)檐涢撝岛瘮?shù)。因此,只要改變?chǔ)林?,新閾值函?shù)就能夠在硬和軟閾值函數(shù)之間靈活變化。參數(shù)α決定小波閾值的逼近程度,在處理帶噪信號(hào)時(shí)能夠保留部分高頻信號(hào),使細(xì)節(jié)系數(shù)和信號(hào)震蕩現(xiàn)象能夠較好地得到抑制。
合理有效地選擇閾值,關(guān)系到信號(hào)的最終去噪效果[11]。該實(shí)驗(yàn)中采用自適應(yīng)閾值[12],即:
(5)
其中,σ為噪聲方差[13];N為語(yǔ)音信號(hào)的長(zhǎng)度;j為當(dāng)前分解尺度;調(diào)節(jié)常數(shù)C可以得到最佳的輸出信噪比。實(shí)際應(yīng)用中,由于σ不確定,一般取σ=median(w)/0.674 5。這種自適應(yīng)閾值有效克服了固定閾值的缺點(diǎn),去噪效果較好,且更加頑健。
對(duì)于分解層數(shù)的確定,采用如下算法:通過(guò)改變分解層數(shù),不斷循環(huán)計(jì)算消噪信號(hào)的信噪比SNR2與帶噪信號(hào)信噪比SNR1的差值,取差值最大時(shí)的分解層數(shù)為最優(yōu)值。流程如圖2所示。
圖2 分解層數(shù)選擇流程
在信號(hào)處理時(shí),通常用信噪比和重構(gòu)信號(hào)均方誤差對(duì)去噪效果進(jìn)行評(píng)價(jià)。若信噪比指標(biāo)越大,而均方誤差指標(biāo)越小,說(shuō)明去噪效果越好[14-15]。表達(dá)式如下:
(6)
(7)
首先確定分解層數(shù),采用上一節(jié)所述算法,選擇自適應(yīng)閾值,通過(guò)仿真得到分解層數(shù)和信噪比改善量之間的對(duì)應(yīng)曲線,如圖3所示。由圖3觀察可知,分解層數(shù)為6時(shí),改善量最大。
圖3 分解層數(shù)與信噪比改善量曲線
基于以上的去噪評(píng)價(jià)指標(biāo),為了說(shuō)明提出的去噪算法的有效性,采用傳統(tǒng)的硬、軟閾值函數(shù),文獻(xiàn)[6]中的方法和文中提出的新閾值函數(shù)進(jìn)行對(duì)比。用Matlab工具對(duì)含噪測(cè)試信號(hào)bumps和heavysine進(jìn)行小波去噪實(shí)驗(yàn),對(duì)其加入信噪比SNR為6 dB的高斯白噪聲,采用小波基為sym6小波,6層分解層數(shù),其中設(shè)定式5中C=1,式3、式5中n取3。每個(gè)處理結(jié)果是30次運(yùn)算的平均值。下面以含噪bumps信號(hào)為例進(jìn)行說(shuō)明,去噪效果波形如圖5所示,信噪比SNR和均方誤差MSE如表1所示。
通過(guò)大量的仿真實(shí)驗(yàn),根據(jù)所得數(shù)據(jù)有如下分析:
含噪的bumps和heavysine信號(hào)經(jīng)過(guò)各種閾值函數(shù)去噪后有很大的差別。由圖4可知,經(jīng)過(guò)硬閾值函數(shù)處理后的重構(gòu)信號(hào)產(chǎn)生了震蕩現(xiàn)象。經(jīng)過(guò)軟閾值函數(shù)去噪后的信號(hào)在閾值處雖然連續(xù),但是不可導(dǎo),而且處理前后小波系數(shù)存在一定偏差,使得波形有明顯的萎縮。文獻(xiàn)[6]中的閾值函數(shù)處理噪聲信號(hào)后的重構(gòu)信號(hào)光滑且與原始信號(hào)很接近,而新的閾值函數(shù)比文獻(xiàn)[6]中的函數(shù)更具有優(yōu)勢(shì),在閾值處不是直接置0而是平滑處理,細(xì)節(jié)更加逼近原信號(hào),無(wú)附加震蕩,波形更加平滑。
由表1可知,新閾值函數(shù)與其他三個(gè)閾值函數(shù)相比,信噪比有很好的提高,均方誤差也進(jìn)一步減小。因此,無(wú)論是從波形特征還是數(shù)據(jù)指標(biāo)來(lái)看,均驗(yàn)證了文中提出的閾值函數(shù)去噪算法的優(yōu)越性。
圖4 各閾值函數(shù)對(duì)bumps信號(hào)去噪效果
評(píng)價(jià)指標(biāo)含噪信號(hào)硬閾值函數(shù)軟閾值函數(shù)文獻(xiàn)[6]閾值函數(shù)(α=1)新閾值函數(shù)(α=1)文獻(xiàn)[6]閾值函數(shù)(α=5)新閾值函數(shù)(α=5)文獻(xiàn)[6]閾值函數(shù)(α=10)新閾值函數(shù)(α=10)bumpsSNR/dB16.963 3416.189 4817.311 7221.192 7821.309 4621.516 6021.652 0421.276 1021.431 28MSE0.999 601.092 540.971 200.611 760.610 560.589 320.586 960.606 360.602 46heavysineSNR/dB15.953 0623.711 1424.883 0226.063 1826.192 1626.654 8826.712 1026.751 9426.877 44MSE1.004 800.408 260.355 680.311 220.310 240.290 240.288 360.286 600.285 76
下面把改進(jìn)算法應(yīng)用在語(yǔ)音增強(qiáng)上,驗(yàn)證真實(shí)環(huán)境下的語(yǔ)音消噪效果。文中采用錄制內(nèi)容為“電子信息學(xué)院”的語(yǔ)音作為測(cè)試信號(hào)。背景噪聲采用高斯白噪聲,語(yǔ)音信號(hào)和噪聲采樣頻率均為8 kHz,單聲道,16 bit采樣位數(shù)。同樣采用上述四種算法對(duì)語(yǔ)音進(jìn)行去噪。小波基為sym6,小波分解尺度為6,去噪后信號(hào)的時(shí)域波形如圖5所示。
圖5 語(yǔ)音信號(hào)去噪效果
圖5中,觀察原信號(hào)的前后端有一些凸起的“毛刺”,該現(xiàn)象是因?yàn)樵阡浺暨^(guò)程中引入系統(tǒng)內(nèi)部等環(huán)境噪聲引起的。通過(guò)改進(jìn)的閾值函數(shù)處理后,不僅在很大程度上削減了噪聲,而且“毛刺”也得到了抑制。
除了去噪效果比較以外,還得到了每個(gè)函數(shù)的信噪比和均方誤差,如表2所示。
由表2的數(shù)據(jù)對(duì)比可知,文中改進(jìn)的閾值函數(shù)對(duì)語(yǔ)音進(jìn)行去噪后的SNR比其他幾種函數(shù)都要高,而且MSE也是最低的。通過(guò)以上實(shí)驗(yàn)結(jié)果可知,相比文獻(xiàn)[6]的閾值函數(shù)和傳統(tǒng)軟、硬閾值函數(shù),文中改進(jìn)的閾值函數(shù)的語(yǔ)音消噪效果更加明顯。
表2 各閾值函數(shù)對(duì)語(yǔ)音信號(hào)去噪后的評(píng)價(jià)指標(biāo)
從原理上分析了硬閾值函數(shù)、文獻(xiàn)[6]以及軟閾值函數(shù)的優(yōu)缺點(diǎn)后,文中提出一種帶有調(diào)節(jié)因子的閾值去噪算法,有很強(qiáng)的實(shí)用性和靈活性。先從信噪比、均方誤差兩方面與其他三個(gè)閾值函數(shù)作對(duì)比,驗(yàn)證改進(jìn)算法的有效性;最后將算法應(yīng)用在語(yǔ)音增強(qiáng),進(jìn)一步證明算法的可行性。仿真結(jié)果表明,該閾值函數(shù)相比硬、軟閾值函數(shù)和文獻(xiàn)[6]提出的函數(shù),無(wú)論是在測(cè)試信號(hào)還是語(yǔ)音信號(hào)上,都具有更好的去噪效果,在保留有用語(yǔ)音信號(hào)的同時(shí),一定程度上提高了語(yǔ)音整體質(zhì)量,達(dá)到了良好的語(yǔ)音去噪效果。