通信原理远程虚拟仿真实验平台的设计

2019-11-26 08:52雷可君汪思成杨世江田筱鸿杨喜
科技视界 2019年26期
关键词:虚拟仿真

雷可君 汪思成 杨世江 田筱鸿 杨喜

【摘 要】虚拟仿真实验平台因其具有构建成本低、升级更新快和维护管理便捷等优点而逐渐广泛应用于高校的实验教学中。在互联网+环境下,笔者考虑将虚拟仿真实验平台融入互联网,并基于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=/tooxbox/webserver/icons %Matlab程序路径

根据计算机的实际情况,配置信息如下:

[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 输入网页的设计

在输入网页上输入仿真实验所需的参数值,然后将数据提交给服务器进行处理,以此来实现用户与服务器的交互,因此输入网页是用户和服务器进行交互的接口。输入网页的关键代码及主要功能如下:

第一个码元:

其中:“”表示把输入表单form的数据发给虚拟目录cgi-bin下的CGI程序Matweb.exe,数据传送方式为post;“”表示输入表单中有1个隐藏的变量,名为mlmfile,值为ASK,该值是调用的M文件的名字。第1个码元:中,face为字体,常用的字体为黑体、宋体、仿宋、楷体、新宋体、幻缘、细明体等。size为字体大小,这里的最大值为7,取值越大显示的文字就越大。""表示建立1个大小为5的文本框,输入初始值为0。

2.3 输出网页的设计

输出网页[7]主要功能是对仿真结果生成的图片在客户端显示的结果,这首先要安排好生成的图片的位置,并且将这些图片合理显示到输出网页上面,其中的实现过程主要是图像是通过$GraphFileName$变量和Matlab函数输出结构中的同名变量的替换来实现,具体实验代码如下:

ASK仿真结果

其中:bgcolor表示背景颜色,bgcolor="#FFFFFF"表示背景颜色为白色;align表示调整水平摆放位置,align="center"意为居中显示,

表示具体哪些内容位于居中显示,还可以选择right和left来调整图片的位置;

表示居中输出含有边框线的图片,border=1表示边框的厚度,可以根据不同的需要设定不同的值。

3 远程仿真实验结果及分析

3.1 输入网页界面

打开IE浏览器,输入本地网页地址http://localhost/ASK.html,就会出现ASK输入网页的界面,如图3所示。

该系统可以输入任意8个码元,该8个码元的初始默认值为01100110,用户可以根据自己的需要输入任意8位二进制码,输入完毕后点击确定按钮提交数据。此时,客户端向服务器提出请求,页面处于跳转状态,等待输出结果。

3.2 输出网页界面

以默认值01100110为例。当输入界面发送数据请求时,服务器接收命令,通过Matweb与Matlab进行通讯,Matlab接收到信息后,调用M文件处理相应数据,将处理的结果反馈给Matlab Web服务器,最终返回到客户端的浏览器并显示出来。ASK远程仿真实验的结果输出如图4所示。

从图4可以看出,此时输出界面的网页地址显示为http://localhost/cgi-bin/matweb.exe,说明客户机通过HTML页面发送的请求,转换为远程Matlab应用程序所需的参数,启动了Matlab进程,并通过matweb.conf文件找出Matlab程序路径,把参数传给该进程进行计算,实现了远程控制的效果。

4 结论

筆者运用网络编程技术将虚拟仿真实验平台融入互联网,以此设计了一款通信原理远程虚拟仿真实验平台。通过该虚拟仿真平台,用户在浏览器上输入实验数据即可远程控制Matlab应用程序在服务器上运行,并将运行结果显示于用户电脑的浏览器。虚拟仿真实验平台能有效解决目前高校实验室建设和实践教学中存在的一些问题,为学生实践能力和创新能力的培养提供平台保障。

【参考文献】

[1]陈逸.Web服务精髓[M].武汉:中国电力出版社 2003.237~253.

[2]黄栋.Apache服务器配置与管理[M].北京:清华大学出版社,2002.89~128.

[3]蔡丽萍.基于Matlab Web Server的远程控制实验室仿真模块实现[J].厦门大学学报,2005,44(4):499~502.

[4]付爽.自动控制原理虚拟实验室的研制与开发[D].山东大学,2007.45~67.

[5]辛晓丽,李世银,岳婷,林晨.基于MATLAB Web Server的远程仿真系统开发[J].实验室研究与探索,2005,24(11).

[6]马兴义.MATLAB 6应用开发指南[M].北京:机械工业出版社,2001.11,99~110.

[7]张文学.Apache WEB Server安全配置和维护[J].20(9) 2004.28~39.

猜你喜欢
虚拟仿真
虚实结合和科教融合的计算机实验教学体系