周建新, 周鳳祺,b
(華北理工大學(xué),a.研究生學(xué)院; b.電氣工程學(xué)院,河北 唐山 063000)
信號(hào)消噪過(guò)程中,由于小波技術(shù)可以把信號(hào)的非平穩(wěn)特性清晰地表現(xiàn)出來(lái),所以小波變換的應(yīng)用十分廣泛。
小波去噪的重點(diǎn)包括閾值的估計(jì)值和閾值函數(shù)處理小波系數(shù)。小波閾值降噪中,閾值函數(shù)的選擇至關(guān)重要。然而,傳統(tǒng)的軟硬閾值函數(shù)存在缺陷,無(wú)法完美還原信號(hào),因此很多方法對(duì)閾值函數(shù)進(jìn)行了改進(jìn)。
為了求取閾值,袁開(kāi)明等[1]將模擬退火算法引入閾值選取,并用一種新型的帶參數(shù)閾值函數(shù)求解閾值,獲得了極好的效果;唐鵬等[2]為了降低有用信號(hào)的畸變失真,提出一種新型的閾值函數(shù),并將貝葉斯閾值引入小波變換;盧廣森等[3]提出了一種新算法來(lái)確定分解層數(shù)和小波基函數(shù),同時(shí)引入粒子群優(yōu)化算法進(jìn)行參數(shù)優(yōu)化;對(duì)于受到污染的高頻信號(hào),吳雅靜等[4]提出了將小波變換和粒子群互相結(jié)合的方法;相榮榮[5]對(duì)協(xié)同量子粒子群算法進(jìn)行優(yōu)化改進(jìn),并將其成功應(yīng)用于醫(yī)學(xué)圖像分割方面。
本文提出一種基于改進(jìn)的協(xié)同量子粒子群優(yōu)化(CQPSO)小波閾值算法。為了避免粒子陷入局部最優(yōu),提高全局尋優(yōu)能力,改進(jìn)自適應(yīng)收縮擴(kuò)張因子。用改進(jìn)的協(xié)同量子粒子群算法優(yōu)化小波閾值函數(shù)中的調(diào)節(jié)因子和閾值,使它們的數(shù)值取值最優(yōu),通過(guò)數(shù)據(jù)結(jié)果與仿真圖像表明,該算法能較大限度地使閾值函數(shù)參數(shù)取值最優(yōu),去噪效果佳,較好地還原信號(hào)。
大部分的隨機(jī)搜索算法都存在維數(shù)災(zāi)難問(wèn)題,即隨著維數(shù)的增多,搜索算法的性能會(huì)隨之降低,同時(shí),種群的多樣性也會(huì)減少。種群中粒子的每一維決定相對(duì)應(yīng)的適應(yīng)度值。盡管部分粒子某一維的數(shù)值已經(jīng)達(dá)到全局最優(yōu),但因?yàn)榫S數(shù)的問(wèn)題,最終粒子被舍棄,即最優(yōu)粒子不能被完美利用。為了避免這種情況,本文參考文獻(xiàn)[5]的改進(jìn)型協(xié)同量子粒子群算法,即考慮到粒子之間的協(xié)同作用。利用蒙特卡羅多次測(cè)量產(chǎn)生多個(gè)個(gè)體,再通過(guò)協(xié)同算法計(jì)算出新的個(gè)體,即經(jīng)過(guò)多次測(cè)量后,選出數(shù)值最優(yōu)的5個(gè)個(gè)體,再根據(jù)適應(yīng)度值的大小挑選出最優(yōu)的一個(gè),設(shè)為Xl 0(x00,x10,…,xl 0),同時(shí)將其設(shè)為背景變量,即Xc=Xl 0,令Xi=Xl 0(Xi為粒子的當(dāng)前位置),再用Xl 1(x01,x11,…,xl1),Xl 2(x02,x12,…,xl 2),Xl 3(x03,x13,…,xl 3),Xl 4(x04,x14,…,xl 4)每一維分量的數(shù)據(jù)來(lái)替代背景變量Xc中相應(yīng)維度變量的數(shù)據(jù),將其設(shè)為新的背景變量X′c,再計(jì)算X′c的適應(yīng)度值,若優(yōu)于Xc的適應(yīng)度值,則表明該維分量的數(shù)據(jù)是更優(yōu)的,那么就用這個(gè)數(shù)據(jù)替代Xi中的原數(shù)據(jù),得到最終的Xi[6]。
由于收縮擴(kuò)張因子取值過(guò)大會(huì)導(dǎo)致算法搜索精度低,取值過(guò)小則不能跳出局部最優(yōu)解[7],因此在文獻(xiàn)[8]的基礎(chǔ)上,對(duì)自適應(yīng)收縮擴(kuò)張因子進(jìn)行改進(jìn)。
定義進(jìn)化速度因子f(t)為
(1)
式中,F(gbest(t+1))和F(gbest(t))分別為粒子在第t+1次和粒子在第t次全局最優(yōu)位置的適應(yīng)度值,gbest(t)為粒子的個(gè)體最優(yōu)值。本文選取信號(hào)間的均方差評(píng)估去噪效果。
文獻(xiàn)[8]的自適應(yīng)收縮擴(kuò)張因子為
α=α1-f(1)×α0
(2)
式中:α0為α初值,一般取值為1;α1為速度因子權(quán)重,一般取值為0.5。該收縮擴(kuò)張因子在取值方面獲得了進(jìn)一步的優(yōu)化,但因?yàn)槭湛s擴(kuò)張因子需要根據(jù)f(t)的不同而取不同的值,因此,本文提出如下自適應(yīng)收縮擴(kuò)張因子
βt=βt-2-(f(t-2)-1)×βt-1t>3
(3)
式中:若t=3時(shí),β3=β2-f(1)×β1,β2為初值,通常取值1,β1為速度因子權(quán)重,通常取值0.5,βt∈[0.51],βt若大于1取1,小于0.5取0.5。
當(dāng)f(t)值較小,粒子距最優(yōu)位置遠(yuǎn),全局最優(yōu)適應(yīng)度值變化較大,收縮擴(kuò)張因子增大以便快速尋優(yōu);當(dāng)f(t)值較大,粒子距最優(yōu)位置近,全局最優(yōu)適應(yīng)度值變化小,收縮擴(kuò)張因子減小以精確尋優(yōu);當(dāng)f(t)值為1時(shí),進(jìn)化停止。
協(xié)同量子粒子群算法位置更新算式為
(4)
式中:βt為自適應(yīng)收縮擴(kuò)張因子;Xi d(t+1)為第t+1次、第i個(gè)、第d維新個(gè)體的粒子位置;pi d(t+1)為第t+1次、第i個(gè)、第d維mbest(t)和gbest(t)之間的隨機(jī)位置;mbest(t)為第t次的平均最佳位置,算式為
(5)
pi d(t+1)=μ1×pbest(t)+μ2×gbest(t)
(6)
式中:M為粒子數(shù)量;pbest,i d(t)為第t次、第d維、第i個(gè)粒子的局部最優(yōu)值;μ1,μ2∈rand(0,1),當(dāng)適應(yīng)度值取最優(yōu),Xi d(t+1)所在的粒子位置即是gbest(t+1)。
閾值函數(shù)在小波閾值降噪過(guò)程中十分重要。雖然軟硬閾值函數(shù)有許多優(yōu)點(diǎn),但在實(shí)際應(yīng)用中仍有很大的改進(jìn)空間。因此,很多文獻(xiàn)提出帶參數(shù)的閾值函數(shù),但鑒于閾值函數(shù)中參數(shù)無(wú)法取得最優(yōu)值,去噪效果不盡如人意。
本文提出一種基于改進(jìn)協(xié)同量子粒子群優(yōu)化小波閾值函數(shù)的算法用于去噪領(lǐng)域,即用改進(jìn)協(xié)同量子粒子群算法優(yōu)化小波閾值函數(shù)中的調(diào)節(jié)因子和閾值,使它們?nèi)≈底顑?yōu),從而達(dá)到更好的優(yōu)化效果。
本文采用的閾值函數(shù)為文獻(xiàn)[9]所采用的閾值函數(shù),即
(7)
適應(yīng)度值的選取。在本文中,選取信號(hào)之間的均方差作為算法的適應(yīng)度函數(shù)[9],即
(8)
1) 對(duì)協(xié)同量子粒子群中的參數(shù)初始化。將所有粒子位置設(shè)為Xi(0),個(gè)體最優(yōu)值為pbest,i(t)=Xi(0)。本文設(shè)置個(gè)體維數(shù)為2。
2) 計(jì)算所有粒子的適應(yīng)度值,并計(jì)算群體的pbest(t)和mbest(t)。
3) 對(duì)于每個(gè)個(gè)體最優(yōu),通過(guò)蒙特卡羅多次觀測(cè)得到5個(gè)個(gè)體。根據(jù)協(xié)同量子粒子群算法的更新式[11]得到第1維數(shù)據(jù),然后再根據(jù)協(xié)同量子粒子群的更新式得到第2維數(shù)據(jù),若比第1維數(shù)據(jù)更優(yōu)(即均方誤差更小),則將此數(shù)據(jù)作為第2維,否則,將第1維數(shù)據(jù)減0.5得到第2維數(shù)據(jù)[11],以此類推得到每一維數(shù)據(jù)。
4) 對(duì)適應(yīng)度值進(jìn)行選擇比較。根據(jù)適應(yīng)度值越小,適配值越好的原則,選出最優(yōu)個(gè)體,設(shè)為X(t+1),并將其設(shè)為背景變量L(t+1),同時(shí)將它與其他4個(gè)個(gè)體的每一維交換,得到X′(t+1),評(píng)價(jià)X′(t+1),若比X(t+1)好,則替代X(t+1),即該維中包含的數(shù)據(jù)替換原始維數(shù)的數(shù)據(jù),否則不變[12]。當(dāng)適應(yīng)度值取最優(yōu),Xi d(t+1)所在的粒子位置即是gbest(t+1)。最終得到gbest(t+1)和pbest(t+1)。
5) 判斷是否到達(dá)停止條件,然后計(jì)算得到最終的gbest。否則,返回3),并繼續(xù)計(jì)算。將兩次gbest第2維的數(shù)值分別作為γ與a,最終得到優(yōu)化后的小波閾值函數(shù)。本文中設(shè)定的最高迭代次數(shù)為300。
6) 用式(7)對(duì)小波系數(shù)進(jìn)行閾值化處理,利用閾值化后的小波系數(shù)重構(gòu)得到最終結(jié)果。
信噪比(SNR)和均方根誤差(RMSE)是評(píng)價(jià)去噪效果的標(biāo)準(zhǔn)。RMSE小,去噪效果好[13],即
(9)
SNR數(shù)值越大,去噪效果越好[14],即
(10)
式中:f(m)為含噪信號(hào);r(m)為去噪后的信號(hào)[15]。
本文做出以下假設(shè),將一般的粒子群算法優(yōu)化小波閾值函數(shù)中參數(shù)的算法設(shè)為算法A,量子粒子群優(yōu)化小波閾值函數(shù)中參數(shù)的算法設(shè)為算法B,協(xié)同量子粒子群優(yōu)化小波閾值函數(shù)中參數(shù)的算法設(shè)為算法C,將本文提出的算法設(shè)為算法D。表1為各類算法去噪效果數(shù)值的比較。
表1 不同小波基下各類算法的去噪效果數(shù)值比較Table 1 Threshold denoising effect of different algorithms under different wavelet bases
由表1可知,算法D的數(shù)值優(yōu)于其他算法。表2為算法D在不同評(píng)價(jià)標(biāo)準(zhǔn)下相比其他算法的提升率,其中,負(fù)數(shù)值表示算法D相比其他算法性能有所下降。
表2 不同小波基下算法D相比其他算法的去噪效果數(shù)值提升率Table 2 Numerical improvement rate of denoising effect of D Algorithm under different wavelet bases %
從表2可以看出,在協(xié)同量子粒子群中引入自適應(yīng)收縮擴(kuò)張因子是合理的。在SNR的評(píng)價(jià)標(biāo)準(zhǔn)下,算法D相比于其他算法的平均提升率約5%~10%。在RMSE的評(píng)價(jià)標(biāo)準(zhǔn)下,算法D相比其他算法的平均提升率約16%~20%。以上數(shù)據(jù)表明,本文算法即算法D的去噪能力略好于其他各類算法。圖1所示為原信號(hào)、含噪信號(hào)及各算法的去噪圖像。
由圖1可知,算法A去噪效果并不理想,圖像曲折不平,且凹凸處較明顯。因?yàn)殚撝岛瘮?shù)中的參數(shù)并非最優(yōu),粒子群算法的粒子難以跳出局部最優(yōu)。引入量子粒子群和協(xié)同量子粒子群算法后,算法B和算法C在去噪效果上都有一定增強(qiáng),曲線更為平滑,而算法D雖然在波谷有些許誤差,但在信號(hào)去噪效果上優(yōu)于算法B和算法C。
圖1 原信號(hào)、含噪信號(hào)及不同算法的去噪圖像Fig.1 The original, noised,and denoised images of different algorithms
本文將自適應(yīng)收縮擴(kuò)張因子引入到協(xié)同量子粒子群算法,利用改進(jìn)協(xié)同量子粒子群算法對(duì)小波閾值函數(shù)中的調(diào)節(jié)因子和閾值進(jìn)行優(yōu)化,再利用閾值函數(shù)對(duì)含噪信號(hào)進(jìn)行閾值處理,重構(gòu)后即可得到最優(yōu)的去噪信號(hào)圖。通過(guò)對(duì)比仿真實(shí)驗(yàn)的數(shù)據(jù)可知,本文算法在SNR的評(píng)價(jià)標(biāo)準(zhǔn)下,相比于其他算法提升5%~10%;在RMSE的評(píng)價(jià)標(biāo)準(zhǔn)下,相比其他算法提升16%~20%。通過(guò)對(duì)比其他算法可得,本文算法的去噪圖像更為平滑,能更好地反映原信號(hào)的特征。因此,本文算法在去噪方面有一定優(yōu)越性,各項(xiàng)指標(biāo)及去噪效果略優(yōu)于硬閾值函數(shù)、粒子群優(yōu)化閾值函數(shù)和量子粒子群優(yōu)化閾值函數(shù)等算法,能較好地保留原信號(hào)特征。