1 引言
隨著通信技術(shù)的發(fā)展,,網(wǎng)絡(luò)的普及,虛擬儀器技術(shù)的出現(xiàn)和發(fā)展,,使得儀器的遠程訪問和共享成為可能,。硬件平臺可通過計算機與網(wǎng)絡(luò)相連,通過對虛擬儀器軟件編程實現(xiàn)儀器的的遠程控制,、數(shù)據(jù)的實時采集與網(wǎng)絡(luò)傳輸,。
在此背景下,本文設(shè)計了基于Datasoket技術(shù)的虛擬小波消噪儀,,實現(xiàn)了小波消噪儀的共享,。
2 DataSocket技術(shù)
DataSocket是NI公司提供的一項網(wǎng)絡(luò)測控系統(tǒng)開發(fā)技術(shù),它基于Microsoft的COM和ActiveX技術(shù),,源于TCP/IP協(xié)議并對其進行了高度封裝,,面向測量和自動化應(yīng)用,用于共享和發(fā)布實時數(shù)據(jù),,是一種易用的高性能數(shù)據(jù)交換編程接口。它能有效地支持本地計算機上不同應(yīng)用程序?qū)μ囟〝?shù)據(jù)的同時應(yīng)用,。網(wǎng)絡(luò)上不同的計算機的多個應(yīng)用程序之間的數(shù)據(jù)交互,,實現(xiàn)跨機器、跨語言,、跨進程的實時數(shù)據(jù)共享,。用戶只需知道數(shù)據(jù)源和數(shù)據(jù)宿及需要交換的數(shù)據(jù)就可以直接進行高層應(yīng)用程序的開發(fā),實現(xiàn)高速數(shù)據(jù)傳輸,,而不必關(guān)心底層的實現(xiàn)細節(jié),,從而簡化了通信程序的編寫過程,提高了編程效率,。[1]
DataSocket包括了DS Server Manager,、DS Server和DS函數(shù)庫等工具,以及數(shù)據(jù)傳輸協(xié)議DSTP(DataSocket Transfer Protocol),、統(tǒng)一資源定位符URL(Uniform Resource Locator)和文件格式等技術(shù)規(guī)范,。利用這些工具,可大大簡化網(wǎng)絡(luò)中計算機之間數(shù)據(jù)交換的編程工作,。
DataSocket Server Manager是一個獨立運行的程序,,它的主要功能是設(shè)置DS Server可連接的客戶程序的數(shù)目和可創(chuàng)建的數(shù)據(jù)項(Data Item)的數(shù)目,設(shè)置用戶和用戶組,,以及設(shè)置用戶訪問和管理數(shù)據(jù)項的權(quán)限,。DS Server能為用戶解決大部分網(wǎng)絡(luò)通信方面的問題,負責和用戶程序之間的數(shù)據(jù)交換,,不需要用戶編寫有關(guān)網(wǎng)絡(luò)通信的底層程序,。[2]
3 小波變換理論
小波分析方法是一種窗口大小固定但其形狀可改變,,時間窗和頻率窗都可改變的時頻局部化分析方法。即在低頻部分具有較高的頻率分辨率和較低的時間分辨率,,在高頻部分具有較高的時間分辨率和較低的頻率分辨率,,這正符合低頻信號變化緩慢而高頻信號變化迅速的特點。這一特性,,便是它優(yōu)于傳統(tǒng)的傅里葉變換與短時傅里葉變換的地方,。[3]
利用MATLAB小波分析工具對信號進行消噪處理的方法主要有以下三種:
(1)一維信號的小波分解。選擇一個小波并確定一個小波分解的層次N,,然后對信號進行N層小波分解,;
(2)小波分解高頻系數(shù)的閾值量化。從小波消噪處理的方法上來說,,閾值處理有三種方法:
a.強制消噪處理,,該方法把小波分解結(jié)構(gòu)中的高頻系數(shù)全部變?yōu)?,即把高頻部分全部濾掉,,然后對信號進行重構(gòu)處理,。這種方法比較簡單,重構(gòu)后的消噪信號也比較平滑,,但容易丟失信號的有用成分,。
b.默認閾值消噪處理。該方法利用MATLAB工具箱中的ddencmp函數(shù)產(chǎn)生信號的默認閾值,,然后利用MATLAB工具箱中的wdencmp函數(shù)進行消噪處理,。
c.給定軟(或硬)閾值消噪處理。在實際的消噪處理過程中,,閾值往往可以通過經(jīng)驗公式獲得,,而且這種閾值比默認閾值更具有可信度。
(3)一維小波的重構(gòu),。根據(jù)小波分解的第N層的低頻系數(shù)和經(jīng)過量化處理后的第1層到第N層的高頻系數(shù),,進行一維信號的小波重構(gòu)。
4 網(wǎng)絡(luò)化虛擬小波消噪儀的設(shè)計
4.1小波消噪儀的功能
小波消噪儀具有學(xué)習小波函數(shù)消噪特征和對實測試數(shù)據(jù)進行消噪處理的功能,。
在小波消噪儀的客戶端面板上有“原始信號輸入”,、“保存小波處理后數(shù)據(jù)”、“小波參數(shù)設(shè)置”,、“原始信號波形”和“小波處理后波形”控件,。“小波參數(shù)設(shè)置”中有“小波類型”、“分解層次”及“小波階數(shù)”選項,。“小波類型”有“sym”,、“haar”、“db”、“dmey”和“coif”小波,;“sym”小波階數(shù)從2~5可選,,“db”小波階數(shù)從1~10可選,“coif”小波階數(shù)從1~5可選,,“haar”和“dmey”小波不用選擇階數(shù),;“分解層次”對各個小波都默認在1~20之間可選。“原始信號輸入”控件導(dǎo)入和客戶端DLL程序打包一起的樣本文件或者實測需消噪的數(shù)據(jù)文件(該數(shù)據(jù)文件格式為以回車鍵隔開的文本文件),,在“小波參數(shù)”設(shè)置中選擇不同的小波及分解層次,,待消噪數(shù)據(jù)和小波參數(shù)通過DataSocket協(xié)議傳送到服務(wù)器端消噪程序進行處理、同時把處理后數(shù)據(jù)傳送到客戶端,,通過客戶端“保存小波處理后數(shù)據(jù)”控件把處理后數(shù)據(jù)保存到客戶端電腦上,。“原始信號波形”和“小波處理后波形”控件分別顯示消噪前后的信號波形。
用戶通過網(wǎng)絡(luò)下載并運行客戶端的DLL程序之后,,導(dǎo)入樣本文件,,分別選用不同的小波函數(shù)、階數(shù)及分解層次,,對比消噪后圖形,,學(xué)習體會不同的小波函數(shù)對不同信號的消噪效果。這樣,,在進行實測數(shù)據(jù)處理的時候可有針對性地選擇小波函數(shù),。
4.2 服務(wù)器端虛擬儀器設(shè)計
LabVIEW為控制面板中的每一個控件設(shè)置了DataSocket連接對話框,通過統(tǒng)一資源定位器URL,,確定數(shù)據(jù)源和控件的連接方式,進行發(fā)布和讀取數(shù)據(jù),。如果在虛擬儀器的服務(wù)器端DataSocket Connection對話框中指定URL,,并選擇發(fā)布的連接方式,虛擬儀器的客戶端DataSocket Connection對話框中指定相同的URL,,選擇讀取的連接方式,,DataSocket的傳輸協(xié)議的網(wǎng)址依照格式:dstp://servername/data。其中,,servername是服務(wù)器端計算機的網(wǎng)址,; data是DataSocket連接的名稱標識,用于區(qū)別不同的DataSocket連接,。
Labview函數(shù)面板提供了“MATLAB Script”節(jié)點實現(xiàn)和MATLAB軟件的接口,。在本設(shè)計中采用默認閾值消噪方法,利用MATLAB自帶小波函數(shù)實現(xiàn)消噪算法,。
服務(wù)器端的流程圖設(shè)計如圖1所示,。
圖1 服務(wù)器端流程圖
4.3 客戶端虛擬儀器設(shè)計
圖2 客戶端流程圖
在客戶端面板工具欄中選擇“Tools-Build Application or Shared Library(DLL)建立客戶端DLL運行程序。
把服務(wù)器端和客戶端DLL程序都放在同一臺服務(wù)器上,在服務(wù)器端DS Manager中添加創(chuàng)建的數(shù)據(jù)項,,設(shè)置可訪問的用戶數(shù)及權(quán)限,。
5 示例
待消噪的信號為含有白噪聲的正弦波。
在客戶端機器上下載打包的DLL程序和樣本文件,,在運行客戶端DLL程序之前,,先要確定服務(wù)器上的DS Server已經(jīng)開啟、服務(wù)器程序已運行,,然后導(dǎo)入待消噪信號,,選擇不同的小波參數(shù),觀察消噪前后圖形,,對比最佳消噪效果,。
對比發(fā)現(xiàn)對于含白噪聲的正弦波信號,選擇“dmey”小波,、分解層次為2時的消噪效果最好,,選擇“haar”小波是消噪效果很差。圖3,、圖4分別為這兩個函數(shù)消噪前后波形圖,。
圖3 “haar”小波消噪前后效果圖
圖4 “dmey”小波消噪前后效果圖
6 結(jié)論
利用Labview和DataSocket技術(shù),實現(xiàn)了儀器的共享,,充分利用了資源,,并提高了數(shù)據(jù)處理的靈活性。