基于MATLAB的信号与系统实验教学平台设计实现
2020-07-04赵伶俐
赵伶俐
摘 要 针对信号与系统课程的学科特点,应用MATLAB软件的GUI设计开发信号与系统虚拟实验教学平台。该实验系统以课程的基础理论内容为出发点,既包括信号的产生、信号的基本运算、连续LTI系统的时域和频域分析、系统的复频域分析等基础实验内容,又增加建模仿真设计性实验。学生借助此实验平台可以把理论和实践相结合,加深对理论知识的理解和应用。实验平台基于图形用户界面,操作简单方便,实验结果直观形象,应用到实验教学中获得很好的教学效果,提高了信号与系统课程的学习效率。
关键词 MATLAB;信号与系统;实验教学平台;建模仿真
中图分类号:G642.423 文献标识码:B
文章编号:1671-489X(2020)06-0035-03
Design and Implementation of Signal and System Experiment Teaching Platform based on MATLAB//ZHAO Lingli
Abstract According to the characteristics of signal and system course, the virtual experiment teaching platform of signal and system
is designed by using the GUI of MATLAB software. Based on the basic theoretical content of the course, the experimental system not only includes the basic experimental content of signal generation, signal basic operation, time-domain and frequency-domain analysis of continuous LTI system, complex frequency-domain analysis of the
system, but also adds the design experiment of modeling and simula-
tion. With the help of this experimental platform, students can com-
bine theory with practice to deepen their understanding and applica-
tion of theoretical knowledge. The experimental platform is based on
the graphical user interface, which is easy to operate, and the experi-mental results are intuitive. It has been applied to the experimental teaching and achieved good teaching results, and improved the lear-ning efficiency of the signal and system courses.
Key words MATLAB; signal and system; experimental teaching platform; modeling and simulation
1 前言
信號与系统课程是高等学校电子信息、通信工程等专业的专业基础课,该课程内容在基础理论和方法上,把物理问题、电路系统与数学描述紧密结合,课程中有傅里叶变换和频域分析,线性常微分方程求解和连续LTI系统的时域分析,以及拉普拉斯变换、Z变换和系统的复频域分析等内容。因此,信号与系统课程理论性强,公式多且复杂,学生要有坚实的数学基础才能理解信号与系统的理论,部分学生在该课程学习中效率较低,有较大的困扰。而实验教学是该课程必不可少的内容,对理论课的学习有辅助和提高的作用,因此在实验教学中配合硬件实验设计开发基于MATLAB的信号与系统实验软件教学平台,把建模仿真结合起来,学生可以自主选择和创新实验,通过实验提高学习的兴趣和积极性,更好地理解信号与系统理论内容。
2 实验教学平台设计
实验内容 实验教学平台采用模块化编程方法设计,以信号与系统课程的基本内容为出发点,将课程的各部分内容组织划分为九个实验模块内容。
实验一:基本信号的产生,包括连续信号的产生和离散信号的产生,有正弦信号、阶跃信号、矩形脉冲信号、实指数序列产生、复指数序列产生等。实验中可以通过设置不同参数产生不同的信号波形,通过实验可以让初学者对基本信号有形象的认识。
实验二:信号的基本运算,包括连续信号、离散信号的加法和乘法运算,连续信号的平移、反转和尺度变换。通过实验中信号波形的变化,可以加深理解和掌握信号的基本运算。
实验三:信号的卷积运算。卷积方法在信号和系统理论中占有重要地位,因此把卷积运算单独设为一项实验内容。在实验平台中通过动态演示卷积运算的每一个过程,有助于对卷积概念的理解,掌握卷积这种重要的数学方法。
实验四:连续LTI系统的时域分析。此部分内容在理论课中运用经典法求解微分方程,讨论给定激励,根据描述系统的微分方程求解零输入响应和零状态响应,理论内容较为抽象且公式繁多,学生不易掌握。在实验中通过具体的物理模型、电路模型,采用建模仿真结合的方法求解系统响应,以直观的信号波形理解电路模型中过阻尼、衰减振荡和等幅振荡等物理现象,让学生把数学方法、物理概念、信号和系统等知识融合起来学习。
实验五:信号的傅里叶变换。傅里叶变换是信号时域到频域的变换、信号频谱分析的重要工具。在实验中包括方波的合成和分解、周期信号的频谱、非周期信号的频谱等内容,通过实验理解频谱的概念,熟悉常见信号的傅里叶变换。
实验六:连续LTI系统的频域分析。实验中可以分析连续系统的幅频响应和相频响应,通过系统的频域响应函数分析幅频特性和相频特性,理解无失真传输、滤波器等概念。
实验七:连续信号的抽样。抽样定理为连续时间信号和离散时间信号之间架起一座桥梁。抽样是信号处理中一个重要的步骤。在实验中通过对连续时间信号以不同的采样频率进行采样,观察采样后信号频谱的变化,从而理解采样定理及信号的恢复等概念。
实验八:连续时间系统的复频域分析。拉普拉斯变换是系统分析重要的数学工具,它把连续系统分析从时域转化到复频域,把描述系统的时域微分方程变换为复频域的代数方程[1],从而容易求出系统函数H(S)。在实验中可通过系统函数画出零极点图,并通过零极点分布分析连续系统的稳定性,以及画出系统的幅频特性曲线和相频特性曲线,理解复频域系统函数的意义。
实验九:离散系统的Z域分析。Z变换分析法可以将描述离散系统的差分方程变换为代数方程,求出系统函数。实验中通过系统函数H(Z)表示出零点和极点分布,判断出系统的稳定性,分析系统的频域响应,画出幅频特性和相频特性曲线。
实验平台界面 九个实验内容在实验系统中按照实验主界面、实验目录界面、实验操作界面三种模块规划设计。在实验中首先进入实验系统主界面。在主界面中有两个按钮,分别是“进入系统”和“退出系统”,如图1所示。单击“进入系统”可以进入目录界面,显示九个实验内容的目录;单击“退出系统”则关闭程序,退出实验平台操作。
在进入实验系统后是实验目录界面,可以看到九个实验项目,和信号与系统课程重要的知识点一一对应。单击每个实验菜单按钮,可以对应地进入实验操作。如点击“实验九 离散时间系统的Z域分析”,可以看到图2所示实验界面;如果点击“返回”按钮,则退回到主界面。
实验平台设计方法 应用MATLAB提供的GUI开发实验系统主要方法包括以下步骤。
1)创建GUI用户图形界面,包括进入实验平台界面、目录界面和实验操作界面。在界面的设计中,应用MATLAB的GUIDE编辑界面,设置界面布局、添加控件、菜单等,在控件工具栏中选择设计界面中所需要的控件。主要的控件有按钮Push Button、文本编辑框Edit Text、坐标系Axes和动态文本Static Text等。拖拽控件到设计区,设置位置与大小,双击弹出属性对话框进行详细设置[2]。对每个控件按钮进行回调函数callback编写。
2)GUIDE生成fig文件和m文件:fig文件用来描述GUI图形的窗口、控件和界面布局等所有对象的属性;m文件包括运行GUI所需的所有程序。对每个控件编写回调函数m文件,这是实验系统设计中最重要的一步,因为对界面上每一个控件编写回调函数,才能让实验系统的界面生动起来,实现实验系统中每个菜单和控件的功能。
3)完善调试实验系统。通过主界面可以进入任意目录及实验子界面中并可进行实验操作,或者退出实验系统。
3 实验教学平台应用举例
实验系统中的九个实验,在实验目录界面可以单击每个实验菜单按钮,进入对应的实验操作界面。进入实验界面后,可以对每个实验进行具体的操作,输入不同的信号参数、系统函数表达式等,可以直观地观察不同的实验数据和对应的实验结果。每个实验界面都有一个“返回”按钮,实验操作结束可以通过点击“返回”按钮回到目录界面。在目录界面,也可以通过点击“返回”按钮返回到系统主界面,随后可以退出实验系统。本文以卷积运算和门函数的傅里叶变换为例,说明实验教学系统的应用。
卷积运算 卷积运算和卷积定理是信号与系统中重要的知识点。卷积定理可以将时间域或空间域中的卷积运算等价为频率域的相乘运算,从而利用FFT等快速算法,实现有效计算,节省运算量[3]。卷积运算和傅里叶变换联系紧密,广泛应用于图像信号处理以及滤波等。但同时卷积运算也是信号与系统课程中的一个难点。连续信号卷积如式(1),离散信号卷积如式(2)。
在公式(1)和式(2)中,信号卷积运算有信号翻转、移位、乘积、积分(或求和)等过程。卷积运算过程较多,而且运算繁杂,学生在学习过程中不容易掌握。针对这个问题,本实验系统在设计中专门将卷积运算作为一个子实验内容进行练习。图3所示界面是两个矩形序列模拟动态演示卷积和的过程,可以让学生直观认识和深刻理解卷积的运算。
周期连续信号的傅里叶级数 在信号的傅里叶变换实验中设计“周期连续信号傅里叶级数”子实验。傅里叶级数由于其公式及计算复杂,是信号与系统课程学习的一个难点。实验中以周期方波(也称周期矩形脉冲)信号为例进行傅里叶级数计算,分析周期方波信号的频谱,如图4所示。在此实验中,可以让学生加深对理论的理解,理解掌握几个重要的知识点。
1)实验中可以直观地看到周期信号的频谱是离散的,如果信号的周期是T,则相邻两谱线的间隔是Ω=2л/T。當参数周期T增长时,相邻谱线的间隔减小,谱线变密。如果周期T无限增长到无穷大,此时周期信号就过渡成为非周期信号;与此同时,谱线的间隔Ω趋近于零,即周期信号的离散谱就过渡到非周期信号的连续频谱[4]。
2)周期矩形脉冲信号包含无限多条谱线,也即为无限多个频率分量,各频率分量的幅度随频率增高而减小,信号能力主要集中在第一个零点内,此段频为信号的带宽[4]。
3)通过实验改变周期脉冲信号的脉冲宽度,周期保持不变,当脉冲宽度愈窄,信号的带宽愈宽,可得信号的频带宽度与脉冲宽度成反比。
4 结语
基于MATLAB的GUI设计开发信号与系统虚拟实验教学平台,该平台由实验系统主界面、实验目录界面、实验操作三个模块组成,既包括基础验证演示实验,又有建模仿真自主设计实验,实验中可以自设条件、修改参数、编写程序、建模仿真,有较好的应用性和灵活性。实验结果直观形象,帮助学生理解和掌握信号与系统课程复杂的理论内容,提高实验效率。
参考文献
[1]徐亚宁,唐璐丹,王旬,等.信号与系统分析实验指导书[M].西安:西安电子科技大学出版社,2012.
[2]杜留锋.数字信号处理方法设计与实验平台实现[D].天津:天津大学,2013.
[3]康海静,胡晓玲.卷积积分在信号处理领域的图解深析[J].科协论坛,2009(5):96-97.
[4]吴大正.信号与线性系统分析[M].4版.北京:高等教育出版社,2005.
[5]尚丽,淮文军.基于Matlab/Simulink和GUI的运动控制系统虚拟实验平台设计[J].实验室研究与探索,2010(6):66-71.