当前位置:文档之家› 基于GUI的仿真平台的设计

基于GUI的仿真平台的设计

3基于G U I的《信号与系统实验》仿真平台的设计3.1 设计思想3.1.1 设计步骤本课题设计的界面布局是先设计GUI总界面,然后设计子界面,再在子界面上设置按钮、坐标轴、文本框等一系列控件,最后借助于callback函数调用程序。

在函数调用在还增加了几个控制背景和退出实验的菜单。

系统的整体结构如图3-2所示:3.2 窗口的大小可以通过设置width 和height 进行调整,也可以用鼠标拖拽窗口,用鼠标拖拽窗口设置比较方便、快捷,也更容易设置适合于实验设计内容的大小GUI 界面。

下面详细介绍主界面的设计过程:点击运行MATLAB 软件后,在软件界面中直接点击GUIDE 工具,选择CreateNew GUI 中的Blank GUI(Defarlt)点击OK ,在弹出的新建窗口中拖入7个静态文本框(Statec Text )和7个按钮(Push Button )如图3-4所示。

设置静态文本的String 为“基于GUI 的信号与系统仿真实验平台的设计”Background Color 为浅红色,FontSize 为28.0,Foreground Color 位黑色。

依次设置另外六个静态文本框String 为“实验一基本信号的产生”、“实验二信号的基本运算”、“实验三卷积”、“实验四傅里叶变换”、“实验五连续系统零状态响应”、“实验六低通滤波器”这几个实验的Fonsize 为22.0,另外的六个按钮依次设计的Fonsize 为16.0。

点击每个实验后的按钮编写回调函数进入相应的实验子界面中,也可参考图3-3流程:图3-3 主界面流程图 在其相应的位置编写主界面进入子界面的程序如下:点击MA TLAB 软件中的GUIDE 工具产生 运算状态3.2.2 主界面仿真平台设计在设计的主界面平台添加相应的按钮、文本框、设置字体的大小和字体背景的颜色,编写回调函数和界面背景图片插入。

如图3-4所示:图3-4 主界面3.2.3 仿真结果分析点击运行按钮后的主界面仿真结果如图3-5所示,可以点击任意一个实验按钮进入相应的子界面实验中,实验仿真结果结束后,可点击退出按钮结束本次实验。

图3-5 运行后的主界面3.3 基于GUI的系统子界面的设计3.3.1 设计步骤子界面的设计和主界面的设计有些相似,主要由每个控件的属性,并加入相应的回调函数callback程序实现其相应的功能。

如图3-7所示以“基本信号的产生”子界面为例,点击Menu Editor 中的New Menu会出现Untitled1,在其上点击出现Menu Properties,修改其中的Label选项,命名为“基本信号的产生”。

点击Axes按钮,在GUIDE界面空白处适当位置点击,会出现一个坐标轴图标,用鼠标拖拽到想要的大小。

在此图标上点击右键,在View Callback选项中选择buttondownfcn,编写回调函数。

选择Static text按钮,在空白处点击左键,把出现在窗口中的Static文本拖拽到适当大小,单击右键或双击左键,设置背景颜色“Background color”,字体颜色“Foreground color”,字体大小“Font size”;选择Edit text按钮,在空白处适当位置处点击,把出现的文本框拖拽到适当大小,双击左键,设置“String”为“”等的属性。

本课题设计的字体大小一般设置为15,有的会适当调整。

“退出”的设置:在Push button5上双击左键将“String”选项内容改为“退出”,在这个按钮的回调函数view Callback 中的Callback选项下写入“Close jbxhdcs”就可实现子界面的关闭。

可参考流程图3-6:3.3.21基本信号的产生包含了正弦信号、指数信号、单位脉冲信号、单位阶跃信号。

在界面中输入正弦信号的幅度、角度、相位为2 3 1;在指数信号下输入幅度、相位为3 2;在单位脉冲信号下输入平移量5;在单位阶跃下输入4;相应的各个信号波形输出呈现的图形如图3-7所示:图3-7 基本信号的产生界面(1)正弦信号正弦信号的大小与方向都是随时间作周期性变化的,信号在任一时刻的值,称为瞬f 满(2 在式k(3 式中⎰∞∞-δ(4 单位阶跃信号的公式:⎩⎨⎧<>==)0(0)0(1)(n n t u (3-5) 类似于连续时间系统中的单位阶跃信号)(t u ,但应注意)(t u 在0=t 点发生跳变,往往不予定义,而在)(n u 在0=n 点明确规定为1)0(=u 。

在该子界面单位阶跃信号那栏里输入平移量4,输出的波形如图3-7所示。

参考附录程序。

2 实验二:信号的基本运算。

常遇到的信号基本计算包括信号的翻转、平移、相加、相乘等。

(1)序列的翻转和平移。

在翻转处输入翻转量为2,在平移处输入平移量3,原序列和翻转、平移后的序列如图3-8所示:图3-8 序列的翻转、平移 图3-9 两个信号的相加、相乘(2)两个信号的相加、相乘。

信号)(1t f 与)(2t f 之和是指同一瞬时两个信号之值对应相加所构成的“和信号”,即)()()(21t f t f t f +=;而信号)(1t f 与)(2t f 之乘积是指同一瞬时两个信号之值对应相乘所构成的“积信号”,)(*)()(21t f t f t f =这里给出的已知信号)2sin(*111+=t A f ω ,)sin(*222t A f ω=正弦信号与余弦信号的相加、相乘波形仿真结果如(3-6) (3-7)式和)(2t f应有的意义,但是不论什么时候频谱的分布依然存在。

设有一周期信号)(t f 及其复数频谱)(1ωn F ,将)(t f 展成dt e t f Tn F T T t jn ⎰-=221211)(1)(ωω (3-8)两边乘以1T ,得到dt e t f n F n F T T t jn ⎰-==22211121)()(2)(ωωωπω (3-9)对于非周期信号,重复周期∞→1T ,重复频率01→ω,谱线间隔ωωd n →∆)(1,而离散频率1ωn 变成连续频率ω。

在这种极限情况下0)(1→ωn F ,但量11)(2ωωπn F 可不趋于零,而是趋近于有限值,且变成一个连续函数,常记作)(ωF ,这样式(3-8)在非周期信号的况下将变成 dt e t f F t jn ⎰∞∞--=1)()(ωω (3-10)同样,傅里叶级数 t jn e n F t f 1)()(1ωω∑∞∞-= (3-11)在极限的情况下,傅式(1 (2图(3 说是不可能实现的。

所以对于离散信号的变换也只有离散傅里叶变换才能被试用,对于计算机来说只有离散的与有限长度的数据才能被处理,对于其它的变换类型只有在数学演算中才能用到,在计算机面前我们只能用DFT 方法,后面我们要理解的也正是DFT方法。

这里要理解的是我们使用周期性的信号目的是为了能够用数学方法来解决问题,至于考虑周期性信号是从哪里得到或怎样得到是无意义的。

点击离散傅里叶变换按钮,运行后的波形如图3-13所示:图3-13 离散傅里叶变换5 实验五:连续系统的零状态响应LTI 连续时间系统的零状态响应可通过求解初始状态为零的常系数微分方程得到。

在MATLAB 中控制系统工具箱中提供了一个用于求解零初始条件微分方程数值解的函数lsim 。

其调用方式为:),,(t f sys lsim y =式中,sys 表示LTI 系统模型,用来表示微分方程、差分方程、状态方程,t 表示计算系统响应的抽样点向量,f 是系统输入信号向量。

在求解微分方程时,微分方程的LTI 系统模型sys 借助于tf 函数获得,其调用方式为:面。

在指数信号那栏中输入幅度和相位3,2出现如图3-16所示的波形:图3-16 指数信号分析 图3-17 )sin()(t t f =的波形根据公式 at e k t f *)(=可以知道波形显示正确。

(2)正弦信号正弦信号一般写做: )sin(θω+=t A y (3-13) 式中A 为振幅,ω为角频率,θ为初相位。

正弦信号是周期信号,其周期T 与角频率ω和频率θ满足下列关系式: f T 12==ωπ(3-14) 在初中高中我们就学习了正弦信号了,可以根据函数来轻易的画出波形。

在式中取1=k ,1=ω,0=θ的时式就可写成:)sin()(t t f = (3-15)这是最简单的正弦函数,它的波形如图3-17所示。

在本系统基本信号的产生模块中,正弦信号的输入参数1 1 0的波形如图3-18所示:图3-18 )0*1sin(*1)(+=t t f 图3-19 正弦函数 可以看出和图3-17是同一个函数波形,即波形准确。

我们也可以改变参数看波形能否正确的相应变化,在正弦信号编辑框中分别输入幅度,角度相位为2,2,2即如图3-19所示。

此时的正弦信号函数为: )22sin(2)(+=t t f (3-16) 很轻易的可以看出图3-18和3-19的区别,后者的频率和振幅均变大了两倍且向左移了两个单元。

正弦信号的波形可以正确的根据参数的变化而变化。

2 实验三卷积实验仿真分析卷积方法的原理是将信号分解为冲激信号之和,借助系统的冲激响应h(t),求解系统对任意激励信号的零响应,在设计是我们改变卷积幅度看波形的变换情况。

在卷积子界面中输入卷积幅度3,出现如图3-20所示波形:图3-20 卷积幅度为3时的)(*)(21t f t f 图3-21 卷积幅度为6时的)(*)(21t f t f 在界面里可知函数)(1t f 和函数)(2t f 的表达式,卷积定义τττd t f f t f )()()(21-=⎰∞∞-可知结果正确。

如果将参数改变时看波形能否正确的相应变化,在卷积子界面中把卷积幅度参数改为6,即出现仿真波形如图3-21,比较图3-20和图3-21可知幅度增加了一倍,可以实现此功能。

3.4 GUI平台设计中的问题3.4.1 设计平台中出现的问题在本次课题的设计中遇到了很多的问题,主要问题如下:1. 主界面和子界面的兼容性;2. 怎样在主界面中插入图片;3. 界面退出按钮函数的编写。

3. 界面退出按钮程序的编写如下:Close(gcf);Run gui;4 总结和展望4.1 研究工作总结本课题的设计主要以信号与系统课程实验为基础,与MATLAB图形用户界面相结合,设计出了美观的GUI平台界面。

学习者可以在图书管、网上(MATLAB论坛知网)查找相关资料进行学习。

系统可以任意的调试参数,达到自己想要的波形显示结果。

信号与系统课程内容涉及范围广,系统并没有把所有的内容设计进系统,设计过程结合了理论教学中的内容,利用图形用户界面(GUI)实现实验仿真结果的可视化及界面的美观和主界面与子界面的链接。

相关主题