李維松,許偉杰,張 濤
(1. 中國(guó)科學(xué)院聲學(xué)研究所東海研究站,上海 201815;2. 中國(guó)科學(xué)院大學(xué),北京 100089)
在信號(hào)的采集、處理和轉(zhuǎn)發(fā)過程中,由于環(huán)境干擾,信號(hào)中總會(huì)夾雜有噪聲。如果對(duì)帶有噪聲的信號(hào)直接處理,就會(huì)產(chǎn)生很大的誤差,甚至?xí)斐慑e(cuò)誤。因此,對(duì)信號(hào)的噪聲去除在信號(hào)處理的過程中顯得尤為必要。信號(hào)去噪處理的方法有很多,小波分析克服了傳統(tǒng)傅里葉分析中的諸多不足,能夠同時(shí)在時(shí)域和頻域?qū)π盘?hào)分析,具有較好的局部化和多分辨率特性,是近年來對(duì)含噪信號(hào)進(jìn)行濾波去噪應(yīng)用最廣泛的方法之一。
目前比較常見的小波去噪方法有:模極大值去噪算法、相關(guān)性去噪算法和小波閾值去噪算法,其中閾值去噪算法應(yīng)用最為廣泛。傳統(tǒng)的閾值去噪法主要包括硬閾值去噪、軟閾值去噪[1],以及Garrote閾值去噪[2-3],這三類算法都存在有自身固定的缺陷,本文在在充分吸取以上三類算法優(yōu)點(diǎn)的基礎(chǔ)上,提出一種改進(jìn)的閾值函數(shù),并采用新的閾值確定方法,取得了更優(yōu)地去噪效果。
小波閾值去噪算法的主要原理是[4]:小波變換有很強(qiáng)的去數(shù)據(jù)相關(guān)性,它把信號(hào)的能量集中到小波域中一些較大的小波系數(shù)上,而所含的白噪聲在正交基上的變換都是白噪聲,小波變換則將其能量分布于整個(gè)小波域內(nèi)大多數(shù)的展開系數(shù)上。因此,經(jīng)過小波分解后,原始信號(hào)的小波系數(shù)幅值要大于噪聲的系數(shù)幅值,并且信號(hào)小波系數(shù)個(gè)數(shù)遠(yuǎn)遠(yuǎn)少于噪聲小波系數(shù)。幅值比較大的小波系數(shù)一般以信號(hào)為主,而幅值比較小的系數(shù)在很大程度上都是噪聲。所以可將幅值較大的系數(shù)保留,將幅值較小的系數(shù)置零,得到估計(jì)的小波系數(shù),再對(duì)其進(jìn)行信號(hào)重構(gòu),即可達(dá)到去除噪聲的目的。
小波閾值去噪算法流程如圖1所示[5]。
圖1 小波閾值去噪一般算法流程
1)選擇合適的小波基函數(shù)和分解層數(shù),對(duì)含噪信號(hào)進(jìn)行小波分解,常用的小波主要有dbN小波、symN小波、coifN小波、Haar小波和biorNr.Nd小波等,分解層數(shù)一般選取3-5層。
2)選取合適的閾值和閾值函數(shù)[6]。小波閾值直接影響去噪效果,若所選閾值過大,則會(huì)丟失掉一部分原始信號(hào)信息,導(dǎo)致重構(gòu)后的信號(hào)產(chǎn)生失真;若所選閾值過小,則會(huì)保留過多噪聲分量,去噪效果大打折扣。常用的閾值主要有基于無偏似然估計(jì)(rigsure)閾值、固定(sqtwolog)閾值、啟發(fā)式(heursure)閾值和最小極大方差(minimaxi)閾值。而常見的閾值函數(shù)主要有軟閾值函數(shù)、硬閾值函數(shù)和Graaote閾值函數(shù)三類。
3)將處理后的小波系數(shù)進(jìn)行離散小波逆變換,得到重構(gòu)去噪信號(hào)。
1)硬閾值函數(shù)
(1)
2)軟閾值函數(shù)
(2)
3)Garrote閾值函數(shù)
(3)
這三類函數(shù)在信號(hào)處理中經(jīng)常用到,但它們各自都存在一定的不足。用硬閾值函數(shù)處理信號(hào)時(shí),去噪后的信號(hào)邊緣性比較好,但由于函數(shù)本身具有不連續(xù)性,可能會(huì)導(dǎo)致重構(gòu)后的信號(hào)存在不必要的震蕩;軟閾值函數(shù)具有很好的連續(xù)性,去噪結(jié)果更為平滑,但當(dāng)小波系數(shù)較大時(shí),估計(jì)的小波系數(shù)與原始系數(shù)之間存在固定的偏差,使得信號(hào)高頻部分遭到損失,導(dǎo)致重構(gòu)后的信號(hào)與原信號(hào)相比逼近度差,容易產(chǎn)生失真;Garrote閾值結(jié)合了軟、硬閾值函數(shù)的優(yōu)點(diǎn),信號(hào)連續(xù)性好,且小波系數(shù)較大時(shí),固定的偏差會(huì)趨向于零,有效克服了軟、硬閾值函數(shù)存在的不足,但它忽略了噪聲在小波變換下隨尺度的增大而減小的特性[7],并且針對(duì)突變信號(hào),其去噪效果仍有不足之處[8]。三類閾值函數(shù)圖像如圖2所示。
圖2 軟、硬閾值函數(shù)和Garrote閾值函數(shù)對(duì)比
由于上面所提的三類傳統(tǒng)閾值函數(shù)都存在各自的缺陷,故在充分考慮這三類函數(shù)各自優(yōu)點(diǎn)的前提下,構(gòu)造出一種新的閾值函數(shù),具體表達(dá)式如下式(4)所示。
(4)
由(4)式可以看出新的閾值函數(shù)具有如下特征:
1)新的閾值函數(shù)仍是連續(xù)函數(shù),它保留了軟閾值函數(shù)連續(xù)性好的特點(diǎn)。
2)在|di,k|≥λ的很短區(qū)間內(nèi)新閾值函數(shù)能夠迅速的逼近硬閾值函數(shù),因此有效地解決了軟閾值函數(shù)存在的固定偏差問題。
圖3和圖4分別為N取10和100時(shí)的四類函數(shù)對(duì)比情況。
圖3 當(dāng)N=10時(shí),四類閾值函數(shù)對(duì)比
圖4 當(dāng)N=100時(shí),四類閾值函數(shù)對(duì)比
經(jīng)過小波變換后,原始信號(hào)對(duì)應(yīng)的小波系數(shù)幅值隨著分解尺度的增大而變大,而噪聲對(duì)應(yīng)的小波系數(shù)幅值隨分解尺度的增大而減小,根據(jù)這一特性,可以對(duì)不同分解層選取不同的閾值。
由文獻(xiàn)[9]和文獻(xiàn)[10]可知
|Wfjx(t)|≤K2jα
(5)
式中,Wfjx(t)表示第j層小波系數(shù),j表示分解層數(shù),α表示Lipschitz指數(shù),K為常數(shù)。該式表明,存在一個(gè)常數(shù)K,使得小波變換系數(shù)的模極大值為K2jα。
對(duì)于原始信號(hào)成分來說,α>0,則根據(jù)(5)式可知:
max{|Wfjx(t)|}≤2αmax{|Wfj+1x(t)|}
(6)
可以看出原始信號(hào)小波系數(shù)尺度比值>2,即第j+1層小波系數(shù)幅值大于第j層的兩倍;而對(duì)于噪聲成分來說,其α=-0.5-ε(ε>0)[10],帶入(5)式中可得
(7)
(8)
本文使用Matlab仿真軟件對(duì)該改進(jìn)的閾值函數(shù)進(jìn)行仿真,以驗(yàn)證其去噪能力是否得到改進(jìn)。對(duì)比較平滑的Heavysine信號(hào)和波形突變性很強(qiáng)的Block信號(hào)分別加入高斯白噪聲,然后對(duì)含噪信號(hào)進(jìn)行閾值去噪處理[11],其去噪效果通過信噪比(SNR)和均方誤差(MSE)進(jìn)行定量判定,其中SNR和MSE分別通過如下式(9)和(10)得到
(9)
(10)
式(9)和(10)中,s(i)表示原始信號(hào),y(i)表示去噪后的信號(hào)。
信噪比是衡量信號(hào)去噪效果的重要依據(jù),去噪后的信噪比越高說明信號(hào)的提取效果越好;均方誤差則反映了信號(hào)的失真程度,去噪信號(hào)與原始信號(hào)的均方誤差越小,說明失真程度越小,信號(hào)提取的越完整,去噪效果越好。
首先采用硬閾值函數(shù)、軟閾值函數(shù)、Garrote閾值函數(shù)以及本文提出的改進(jìn)閾值函數(shù)對(duì)加噪Heavysine信號(hào)做去噪處理,采用sym8小波對(duì)加噪信號(hào)做5層小波分解,調(diào)節(jié)因子N取100,采用固定(sqtwolog)閾值作為第一層閾值,公式為:
(11)
式中,σ為噪聲標(biāo)準(zhǔn)方差,N為信號(hào)長(zhǎng)度,硬閾值函數(shù)、軟閾值函數(shù)和Garrote閾值函數(shù)去噪方法采取固定閾值方式,而改進(jìn)的閾值函數(shù)去噪方法則采用分層變閾值方式,選取規(guī)則按照(8)式進(jìn)行,仿真結(jié)果如圖5所示。
圖5 四類閾值函數(shù)對(duì)Heavysine信號(hào)去噪結(jié)果
由圖5可知,用四類閾值函數(shù)去噪處理后,重構(gòu)信號(hào)與原始信號(hào)逼近度很高,重構(gòu)出的信號(hào)總體上較為平滑,都保留了大部分有用信息,直觀上較難分辨出處理效果的好壞。因此再對(duì)四類重構(gòu)信號(hào)做定量分析,表1列出了用這四類函數(shù)對(duì)Heavysine信號(hào)去噪后的信噪比和均方誤差。
表1 Heavysine信號(hào)的四種去噪結(jié)果定量比較
由上表可知,軟閾值去噪效果優(yōu)于硬閾值去噪,而Garrote去噪和軟閾值去噪相比差別并不大,改進(jìn)后的閾值去噪方法在SNR和MSE兩個(gè)方面都要優(yōu)于其余三類方法。
其次用四類閾值函數(shù)對(duì)加噪Block信號(hào)做去噪處理,采用db1小波對(duì)加噪信號(hào)做5層小波分解,調(diào)節(jié)因子N取10,采用固定(sqtwolog)閾值作為第一層閾值,硬閾值函數(shù)、軟閾值函數(shù)和Garrote閾值函數(shù)去噪方法采取固定閾值方式,本文改進(jìn)閾值函數(shù)去噪則采用分層變閾值方式,仿真結(jié)果如圖6所示。
圖6 四類閾值函數(shù)對(duì)Block信號(hào)去噪結(jié)果
由圖6可知,硬閾值去噪方法對(duì)Block信號(hào)中的上升沿、下降沿等突變部分保留得較好,但信號(hào)不夠平滑,波形中存在尖峰、毛刺;軟閾值去噪后的信號(hào)整體過于平滑,對(duì)波形的突變部分保留的不完整,存在明顯的失真現(xiàn)象;用Garrote閾值法去噪后,波形整體去噪效果比軟閾值去噪要好,但仍有少量失真;用改進(jìn)的閾值去噪方法處理后,重構(gòu)的信號(hào)波形不再存在尖峰毛刺,信號(hào)的突變部分信息保留得也較好。
再對(duì)四類重構(gòu)信號(hào)做定量分析,表2列出了用這四類函數(shù)對(duì)Block信號(hào)去噪后的信噪比和均方誤差。
表2 Block信號(hào)的四種去噪結(jié)果定量比較
由表2可知,對(duì)突變性強(qiáng)的Block信號(hào)做去噪處理,采用硬閾值去噪效果明顯優(yōu)于軟閾值去噪,Garrote閾值去噪效果稍次于硬閾值去噪,而改進(jìn)的閾值去噪方法信噪比最高、均方誤差最小,可以看出其去噪效果最好。
小波變換在信號(hào)的濾波降噪處理中有著廣泛應(yīng)用,本文基于小波閾值去噪的基本原理,針對(duì)傳統(tǒng)小波閾值去噪算法中軟、硬閾值函數(shù)以及Garrote閾值函數(shù)的不足,構(gòu)造出了一個(gè)新的閾值函數(shù),并采用新的閾值確定方法,克服了傳統(tǒng)閾值函數(shù)的不足,同時(shí)對(duì)信號(hào)的去噪處理更加靈活。最后仿真結(jié)果表明,改進(jìn)的閾值去噪方法對(duì)平滑信號(hào)以及突變性信號(hào)降噪效果都要優(yōu)于傳統(tǒng)的三類閾值去噪方法。