李亚文
(商洛学院 电子信息与电气工程学院,陕西 商洛 726000)
基于GUI的“信号与系统”实验教学平台设计
李亚文
(商洛学院 电子信息与电气工程学院,陕西 商洛 726000)
应用可视化编程能力的图形用户界面GUI,设计了信号与系统的实验教学仿真平台,将实验内容加载在子界面中,实现主界面与子界面的回调执行。该实验仿真平台克服硬件实验系统的局限性,采用层次化的设计方法,加深和拓宽实验内容和实验层次,增强了实验的灵活性。实验测试结果表明,该实验平台界面友好、操作简单、参数设置方便,使学生可以在理解原理基础上方便的完成实验内容,也为信号系统的实验教学提供了更好的教学平台。
信号与系统; GUI; 频谱分析; 回调函数
随着计算机软件技术和通信技术的不断发展,人们对各种信号进行快捷的处理要求也越来越高。《信号与系统》课程作为信号处理方面最基础的课程也备受电子信息领域的学习者的重视,其实验内容的学习是掌握基本信号性质,理解信号处理常用方法等方面不可缺少的部分。以前信号与系统实验模拟是用硬件[1-3],对仪器和实验室的要求较高,有时候受仪器或操作不当等因素的影响,直接影响信号处理的实验结果。近些年,部分高校和研究机构已经使用软件先对信号进行前期的仿真处理[4-5],再使用硬件进行实验。为了提高学生学习的热情和积极性,需要应用操作简单,直观易懂的实验内容去理解深奥的理论知识。因此,大部分高校为了提高学生学习的学习兴趣,在《信号系统》实验中广泛使用MATLAB软件进行仿真[6-7]。当前,GUI界面已经广泛应用在手机通讯移动产品、电脑操作平台、软件产品、PDA产品、数码产品、车载系统产品、智能家电产品、产品的在线推广等多个领域[8-9]。
本文应用GUI平台设计了《信号与系统》可视化的实验仿真平台,通过主界面和子界面的设计与相互回调,可以方面学生学习。
实验平台的界面布局是先设计GUI总界面,然后设计子界面,再在子界面上设置按钮、坐标轴、文本框等一系列控件,最后借助于callback函数调用程序[10]。在函数调用程序的设计中先编写各个子界面中的回调函数下的程序,再编写GUI界面的回调函数下的程序。
设计实现步骤分为四步,具体实现流程如图1所示。
图1 实验平台设计实现步骤Fig.1The steps of experimental platform design and implementation
(1) 用MATLAB的GUIDE提供的创建图形界面工具设计整个实验仿真界面的主界面,在设计子界面;
(2) 在实验子界面中添加各个控件对象,编写控件按钮回调函数,实现每个控件的控制功能,直接通过界面上的控件实现对结果的分析;
(3) 最后编写GUI总界面的回调函数程序,把所有的子界面集合在总界面中,通过总界面可以进入任意子界面中并可以进行操作;
(4) 退出实验界面。
信号与系统实验内容繁多,本次教学平台的设计将采用一个实验总界面与若干个子界面相互回调,每个子界面都可以实现一个具体的《信号与系统》的实验内容,并且可以切换为主界面,可以进行另外一个实验内容。
3.1 总界面的设计
在新建窗口中拖入七个静态文本框(Statec Text)和七个按钮(Push Button),设置静态文本的String为“基于GUI的信号与系统仿真实验平台的设计”,Background Color为浅红色,FontSize为28.0,Foreground Color位黑色。依次设置另外六个静态文本框String为“实验一基本信号的产生”、“实验二信号的基本运算”、“实验三卷积”、“实验四傅里叶变换”、“实验五连续系统零状态响应”、“实验六低通滤波器”这几个实验的Fonsize为22.0,另外的六个按钮依次设计的Fonsize为16.0,点击每个实验后的按钮编写回调函数进入相应的实验子界面。图2所示为具体的实验仿真平台的主界面设计思路,主界面设计完成后的内容实现如图3所示。为了美化实验平台总界面中可插入一些背景图片(如添加学校 LOGO、风景图片)和背景音乐等。
3.2 子界面的设计
在总界面其相应的位置编写总界面跳转到子界面的实现函数[11],如图4所示为实验四傅里叶变换的子界面,子界面中的内容跳转与切换:
function pushbutton4_Callback(hObject,eventdata,handles)
图2 实验平台总界面的设计思路Fig.2 The designing ideas of total experimental platform
图3 主界面内容Fig.3 The contents of main-interface
图4 子界面内容Fig.4 The contents of Sub-interface
set(0,'CurrentFigure',jbxhdcs)
每一个子界面的设计包括由相应每个控件的属性和相应的回调函数callback程序实现其相应的功能。在View Callback选项中选择buttondownfcn,编写回调函数,选择Static text按钮设置控件属性[12]。
(1) 方波傅里叶模块。傅里叶原理的表明:任何连续的时域信号,都是可以表示为不同频率正弦波信号的无线叠加。而根据该原理创立的傅里叶变换算法,利用直接测量到原始信号,以累加方式来计算该信号中的不同正弦波信号的频率、振幅和相位。其中,图5显示了方波信号的傅立叶变换实现,需要先对“方波傅立叶”按钮进行函数编写,实现对输入的信号进行频谱计算,设置方波信号的幅度和周期,另外一个功能就是进行快速傅里叶变换。
图5 方波傅里叶变换实验模块Fig.5 The test module of fourier transform square wave
(2) 快速傅里叶模块。如图6所示,对模拟信号进行快速傅立叶变换,
(3) 离散傅里叶模块。对于非周期的信号,我们需要用许多不同频率的正弦曲线来表示,这对于计算机来说是不可能实现的。所以对于离散信号的变换也只有离散傅里叶变换才能被试用,对于计算机来说只有离散的与有限长度的数据才能被处理,对于其它的变换类型只有在数学演算中才能用到,使用计算机计算信号频谱,即:DFT方法。图7显示了对离散信号进行频谱计算、进行傅里叶反变换,并且计算了快速傅里叶变换信号的频谱。
图6 快速傅立叶变换实验模块Fig.6 The test module of fast fourier transform
图7 离散傅里叶变换的实验模块Fig.7 The test module of Discrete Fourier Transform
(1)设置主界面和子界面的兼容问题,解决方法:
① Gainvar();弹出子界面,在子界面中设置参数XDisp(x)输出参数;
② Close(gcf) Set(0,’CurrentFigure’,block_1);
③ 在按钮下面的FCN下面调用子界面的函数编写。
(2) 总界面和子界面的美化
ha=axes('units','normalized','position',[0 0 1 1]);uistack(ha,'down');
II=imread('shangyuan01.bmp');
image(II);
colormap gray;
set(ha,'handlevisibility','off','visible','off');
本文应用可视化编程能力的图形用户界面GUI,设计了信号与系统实验课程的教学仿真平台,该系统将部分信号系统实验的内容加载在系统界面中,结合了理论教学中的内容,将总界面与子界面通过编写不同的回调函数进行链接,实现了图形用户界面人机交互式用户界面,加深和拓宽实验内容和实验层次,增强了实验的灵活性,其实验平台界面友好、操作简单、参数设置方便,方便学生对信号与系统的学习,也为信号系统的实验教学提供了较好的教学平台。
[1] 张春慧,宗哲英,王蒙,等.基于MATLAB GUI的自动控制原理虚拟实验平台的开发与研究[J].内蒙古农业大学学报(自然科学版),2015,36(3):101-105.
ZHANG Chunhui,ZONG Zheying,et al.Research of automatic control theory virtual Laboeatory Based on MATLAB GUI[J].Journal of Inner Mongolia Agricultural University(Natural Science Edition),,2015,36(3):101-105.
[2] 范朋.基于QT的嵌入式Linux系统GUI的研究与实现[D].北京邮电大学,2011.
FAN Peng.Rrseach and Implemention of Emeded Linux GUI Based on QT[D].Beijing University of Posts and Telecommunications,2011.
[3] 刘峰,段红,熊庆旭,等.信号与系统实验教学改革[J].实验技术与管理,2008,25(3):118-120.
LIU Feng,DUAN Hong,XIONG Qingxu,et al.Reform of experiment teaching for signals and systems course [J].Experimental Technology and Management,2008,25(3):118-120.
[4] 靳晓艳.基于先进信号处理方法的通信信号调制识别技术研究[D].西安电子科技大学,2014.
QI Xiaoyan.Research on Communication Signals Modulation Recognition Based on Advanced Signal Processing Methods[D].Xidian University,2014.
[5] 秦辉,席裕庚.基于Matlab GUI的预测控制仿真平台设计[J].系统仿真学报,2006,10(18):2778-2781.
QIN Hui,XI Yugeng.Matlab GUI-Based Simulation Platform Design of Predictive Control[J].Journal of System Simulation,,2006,10(18):2778-2781.
[6] 杜世民,杨润萍.基于Matlab GUI的”信号与系统”教学仿真平台开发[J].实验技术与理,2012,29(3)88-90.
YANG Shimin,YANG RuiPeng.Development of teaching simulation platform of Signal and Systems based on Matlab GUI [J].Experimental Technology and Management,2012,29(3)88-90.
[7] Steven T.Karris.Signals and Systems with MATLAB Com-puting and Simulink Modeling 4th Edition [M].Orchard Publications,2008.
[8] 奥本海姆.信号与系统(英文版第2版)[M].北京:电子工业出版社,2009.
Alan V.Oppenheim.Signals and systems(The second edition)[M].BeiJing:Publishing House of Electronics Industry,2009.
[9] 郑君里,应启珩,杨为理,等.信号与系统(第三版)[M].北京:高等教育出版社,2011.
ZHENG Junli,YING Qihang,YANG Weili,et al.Signals
and systems(The third edition)[M].BeiJing:Higher Education Press,2011.
[10] 李亚文.基于MATLAB的离散系统分析[J].商洛学院学报,2013,04(27):34-36,46.
LI Yawen.The Application of MATLAB on the Analysis of Discrete-time System[J].Journal of college of shangluo,2013,04(27):34-36,46.
[11] 邬少飞.基于Matlab的信号与系统教学研究[J].电脑与电信,2013,13(11):70-73.
WU Shaofei.Research on the Teaching of the Course of“Signal and System”Based on MATLAB [J]Computer & Telecommunication,2013,13(11):70-73.
[12] 林霖,杨丰,张志德,等.基于Matlab的“信号与系统”课程演示软件的应用[J].电气电子教学学报,2009,31(51):98-100.
LIN Lin,YANG Feng,ZHANG Zhide,et al.Demo Software of Signals and Systems Based on Matlab [J]Journal of Electrical & Electronic Education,2009,31(51):98-100.
Design of Signal and System Teaching Experimentation Platform Based on GUI
LI Yawen
(Electronic information and electrical college of engineering,Shangluo University,Shangluo 726000,China)
The experiment simulation platform of the signal and system was designed with Graphical Interface GUI in this paper.The experimental contents were loaded in the sub-interface to achieve the implementation of the main interface and sub-callback interface.The experiment simulation platform can overcome the limitations of the hardware experimental system,and adopt the hierarchical design method,deepen and broaden the experimental contents and the experimental level,and enhance the flexibility of the experiment.The test results show that the experimental platform has friendly interface,simple operation and convenient parameter setting.So,students can easily understand the test content based on the principle.This platform also provides a better learning platform for the experimental teaching of signaling system.
signals and systems; graphical user interface; spectrum analysis; callback
李亚文 女(1984-),陕西华县人,讲师,主要研究方向为模式识别与跟踪、视频图像处理。
商洛学院科研项目(14SKY001)