一種遠程信號分析與診斷系統(tǒng)設(shè)計和實現(xiàn)
出處:電子技術(shù)應(yīng)用 發(fā)布于:2011-09-03 19:54:39
MATLAB是由美國mathworks公司發(fā)布的主要面對科學(xué)計算、可視化以及交互式程序設(shè)計的高科技計算環(huán)境。它將數(shù)值分析、矩陣計算、科學(xué)數(shù)據(jù)可視化以及非線性動態(tài)系統(tǒng)的建模和仿真等諸多強大功能集成在一個易于使用的視窗環(huán)境中,為科學(xué)研究、工程設(shè)計以及必須進行有效數(shù)值計算的眾多科學(xué)領(lǐng)域提供了一種全面的解決方案,并在很大程度上擺脫了傳統(tǒng)非交互式程序設(shè)計語言(如C、Fortran)的編輯模式,代表了當今國際科學(xué)計算軟件的先進水平。 MATLAB的基本數(shù)據(jù)單位是矩陣,它的指令表達式與數(shù)學(xué)、工程中常用的形式十分相似,故用MATLAB來解算問題要比用C,FORTRAN等語言完成相同的事情簡捷得多,并且MATLAB也吸收了像Maple等軟件的優(yōu)點,使MATLAB成為一個強大的數(shù)學(xué)軟件。在新的版本中也加入了對C,FORTRAN,C++ ,JAVA的支持。可以直接調(diào)用,用戶也可以將自己編寫的實用程序?qū)氲組ATLAB函數(shù)庫中方便自己以后調(diào)用,此外許多的MATLAB愛好者都編寫了一些經(jīng)典的程序,用戶可以直接進行就可以用。
近年來,隨著計算機技術(shù)與通信技術(shù)的發(fā)展,Internet/Intranet技術(shù)已成為遠程信號分析與處理系統(tǒng)開發(fā)的理想平臺,然而,要實現(xiàn)真正意義上的基于WEB的遠程監(jiān)測、分析與診斷,非常困難[4].本文在基于MATLAB的科學(xué)計算與圖形展示功能的Web應(yīng)用原理討論的基礎(chǔ)上,給出了基于MATLAB實現(xiàn)機械設(shè)備遠程信號分析及遠程故障診斷系統(tǒng)的主要功能、實現(xiàn)方式和方法,展示了一種在Iternet/Interanet環(huán)境下實現(xiàn)遠程監(jiān)測、分析與診斷的快速實現(xiàn)方法。
1 MATLAB的WEB應(yīng)用原理
Web是圖形化的和易于導(dǎo)航的(navigate) Web 非常流行的一個很重要的原因就在于它可以在一頁上同時顯示色彩豐富的圖形和文本的性能。在Web之前Internet上的信息只有文本形式。Web可以提供將圖形、音頻、視頻信息集合于一體的特性。同時,Web是非常易于導(dǎo)航的,只需要從一個連接跳到另一個連接,就可以在各頁各站點之間進行瀏覽了。
在MATLAB5.3以上版本的工具箱里,增加了WEB應(yīng)用工具,通過基于MATLAB的Web應(yīng)用,能使世界各地的用戶通過Internet將數(shù)據(jù)發(fā)送給MATLAB Web服務(wù)器,供助MATLAB強大計算與圖形展示功能,獲得計算結(jié)果或相應(yīng)的圖形結(jié)果。

MATLAB的Web應(yīng)用主要由兩部分組成。一部分是MATLAB Web服務(wù)器,負責(zé)管理Web應(yīng)用與MATLAB之間的通訊。它實際上是一個多線程可執(zhí)行的TCP/IP應(yīng)用程序MATLABserver.exe,是MATLAB應(yīng)用程序運行的服務(wù)器環(huán)境;另一部分是Web服務(wù)代理,TCP/IP的MATLAB Web服務(wù)器的客戶端,一個可執(zhí)行程序matweb.exe,同時也是Web的CGI擴展,它鈄對MATLAB的請求重新定向到MATLABserver.exe進行處理。其原理結(jié)構(gòu)如圖1所示。
2 建立基于MATLAB的Web應(yīng)用
建立基于MATLAB的Web應(yīng)用需要幾個步驟。下面通過實例來說明建立MATLAB Web應(yīng)用的基本步驟。
2.1 請求MACTLAB Web服務(wù)的HTML文檔
請求MATLAB Web服務(wù)的HTML文檔主要完成兩方面的功能。一方面是接收瀏覽器用戶的輸入,這與一般的Web應(yīng)用的處理方法相同,可以通過HTML的表單實現(xiàn);另一方面是設(shè)置一個特殊的標志,將該請求重新定向到MATLAB Web服務(wù)代理進行處理,它的實現(xiàn)方法與一般的CGI程序調(diào)用方法相。下面是其實例代碼片斷:
<form action="/cgi-bin/matweb.exe"mathod="POST"target="outputwindow">
<input type="hidden"name="mlmfile"value="functest">
該片斷中關(guān)鍵的部分是Form標記的Action屬性的設(shè)置及隱輸入框mlmfile(參數(shù)名固定),其值為將在MATLAB Web服務(wù)程序中運行的m文件的文件名。另外,為了方便使用,一般可以將瀏覽器窗口分為幾個部分,一部分用于輸入?yún)?shù)和控制,一部分用于顯示運行結(jié)果或圖形。
2.2 MATLAB Web應(yīng)用的設(shè)置
MATLAB Web應(yīng)用的設(shè)置工作主要分為三個方面。是安裝Web服務(wù)器和瀏覽器,可以選用Microsoft IIS、Netscape NES或Apache Web服務(wù)器和IE或NETSCAPE瀏覽器。第二是對MATLAB Web服務(wù)器的設(shè)置,即配置matlabserver.conf文件,設(shè)定當前MATLAB運行的個數(shù)。第三是對MATLAB Web服務(wù)代理的設(shè)置,即每增加一個MATLAB Web應(yīng)用,都需要在代理服務(wù)的配置文件matweb.conf中增加一項配置。如在html表單中調(diào)用的m文件的文件名為functest,相應(yīng)地,需要在matweb.conf中增加下面的內(nèi)容:
[functest]
mlserver=210.27.64.1
mldir=e:/inetpub/wwwroot/icons
其中mlserver=210.27.64.1指明MATLAB Web服務(wù)程序所在機器的IP地址,而下面一行主要是MATLAB工作目錄的設(shè)置。
2.3 MATLAB應(yīng)用程序的開發(fā)
MATLAB應(yīng)用程序主要具有以下3個方面的功能:
·接收輸入HTML表單中的輸入值;
·調(diào)用MATLAB中內(nèi)置的各種函數(shù)進行科學(xué)計算或作圖;
·將計算結(jié)果放到一個MATLAB結(jié)構(gòu)中;
·調(diào)用Htmlrep文件將計算結(jié)果或生成的圖形輸出到HTML模板頁面上,并將這些結(jié)果返回給終用戶。
一個典型的MATLAB應(yīng)用程序代碼如下:
Function PageString=functest(InputSet,OutFile)
cd(InputSet.mldir);
%清除1個小時以膠的舊圖形
wscleanup('f*.jpeg',1);
Fig=figure('visible','off');
%接收輸入值,并進行轉(zhuǎn)換
startx=str2double(InputSet.startx);
stepx=str2double(InputSet.stepx);
endx=str2double(InputSet.endx);
x=(startx:stepx:endx);
S=InputSet.funcname;
%計算或作圖
plot(x,eval(S));
ylabel('測試');
title(['**函數(shù):'S'的圖像**']);
pos=get(gcf,'position');
pos(3)=380;
pos(4)=310;
set(gcf,'Position',pos,'PaperPosition',[.25 .25 4 3]);
PlotFile=sprintf('f%s.jpeg',InputSet.mild);
drawnow;
wsprintjpeg(Fig,PlotFile);
close(Fig);
%對輸出模板進行處理,生成輸出HTML文件
templatefile=which('functempate.htm');
if(exist('OutFile','var')= = 1)
s.GraphFileName = [PlotFile];
PageString=htmlrep(s,templatefile,OutFile);
Else
s.GraphFileName=[sprintf ('https://%s/icons/',Input Set.mldir 1)PlotFile];
PageString=htmlrep(s,templatefile);
2.4 顯示運行結(jié)果的HTML模板的開發(fā)
HTML(Hyper Text Mark-up Language)即超文本標記語言或超文本鏈接標示語言,是目前網(wǎng)絡(luò)上應(yīng)用為廣泛的語言,也是構(gòu)成網(wǎng)頁文檔的主要語言。HTML文本是由HTML命令組成的描述性文本,HTML命令可以說明文字、圖形、動畫、聲音、表格、鏈接等。HTML的結(jié)構(gòu)包括頭部(Head)、主體(Body)兩大部分,其中頭部描述瀏覽器所需的信息,而主體則包含所要說明的具體內(nèi)容。
在上面的MATLAB應(yīng)用程序中,的結(jié)果輸出部分調(diào)用了用于輸出的HTML模板functemplate.htm.下面是該文件的部分代碼,其中重要的部分是標記"$……$"中包含的變量部分,在MATLAB應(yīng)用程序中通過函數(shù)htmlrep,使用輸出結(jié)構(gòu)中相應(yīng)的變量值對這些標記進行替換。
<html><body bgcolor="#FFFFFF">
<P> </p><p align="center">
<img border=0 src="$GraphFileName$"></p></body></html>
3 基于MATLAB的遠程信號分析與診斷系統(tǒng)
MATLAB是信號分析能力很強的開發(fā)平臺,將其與Web服務(wù)器結(jié)合,經(jīng)過合理的設(shè)計,可以比較快地實現(xiàn)遠程信號分析與診斷。圖2是基于MATLAB的遠程信號分析與診斷系統(tǒng)的主頁面,圖3是時頻分析的實例。在開發(fā)該系統(tǒng)時,除上述問題外,主要需要解決以下幾方面的技術(shù)問題。

3.1 原始數(shù)據(jù)的提交
用戶原始數(shù)據(jù)的提交主要有兩種方式。一種是專用數(shù)據(jù)的提交,主要是為安裝有本中心開發(fā)的RB21和RB20的用戶服務(wù)的。在RB21和RB20中,其監(jiān)測網(wǎng)絡(luò)中有專門的監(jiān)測數(shù)據(jù)庫,其數(shù)據(jù)庫結(jié)構(gòu)與遠程分析與處理中心的ORACIE8I數(shù)據(jù)庫基本是一致的,可以使用專用的數(shù)據(jù)提交程序。另一種是通用數(shù)據(jù)的提交,是為普通用戶準備的。這又分為兩種情況,一是已知原始數(shù)據(jù)的提交,它按照遠程分析中心給定的數(shù)據(jù)格式提交;二是未知數(shù)據(jù)格式數(shù)據(jù)的提交,采用時域或頻域機械圖像的方式提交,這主要是為現(xiàn)場數(shù)據(jù)存儲格式不明的測試系統(tǒng)準備的。具體的提交方法采用以下三種方式:
(1)FTP方式:FTP是建立在TCP/IP協(xié)議基礎(chǔ)上的文件傳輸協(xié)議,系統(tǒng)為注冊用戶提供基于FTP的數(shù)據(jù)提交方式,用戶通過登錄遠程診斷中以后FTP服務(wù)器,可以用類似資源管理器的方式直接提交監(jiān)測數(shù)據(jù)。
(2)Email方式:Email是目前應(yīng)用比較廣泛的郵件協(xié)議,用戶可以通過中心的Email提交原始數(shù)據(jù),不過通過這種方式提交數(shù)據(jù)需要一定的時間延滯。
(3)Socket方式:Socket是建立在傳輸層協(xié)議(主要是TCP和UDP)上的一種套接字規(guī)范,可以通過Delphi的Internet控件,即服務(wù)器端組件TserverSocket和客戶端組件TclientSocket進行編程,實現(xiàn)基于TCP/IP的Socket網(wǎng)絡(luò)接口的數(shù)據(jù)傳輸。
3.2 安全問題的解決
由于Internet網(wǎng)絡(luò)的開放性與共享性導(dǎo)致了遠程監(jiān)測與診斷系統(tǒng)的安全性受到嚴重影響。如何保證網(wǎng)上傳輸?shù)臄?shù)據(jù)的安全,服務(wù)雙方職責(zé)的明確和身份確認是遠程診斷研究必須解決的課題。遠程監(jiān)測與診斷服務(wù)中的安全性需求可以分為以下幾個方面:
(1)數(shù)據(jù)的保密性 用于防止非法用戶進入系統(tǒng)及合法用戶對系統(tǒng)資源的非法使用;通過對一些敏感的數(shù)據(jù)文件進行加密來保護系統(tǒng)之間的數(shù)據(jù)交換,防止除接收方之外的第三方截獲數(shù)據(jù)及即使獲取文件也無法得到其內(nèi)容;
(2)數(shù)據(jù)的完整性 防止非法用戶對進行交換的數(shù)據(jù)進行無意或惡意的修改、插入,防止交換的數(shù)據(jù)丟失等;
(3)數(shù)據(jù)的不可否認性 對數(shù)據(jù)和信息的來源進行驗證,以確保數(shù)據(jù)由合法的用戶發(fā)出;防止數(shù)據(jù)發(fā)送方在發(fā)出數(shù)據(jù)后又加以否認;同時防止接收方在收到數(shù)據(jù)后又否認曾收到過此數(shù)據(jù)及篡改數(shù)據(jù);
(4)數(shù)據(jù)的公正性 用具有獨立法律地位的機構(gòu)或合同確認服務(wù)雙方職責(zé)和義務(wù)。
目前遠程診斷中心解決安全性問題主要采用兩方面的措施。一方面采用用戶注冊的方法,將用戶分為五個安全等級,為他們分配特定的權(quán)限和口令;另一方面采用數(shù)字簽名技術(shù),用戶提交的數(shù)據(jù)和申請,中心生成的診斷,均經(jīng)過數(shù)字簽名。

3.3 遠程分析與診斷功能的設(shè)計
作為遠程信號分析與故障診斷中心,系統(tǒng)的功能應(yīng)盡可能豐富和強大,應(yīng)該比現(xiàn)場監(jiān)測與分析系統(tǒng)提供更為先進和新穎的功能。因此本中心提供頻譜分析、相關(guān)分析、時序分析、小波分析、小波包分析、時頻分析、機械圖像分析以及遠程智能診斷系統(tǒng),系統(tǒng)的主頁面如圖2所示。此外,對于委托的遠程信號分析與診斷,遠程信號分析與診斷中心必須生成正式的分析,經(jīng)過數(shù)字簽名后,送達委托人。
從上面的論述中不難知道,基于Matlab的遠程信號分析與診斷是一種比較簡快速的遠程分析與診斷系統(tǒng)的開發(fā)方法,它能充分利用Matlab強大的信號分析和工程計算能力,開發(fā)出功能強大的遠程信號分析與診斷系統(tǒng)。同時,它還能充分發(fā)揮Matlab平臺良好的擴展性,以及對硬件和數(shù)據(jù)庫的操作性,實現(xiàn)更的功能。
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點或證實其內(nèi)容的真實性,不承擔此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品出處,并自負版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- 掌握 DSP:原理剖析與應(yīng)用實踐2025/5/8 14:03:24
- 模糊邏輯在 DSP 上實時執(zhí)行2023/7/25 17:13:30
- 多速率DSP及其在數(shù)模轉(zhuǎn)換中的應(yīng)用2023/6/12 15:28:52
- 使用 DSP 加速 CORDIC 算法2023/3/29 15:46:30
- 高速DSP系統(tǒng)的信號完整性2022/9/26 16:45:38









