APP下载

基于Matlab GUI的“信号与系统”课程教学仿真系统开发

2016-03-21姚宇凤

河北民族师范学院学报 2016年2期
关键词:信号与系统

于 建 姚宇凤

(河北民族师范学院 物理系,河北 承德10098)



基于Matlab GUI的“信号与系统”课程教学仿真系统开发

于建姚宇凤

(河北民族师范学院 物理系,河北 承德10098)

摘要:一直以来,“信号与系统”课程的教学都由于其理论性强、概念抽象,对学生的数学水平要求高等原因,无法达到预期的教学效果。因此为了提升课程的教学效果,本文采用Matlab软件,开发针对此课程的教学仿真系统,并且以典型非周期信号的傅里叶分析、离散时间信号卷积和的计算为具体实例,说明教学仿真系统的使用。在课堂教学中,同步使用此仿真系统对不易理解的知识点进行仿真验证,使学生容易消化对应的内容。同时,生动的演示也提升了学生学习本门课程的热情,为后续相关内容的学习提供动力。

关键词:信号与系统;Matlab GUI;卷积和;傅里叶分析

一、引 言

“信号与系统”是电子与通信类专业的主要技术基础课之一。课程要求学生初步了解如何建立信号与系统的数学模型,如何利用数学方法进行求解,并对所得结果给出相应的物理解释,赋予物理意义[1]。同时,“信号与系统”的基本概念和基本分析方法已经渗透到了电路与系统、集成电路工程、物理电子学、生物医学工程、电磁场与微波技术、电气工程、动力工程、环境工程等多个领域。“信号与系统”课程的主要任务是:(1)在“时域”和“频域”下研究连续时间信号和离散时间信号的表示方法;(2)在“时域”和“频域”下研究系统特性的各种描述方式;(3)在“时域”和“频域”下研究激励信号通过系统时所得到的响应。由于受到诸多因素的影响,如课程所分配的课时数不足以及实践教学中实验设施不完善等,最终导致很难完成“信号与系统”课程所制定的教学要求。为了解决上述课程教学过程中所存在的问题,国内外的教育工作者都纷纷开始将Matlab作为辅助教学工具应用到“信号与系统”的教学中,不但解决了课时不足的问题,同时也降低了课程的教学难度,让学生易于接受。文献[2][3]中,提到利用Matlab GUI制作相关教学仿真系统,然而这些系统都不具有教学仿真平台管理模块,直接通过点击界面相关的控件进入到具体的仿真实例,降低了教学仿真系统的安全性。同时,涉及的教学仿真内容多是一些课程教学的基础知识点,对于课程教学的综合性知识点的仿真验证部分并无涉及。

本文在Matlab开发环境下,通过对不同版本“信号与系统”课程教材(包括国内、外的经典教材)的分析整理,筛选出具有代表性的基础性知识点以及综合性知识点作为平台设计的对象,利用其可视化用户界面GUI及简单易用的绘图程序语言,完成此教学仿真系统的开发。在课堂教学中,充分发挥教学仿真系统的优势,针对难以理解的概念,进行图形化演示,激发学生的学习热情,提升教学质量。

二、基于Matlab GUI的教学仿真系统结构框架

Matlab是一种高级计算机语言,有着“演算草稿纸”的称号,由此可知其编程语言语法简单易学。利用其高效的数值运算能力,把学生从繁琐的计算中解脱出来,使其聚焦到对结果的解析上,更加深入地了解数学公式和物理概念的内在联系。用户界面是指人与机器之间交互作用的工具和方法,如多种多样的外设:摄像头、触摸屏、游戏手柄等都可成为与计算机交换信息的接口。图形用户界面GUI(Graphical User Interface)是目前计算机应用程序界面的主要形式,Matlab为users提供了功能十分强大的集成用户界面开发环境,通过在command window(命令窗口)输入GUIDE命令进入到开发环境,开发自己所需的应用程序。利用GUIDE命令设计一个完整的GUI流程如下[4]:

(1) 采用面向对象的方法,确定GUI所需使用的对象,并添加到GUI中;

(2) 充分使用GUIDE提供的布局工具,完成GUI开发中各个对象控件的布局,布局时要充分考虑到用户的使用习惯,做到界面简洁,实用;

(3)利用属性检阅(Property Inspector)选项,设置对应控件的相应属性;

(4) 为GUI对象控件编写回调函数(Call Back),保证所设计的GUI能正确响应用户所需的操作;

(5) 利用相关编译,生成的独立运行程序,方便用户使用。

基于Matlab GUI的“信号与系统”教学仿真系统在设计上务求做到简洁,易操作,与用户的交互友好。界面设计上,对教学仿真系统的管理界面、操作界面、各级子界面的布局进行合理规划。在管理界面部分,将我校校徽和校园美景合理放置在界面的核心位置,能对我校起到初步宣传作用。将用户注册、修改密码等放置在符合用户习惯的右侧供用户进行操作;在仿真平台的主界面部分利用Matlab GUI panel控件将同类内容进行分组合并,让用户一目了然;采用下拉菜单(popmenu)当作入口界面的选择控件,使得用户操作起来简单方便。同时,合理分配界面空间,配合不同的仿真目的进行布局。在后台程序设计上,为了更好的实时响应用户的操作,对程序的代码进行优化,比较实现同一功能的代码,择优选取执行效率高的代码进行使用。为了引导学生利用Matlab软件自主进行仿真设计,在此教学仿真系统提供范例仿真,以供学生参考使用,学生可以通过模仿范例的过程,最终设计出属于自己的仿真实例,进一步培养了学生自主学习的能力。

本“信号与系统”教学仿真系统主要由以下分支组成:一、连续时间信号与系统分支:连续时间系统时域分析、傅里叶分析、连续时间系统S域分析;二、离散时间信号与系统分支:离散时间系统时域分析、离散时间系统Z域分析、离散序列的傅里叶变换DTFT;三、信号与系统综合应用分支:音乐合成实验、语音合成实验、傅里叶变换在通信系统中的应用[5],其系统框架图如图1所示。同时,为保证系统的安全性以及统计用户使用此平台次数,设计仿真平台管理系统。用户可通过此管理系统进行如下操作:注册新用户、设置新密码、登陆教学仿真系统、修改密码、退出。同时,管理员可通过用户管理对教学仿真系统的使用次数进行统计,记录用户的使用频率。

图1 基于Matlab GUI的“信号与系统”课程教学仿真系统结构层次图

基于Matlab GUI的“信号与系统”课程教学仿真平台系统的主界面如图2所示。平台的主界面我们利用GUI控件的“容器”Panel对三个分支的内容进行归类,在三个Panel控件的左上角依次注明连续时间信号与系统、离散时间信号与系统、信号与系统综合实验(每个分支都包括相关的具体仿真内容),方便用户按需使用。通过点击每个Panel中具体仿真内容对应的“Push Button”控件进入到所要进行仿真与计算的界面,同时此平台界面也提供了返回登陆界面按钮可以回到初始的仿真系统管理界面。

三、基于教学仿真系统实例分析及使用

下面以此教学仿真系统中离散时间信号的卷积和、典型非周期信号傅里叶分析为例,介绍该系统的使用。

(一)离散时间信号的卷积和实例

卷积和运算是计算LTI离散系统零状态响应以及离散信号分解的基本工具,针对离散时间序列卷积和的定义式为:

图2 基于Matlab GUI的“信号与系统”课程教学仿真平台系统的主界面

由卷积和定义式可知,其运算包括反褶、平移、相乘、求和的信号运算。信号运算是学习“信号与系统”课程中“信号”的基础,许多运算都涉及到上述运算,如此例中的卷积和运算。可以利用Matlab提供的conv()和filter()进行卷积和的求解。

通过选取平台系统的子界面的入口界面离散时间系统时域分析下的卷积和,点击运行,就可以进入卷积和的运算界面。操作子界面的入口界面如图3所示。

图3 离散时间系统时域分析操作子界面的入口界面

图4所示就是卷积和计算界面,首先在输入序列f(k)和h(k)编辑框内输入要进行卷积和的函数表达式,然后点击f(k)函数图像按钮就会在axes(GUI控件)里面显示出用户所输入的表达式f(k)的函数图像,同样点击h(k)函数图像按钮,在与其对应的axes里面显示出用户所输入的表达式h(k)的函数图像,若要对两个函数进行卷积和运算,点击命名为“两序列卷积和”panel(GUI控件)中的卷积和运算按钮就会得到所输入两序列卷积和结果的函数图像(为了方便演示,选择了f(k)=k和

h(k)=k进行卷积和的运算)。

图4 离散信号卷积和计算界面

通过观测两个单位斜坡序列的卷积和结果,能够非常清楚的了解卷积和运算的整体过程,帮助学生理解卷积和的意义,同时此仿真平台的卷积和运算可以作为卷积和的计算器,输入不同的离散时间序列,而得到两个序列卷积和的结果。降低了对于学生计算能力的要求,也是“信号与系统”课程的教学的宗旨,不是让学生困扰在数学计算和公式记忆上,而是要深刻理解本门课程的内涵,为后续课程以及本课程的信号运算本身的意义有更深入的理解。

(二)典型非周期信号的傅里叶分析

傅里叶变换(FT)是“信号与系统”课程中至关重要的概念,后续的变换:拉普拉斯变换、Z变换、DTFT、DFT、FFT都是在傅里叶变换的基础上演变而来的。双边拉普拉斯变换其实就是广义性质上的傅里叶变换;Z变换又是通过连续时间信号的采样信号的拉氏变换,利用Z替换S算子所得到的;DTFT是离散序列的傅里叶变换,它是通过单位圆上的Z变换所得到的;而DFT(离散傅里叶变换)就是单位圆上的Z变换等间隔采样所得到的;FFT是DFT快速计算方法,称其为“快速傅里叶变换”[7]。所以由上述可知,傅里叶变换串联着整个“信号与系统”课程的教学过程,深入理解傅里叶变换的内涵,对于掌握“信号与系统”这门课程的主要脉络具有非常深远的意义。

行进入到对应阶跃信号的傅里叶变换运算界面,傅里叶分析子界面的入口界面如图5所示。

图5 典型非周期信号傅里叶变换子界面的入口界面

图6所示就是典型非周期信号中阶跃信号傅里叶变换的观测界面,通过点击幅度谱观测按钮、相位谱观测按钮分别观测阶跃信号的幅度谱图像和相位谱图像。

通过利用图6的阶跃信号频谱函数的观测界面,一方面提供给学生直观的阶跃信号幅度谱和相位谱的函数图像,帮助学生记忆阶跃信号的傅里叶变换表达式:;另一方面,提升了学生学习兴趣,学生希望能够自主完成类似的一个Matlab GUI的设计,通过后台程序代码的编写,掌握Matlab工具,继而可利用此工具对后续的通信原理、数字信号处理等课程进行分析学习,更好的掌握相应的知识要点。

图6阶跃信号傅里叶变换(频谱函数)观测界面

四、结 语

利用Matlab GUI开发出针对“信号与系统”课程的教学仿真系统,以交互的方式对课程中难以理解的重要内容进行了可视化的仿真,增强了课堂教学的互动。同时,在仿真系统开发过程中,指导学生独立完成部分设计,使学生能够比较熟练的掌握Matlab GUI的界面设计与程序设计,培养了学生自主学习的能力和学习兴趣。同时,将Matlab作为后续相关课程的分析工具,为这些课程的学习提供了良好的平台。在下一步的教学仿真系统建设中,将Simulink应用到仿真平台的建设中,作为Matlab语言上的一个可视化建模平台,采用方框图建模形式,更加贴近工程习惯[9]。通过Matlab GUI中相关程序指令调用Simulink所设计的模型进行仿真演示,丰富“信号与系统”课程教学仿真系统的内容。

参考文献:

[1]程耕国.信号与系统实验教程(MATLAB版)[M].北京:机械工业出版社,2010.

[2]李秀梅,董文,贾中云.基于Matlab GUI的信号与系统课程GUI演示系统[J].大学教育,2014,(5):78-79.

[3]李强,明艳,吴坤君.基于Matlab的通信原理演示系统的设计与应用[J].实验技术与管理,2008,(8):77-80.

[4]陈瑞峰,左曙光,郭伟.基于MatlabGUI的信号分析系统[J].佳木斯大学学报,2009,(5):645-647.

[5]谷源涛,应启珩,郑君里.信号与系统-Matlab综合实验[M].北京:高等教育出版社,2008.

[6]郑君里,应启珩,杨为理.信号与系统[M].北京:高等教育出版社,2000.

[7]罗华飞.Matlab GUI学习手记[M].北京:北京航空航天大学出版社,2011.

[8]Holly Moore著.高会生,刘童娜,李聪聪译.Matlab实用教程(第二版)[M].北京:电子工业出版社,2013.

[9]绍玉斌.Matlab/Simulink通信系统建模与仿真实例分析[M].北京:清华大学出版社,2007.

[10]齐惠娟,李敏.基于Matlab GUI实现随机信号的分析和处理[J].电子设计工程,2011,(12):11-14.

Development of “Signal and System” Teaching Simulation System Based on Matlab GUI

YU Jian, YAO Yu-feng
(Hebei Normal University for Nationalities, Chengde, Hebei 067000, China)

Abstract:The “signal and system” course has long been a subject hard to achieve the expected teaching effect because of its theoretical nature, abstract concepts and higher requirement of mathematics foundation. This paper uses Matlab to develop the teaching simulation system of this course. In the classroom teaching, the use of the teaching simulation system helps students to have a better understanding of the knowledge points through simulation verification. At the same time, the vivid demonstration promotes the students’ learning interest and enhances their capability for the further study.

Key words:signal and system; Matlab GUI; discrete signal convolution;fourier transform

基金项目:2015年度承德市科学技术研究与发展项目“基于Matlab GUI和Simulink的‘信号与系统’教学仿真平台开发”(20153006)。

作者简介:于建(1979-),男,河北承德人,河北民族师范学院讲师,硕士,研究方向为虚拟仪器、计算机仿真;姚宇凤(1978-),女,河北秦皇岛人,河北民族师范学院讲师,研究方向为艺术设计。

收稿日期:2015-11-13

中图分类号:G420

文献标识码:A

文章编号:2095-3763(2016)02-0105-05

猜你喜欢

信号与系统
《信号与系统》课程教学的改革与实践
以解决问题为导向的采样定理教学设计
基于MATLAB的“信号与系统”实验教学改革
基于Matlab的“信号与系统”教学辅助平台的设计
应用型本科“信号与系统”课程改革分析
“信号分析与处理”课程群实践体系构建研究