基于MATLAB的“信号与系统”虚拟实验系统的研究
扫描二维码
随时随地手机看文章
摘要:针对“信号与系统”课程理论性强、概念抽象、直观性较差等特点,利用MATLAB软件构建实现信号与系统虚拟实验仿真平台,通过对相关参数进行设置,在交互式平台上直观显示仿真实验结果,克服硬件实验系统的局限性,促进时抽象理论的快速理解,培养学生的创新意识和创新能力,实现更好的实验效果。
关键词:MATLAB;信号与系统;虚拟实验系统;GUI;仿真
信号与系统课程是电子信息类专业重要的专业基础课,它以高等数学、线性代数、电路分析以及工程数学等课程为基础,同时又是后续如通信原理、数字信号处理以及研究生阶段现代数字信号处理、随机信号分析等专业课程的基础,在整个专业教育体系中起着承上启下的作用。该课程理论性强、概念抽象且难以理解、公式推导复杂计算繁琐、实验内容丰富等特点,使得其成为一门数学方法、专业理论和工程应用密切相结合的课程。因此,教学效果成败的关键不在于学生认识和记忆了多少定义定理的条文,而应注重正确引导学生运用数学工具分析典型的实际问题。
实验教学是该课程理论学习中必不可少的部分。但是,在实验教学中面临很多问题,诸如高校需要花费大量的经费购置实验仪器;硬件实验仪器易于损坏、操作复杂、中间过程可视性差等。虚拟实验技术的出现使上述问题迎刃而解。虚拟实验是指借助于多媒体、仿真和虚拟现实等技术在计算机上营造可辅助、部分替代甚至全部替代传统实验各操作环节的相关软硬件操作环境,实验者可以像在真实的环境中一样完成各种实验项目,所取得的实验效果等价于甚至优于在真实环境中所取得的效果。虚拟实验建立在一个虚拟的实验环境(平台仿真)之上,并且注重实验操作的交互性和实验结果的仿真性。虚拟实验是现代实验教学的发展模式,它能够有效地补充和完善硬件实验,缓解实验设备不足和滞后等问题;允许出现误操作,获得“零”维护保障,便于开展设计型、综合型实验;二次开发和维护容易。因此,研究信号与系统虚拟实验技术能够有效地补充完善课程的实验教学。
1 开发工具MATLAB简介
MATLAB作为虚拟实验仿真最常用软件之一,在进行实验项目开发时能够有效弥补某些传统硬件实验箱的不足,利用其图形用户界面设计技术和强大的仿真功能完成原来在物理设备上所要完成的理论实验,不仅可将抽象理论知识运用图形、文字、数据等多种形式展现,更为实验教学提供一个界面友好、操作简便的虚拟环境。
MATLAB是英文MATrix LABoratory(矩阵实验室)的缩写,是美国MathWorks公司推出的商业化科技应用软件,是一套适合多学科的、功能强大的工程计算和系统仿真软件。它也是一种面向对象的交互式程序设计语言,具有友好的用户界面及接近数学表达式的自然化语言、高效的数值计算及符号计算功能、完备的图形处理功能以及功能丰富的应用工具箱等特点。在利用其进行工程计算和系统仿真时,可以略去复杂的理论推导过程,使得编程快捷方便,易于实现。
MATLAB的GUI工具是一种包含多种图形对象的界面,主要包括图形显示、功能按钮控件以及用户自定义的功能菜单等,利用属性、事件过程、菜单等编辑器,可以构建一个功能完善,界面良好的交互式操作平台,实现人机信息的交互。在设计界面内,用户可以根据提示完成整个工程,而不必关心工程内部如何进行工作。GUI设计主要依附于MATIAB环境提供的基本科学计算,同时也可利用GUIDE进行设计,方便的穿件各种图形句柄对象,实现仿真平台的
用户界面设计。
2 虚拟实验系统设计
笔者借助于MATLAB软件及其GUI工具,开发设计可视化的信号与系虚拟实验平台,通过简单友好的交互式界面,完善实验教学。
2.1 系统模块结构
从信号与系统的理论教学内容着手分析,结合传统的信号与系统硬件实验箱实现的实验项目,将信号与系统虚拟实验系统分为信号实验和系统实验两大部分,然后针对每部分实验再分别从连续时间和离散时间两个方面进行虚拟仿真实现。信号实验方面主要包括:信号的表示和仿真、信号的时域运算、信号的变换(傅里叶变换、拉普拉斯变换、Z变换);系统实验方面主要包括系统的时域分析、频域分析、S域分析以及Z域分析。同时兼顾连续和离散两种特性,对虚拟实验系统进行模块划分逐一实现,系统模块结构划分如图1所示。
2.2 系统GUI界面设计
GUI界面是由窗口、菜单、按钮、文字说明等对象构成的用户界面,用户通过一定的方法激活这些图形对象,使计算机产生某些动作或变化。本系统的GUI界面设计主要是利用MATLAB中的GUIDE工具进行设计。设计中用到的控件有:静态文本框(Static text)、可编辑文本框(Editabletext)、框架(Frames)、命令按钮(Push buttons)、列表框(Listboxes)等;设计中涉及到的GUI界面主要包括虚拟实验平台主界面、每一个具体实验项目界面以及对应的仿真实例子界面等,其中进入虚拟实验系统主界面如图2所示。
3 仿真实例分析
3.1 实例一:信号波形仿真
在该课程的理论学习中,对常用的连续信号和离散信号一直没有比较直观的认识,很多只是停留在信号的数学表达式层面,并对由硬件实验箱实现的信号波形持有怀疑态度。虚拟实验仿真平台的设计,使得可以选择想要观察学习的信号,通过输入相关参数进行计算仿真,便可以直观地观察到信号的波形。以正弦信号f(t)=Asin(ωt+θ)和正弦序列f(k)=Asin(wk+n)为例,对两种信号分别输入相应的参数值,计算输出的信号仿真波形分别如图3和图4所示,并且从两图中能直观地看出信号的三要素,即幅值A、频率ω和初相θ(或n)。
3.2 实例二:系统时域分析
对于线性时不变系统,连续时间系统以常系数微分方程来描述,离散时间系统以常系数差分方程来描述。如果系统的输入信号及初始状态已知,通过数学方法便可以很容易求出系统的冲激响应、阶跃响应、零输入响应和零状态响应。由于运用数学工具进行求解,得出的结果仍为数学表达式,学生很难直观地认识系统的激励和响应之间的关联。在本虚拟实验系统中,可以对激励和响应进行仿真输出,这样使得我们对其具有实时性、直观性和逼真性认识和理解。
以二阶LTI连续时间系统为例,其微分方程为:
取C0=1,C1=7,C2=10,E0=1,E1=1,E2=2,系统的激励e(t)=2sin(πt),起始状态r(0)=-6/5,r’(0)=2,输入相应参数,系统输出仿真结果如图5所示。
4 结论
主要介绍了基于MATLAB的信号与系统虚拟实验系统的设计思路和方法,并对具体实例虚拟仿真实现。该系统的实现对信号与系统课程的理论教学起到很好的辅助作用,通过虚拟仿真实现,摆脱了抽象的数学公式,加深了对复杂理论的理解和掌握,并且系统操作简单快捷,大大地提高了实验教学效果。