龙 洋,罗俊波,吴 熹
(1.重庆电力高等专科学校电力工程系,重庆400053;2.沈机集团昆明机床股份有限公司,云南昆明650203;3.宜宾职业技术学院电子信息与控制工程系,四川宜宾644000)
移动通信教学过程中经常采用模拟实验进行辅助教学,旨在帮助学生从物理现象上进一步掌握基本原理。其中,普遍采用了实验箱。尽管实验箱教学使得学生对移动通信系统的运作过程有了进一步的认识和掌握,但是存在以下不足:不能帮助学生深入理解移动通信技术的实现原理;实验项目难以更新,难以跟进技术前沿;元件易老化,导致部分实验的效果逐渐衰退;更换设备的经济成本较高。面对这些问题,计算机仿真已逐渐成为实验教学的主流技术,其中,MATLAB得到了广泛的应用。MATLAB在移动通信的教学过程中,只是用于验证性实验,对于学生而言,安装MATLAB没有太大的意义。
MATLAB提供的MATLAB Web Server组件可以实现与Web服务器进行动态交互。运用这个组件构建在线实验平台,可以辅助、部分替代甚至全部替代传统实验的相关软硬件操作环境。实验者可以像在真实的环境中一样完成各种实验项目,所取得的实验效果等价于甚至优于在真实环境中所取得的效果,实现了实验操作的交互性和实验结果的仿真性。用户可以通过网络访问服务器中的MATLAB仿真程序,进行在线实验,从而达到远程教学的目的[1-5],而用户也无需安装 MATLAB。另外,该技术已经渗透到多个学科和技术领域,用于远程测试与分析[6-7]。
在线实验平台具备两个主要功能:一方面让用户在线操作进行仿真实验;另一方面向用户提供学习资源,从而实现远程教学。
尽管现代移动通信技术已经进入4G时代,但是第二、三代移动通信系统依然拥有绝大多数的用户。同时,通信系统的发展具有后向兼容性,当今的移动通信是2G、3G和4G并存的系统。实验教学项目应当覆盖三代移动通信系统中的关键技术。系统的功能结构和网站首页如图1、2所示。
图1 移动通信在线实验平台功能结构
图2 移动通信在线实验平台网站首页
实验平台采用dreamwaver CS5制作实验网站,用Apache1.3.20[8]配置服务器,实验程序用 MATLAB编写。
实验平台的所有在线实验均采用MATLAB Web Server技术实现。现以四相相移键控(QPSK)调制解调实验为例,介绍在线实验平台的具体实现方法及实验网页与MATLAB的交互。
实验页面分为四个部分:QPSK调制解调原理、仿真参数设置、M文件和输出页面。
模块用图片的方式显示QPSK调制器和解调器的构成(如图3所示),只需用以下语句将预先制作好的图片导入即可。
<p align="center"><img src="/icons/QPSK_modulation.png"alt="qpsk1"width="613"height="323"/></p>
图3 QPSK调制解调原理模块
如图4所示,该模块是用户实际操作的功能模块。在模块中可以选择OQPSK和相移QPSK两种调制类型,自定义输入基带信号和载频,实现关键代码如下。第四行中输入变量mlmfile是处理表单的MATLAB程序名,用以告知matweb调用哪个M文件处理该表单。
图4 QPSK仿真参数设置模块
M文件是实验平台的核心。仿真程序运行时,网页通过matweb.exe调用M文件,从而实现在线实验。可见,M文件在系统中实际上是一个可调用的自定义函数。QPSK的调制解调算法由图3所示模型进行设计。本文仅介绍M文件与网页的交互。M文件中用以下语句读取html文件中的表单数据。
function retstr=p_qpsk(in)
retstr=char(");%初始化返回字符串
cd(in.mldir);%设置工作目录,保存图片用
f=str2double(in.f);
g=eval(in.g);%基带信号
pha=str2double(in.pha);
第一行是MATLAB Web Server应用程序的入口定义,in是一个struct类型的结构变量,包含matweb.exe网关程序传送过来的参数和程序工作目录。M文件实际上是通过in.f、in.g和in.pha读取了仿真参数设置模块中输入的“载频”、“输入序列”和“调制类型”数据。
M文件通过以下语句生成图片并在输出页面中显示。
fig=figure('visible','off');
……
drawnow;
pic=sprintf('%spic.jpeg',in.mlid);
wsprintjpeg(fig,pic);
close(fig);
out.pic=pic;%设置输出变量,供输出html文件用
tmpfile=which('QPSK_output.html');
retstr=htmlrep(out,tmpfile);
其中,out是一个struct类型的结构变量,包含所有的输出变量。M文件通过调用htmlrep,生成用于输出的html文件。
本实验的输出结果是以图片为表现形式,采用以下语句即可实现。输出页面通过调用M文件生成的输出变量(out.pic)显示结果。
<p> <center><strong>原始序列波形,载波波形,已调信号波形及功率谱 </strong></center></p>
<center> <img src="/icons/pic"> </center>
采用图4中默认数据进行调试,运行结果如图5所示。
调试中偶尔会因为MALAB Server停止工作出现连接失败的情况。此时,只需在控制面板中重新启动即可。此外,还需要注意的是被调用的M文件必须在服务器的matweb.conf文件中添加目录,否则服务器将无法找到该文件。
图5 QPSK调制解调实验输出页面
本平台实现了移动通信系统中常用技术的在线实验,其中也不乏采用通信领域的新技术。用户可以在网页中输入符合技术原理的数据完成验证性实验。同时,也可以通过在线学习资源和学习交流平台进行学习。但是,本实验平台依然有一些不足之处。例如,在线编程的功能并未解决,有待在今后的工作中完善。
[1] Cagatay Uluisik,Levent Sevgi.Web-based virtual laboratories for antenna arrays,radiowave propagation and filter design[J].IEEE Antennas & Propagation Magazine,2011,53(4):252-260.
[2] 张宏立.基于 MATLAB的Web实验平台开发[J].计算机应用与软件,2005,(2):142-144.
[3] 蔡丽萍,李茂青,王颖.基于MATLAB Web Server的远程控制实验室仿真模块实现[J].厦门大学学报:自然科学版,2005,(4):499-502.
[4] 李宏,宾宁.基于MATLAB Web服务器的信号与系统远程教学课件[J].计算机工程,2003,(19):184-185.
[5] 李世银,辛晓丽,罗驱波,等.基于MATLAB Web Server的通信原理远程仿真系统开发[J].电气电子教学学报,2005,(3):103-105.
[6] CHEN Xi-yang,XIONG Hao,WU Wei,et al.Research on remote hydro-generator sets diagnosis system[J].Journal of Harbin Institute of Technology,2011,(1):73-76.
[7] 李威,王晓川,李融武,等.基于Web的古陶瓷鉴别分析系统研究[J].计算机应用与软件,2013,(4):19-21.
[8] 何强,何英.MATLAB扩展编程[M].北京:清华大学出版社,2002.