您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 基于GUI的仿真平台的设计
13基于GUI的《信号与系统实验》仿真平台的设计3.1设计思想3.1.1设计步骤本课题设计的界面布局是先设计GUI总界面,然后设计子界面,再在子界面上设置按钮、坐标轴、文本框等一系列控件,最后借助于callback函数调用程序。在函数调用程序的设计中先编写各个子界面中的回调函数下的程序,再编写GUI界面的回调函数下的程序。1.用MATLAB的GUIDE提供的创建图形界面工具设计整个实验仿真界面的主界面,在设计子界面;2.在实验子界面中添加各个控件对象,编写控件按钮回调函数,实现每个控件的控制功能,直接通过界面上的控件实现对结果的分析;3.最后编写GUI总界面的回调函数程序,把所有的子界面集合在总界面中,通过总界面可以进入任意子界面中并可以进行操作;4.退出实验界面。设计流程如图3-1:编写子界面控件按钮的回调函数在子界面中添加相应的控件按钮最后编写GUI主界面回调函数,总界面可进入任意实验子界面先设计GUI主界面再设计子界面退出实验界面2图3-1设计流程图3.1.2实验系统整体结构设计信号与系统实验繁多、复杂、许多实验还需要输入参数,若将系统设计成一个界面,使得系统繁重、拥挤、不能够实现友好,美化的界面的设计要求。因此,在设计界面的时候,采用一个主界面和若干个子界面,每个子界面是一个模块,实现一个实验或功能,并且可以通过主界面调用子界面的设计方法。本实验系统整体结构设计由两部分组成:界面模块设计和菜单模块设计。其中界面模块中包含六大实验模块:主界面模块、基本信号的产生实验模块、信号的基本运算实验模块、卷积实验模块、傅里叶变换实验模块、连续零状态响应实验模块、低通滤波器实验模块。如傅里叶变换实验模块又包含方波傅里叶实验界面、离散傅里叶实验界面、快速傅里叶实验界面。在菜单设计时,在实验子界面中除了使用系统约定的菜单条外,还增加了几个控制背景和退出实验的菜单。系统的整体结构如图3-2所示:图3-2实验系统的整体结构3.2基于GUI的系统总界面的设计3.2.1设计步骤在GUIDE的编辑界面中,在空白处双击或者单机右键选择propertyinspector,出现属性设置对话框,可以对GUI的属性风格进行个性化。Color选项可以改变背景颜色,选择自己喜欢的颜色,本课题是插入图片。Position选项可以对界面窗口的大基本信号的产生信号的基本运算卷积傅立叶变换连续系统零状态低通滤波器主界面退出界面3小进行调整,窗口的大小可以通过设置width和height进行调整,也可以用鼠标拖拽窗口,用鼠标拖拽窗口设置比较方便、快捷,也更容易设置适合于实验设计内容的大小GUI界面。下面详细介绍主界面的设计过程:点击运行MATLAB软件后,在软件界面中直接点击GUIDE工具,选择CreateNewGUI中的BlankGUI(Defarlt)点击OK,在弹出的新建窗口中拖入7个静态文本框(StatecText)和7个按钮(PushButton)如图3-4所示。设置静态文本的String为“基于GUI的信号与系统仿真实验平台的设计”BackgroundColor为浅红色,FontSize为28.0,ForegroundColor位黑色。依次设置另外六个静态文本框String为“实验一基本信号的产生”、“实验二信号的基本运算”、“实验三卷积”、“实验四傅里叶变换”、“实验五连续系统零状态响应”、“实验六低通滤波器”这几个实验的Fonsize为22.0,另外的六个按钮依次设计的Fonsize为16.0。点击每个实验后的按钮编写回调函数进入相应的实验子界面中,也可参考图3-3流程:图3-3主界面流程图在其相应的位置编写主界面进入子界面的程序如下:functionpushbutton1_Callback(hObject,eventdata,handles)创建NewGUI点击OK,在窗口中拖入7个静态文本框和7个按钮结束在文本框中依次输入每个实验字体,设置字体的背景颜色、大小,编写主界面进入子界面中的调用函数在界面中MenuEditor中加入主界面标题点击MATLAB软件中的GUIDE工具4set(0,'CurrentFigure',jbxhdcs)进入“实验一基本信号的产生”实验中可实现信号的产生。还可在主界面中插入一些背景图片,使主界面看起来更加的美观,如添加学校LOGO、风景图片等来美化实验主界面。插入背景图片相应的需要编写回调函数,点击主界面背景函数Callback中的CreateFcn进入相应的程序编写位置,编写的背景插入图片的程序参考附录,点击主界面中的运行按钮如图3-5所示是设计完成后的实验系统主界面。3.2.2主界面仿真平台设计在设计的主界面平台添加相应的按钮、文本框、设置字体的大小和字体背景的颜色,编写回调函数和界面背景图片插入。如图3-4所示:图3-4主界面3.2.3仿真结果分析点击运行按钮后的主界面仿真结果如图3-5所示,可以点击任意一个实验按钮进入相应的子界面实验中,实验仿真结果结束后,可点击退出按钮结束本次实验。5图3-5运行后的主界面3.3基于GUI的系统子界面的设计3.3.1设计步骤子界面的设计和主界面的设计有些相似,主要由每个控件的属性,并加入相应的回调函数callback程序实现其相应的功能。如图3-7所示以“基本信号的产生”子界面为例,点击MenuEditor中的NewMenu会出现Untitled1,在其上点击出现MenuProperties,修改其中的Label选项,命名为“基本信号的产生”。点击Axes按钮,在GUIDE界面空白处适当位置点击,会出现一个坐标轴图标,用鼠标拖拽到想要的大小。在此图标上点击右键,在ViewCallback选项中选择buttondownfcn,编写回调函数。选择Statictext按钮,在空白处点击左键,把出现在窗口中的Static文本拖拽到适当大小,单击右键或双击左键,设置背景颜色“Backgroundcolor”,字体颜色“Foregroundcolor”,字体大小“Fontsize”;选择Edittext按钮,在空白处适当位置处点击,把出现的文本框拖拽到适当大小,双击左键,设置“String”为“”等的属性。本课题设计的字体大小一般设置为15,有的会适当调整。“退出”的设置:在Pushbutton5上双击左键将“String”选项内容改为“退出”,在这个按钮的回调函数viewCallback中的Callback选项下写入“Closejbxhdcs”就可实现子界面的关闭。可参考流程图3-6:创建子界面坐标和按钮调节到适当的大小,设置界面背景颜色,按钮字体大小(15)、颜色在子界面中添加坐标、控件按钮6图3-6子界面参考流程图3.3.2《信号与系统实验》仿真子平台的设计1实验一:基本信号的产生基本信号的产生包含了正弦信号、指数信号、单位脉冲信号、单位阶跃信号。在界面中输入正弦信号的幅度、角度、相位为231;在指数信号下输入幅度、相位为32;在单位脉冲信号下输入平移量5;在单位阶跃下输入4;相应的各个信号波形输出呈现的图形如图3-7所示:7图3-7基本信号的产生界面(1)正弦信号正弦信号的大小与方向都是随时间作周期性变化的,信号在任一时刻的值,称为瞬时值。其公式如下,一般写做:)sin(tAy(3-1)式中A为振幅,为角频率,为初相位。正弦信号是周期信号,其周期T与角频率f满足下列关系式:fT/1(3-2)(2)指数信号指数信号一般分为实指数信号与复指数信号,指数信号的表达式为:atektf*)((3-3)在式中,a是实数。若0a,信号将随着时间而增长;若0a,信号则随时间衰减。常数k表示指数信号在0t点的初始值。(3)单位脉冲信号冲激函数)(t表示在0t处的冲激,在1tt处出现的冲激可写为)(1tt狄拉克(Dirac)给出了冲击函数的另一种定义:1dtδ(t)0,1)(tt(3-4)式中1)(dtt的含义是该函数波形下的面积等于1,呈现出的的波形如图3-7所示。(4)单位阶跃信号单位阶跃信号的公式:)0(0)0(1)(nntu(3-5)类似于连续时间系统中的单位阶跃信号)(tu,但应注意)(tu在0t点发生跳变,往往不予定义,而在)(nu在0n点明确规定为1)0(u。在该子界面单位阶跃信号那栏里输入平移量4,输出的波形如图3-7所示。参考附录程序。2实验二:信号的基本运算。常遇到的信号基本计算包括信号的翻转、平移、相加、相乘等。(1)序列的翻转和平移。在翻转处输入翻转量为2,在平移处输入平移量3,原序列和翻转、平移后的序列如图3-8所示:8图3-8序列的翻转、平移图3-9两个信号的相加、相乘(2)两个信号的相加、相乘。信号)(1tf与)(2tf之和是指同一瞬时两个信号之值对应相加所构成的“和信号”,即)()()(21tftftf;而信号)(1tf与)(2tf之乘积是指同一瞬时两个信号之值对应相乘所构成的“积信号”,)(*)()(21tftftf这里给出的已知信号)2sin(*111tAf,)sin(*222tAf正弦信号与余弦信号的相加、相乘波形仿真结果如图3-9所示。3实验三:信号的卷积对于任意的两个信号)(1tf和)(2tf做卷积运算定义:dtftftf)()()(21(3-6)做一变量代换证明)(*)()(*)()()()(122112tftftftftfftf(3-7)式中)(*)(21tftf是两个函数做卷积运算的简写符号。这里积分取和,这是)(1tf和)(2tf的作用时间没有限制。在卷积子界面中输入幅度3波形结果图3-10所示:图3-10卷积界面图像4实验四:傅里叶变换9本实验中包含①方波傅里叶、②快速傅里叶、③离散傅里叶,如果以周期矩形信号为例,当周期1T无线增大时,则周期信号就转化为非周期性的单脉冲信号,可以把非周期信号看成是周期信号1T趋于无限大的周期信号。当周期信号的周期1T增大时,谱线的间隔112T变小,若周期1T无限大,则谱线的间隔趋于无限小,这样离散频谱就变成连续频谱了。同时由于周期趋于无限大,谱线的长度也就趋于零。这就是说,频谱将失去应有的意义,但是不论什么时候频谱的分布依然存在。设有一周期信号)(tf及其复数频谱)(1nF,将)(tf展成dtetfTnFTTtjn221211)(1)((3-8)两边乘以1T,得到dtetfnFnFTTtjn22211121)()(2)((3-9)对于非周期信号,重复周期1T,重复频率01,谱线间隔dn)(1,而离散频率1n变成连续频率。在这种极限情况下0)(1nF,但量11)(2nF可不趋于零,而是趋近于有限值,且变成一个连续函数,常记作)(F,这样式(3-8)在非周期信号的况下将变成dtetfFtjn1)()((3-10)同样,傅里叶级数tjnenFtf1)()(1(3-11)在极限的情况下,傅里叶级数变成积分形式,它等于deFtfjnt)(21)((3-12)式(3-10)称为傅里叶正变换,式(3-12)称为傅里叶逆变换。(1)方波傅里叶变换傅里叶变换是数字信号处理中的一种很重要的算法,要知道傅里叶变换算法的意义,首先我们要了解到傅里叶原理的意义。傅里叶原理的表明:任何连续的时序或着信号,都是可以表示为不同频率正弦波信号的无线叠加。而根据该原理创立的傅里叶变换算法,利用直接测量到原始信号,以累加方式来计算该信号中的不同正弦波信号10的频率、振幅和相位。在方波傅立叶相应的位置输入方波幅度为3。运行后的波形如图3-11所示:图3-11方波傅里叶图像图3-12快速傅里叶变换(2)快速傅里叶变换的参考程序见附录,在快速傅里叶处输入幅度为2,显示的波形如图3-12所示。(3)离散傅里叶变换对于非周期的信号,我们需要用许多不同频率的正弦曲线来表示,这对于计算机来说是不可
本文标题:基于GUI的仿真平台的设计
链接地址:https://www.777doc.com/doc-2534054 .html