文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.2016.08.024
中文引用格式: 倪培峰,胡雄. 一種基于改進(jìn)閾值函數(shù)的小波閾值降噪算法[J].電子技術(shù)應(yīng)用,2016,42(8):98-100,104.
英文引用格式: Ni Peifeng,Hu Xiong. A new wavelet threshold de-noising method based on improved threshold function[J].Application of Electronic Technique,2016,42(8):98-100,104.
0 引言
實(shí)際的工程測(cè)量測(cè)試中,工程信號(hào)在采集和傳輸過(guò)程中,總會(huì)因外界的干擾引入噪聲,為了準(zhǔn)確地獲得有用信號(hào),降噪是信號(hào)分析前必須經(jīng)過(guò)的預(yù)處理環(huán)節(jié)。傳統(tǒng)降噪方法的不足在于使信號(hào)變換后的熵增高,無(wú)法刻畫(huà)信號(hào)的非平穩(wěn)特性并且無(wú)法得到信號(hào)的相關(guān)性[1]。而小波變換在時(shí)域和頻域同時(shí)具有良好的局部化性質(zhì),并且小波變換具有眾多優(yōu)良的特性,如多分辨率特性、低熵性、去相關(guān)性和選基靈活性等。這些特性很好地克服了傳統(tǒng)方法的不足,使得小波變換適用于信號(hào)的降噪處理。因此利用小波變換進(jìn)行降噪,已經(jīng)成為近幾年研究的熱點(diǎn)。
運(yùn)用小波變換處理噪聲的方法主要分為3類:MATLAB提出的模極大值處理算法[2];XU提出的空域相關(guān)降噪算法[3];DONOHO提出的閾值降噪算法[4]。其中,以閾值降噪算法最為常用。閾值降噪算法中,通過(guò)對(duì)分解后的小波系數(shù)進(jìn)行閾值處理以達(dá)到降噪的目的。最常用的閾值函數(shù)是由DONOHO在1995年提出的硬閾值函數(shù)和軟閾值函數(shù),但這兩種函數(shù)也存在不足之處。采用硬閾值函數(shù)時(shí),由于硬閾值函數(shù)的不連續(xù),導(dǎo)致重構(gòu)信號(hào)可能出現(xiàn)局部震蕩;采用軟閾值函數(shù)時(shí),與真實(shí)小波系數(shù)之間存在恒定的偏差,導(dǎo)致重構(gòu)后信號(hào)的精度下降[5]。針對(duì)軟、硬閾值函數(shù)存在的缺點(diǎn)和不足,本文提出一種新的閾值函數(shù)。新閾值函數(shù)既保證了閾值函數(shù)的連續(xù)性,又能避免軟閾值固定偏差的缺點(diǎn)。并通過(guò)MATLAB仿真分析驗(yàn)證了改進(jìn)的小波閾值降噪算法優(yōu)于傳統(tǒng)閾值算法。
1 小波閾值降噪原理
假設(shè)一維離散含噪信號(hào)由式(1)表示:
其中,X(k)是含噪信號(hào);S(k)是原始標(biāo)準(zhǔn)信號(hào);E(k)是疊加的高斯白噪聲,其服從N(0,σ2)分布。
小波變換后,有用信號(hào)的能量集中于幅值較大的小波系數(shù),而噪聲能量則分布在整個(gè)小波域中[6]。因此,較大的小波系數(shù)是由有用信號(hào)引起的,較小的小波系數(shù)則代表噪聲。基于小波系數(shù)的特征,DONOHO和JOHNSTONE[7]提出了閾值降噪算法。首先確定一個(gè)閾值,即選擇一個(gè)合適的數(shù),當(dāng)小波分解系數(shù)小于閾值時(shí),認(rèn)為這部分系數(shù)主要是由噪聲引起的,予以舍棄;當(dāng)系數(shù)大于閾值時(shí),認(rèn)為這是由信號(hào)引起的小波分解系數(shù),就把這一部分進(jìn)行閾值處理,然后用閾值處理后的量化系數(shù)進(jìn)行重構(gòu),即為降噪后的信號(hào)。小波閾值降噪的基本步驟如圖1所示。
2 改進(jìn)閾值算法
閾值的確定直接影響著小波閾值降噪的效果。如果閾值取得太小,噪聲依然存在;如果閾值取得太大,那么有用信號(hào)的重要信息也可能被濾除。最常選用的通用閾值可用式(2)表示:
其中,N為信號(hào)的長(zhǎng)度,σ為噪聲的均方差估計(jì)值,由式(3)給出:
因?yàn)橥ㄓ瞄撝涤羞^(guò)扼殺有用信號(hào)的風(fēng)險(xiǎn),文獻(xiàn)[6]提出一種基于層間相關(guān)性的閾值選取方法。本文在此基礎(chǔ)上結(jié)合分層閾值的思想對(duì)該閾值算法進(jìn)行改進(jìn),如式(4)所示:
其中,r為常數(shù),Tj,n為小波分解第j層位置n處的閾值,λj為第j層的閾值,其表達(dá)式如式(5)所示:
式中,Wj,k為第j層上的小波系數(shù),j為分解層數(shù)。
K(n)為定義的一個(gè)參數(shù),用來(lái)表征小波系數(shù)的層間相關(guān)性,其定義如式(6)所示:
式中,W(:,n)表示點(diǎn)n處的所有小波系數(shù)。
當(dāng)K(n)∈[0,r),點(diǎn)n處的小波系數(shù)相關(guān)性較強(qiáng),點(diǎn)n處可能是一個(gè)信號(hào)點(diǎn);當(dāng)K(n)∈[r,+∞),點(diǎn)n處的相關(guān)性較差,該點(diǎn)可能是由噪聲引起的。由式(4)可知,新閾值方法通過(guò)比較小波系數(shù)層間相關(guān)性,對(duì)不同點(diǎn)n的閾值進(jìn)行修正。當(dāng)K(n)∈[0,0.5r)時(shí),小波系數(shù)間的相關(guān)性很大,該點(diǎn)非常有可能是純信號(hào)點(diǎn),對(duì)閾值進(jìn)行收縮,取為0.7λj;當(dāng)K(n)∈[0.5r,0.8r)時(shí),小波系數(shù)的相關(guān)性比較大,該點(diǎn)有可能是信號(hào)點(diǎn),該點(diǎn)的閾值取為0.8λj;當(dāng)K(n)∈[0.8r,r)時(shí),相關(guān)性較大,該點(diǎn)依舊可能是信號(hào)點(diǎn),減小閾值收縮程度,取為0.9λj;當(dāng)K(n)∈[r,+∞)時(shí),認(rèn)為小波系數(shù)的相關(guān)性較小,該點(diǎn)幾乎不可能是純信號(hào)點(diǎn),將閾值取為λj。
K(n)在計(jì)算時(shí),要求不同層上的小波分解系數(shù)的數(shù)目一致,因此需要采用平穩(wěn)小波變換(SWT)。r是測(cè)量小波系數(shù)相關(guān)性的一個(gè)重要參數(shù),取值太小,可能會(huì)過(guò)扼殺有用信號(hào),取值過(guò)大,可能會(huì)保留較多的噪聲信息。通過(guò)相關(guān)實(shí)驗(yàn),r取為0.5~1.5之間時(shí),降噪效果比較好。本文中,r取為1。
3 構(gòu)造新閾值函數(shù)
傳統(tǒng)的閾值函數(shù)是由DONOHO提出的軟閾值函數(shù)和硬閾值函數(shù),軟閾值函數(shù)定義如式(7)所示,硬閾值函數(shù)定義如式(8)所示。
硬閾值函數(shù)在小波域內(nèi)存在間斷點(diǎn),在重構(gòu)信號(hào)時(shí)會(huì)出現(xiàn)局部震蕩現(xiàn)象;軟閾值函數(shù)雖然在小波域內(nèi)連續(xù),但是閾值處理后的小波系數(shù)與真實(shí)小波系數(shù)存在恒定偏差,會(huì)造成信號(hào)高頻有用信息的丟失。
本文結(jié)合文獻(xiàn)[8]與文獻(xiàn)[9]中的方法,構(gòu)造了一個(gè)新的閾值函數(shù),如式(9)所示:
其中,且α為正數(shù),β為正數(shù)。
由式(9)可知,當(dāng)|Wj,k|→±λ時(shí),,即新閾值函數(shù)在Wj,k=±λ處是連續(xù)的,克服了硬閾值函數(shù)不連續(xù)的缺陷,重構(gòu)信號(hào)不會(huì)有震蕩產(chǎn)生;當(dāng)Wj,k→±∞時(shí),,即當(dāng)小波系數(shù)足夠大時(shí),新閾值函數(shù)等同于硬閾值函數(shù),從而克服了軟閾值函數(shù)之間具有恒定偏的問(wèn)題;同時(shí)新閾值函數(shù)具有高階可導(dǎo)性。從表達(dá)式中可以看出,當(dāng)α→0且β→0時(shí),新閾值函數(shù)即為軟閾值函數(shù);當(dāng)α→+∞時(shí),u→1,新閾值函數(shù)即為硬閾值函數(shù);適當(dāng)選取α和β的值,新閾值函數(shù)可以在硬閾值函數(shù)與軟閾值函數(shù)之間進(jìn)行調(diào)整,靈活性更強(qiáng)。硬、軟閾值函數(shù)的圖形如圖2(a)、圖2(b)所示,選取不同的α和β的新閾值函數(shù)如圖2(c)、圖2(d)所示。
4 仿真分析
為了驗(yàn)證本文降噪算法的有效性,用MATLAB對(duì)其進(jìn)行仿真試驗(yàn)。選用Matlab自帶的Heavy sine 信號(hào),對(duì)其加入一定的高斯白噪聲,并用軟閾值降噪算法、硬閾值降噪算法、本文新閾值降噪算法分別對(duì)其做降噪處理,其結(jié)果如圖3所示。其中,選用sym4小波基,分解層數(shù)選為3層,新閾值函數(shù)中將α取為0.1,β取為7。
從視覺(jué)上,降噪效果很難評(píng)價(jià),為了量化地評(píng)價(jià)降噪性能,采用信噪比和均方根誤差[10]作為評(píng)價(jià)指標(biāo)。信噪比指原始信號(hào)能量與噪聲能量的比值,記為SNR,其值越大,信號(hào)中噪聲含量越少,降噪效果越好;均方根誤差指重構(gòu)信號(hào)與原始信號(hào)的均方誤差,記為RMSE,均方根誤差體現(xiàn)了原始信號(hào)和降噪之后的信號(hào)間的差異,均方根誤差越小,表示重構(gòu)信號(hào)與原始信號(hào)的差異越小,即降噪效果越好。其表達(dá)式分別如式(10)和式(11)所示。
式中,x(i)為原始無(wú)噪聲信號(hào);為降噪后的信號(hào)。
各種降噪方法的性能指標(biāo)如表1所示。從表中可以看出,改進(jìn)的閾值降噪算法相比于其他算法,降噪后信噪比最大,均方根誤差最小,所以改進(jìn)的閾值降噪算法優(yōu)于其他算法。
5 總結(jié)
本文分析了小波閾值降噪的原理,針對(duì)軟、硬閾值函數(shù)的缺點(diǎn),結(jié)合相關(guān)文獻(xiàn),提出了一種新的閾值函數(shù),該閾值函數(shù)可以通過(guò)調(diào)整α和β參數(shù)來(lái)調(diào)整閾值函數(shù),進(jìn)而獲得最佳的降噪效果。本文基于改進(jìn)的新閾值函數(shù),并結(jié)合改進(jìn)的閾值確定方法,提出了一種新的閾值降噪算法。利用MATLAB進(jìn)行仿真分析,實(shí)驗(yàn)結(jié)果表明,本閾值降噪算法降噪性能優(yōu)于其他常用算法。
參考文獻(xiàn)
[1] 張德豐.Matlab小波分析[M].北京:機(jī)械工業(yè)出版社,2011.
[2] MALLAT S,HWANG W L.Singularity detection and processing with wavelets[J].IEEE Trans Inform Theory,1992,38(2):617-643.
[3] XU Y S,WEAVER J B,HEALY D M,et al.Wavelet transform domain filters:a spatially selective noise filtration technique[J].IEEE Trans Image Processing,1994,3(6):747-758.
[4] DONOHO D L.De-noising by soft-thresholding[J].IEEETransactions on Information Theory,1995,41(3):613-627.
[5] 王立東,張凱,王良潤(rùn).改進(jìn)小波閾值算法在電機(jī)振動(dòng)信號(hào)降噪中的應(yīng)用[J].電子技術(shù)應(yīng)用,2015,41(5):77-80.
[6] HE C,XING J C,LI J L,et al.A new wavelet threshold determination method considering interscale correlation in signal denoising[J].Mathematical Problems in Engineering,2015.
[7] DONOHO D L,JOHNSTONE I M.Ideal spatial adaption by wavelet shrinkage[J].Biometrika,1994,81(3):425-455.
[8] 胡俊文,周國(guó)榮.小波分析在振動(dòng)信號(hào)降噪中的應(yīng)用[J].機(jī)械工程與自動(dòng)化,2010,158(1):128-130.
[9] 王蓓,張根耀,李智,等.基于新閾值函數(shù)的小波閾值降噪算法[J].計(jì)算機(jī)應(yīng)用,2014,34(5):1499-1502.
[10] 陶珂,朱建軍.小波去噪質(zhì)量評(píng)價(jià)方法的對(duì)比研究[J].大地測(cè)量與地球動(dòng)力學(xué),2012,32(2):128-133.