摘 要:闡述了小波變換去除信號噪聲的基本原理和方法,研究利用小波變換技術對信號噪聲進行抑制和去除非平穩信號的噪聲。然后利用MATLAB軟件編制程序實現了基于小波變換的正弦信號的去噪仿真分析,仿真結果表明小波變換去除噪聲具有很強的實用性。
關鍵詞:小波變換;多分辨率分析;小波去噪;MATLAB
中圖分類號:O4文獻標識碼:A文章編號:1672-3198(2008)09-0399-02
1 引言
利用振動信號或狀態量對設備進行診斷是設備故障診斷中最有效、最常用的方法,過去常用傳統的基于快速傅里葉變換(FFT)的頻譜分析方法進行振動信號處理,但是傅里葉分析存在著嚴重的不足,它只適于分析時不變系統的平穩信號,而不適于分析非平穩信號,且傅里葉變換對在檢測信號中包含的趨勢、突變事件的開始和結束等特征分析時也顯得無能為力。出于對非平穩信號和突變信號的分析的迫切要求,法國地球物理學家Morlet于1984年提出了一種新的線性時頻分析方法——小波分析理論,為機械故障診斷中的非平穩信號分析,弱信號提取,信號濾波等提供了一條有效的途徑。本文我們利用小波分析所具有的時頻局部化特性選擇合適的小波函數,建立小波去噪模型,并結合當前在信號處理和分析領域應用廣泛的MATLAB 7軟件,通過計算機進行仿真,完成了小波去噪的MATLAB實現。
2 小波變換理論
小波變換(Wavelet Transform)的基本思想和傳統的傅里葉變換是一致的,它也是用一族函數來表示信號或函數, 這一族函數稱之為小波函數系,但是小波函數系與其它兩種方法所用的簡諧函數系不同,它是由一基本小波函數平移和伸縮構成的。它是一種窗口面積恒定,窗口形狀可變(時域窗口和頻域窗口均可變)的時-頻局域化分析方法。
2.1 連續小波變換理論
設函數Ψ(t)為一平方可積函數,即Ψ(t)∈L2(R),其傅里葉變換Ψ(ω)滿足允許條件:
則稱Ψ(t)為一個基小波(或小波母函數),我們稱上式為小波函數的容許條件。
將母函數Ψ(t)經伸縮和平移后,就可以得到一個小波序列。對于連續的情況,小波序列為:
其中,a,b∈R;a≠0。a為伸縮因子,b為平移因子,我們稱Ψa,b(t)為依賴于參數a,b的小波基函數。
將任意L2(R)空間里的函數f(t)在小波基下展開,稱這種展開為函數f(t)的連續小波變換(Continue Wavelet Transform,簡稱CWT)其表達式為:
WTf(a,b)=
=|a|-12∫∞-∞Ψ*(t-bb)f(t)dt
由以上定義,我們可以看出小波變換和傅里葉變換一樣,也是一種積分變換, f(a,b)為小波變換系數。但它不同于傅里葉變換的地方是,小波基具有尺度a和平移b兩個參數,所以函數一經小波變換,就意味著將一個時間函數投影到二維的時間——尺度相平面上,這樣有利于提取信號函數的某些本質特征。
2.2 離散二進小波變換
在實際應用中,為了方便計算機進行分析、處理,信號f(t)都要離散化成離散序列,a和b也必須離散化,成為離散小波變換,記為DWT(Discrete Wavelet Transform)。在對連續小波離散化的過程中,連續小波變換? f(a,b)的伸縮因子a和b進行采樣,選取a=2-j ,b=2-j kb0,則可得到離散的二進小波變換;
這里j, k ∈ Z,采樣率b0 > 0.
由于離散二進小波變換是對連續小波變換的伸縮因子和平移因子按一定規則采樣而得到的,任一函數f(t)∈L2(R),經二進離散小波變換,得到了一個連續降半頻帶上的時間信息。從算法上,二進離散小波變換分為一般二進離散小波變換和快速二進離散小波變換。
3 小波去噪原理
我們知道,一個含噪聲的一維信號的模型可表示為:
s(k)=f(k)+ε*e(k)
式中,f(k)為真實信號,e(k)為噪聲信號,s(k)為含噪信號。這里以一個簡單的噪聲模型加以說明,即e(k)為高斯白噪聲N(0,1),噪聲級為1,通常表現為高頻信號,在實際工程中,有用信號f(k)通常表現為低頻信號或較平穩的信號,所以消噪過程可按以下方法進行處理。
首先對實際信號進行小波分解,選擇小波并確定分解層次為N,則噪聲部分通常包含在高頻中;然后對小波分解的高頻系數進行門限閾值量化處理;最后根據小波分解的第N層低頻系數和經過量化后的1~N層高頻系數進行小波重構,達到消除噪聲的目的,對信號降噪實質上是抑制信號的噪聲,在實際信號中恢復真實信號的過程。
小波收縮去噪方法的關鍵步驟是如何選擇閾值和如何進行門限閾值處理,在某種程度上,它關系到信號去噪的質量。在對小波系數作門限閾值處理操作時,可以使用軟閾值處理方法或硬閾值處理方法。
硬閾值是把信號的絕對值與指定的閾值進行比較,小于或等于閾值的點變為0,大于閾值的點保持不變。(見公式1)
軟閾值是把信號的絕對值與指定的閾值進行比較,小于或等于閾值的點變為0,大于閾值的點變為該點值與閾值的差。
一般來說,硬閾值比軟閾值處理后的信號更粗糙一些(如圖1)。
4 小波去噪的MATLAB仿真
MATLAB軟件是Mathwork公司于1984年推出的一套高性能的集數值和符號計算、文字處理、可視化建模及實時控制的可視化軟件。近幾年己成為信號及圖像處理的優選工具軟件。本文是基于2004年6月發布的最新版本MATLAB R14(包括MATLAB7.0和Wavelet Toolbox3.0等)產品系列來進行理論論述的。
4.1 小波GUI(Grsphical User Interface)
小波GUI,也就是MATLAB小波工具箱的圖像用戶接口,用戶不需要使用任何函數,更不需要編寫任何程序,只要利用小波工具箱的I/O函數導入對于待分析的工程信號到GUI中,調用相應的分析模塊進行運算,并保存相應的處理結果,就可達到信號處理分析的目的。
4.2 小波降噪的專用函數
小波工具箱一共提供了wnoise 、wden 、wdencmp 等13個用于降噪和壓縮的函數。
4.3 仿真實驗
我們對小波去噪時各種參數設置作了詳盡的對比研究,實驗信號是由wnoise()函數產生的含標準的高斯白噪聲信噪比為3的隨機信號,用wden()函數進行去噪處理,對在各種可選參數下的去噪效果作了對比研究,得出了以下結論。
(1)四種閾值選取方式的對比(tptr的設置):選擇軟、硬閾值得到四個去噪效果圖(見圖2),可以看出固定閾值形式(sqtwolog)和啟發式閾值形式(heursure)的去噪更徹底,而由于rigrsure和minimaxi閾值選取規則較為保守(閾值較小,導致只有部分系數置零)噪聲去除不徹底,但在信號的高頻成分和噪聲有重疊時利用這兩種閾值可以把弱小信號從噪聲中分離出來。
(2)軟門限閾值和硬門限閾值處理比較(sorh的設置):實驗表明軟門限閾值處理方式一般能夠取得更為平滑和理想的去噪效果。
(3)分解層次的比較(level):可以得到不同分解層次的去噪效果圖,從中可以看出隨著小波分解層次的增加去噪效果變好,但是分解層次增加到5層以上后去噪效果改善已經不明顯,反而增加了計算代價,實際應用中分解層次取3~5層即可。
(4)小波函數的選取(wname):小波函數可以選取一個正交小波,如Daubechies (dbN),symlets (symN), coiflets (coifN),具體選擇可以根據實際需要決定,在我們的實驗中選擇的是sym8。
下面是給定的含噪聲的隨機信號,通過Matlab編制程序并運行,得到的運行結果(圖2)。
5 總結
通過以上小波分析理論和MATLAB知識的闡述,并結合計算機仿真實驗,我們不難發現,小波分析非常適合于分析非平穩信號,它能探測到正常信號中夾帶的瞬態反常現象并展示其成分,實現信號中的有用部分和噪聲的有效分離。綜上所述,基于小波變換的消噪方法是一種提取有用信號、展示噪聲和突變信號的優越方法,具有切實的應用價值和廣闊的發展空間。
參考文獻
[1]張賢達,保錚.非平穩信號分析與處理[M].北京:國防工業出版社,1998.
[2]華容.信號分析與處理[M].北京:高等教育出版社,2004.
[3]石博強,早焱華.機械故障診斷的分形方法——理論與實踐[M].北京:治金工業出版社,2001.
作者簡介:
熊殿成,男,西南石油局川渝石油基地服務中心黨委書記、主任。