劉正平,馮召勇,楊衛平
(華東交通大學 機電工程學院,南昌 330013)
微弱信號檢測和提取是近年來興起的關于提取和測量強噪聲背景下微弱信號的方法,也是信號處理領域中經常遇到的問題。在工程應用中,往往存在著有用信號較弱,而噪聲較強的情況,例如在機械故障檢測與診斷中,當機器發生故障時,若機器中潛伏著某一零部件的早期微弱缺陷時,該缺陷信息被其它零部件的運行振動信號和隨機噪聲所淹沒。為了有效地提取弱故障信息,實現早期診斷,可以用小波分析理論,對信號進行小波分解,把信號分解為各個頻段的信號,再根據診斷的目的選取包含所需零部件故障信息的頻段序列,進行深層信息處理以查到機器的故障源。小波變換是一種新的變換分析方法,通過變換能夠充分突出問題某些方面的特征,利用小波變換良好的時頻特性,可以在低信噪比情況下提取信號的波形信息。
設f(t)是平方可積函數,即則該連續函數的小波變換定義為[1]:

小波能夠消噪主要由于小波變換具有如下特點:
低熵性。小波系數的稀疏分布,使信號處理后的熵降低。
多分辨特性。由于采用了多分辨的方法,所以可以非常好地刻畫信號的非平穩性,如突變和斷點等,可以在不同分辨率下根據信號和噪聲的分布來去除噪聲。
去相關性。小波變換可對信號去相關,且噪聲在變換后有白化趨勢,所以小波域比時域更有利于去噪。
基函數選擇更靈活。小波變換可以靈活選擇基函數,也可以根據信號特點和降噪要求選擇多帶小波、小波包等,對不同的場合,可以選擇不同的小波基函數。
假設一個含噪的一維信號的模型為:

其中s(k)號,f(k)為有用信號,e(k)為噪聲信號。通常e(k)表現為高頻信號,而工程實際中f(k)通常表現為低頻信號,或者是一些比較平穩的信號。噪聲e(k)一般假設成是一個平穩的高斯白噪聲,其小波系數的平均功率與尺度成反比。小波變換的目的就是要抑制e(k)以恢復f(k)。
小波變換運用在信號降噪處理中,主要是針對信號經小波變換后在不同分辨率下呈現不同規律,在不同分辨率下設定不同閾值門限,調整小波系數,達到降低噪聲的目的。所以降噪過程可按以下方法進行處理[2]:
1) 對信號進行小波分解。選擇一個小波并確定分解的層次,然后進行分解計算;
2) 小波分解高頻系數的閾值量化。對各個層次尺度下的高頻系數選擇一個閾值進行閾值量化處理;
3) 一維小波重構。根據小波分解的最底層低頻系數和各層高頻系數進行一維小波重構,根據小波分解的第N層低頻系數和經過量化后的1至N層高頻系數進行小波重構,達到降低噪聲檢測出有用信號的目的。
用Matlab進行小波降噪時,基于閾值的選取和閾值化后的處理不同,信號的去噪方法可以分為三種[3]:默認閾值去噪、強制閾值去噪和獨立閾值去噪三種方法。
默認閾值消噪處理。在Matlab中利用ddencmp函數產生信號默認閾值,然后利用該閾值設置的門限對噪聲信號進行消噪處理。
強制消噪處理。該方法是將小波分解結構中的高頻系數全部置為零,即濾掉所有高頻部分,然后對信號進行小波重構。這種方法比較簡單,且消噪后的信號比較平滑,但是容易丟失信號中的有用成分。
獨立閾值去噪。在實際的消噪過程中,閾值往往可通過經驗獲得,且這種閾值比默認值的可信度高,在進行閾值量化處理時可用函數wthresh。
在小波分析用于降噪的過程中,核心的步驟就是在系數上作用閾值,因為閾值的選取直接影響降噪的質量。在獨立閾值消噪處理中,主要有以下四種閾值選取規則:
1) 基于無偏似然估計的軟閾值估計。采用無偏似然理論進行自適應閾值選擇,是對給定閾值T進行似然估計,并對似然函數最小化來得到所需要的閾值。
2) 長度對數閾值(sqtwolog規則)。采用固定閾值形式,閾值的大小通過以下公式確定:

式中,σ為噪聲的標準方差,N為高頻小波系數的長度。
3) 最小極大方差閾值方法(minimaxi)規則。其為固定閾值,選擇的原理是按最小均方誤差法則進行的。
4) 啟發式閾值方法(heursure規則)。基于SURE產生閾值,采用最優預測變量進行閾值選擇,適用于具有大噪聲,低信噪比的情況。
在小波消噪過程中,無論選擇那種閾值規則,都必須根據具體應用來選擇一種合適的閾值來達到理想的去噪效果。
Matlab小波分析工具箱中提供了用于一維信號小波分解的wavedec()函數,它的調用格式為:
[C,L]=wavedec(x,n,’wname’);
該函數中x為原始信號,n為分解步數,wname為所選基小波名稱,分解得到C和L兩個向量。函數返回的近似和細節都存放在C中,L存放的是近似和各階細節系數對應的長度。小波分解在Matlab中的存儲方式如圖1所示[4]。

圖1 小波分解在Matlab中的存儲方式
根據分解后的C向量和L向量,分別由appcoef()
和detcoef()函數提取近似系數cA和細節系數cD,再由所得近似系數和細節系數重建原信號,則可以略去部分噪聲信息。信息重建的函數在Matlab中使用wrcoef()實現。它們的調用格式分別為:
cAn=appcoef(C,L,fun,n);
cDi=detcoef(C,L,I);
x=wrcoef (類型,C,L,fun,n);
其中,“類型”選擇a和d,以確定是近似小波系數還是細節小波系數來進行原信號重建。
在本文中采用Daubechies(dbN)小波[5]。Daubechies小波是由世界著名的小波分析學者Inrid Daubechies構造的小波函數,一般簡寫為dbN,N是小波的階數。
Daubechies小波有非常重要的性質,它不僅是連續的和正交的,而且是支集最小的。因此這種小波的濾波器系數個數少,在分解與重構算法中所需的計算量少,這在信號的實時處理中非常重要。
對小波去噪的仿真采用Matlab工具來完成,進行小波降噪時采用上述3種閾值處理方法來對比進行消噪處理。下面利用小波分解與重構去噪法對含噪聲故障信號進行實例分析,如圖2所示:

圖2 被測試的原始信號圖
強制閾值法和默認閾值法的處理結果分別見圖3和圖4,從圖中可以知道,默認閾值法和強制閾值法處理的結果基本上是一致的,在實際應用中默認閾值消噪法應用更為廣泛。

圖3 強制閾值法去噪后的信號

圖4 默認閾值法去噪后的信號
獨立閾值法是根據不同需要,選取與默認閾值不同的值,然后用重建算法進行消噪重建。由于通過選取不同的閾值,可以相應地保留高頻中對信號有用的部分,這樣可以提高信號有效信息的恢復程度,但是這種方法實施起來相對較難。因為閾值的選取好壞直接關系到信號恢復的程度,且閾值的選取也較難,在實際消噪處理中,閾值往往可以通過經驗公式獲得,而且這種閾值比默認閾值有可信度。獨立閾值法的處理結果見圖5。

圖5 獨立閾值法去噪后的信號
強制閾值法、默認閾值法和獨立閾值法都是小波分解和重構去噪法的應用,它們在原理上是相同的,只是在具體實現的過程中,它們的閾值選取方法有所不同。從處理結果來看,強制閾值消噪法和默認閾值消噪法處理的效果較為一致,相對來說,獨立閾值法根據閾值的選取不同,去噪效果會有所不同。當強制閾值法處理不能滿足要求時,應該考慮獨立閾值法,雖然實現起來較困難,但是在有經驗的前提下,會有助于去噪處理,并能取得比前面兩種方法更好的去噪效果,閾值的選取直接影響到最后的去噪效果,閾值選取太大或太小,都不利于噪聲的去除。
小波變換本質上是一濾波過程,但它優于傳統的濾波方法,運用小波分解與重構法對微弱故障信號處理的結果表明:小波變換方法可以根據信號和噪聲的不同特性進行非線性濾波,在改善信噪比的同時,具有很高的時間(位置)分辨率,而且對信號的形式不敏感,這是傳統的濾波方法所無法比擬的,因此,小波變換方法特別適合于弱信號的檢測和提取,隨著小波變換理論的完善,小波變換方法將會有更廣泛的應用前景。
[1] 史習智.信號處理與軟計算[M].北京:高等教育出版社, 2003.
[2] 高成.Matlab小波分析與應用[M].北京:國防工業出版社,2007.
[3] 張仁輝,杜民.小波分析在信號去噪中的應用[J].計算機仿真,2005,22(8):69-72.
[4] 趙海英,紀超輝.小波變換降噪技術及其在Matlab中的實現[J].兵工自動化,2006,25(2):54-55.
[5] 高友蘭.數值積分的Daubechies小波方法[J].江南大學學報(自然科學版),2009,8(1):122-125.