孫春泉
摘要:針對(duì)Donoho提出的硬閾值函數(shù)和軟閾值函數(shù)存在的缺點(diǎn)即硬閾值函數(shù)會(huì)產(chǎn)生附加震蕩,產(chǎn)生跳躍點(diǎn),使原始信號(hào)的丟失其本身具有的平滑性。軟閾值函數(shù)估計(jì)得到的小波系數(shù)由于會(huì)壓縮信號(hào),會(huì)產(chǎn)生一定的誤差,直接影響到重構(gòu)信號(hào)的準(zhǔn)確度的缺陷,改進(jìn)了一種小波閾值算法。并在含有噪聲的語音信號(hào)中應(yīng)用該算法,實(shí)驗(yàn)結(jié)果表明,該算法有效地抑制了噪聲。
關(guān)鍵詞:小波變換;語音信號(hào);去噪;MATLAB
中圖分類號(hào):TP18 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2017)32-0194-02
1 概述
如今的語音識(shí)別被廣泛地應(yīng)用在日常生活中,而在生活中很難能有比較純凈的語音信號(hào),大多含有噪聲。因此為了得到較為純凈的語音信號(hào),語音去噪的研究就顯得格外重要。近些年來,去噪算法的不斷提出,小波分析理論得到了廣泛的重視,并顯示出了其非常好的去噪性質(zhì)。由于小波在時(shí)域和頻域上同時(shí)具有非常好的局部化性質(zhì),因此就可以更好的研究所需要研究對(duì)象的更深層處的東西。
20世紀(jì)四五十年代,Gabor提出的短時(shí)傅里葉變換所具有的局部特性為小波分析提供了理論基礎(chǔ),20世紀(jì)80年代,Strormberg提出了一種支撐長度無窮的正交多項(xiàng)式小波,到20世紀(jì)90年代,Mallat在實(shí)現(xiàn)小波變換的快速算法的基礎(chǔ)上,首次提出了多分辨率分辨分析的概念。該算法具有與快速傅里葉變換相同的重要性。早期語音去噪的算法基本上都離不開濾波器,設(shè)計(jì)這個(gè)濾波器就是將語音信號(hào)中的噪聲去除,濾波器的這種方法只能對(duì)具有線性平穩(wěn)這個(gè)特性的信號(hào)有很好地去噪效果,而自然界中的信號(hào)并不都是具有這樣的特性的,在自然界中存在大量的非平穩(wěn)信號(hào),寬帶噪聲,因此早期的語音去噪算法在處理從自然環(huán)境中錄下的語音就不能的到號(hào)的效果,而小波去噪算法由于其具有非常好的保護(hù)信號(hào)邊緣細(xì)節(jié)的性質(zhì),在語音信號(hào)處理方面具有非常廣泛的應(yīng)用。文獻(xiàn)[2]通過修改小波閾值函數(shù)和修正閾值系數(shù)來提高小波閾值去噪的去噪效果。文獻(xiàn)[3]根據(jù)語音信號(hào)的濁音和清音的特點(diǎn),提出一種在閾值函數(shù)中引入?yún)?shù),通過調(diào)整參數(shù)來獲得最佳小波系數(shù)的閾值估計(jì)值方法提高了小波閾值去噪的去噪效果。
2 小波變換原理
2.1 連續(xù)小波變換原理
對(duì)任意函數(shù)f(t)屬于L2(R)的連續(xù)小波變換公式如下:
[Wf(a,b)=
其重構(gòu)公式(即逆變換)如下:
[f(t)=1CΨ-∞+∞-∞+∞1a2Wf(a,b)Ψ(t-ba)dadb] (2)
由于基小波[Ψ(t)]生成的小波[Ψa,b(t)]在小波變換中對(duì)被分析的信號(hào)起著觀測(cè)窗的作用,所以[Ψ(t)]還應(yīng)滿足如下的約束條件:
[-∞+∞Ψ(t)dt<∞,Ψ'(0)=-∞+∞Ψ(t)dt=0] (3)
2.2 離散小波變換原理
對(duì)連續(xù)變換公式中取[a=aj0,b=kaj0b0,j∈Z,]將步長因子[a0≠1]設(shè)定為一個(gè)確定的值,且一般設(shè)[a0>1]。由此可以得出離散小波函數(shù)的計(jì)算公式如下:
[Ψj,k(t)=a-j/20Ψ(t-kaj0b0aj0)=a-j/20Ψ(aj0t-kb0)] (4)
而對(duì)于離散小波函數(shù)一般使用[a0=2,b0=1]的二進(jìn)離散小波。因此,可得(4)式的變形如下:
[Ψj,k(t)=2-j/2Ψ(2-jt-k)] (5)
從式(4)和(5)可以得出離散小波變換的計(jì)算公式如下:
[D[Wf(j,k)]=2-j/2Rf(t)Ψ(2-jt-k)dt] (6)
3 改進(jìn)的小波閾值算法
3.1 小波閾值去噪的原理
Donobo提出的小波閾值去噪算法的基本思想是通過小波變換(采用Mallat算法)獲取信號(hào)的小波系數(shù),此小波系數(shù)包含有關(guān)于信號(hào)的重要信息,將信號(hào)經(jīng)小波分解后可以看出有用的信號(hào)所產(chǎn)生的比噪聲所產(chǎn)生的小波系數(shù)要大,選定一個(gè)閾值,將大于這個(gè)閾值的小波系數(shù)看作是信號(hào)所產(chǎn)生的,反之則是由噪聲所產(chǎn)生的,并將其值置為0。從而達(dá)到去除噪聲的目的。最后利用小波變換的逆變換進(jìn)行重構(gòu)獲得去除噪聲后的有效信號(hào)。而該算法的最關(guān)鍵的部分在于如何設(shè)置這個(gè)閾值,由D.L Donoho提出的軟、硬閾值函數(shù)分別如式(7),(8)。
[μj,k=sgn(ωj,k)(ωj,k-λ),ωj,k≥λ0,ωj,k<λ] (7)
[μj,k=ωj,k,ωj,k≥λ0,ωj,k<λ] (8)
其中sgn()為符號(hào)函數(shù),閥值[λ]為[σ2logN],σ為噪聲的標(biāo)準(zhǔn)差,可通過最小尺度上的小波系數(shù)來估計(jì),其估計(jì)值,其中[σ=2*median(ω1,k)0.6745]表示取第一層小波變換系數(shù)ω1,k幅值的中間值,N為信號(hào)長度。
3.2 改進(jìn)的小波閾值算法
軟閾值方法與硬閾值方法由于其在實(shí)際應(yīng)用中具有較好的去噪效果,而得到老較為普遍的應(yīng)用,但由于算法本身具有較多的缺點(diǎn)比如硬閾值函數(shù)會(huì)產(chǎn)生附加震蕩,產(chǎn)生跳躍點(diǎn),使原始信號(hào)的丟失其本身具有的平滑性。軟閾值估計(jì)得到的小波系數(shù)由于會(huì)壓縮信號(hào),會(huì)使獲取的信號(hào)與原始的信號(hào)產(chǎn)生部分不符,這直接會(huì)造成結(jié)果與原信號(hào)的偏差。因此,提出了一種新的改進(jìn)閾值函數(shù):
[μj,k=sgn(ωj,k)(ωj,k-αλ),ωj,k≥λ0,ωj,k<λ] (9)
它是介于軟、硬閾值發(fā)之間的一個(gè)靈活選擇。其中ɑ∈[0,1] 為一調(diào)整參數(shù),由上式可知,當(dāng)ɑ=0時(shí),(8)式就是硬閾值函數(shù),當(dāng)ɑ=1時(shí),(8)式就是軟閾值函數(shù)。對(duì)于式(8)中的未知參數(shù)ɑ在輸入不同的信號(hào)需要反復(fù)測(cè)試才能獲取合適的值。這給其實(shí)際應(yīng)用增加了困難,針對(duì)這個(gè)情況,本文通過使用計(jì)算離散隨機(jī)變量最大熵原理,通過計(jì)算最大熵來確定最佳的未知參數(shù)[a]。其算法計(jì)算步驟如下:
(1) 選擇合適的小波和小波分解層數(shù),得到相應(yīng)的小波分解系數(shù)ωj,k;
(2) 對(duì)步驟1中獲取的ωj,k通過式
[μj,k=sgn(ωj,k)(ωj,k-αλ),ωj,k≥λ0,ωj,k<λ]和式[vj,k=0,ωj,k≥λωj,k,ωj,k<λ]獲取去噪后的語音信號(hào)的小波系數(shù)μj,k和噪聲的小波系數(shù)vj,k;
(3) 對(duì)于不同的參數(shù)α ,分別由離散隨機(jī)變量最大熵原理公式
[Ws=-j=1mEsjEslogEsjEs=-j=1miωj,i2iω1i2+iω2i2+…+iωmi2logiωj,i2iω1i2+iω2i2+…+iωmi2] (10)
[Wn=-j=1mEnjEnlogEnjEn]
[=-j=1mivj,i2iv1i2+iv2i2+…+ivmi2logivj,i2iv1i2+iv2i2+…+ivmi2]
(11)
計(jì)算去噪后語音信號(hào)的小波熵Ws和噪聲的小波熵Wn,再根據(jù)[W=Ws+Wn2]求出信號(hào)的小波熵。
(4) 比較步驟3中獲取的小波熵,求出其中的最大值,此時(shí)所對(duì)應(yīng)的α值即為所求的最佳參數(shù)。
4 仿真實(shí)驗(yàn)結(jié)果
針對(duì)上文給出的算法改進(jìn),本文使用美國MathWorks公司出品的商業(yè)數(shù)學(xué)軟件MATLAB 7.1版編程工具,給出了其仿真實(shí)驗(yàn)結(jié)果。通過仿真實(shí)驗(yàn)發(fā)現(xiàn)改進(jìn)后的算法相比軟閾值去噪算法和硬閾值去噪算法提高了信噪比。表1給出了軟硬閾值去噪算法和改進(jìn)后的算法對(duì)加噪語音信號(hào)處理后的信噪比。通過對(duì)比發(fā)現(xiàn)改進(jìn)后的算法具有較好的去噪效果。
5 結(jié)論
本文針對(duì)軟硬閾值去噪算法所存在的缺陷,提出了一種通過離散隨機(jī)變量的最大熵確定閾值的改進(jìn)算法。雖然該算法明顯提高了語音信號(hào)的信噪比,但是通過計(jì)算離散隨機(jī)變量的最大熵來確定最優(yōu)參數(shù),從算法的復(fù)雜度角度分析,明顯提高了算法的時(shí)間復(fù)雜度。接下來的研究就是怎樣提高算法的時(shí)間復(fù)雜度。
參考文獻(xiàn):
[1] Wenyong Dong, Hong Ding.Full Frequency De-noising Method Based on Wavelet Decomposition and Noisetype Detection.愛思唯爾期刊,2016.
[2] 趙鴻圖,劉云.改進(jìn)的小波閾值語音去噪算法[J].河南理工大學(xué)學(xué)報(bào),2014,33(5):3-4.
[3] 董胡,錢盛友.基于小波變換的語音增強(qiáng)方法的研究[J].計(jì)算機(jī)工程與應(yīng)用,2007,43(31):28-29.
[4] Guang Hua Chen,Gui Hong Yan.The Application of the Improved Threshold Method in Wavelet Image DeNoising.Trans Tech,2014.endprint