雷可君 汪思成 楊世江 田筱鴻 楊喜



【摘 要】虛擬仿真實驗平臺因其具有構建成本低、升級更新快和維護管理便捷等優點而逐漸廣泛應用于高校的實驗教學中。在互聯網+環境下,筆者考慮將虛擬仿真實驗平臺融入互聯網,并基于Matlab的Web Server服務進行二次開發,從而實現遠程登錄虛擬仿真實驗平臺進行仿真實驗。本文以通信原理遠程虛擬仿真實驗平臺的設計為例,通過ASK遠程仿真實驗驗證了該平臺的可操作性和開發方式的可行性。
【關鍵詞】虛擬仿真;Matlab Web Server;通信原理仿真實驗;ASK調制與解調
中圖分類號: TP391.6;TN911-4文獻標識碼: A文章編號: 2095-2457(2019)26-0013-003
【Abstract】Virtual simulation experiment platform has been widely used in experimental teaching in Colleges because of its advantages of low cost,fast upgrade,and convenient maintenance and management.In the Internet+ environment, the author considers integrating the virtual simulation platform into the Internet,and develops the experiment platform based on the Web Server service of Matlab,so as to realize the remote login virtual simulation experimental platform. This paper takes the design of remote virtual simulation experiment platform of communication principle as an example, and verifies the feasibility of the platform's development mode through ASK remote simulation experiment.
【Key words】Virtual simulation;MATLAB Web Server;Simulation experiment of communication principle;ASK modulation and demodulation
0 引言
遠程虛擬仿真實驗基于互聯網技術進行構建,近幾年因其投資成本低、升級更新靈活,受到從事實驗室建設和實踐教學工作的教師和科研人員的關注。這種新的實驗手段主要借助互聯網技術,使用戶可以在智能手機、IPad、移動電腦等終端,隨時隨地遠程登錄虛擬仿真實驗平臺,并模擬完成相應的實驗任務,便于學生加深對理論知識的理解。電子信息類專業具有很強的實踐性特征,如果將遠程虛擬實驗技術引入到電子信息類專業的課程教學中,將在一定程度上解決由于實驗資源缺乏而造成實踐教學環節開展不夠的問題。因此,筆者考慮將虛擬仿真實驗平臺融入互聯網,利用Matlab的Web Server服務進行二次開發,使虛擬仿真實驗平臺具有遠程登錄進行仿真實驗的功能。本文以通信原理遠程虛擬仿真實驗平臺的設計為例,通過ASK遠程仿真實驗驗證該平臺的可操作性和開發方式的可行性。
1 通信原理遠程虛擬仿真實驗平臺的設計
1.1 服務器的選擇與配置
1.1.1 Web服務器的選擇
虛擬實驗平臺設計與開發中使用的Web服務器[1]為Apache。Apache[2]是當今世界使用最多的Web服務器,它廣泛應用于PHP,數據庫等很多需要Web服務器的軟件開發中,有著很強的跨平臺性,并且安全性高。
1.1.2 Matlab Web Server服務器的配置
1)設置CGI權限
Matlab Web Server 的工作方式要使用CGI程序,所以必須打開CGI權限。Apache 安裝在D盤,按路徑D:\apache\conf找到http.conf文件,使用編輯中的查找功能找到
AllowOverride None
Options None
Order allow,deny
Allow from all
這段文字,將其中的Options None改為Options ExecCGI,并重啟Apache使之生效。
2)設置圖片存放的路徑
Matlab Web Server[4]生成圖片時要求有一個\icons目錄來保存圖片。目錄的創建方式為:首先在D:\apache\conf找到http.conf文件,然后查找DocumentRoot來查看根目錄,最后在Apache根目錄下創建\icons目錄作為圖片存放文件夾。假設查詢得到的信息是DocumentRoot"D:/apache\htdocs",那么可以在\htdocs文件夾目錄下創建icons來存放圖片,也可以在http.conf文件中更改根目錄,然后創建文件夾來存放圖片。
3)配置Matlab Web Server系統配置文件
Matlab Web Server[5]的系統配置文件matlabserver.conf,在安裝完成后只有一行:-m1,表示允許Matlab進程數為1,這可根據實際情況進行更改。在這個文件夾這還可以進行端口的配置,Apache的默認端口為80,如果計算機上的其他軟件占用了80端口可以根據端口的使用原則更改端口,方法為-px(使用的端口號)。
4)配置應用程序信息
Matlab Web Server 的配置文件為matlab.conf,運行的CGI程序為matlab.exe,要將這兩個文件拷貝到Apache的安裝目錄里的cgi-bin文件下。Matlab.conf寫有程序配置的M文件名和2個變量,初始信息為:
[webpeaks]? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? %M文件名
mlserver=
mldir=
根據計算機的實際情況,配置信息如下:
[webpeaks]
mlserver=localhost
mldir=D:\apache\htdocs\icons
在加入自己的應用程序時,每一添加一個應用只需在matlab.conf文件下增加三行配置信息即可。
1.2 仿真平臺的調試
在瀏覽器中輸入http://localhost/index.html,可以看到如圖1所示的Matlab Web Server例程演示界面。
點擊第二項的Peaks Plot進入繪圖界面,輸入相應的參數后,點擊Generate Plot按鈕可以生成圖像(圖2)。從圖1和圖2可以看出,在 Apache2.2上搭建 Matlab Web Server 應用環境完成。
2 ASK調制解調遠程仿真實驗設計
2.1 基于Matlab Web Server的M文件
Matlab Web Server的M文件[6]是一個被網頁調用的程序,所以它是一個function函數,其基本結構包含主要的運算程序段、網絡功能部分程序段以及圖形生成部分。要讓ASK實驗的Matlab仿真結果能在網頁中遠程調用出來,M文件的編寫還需要加入網絡功能部分以及畫圖功能程序段。其中,網絡功能的關鍵代碼段如下:
function ASK11=ASK(Input,out)
mlid=getfield(Input,'mlid');
cd(Input.mldir);
wscleanup('ASK*s.jpeg',0.1);
Fig=figure('visible','off');
close(Fig);
把數據結果以圖像的形式顯示出來,并將圖片輸出至HTML文件,在輸出網頁上進行顯示,其關鍵代碼如下:
mlid=getfield(Input,'mlid');
Fig=figure('visible','off');
pos=get(gcf,'position');
pos(3)=380;
pos(4)=310;
set(gcf,'Position', pos,'PaperPosition',[.25.25 12 10]);
drawnow;
out.GraphFileName=sprintf('ASK%s.jpeg',mlid);
wsprintjpeg(Fig,out.GraphFileName);
out.GraphFileName=sprintf('/icons/ASK%s.jpeg',mlid);|
close all;
% 對輸出模板進行處理,生成輸出HTML文件
templatefile = which('ASK1.html');
ASK11=htmlrep(out,templatefile);
其中
out.GraphFileName=sprintf('ASK%s.jpeg',mlid);
wsprintjpeg(Fig,out.GraphFileName);
out.GraphFileName
后面要合理添加圖片序號,不能重復,確保每次圖片顯示不會有其他問題。
2.2 輸入網頁的設計
在輸入網頁上輸入仿真實驗所需的參數值,然后將數據提交給服務器進行處理,以此來實現用戶與服務器的交互,因此輸入網頁是用戶和服務器進行交互的接口。輸入網頁的關鍵代碼及主要功能如下:
其中:“