基于Matlab的信号与系统实验平台开发

2016-08-30 01:36连丽红
实验技术与管理 2016年6期
关键词:离散系统时域页面

连丽红

(厦门大学嘉庚学院 电子工程系, 福建 厦门 363105)



基于Matlab的信号与系统实验平台开发

连丽红

(厦门大学嘉庚学院 电子工程系, 福建 厦门363105)

利用Matlab Web Server和GUI图形用户界面功能开发了一款信号与系统实验平台。该实验平台包括了连续信号与连续系统的时域分析和变换域分析、离散信号与离散系统的时域分析和Z域分析等信号与系统的主要内容。利用该平台,学生可以在没有安装Matlab情况下通过网络访问方式,在浏览器上实现Matlab的计算与仿真,可用于Matlab远程教学。

信号与系统实验; 远程教学平台; Matlab Web Server

随着Internet和现代教育的快速发展,远程教育和在线学习越来越被人们所关注。Matlab作为理工科学生常用的计算机仿真软件之一,在信号与系统的仿真、GUI界面设计以及图像处理等课程上都有广泛应用。信号与系统作为一门概念性和原理性较强且比较抽象的电子信息类专业的基础课程[1],采用Matlab对信号与系统进行仿真的实验课程尤为重要。目前针对信号与系统实验平台的研究主要集中在利用GUI编程实现相关界面[2-5],这些平台要求在本机安装Matlab。为了提高Matlab使用的方便性[6-11],本文开发了基于Matlab的信号与系统仿真实验平台,包括Matlab Web搭建、信号与系统实验设计及仿真测试等内容。

1 Matlab Web的工作原理

Matlab Web主要包括标准的Web服务器、Matlab Web服务代理和Matlab Web服务器,使用者通过远程对HTML页面发送请求,Matlab Web代理将对收到的请求进行处理,如果属于Matlab Web的请求就送到Matlab Web服务器进行处理。Matlab Web server工作原理如图1所示[12]。

1.1建立HTML输入文件

用Dreamweaver软件进行HTML编写,由HTML网页和要请求的Matlab Web服务表单文档组成,主要程序代码如下:

程序代码第一行form是一个表单,action是转向地址,要提交的地址为虚拟目录cgi-bin下的matweb.exe,数据传送方式为POST,使得后台可以接收到这个参数;第二行用来创建一个隐藏区域,mlmfile用来指定对应的.m文件,值所对应的参数为.m文件的名称;第三行用来创建一个可提交名为submit的按钮,用于用户输入参数后可以提交参数给服务端。

图1 Matlab Web server的工作原理

1.2建立HTML输出文件

输出的HTML文件由页面背景、文字及功能框架所组成。$var_name$是Matlab应用程序输出的变量的表现形式,它将变量转换为实际的数据。如果运行的结果有图片生成,则输出的HTML文件中要对图片进行命名并存到outstruct。关键程序代码如下:

其中,body bgcolor用来规定输出页面的背景色,#FFFFFF即为白色;后面则通过$GraphFileName$调用图片。

1.3建立M文件

M文件可分为网络交互、程序计算、图片生成3部分,分别定义如下。

1.3.1网络交互代码

function rs=mfile(h,OutFile)

mlid = getfield(h, ′mlid′);# 得到唯一标识符,形成文件名称

cd(h,mldir);#设置存储图形文件目录路径

wscleanup(′ml* mfile.jpeg′, 1);#清理超过1 h的图片

f=(InputSet.f); %输入F表达式

其中,代码“mlid = getfield(h, ′mlid′);”中,matlabserver会自动提供mlid标识符,此代码是从input中接收mlid的值。

1.3.2程序计算功能

符合Matlab运算格式的代码,是真正运行Matlab应用程序的代码。当输入参数后代码将执行Matlab运算,并得到运算结果。

1.3.3图片生成的主要代码

f = figure(′visible′,′off′);#创建一个隐含的空白图片

templatefile = which(′ mfile_template 1.html′)

rs = htmlrep(outstruct, templatefile)

#把图形文件转换为HTML模板文件,其中outstruct包括了全部输出参数的struct结构,templatefile为提前编好的页面模板文件,调用htmlrep函数将结果返回给输出文件并送到客户端的浏览器上。

2 Matlab Web配置

2.1IIS 7.0配置

执行开始—控制面板—程序—打开或关闭Windows功能—Internet信息服务,安装IIS7.0。

(1) 设置ASP,将父路径(允许相对于当前目录的路径)设置为True。右击Default Web Site—管理网站—高级设置,配置默认网站根目录C:inetpubwwwroot,将应用程序池改为经典模式。

(2) 修改端口。因为默认80端口被apache所占用,所以IIS端口改为81。查看网站,右击Default Web Site—绑定—编辑—修改端口。

(3) 添加2个虚拟目录。右击Default Web Site,添加2个虚拟目录分别为cgi-bin和icons,物理路径设置为C:inetpubwwwroot。在cgi-bin文件夹中放入matweb.conf、matweb.exe、HTML文件和.m文件。这些文件可以在目录Matlab7 oolboxwebserverwsdemos下找到。同样将Matlab7.0中的wsdemos文件夹里的图片复制到icons文件夹里,Matlab程序生成的图片会自动保存在这里。此外,将wsdemos文件夹下面的所有HTML文件和.m文件复制到网站根目录C:inetpubwwwroot下,然后修改cgi-bin和icons文件夹的权限,添加Everyone角色,使其具有完全控制权限。最后在主页上找到ISAPI和CGI限制添加两个允许的Web服务扩展,路径指向matweb.exe。

(4) 在主页上找到处理程序映射,添加脚本映射,请求路径为*.exe,可执行文件C:inetpubwwwrootcgi-binmatweb.exe,名称为CGI-exe,请求限制访问设置为执行,并启用。

2.2Matlab Web代理服务器配置

修改C:inetpubwwwrootcgi-bin下的matweb.conf文件。添加配置好的.m文件名,并在matweb.conf添加相应配置。Matweb.conf内容如下:

[webpeaks] /*方括号里为.m文件名*/

mlserver=localhost/* TCP/IP协议中的主机地址或IP地址或服务器名*/

mldir=C:/Inetpub/wwwroot/*Matlab程序及图片存放的绝对路径,即网站根目录下创建的文件夹icons */

配置matlabserver.conf

-m 5/*运行Matlab进程数目*/TCP/IP协议

-p 81/*端口号*/

-o 300/*等待Matlab Web Server启动的时间*/

2.3Matlab Web Server测试

配置完成后,启动Matlab Server,在浏览器上输入http://localhost:81/,利用Matlab自带的例子进行测试,结果如图2所示:

图2 webpeaks1页面

测试成功,证明之前的所有配置没有错误,Matlab的交互式实验平台可以实现。

3 信号与系统实验设计

3.1整体框架

本实验平台整体框架图如图3所示,分为两大模块:主界面和子界面。其中,主界面包含标题连续信号、离散信号、连续系统、离散系统4个按钮来实现子界面的链接;子界面所涉及到的内容为信号与系统中常用的实验内容,各个页面通过输入参数来进行仿真,页面所包含内容分别为:

(1) 连续信号模块:连续信号时域特性(相加、相乘、平移、反折)、频域特性(傅里叶变换、拉普拉斯变换);

(2) 离散信号模块:离散信号时域特性(相加、相乘、平移、反折)、频域特性(Z变换);

(3) 连续系统模块:连续系统时域分析(冲激响应、阶跃响应)、频域分析(傅里叶谱图)、复频域分析(零极点分布图以及幅频、相频特性曲线图);

(4) 离散系统模块:离散系统时域分析(冲激响应、阶跃响应)、Z域分析(零极点分布图以及幅频、相频特性曲线图)。

图3 整体框架图

3.2具体设计与测试

以离散系统模块为例介绍相关实验内容。该模块主要实现离散系统的冲激响应、阶跃响应、零极点分布图及频响特性曲线。离散系统零极点和频率响应的主要代码如下:

function rs = lsljd(InputSet, OutFile)

mlid=getfield(InputSet,′mlid′);

z=eval(InputSet.z); %将输入的字符串转换为数值

p=eval(InputSet.p);

k=str2double(InputSet.k);

cd(InputSet.mldir);

wscleanup(′lsljdml*.jpeg′, 1);

Fig=figure(′visible′,′off′);

[b,a]=zp2tf(z,p,k);%零、极点增益模型转变成传递函数模型

subplot(2,2,1);zplane(z,p);

subplot(2,2,2);impz(b,a,20);%绘制系统单位序列响应时域波形

title(′h(n)′);%冲激响应

[H,w]=freqz(z,p,1024,′whole′);

Hf=abs(H);

Hx=angle(H);

subplot(2,2,3);plot(w,Hf);

title(′fp′);

subplot(2,2,4);plot(w,Hx);

title(′xp′);

pos=get(gcf, ′position′); %调整图形的大小

set(gcf, ′Position′, pos, ′PaperPosition′, [.100 .100 16 12]);

s.GraphFileName = sprintf(′xj%s.jpeg′, mlid);%设置一个新的文件名

drawnow;% 刷新、更新图像窗口

wsprintjpeg(Fig, s.GraphFileName); %将图形以指定文件名保存

s.GraphFileName = sprintf(′/icons/xj%s.jpeg′, mlid);%将文件的路径名写入输出结构

close all;%关闭隐式窗口,释放所占内存

templatefile = which(′lsxt1.html′); %获取指定html文件路径

rs = htmlrep(s, templatefile);%将结果传至输出html文件

设置好相关参数,将matweb.config文件中mlserver的本机IP地址值修改为120.34.49.2,在PC或手机浏览器上输入http://120.34.49.2:81,即可对Matlab的交互式实验平台的各个界面进行测试。该模块的仿真结果如图4所示。

4 结语

本文所设计的Matlab交互式实验平台在PC机和手机上均测试成功。使用者只需通过浏览页面就可以方便地进行Matlab的远程仿真,轻松地得到仿真的结果,解决了软件的限制,提高了传统教学质量,对远程教学也具有深远的意义。

图4 零极点分布和频率响应测试

References)

[1] 刘锋,段红,熊庆旭,等.信号与系统实验教学改革[J].实验技术与管理,2008,25(3):118-120.

[2] 金波.基于Matlab的“信号与系统”实验演示系统[J].实验技术与管理,2010,27(12):104-107.

[3] 杜世民,杨润萍.基于Matlab GUI的“信号与系统”教学仿真平台开发[J].实验技术与管理,2012,29(3):87-90.

[4] 全星慧,周围,韩建,等.基于Matlab的信号与系统实验平台设计[J].现代电子技术,2014,37(22):88-90.

[5] 董玲,曾佳,杨晶晶,等.基于LabVIEW和Matlab混合编程的在线信号与线性系统实验[J].实验室研究与探索,2014,33(12):113-116.

[6] 王宏.MATLAB的Web应用和开发[J].计算机应用,2001,21(3):89-91.

[7] 李宏,宾宁.基于Matlab Web服务器的信号与系统远程教学课件[J].计算机工程,2003,29(19):184-185.

[8] 蔡丽萍,李茂青,王颖.基于Matlab Web Server的远程控制实验室仿真模块实现[J].厦门大学学报:自然科学版,2005,44(4):499-502.

[9] 王丽君,孟先新,葛临东,等.基于Web与Matlab的控制虚拟实验室设计[J].计算机工程与应用,2007,43(4):79-81.

[10] 张晓光,王艳芬,王刚,等.基于Matlab Web Server的数字信号处理远程仿真[J].电气电子教学学报,2009,31(1):86-87.

[11] 李世银,辛晓丽,罗驱波,等.基于Matlab Web Server的通信原理远程仿真系统开发[J].电气电子教学学报,2005,27(3):103-105.

[12] 李凤勤,王向前.基于Matlab Web Server的远程仿真系统开发与应用[J].信息系统工程,2009(12):82-85.

Development of experimental platform of signals and systems based on Matlab

Lian Lihong

(Department of Electronic Engineering, Tan Kah Kee College, Xiamen University, Xiamen 363105, China)

A set of experimental platform for signals and systems is designed through the use of Matlab Web Server and graphical user interface in Matlab. This platform includes the main contents of signals and systems,such as time domain analysis and transform domain analysis for continuous signals and systems, time domain analysis and Z-domain analysis for discrete time signals and systems, etc. The student can complete calculation and simulation of Matlab in the browser, which has far-reaching significance for Matlab remote teaching.

signal and system experiment; remote teaching platform; Matlab Web Server

DOI:10.16791/j.cnki.sjg.2016.06.038

2015-11-03

连丽红(1984—),女,福建泉州,硕士,讲师,主研方向为嵌入式系统及应用.

TP303

A

1002-4956(2016)6-0150-04

猜你喜欢
离散系统时域页面
刷新生活的页面
基于时域信号的三电平逆变器复合故障诊断
关于非自治离散系统中敏感性的一些结论
基于极大似然准则与滚动时域估计的自适应UKF算法
基于时域逆滤波的宽带脉冲声生成技术
基于时域波形特征的输电线雷击识别
2-D连续-离散系统的迭代学习控制
基于MATLAB的离散系统分析
网站结构在SEO中的研究与应用
浅析ASP.NET页面导航技术