雷可君 汪思成 杨世江 田筱鸿 杨喜
【摘 要】虚拟仿真实验平台因其具有构建成本低、升级更新快和维护管理便捷等优点而逐渐广泛应用于高校的实验教学中。在互联网+环境下,笔者考虑将虚拟仿真实验平台融入互联网,并基于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 输入网页的设计
在输入网页上输入仿真实验所需的参数值,然后将数据提交给服务器进行处理,以此来实现用户与服务器的交互,因此输入网页是用户和服务器进行交互的接口。输入网页的关键代码及主要功能如下:
其中:“