蔡新舉,黃盛霖,李 政,林 愈
摘 要:某電源信號是典型的非平穩、非線性信號,信號中帶有各種噪聲,需進行適當處理。小波變換時的頻局域性好,是分析非平穩信號的有效工具之一。研究基于小波變換的閾值消噪法,借助LabVIEW平臺,通過仿真試驗,對軟閾值和硬閾值消噪及采用不同的小波函數消噪進行了分析。應用LabVIEW對電源信號進行采集,并且對LabVIEW中調用Matlab里的小波函數進行去噪分析的程序進行研究,收到良好的效果,為進一步提高電源信號消噪處理的效果奠定了基礎。
關鍵詞:LabVIEW;小波變換;Matlab;閾值消噪
中圖分類號:TN927文獻標識碼:A
文章編號:1004-373X(2009)20-175-03
Power Signal De-noising Based on Wavelet Analysis
CAI Xinju,HUANG Shenglin,LI Zheng,LIN Yu
(Naval Aeronautical and Astronautical University,Yantai,264001,China)
Abstract:Power signal of some equipment is typically non-stationary and nonlinear,inevitably,there are kinds of yawp which need being disposed.The time frequency character of wavelet transform is perfect,and it is an effective tool of analyzing non-stationary signal.Threshold de-noising based on wavelet transform is introduced,in virtue of LabVIEW plate,by simulating test,soft threshold de-noising is compared to hard threshold de-noising,and different wavelet function are selected for de-noising,the validity of threshold de-noising based on wavelet transform is proved in the process of power signal de-noising.The electrical power signal by data acquisition card in the LabVIEW developing environment,the wavelet function in Matlab is called to make the study of de-noising analysis.The signal de-noising process and testing platform based on wavelet analysis theory and virtual equipment is completed.This study idea could found the base of pushing the de-noising process effect of all kinds of signal.
Keywords:LabVIEW;wavelet transform;Matlab;threshold de-noising
0 引 言
在現代裝備中,電源如同血液在人體中的作用,是整個裝備的動力來源,高精度電源信號的需求對電源信號的消噪處理提出了更高要求。為了減少噪聲的影響,需要對采集到的信號進行消噪處理。傳統的消噪方法是基于傅里葉變換理論的“濾波”法,這種方法存在著保護信號局部性和抑制噪聲之間的矛盾,實際的處理效果不夠理想。
小波分析是近20年來逐步發展起來的數學分支,目前應用于信號處理、圖像處理、語音處理、機械故障診斷、地震波分析等眾多領域中。由于小波變換具有良好的時頻局部化性質,且小波函數的取法是不惟一的[1]。因此,小波分析在信號的消噪中得到了廣泛的應用,小波閾值法就是其中的一種。
LabVIEW(Laboratory Virtual Instrument Engineering Work bench)是由美國NI 公司(National Instruments)推出的一個功能強大而又靈活的儀器和分析軟件,是一種嶄新的圖形化編程語言(G語言)和開發環境,其源程序完全是圖形化的框圖,避免了傳統語言線性結構的困擾。它廣泛地被工業界、學術界和研究實驗室所接受,被公認為是標準的數據采集和儀器控制軟件[2]。
1 硬件方案
1.1 系統組成
測試系統硬件由變壓單元、數據采集卡和計算機組成,如圖1所示。
圖1 系統硬件組成
1.2 功能和原理
測試系統硬件由變壓器、數據采集卡和計算機組成。采用變壓器對原始信號進行變壓處理,以確保信號在額定范圍內;采用NIPCI-6013 十六路模擬輸入多功能數據采集卡采集數據;計算機擔負用戶命令接收及實驗數據采集、數據顯示、數據存盤、數據分析和數據傳輸等任務。系統的工作原理為變壓器對原始產生的電信號進行適當的調理,計算機通過軟件對信號進行采集、顯示、存儲和處理。
2 小波分析理論
2.1 小波變換基本理論
小波變換的基本思想是用一簇函數表示或逼近信號或函數。這一簇函數稱為小波函數系,它是由小波函數通過平移和伸縮構成的。小波函數的確切定義是設φ(t)為平方可積函數,也即φ(t)∈L2(R),若其傅里葉變換φ(ω)滿足條件:
∫R|φ(ω)|2|ω|dω<∞(1)
則稱φ(t)為一個基本小波或小波母函數(Mother Wavelet),并稱式(1)為小波函數的可容許性條件(Admissibility Condition),其伸縮因子(又稱尺度因子)為a,平移因子為τ,則其按下列方式生成的一系列函數{φa,τ(t)}為:
φa,τ(t)=|a|1/2φt-τa,τ∈R,a≠0(2)
式中:φa,τ(t)稱為分析小波(Analyzing Wavelet)或連續小波函數,φa,τ(t)與小波母函數φ(t)一樣,也具有振蕩性,而且它的振蕩性隨1/|a|的增大而增大。通過調節尺度參數a,可使小波函數具有非均勻的時頻分辨率,即:在高頻時,頻窗大時窗小;低頻時,頻窗小時窗大。小波變換的這些特點使其具有多分辨能力,適于分析非平穩信號。
2.2 小波閾值法消噪理論
信號和噪聲經小波變換后有著完全不同的特點。小波變換能使信號的能量集中在一些大的小波系數中,而噪聲的能量卻分布于整個小波域內。因此,可以認為幅值大的小波系數一般以信號為主,而幅值小的系數在很大程度上是噪聲。于是采用閾值的方法把信號系數保留,而使大部分噪聲系數減少至零。一般說來,小波閾值法消噪的步驟主要包括以下3步:
(1) 信號的小波分解。
對含噪信號選擇合適的小波函數,確定要分解的層數M進行小波變換。
(2) 對小波分解后的高頻系數的閾值量化。
可以對每層都采用一個閾值進行處理,也可每層用不同的閾值進行處理。對每個小波系數,可采用軟閾值法(用“s”表示)和硬閾值法(用“h”表示)進行不同的處理。
(3) 信號的小波重構。
使用小波分解的低頻系數以及閾值量化處理后的高頻系數進行信號的重構。
3 仿真試驗
3.1 試驗平臺
由于采用虛擬儀器的設計思想,因此軟件設計也就成了該試驗的關鍵部分, 設計中使用LabVIEW 7.0Express大大縮短了應用軟件的開發周期。
在該次仿真試驗過程中,借助了LabVIEW平臺。LabVIEW平臺有兩個窗口,第一個窗口是前面板窗口,虛擬儀器前面板的設計在這個窗口中進行并完成。第二個窗口是框圖程序窗口,LabVIEW采用圖形化的編程方式實現虛擬儀器的測試功能,框圖程序由節點、端口和數據連線組成。盡管LabVIEW有諸多優點,但是它在數學計算方面的功能還是十分有限的,往往會使所開發應用程序的一些功能受到限制。Matlab是Math Works公司開發的“演算紙”式程序設計語言,具有強大的數學計算和圖形繪制功能,非常容易學習和掌握。但Matlab的界面開發功能較差,并且在數據輸入、網絡通信、硬件控制等方面都比較繁瑣。因此,將LabVIEW與Matlab有機結合起來,用LabVIEW設計用戶圖形界面,負責數據采集,用Matlab在后臺提供大型算法,供LabVIEW調用,能夠快速高效地開發信號采集分析系統[3,4]。NI公司提供的Matlab Script節點使得用戶可以將Matlab程序導入到如圖2所示的LabVIEW程序流程圖中,又可以在圖2中根據Matlab程序的語法編輯Matlab程序。選擇該節點的操作:Functions→Mathematics→Scripts & Formulas→Script Nodes→Matlab Script Node。點擊后在圖2中拖曳出Matlab Script Node。Matlab腳本程序可以在Matlab環境下調試,再在Matlab Script Node上單擊鼠標右鍵選擇Import命令,導入Matlab腳本;也可以直接在Matlab Script Node中編寫。但一定要注意Matlab腳本節點內外數據類型的匹配,否則在LabVIEW運行時將產生錯誤或錯誤信息提示。
圖2實現了在LabVIEW中調用Matlab中小波函數的目的[5-7]。
圖2 LabVIEW中通過Matlab Script Node調用小波函數
3.2 試驗情況
含噪聲的電源信號如圖3所示。
圖3 含噪信號
在Matlab Script節點中首先調用wavedec函數,利用“db4”小波函數,對含噪信號進行三層分解;再調用wnoisest函數獲取尺度1的噪聲標準偏差;調用函數wbmpen獲取消噪過程中的閾值;小波閾值分別采用軟閾值(見圖4)和硬閾值(見圖5)進行量化。最后使用函數wdencmp對信號進行消噪。消噪后的信號如圖4、圖5所示。
圖4 軟閾值消噪后的信號
圖5 硬閾值消噪后的信號
通過仿真可以看出,白噪聲得到抑制。軟閾值消噪會使消噪后的信號變得平滑一些,但會失去部分信號特征;硬閾值可以保留信號的特征,但在平滑方面有所欠缺,這與理論分析相一致。
在仿真過程中,還分別采用了“haar”小波和“db6”小波函數進行試驗(見圖6,圖7)。
圖6 haar小波消噪后的信號
可以看出,“db6”小波的消噪效果較好,而用“haar”小波則出現了明顯的階梯現象。原因是“haar”小波是階梯狀的,連續性較差; 而“db6”小波連續性較好。這說明如果用與信號形狀相近的小波消噪,會得到較好的消噪效果[8-10]。
圖7 db6小波消噪后的信號
4 結 語
本文應用LabVIEW對電源信號進行采集,并且對LabVIEW中調用Matlab里的小波函數進行去噪分析的程序進行研究,收到良好的效果,為進一步提高電源信號消噪處理的效果奠定了基礎。
參考文獻
[1]孫延奎.小波分析及其應用[M].北京:機械工業出版社,2005.
[2]楊樂平,李海濤,趙勇,等.LabVIEW高級程序設計[M].北京:清華大學出版社,2003.
[3]馮偉東,韓冰雪.LabVIEW與Matlab在聲音信號采集與小波降噪中的應用[J].長春工業大學學報,2006(3):40-41.
[4]李廷軍.利用銣鐘實現組合導航系統研究[J].通信學報,2006,27(8):144-147.
[5]李廷軍.數據復接器研究[J].海軍航空工程學報,2005(1):145-146.
[6]Li Tingjun.The System of Long-range Monitor and Measurement Based on Common Telephone[A].5th International Symposium on Test and Measurement[C].2003(6):1 490-1 493.
[7]Li Tingjun.Design of Computer Management System[A].3rd International Conference on Wavelet Analysis and Applications[C].2004(5):744-749.
[8]Li Tingjun.Data Acquiring System Based on Vxi Bus[A].2nd International Conference on Active Media Technology[C].2004(5):688-692.
[9]Li Tingjun.Automatic Measuring Mode of a Reciprocal Two-port Network[A].5th International Symposium on Test and Measurement[C].2003(6):905-907.
[10]Li Tingjun.Design of Boot Loader in Embedded System[A].Proceedings of the 6th International Progress Wavelet Analysis and Active Media Technology[C].2006(8):458-463.