《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 測試測量 > 設(shè)計應(yīng)用 > 基于DataSocket技術(shù)的小波消噪儀的網(wǎng)絡(luò)化
基于DataSocket技術(shù)的小波消噪儀的網(wǎng)絡(luò)化
摘要: 隨著通信技術(shù)的發(fā)展,網(wǎng)絡(luò)的普及,虛擬儀器技術(shù)的出現(xiàn)和發(fā)展,使得儀器的遠(yuǎn)程訪問和共享成為可能。硬件平臺可通過計算機(jī)與網(wǎng)絡(luò)相連,通過對虛擬儀器軟件編程實(shí)現(xiàn)儀器的的遠(yuǎn)程控制、數(shù)據(jù)的實(shí)時采集與網(wǎng)絡(luò)傳輸。 在此背景下,本文設(shè)計了基于Datasoket技術(shù)的虛擬小波消噪儀,實(shí)現(xiàn)了小波消噪儀的共享。
Abstract:
Key words :

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

圖1 服務(wù)器端流程圖
4.3 客戶端虛擬儀器設(shè)計

圖2 客戶端流程圖
在客戶端面板工具欄中選擇“Tools-Build Application or Shared Library(DLL)建立客戶端DLL運(yùn)行程序。
把服務(wù)器端和客戶端DLL程序都放在同一臺服務(wù)器上,在服務(wù)器端DS Manager中添加創(chuàng)建的數(shù)據(jù)項(xiàng),設(shè)置可訪問的用戶數(shù)及權(quán)限。
5 示例
待消噪的信號為含有白噪聲的正弦波。
在客戶端機(jī)器上下載打包的DLL程序和樣本文件,在運(yùn)行客戶端DLL程序之前,先要確定服務(wù)器上的DS Server已經(jīng)開啟、服務(wù)器程序已運(yùn)行,然后導(dǎo)入待消噪信號,選擇不同的小波參數(shù),觀察消噪前后圖形,對比最佳消噪效果。
對比發(fā)現(xiàn)對于含白噪聲的正弦波信號,選擇“dmey”小波、分解層次為2時的消噪效果最好,選擇“haar”小波是消噪效果很差。圖3、圖4分別為這兩個函數(shù)消噪前后波形圖。

圖3 “haar”小波消噪前后效果圖

圖4 “dmey”小波消噪前后效果圖
6 結(jié)論
利用Labview和DataSocket技術(shù),實(shí)現(xiàn)了儀器的共享,充分利用了資源,并提高了數(shù)據(jù)處理的靈活性。
 

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。