基于GUI的仿真平台的设计_第1页
基于GUI的仿真平台的设计_第2页
基于GUI的仿真平台的设计_第3页
基于GUI的仿真平台的设计_第4页
基于GUI的仿真平台的设计_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、3基于GUI的信号与系统实验仿真平台的设计3.1设计思想3.1.1设计步骤本课题设计的界面布局是先设计 GUI总界面,然后设计子界面,再在子界面上设置 按钮、坐标轴、文本框等一系列控件,最后借助于callback函数调用程序。在函数调用程序的设计中先编写各个子界面中的回调函数下的程序,再编写GUI界面的回调函数下的程序。1. 用MATLAB的GUIDE提供的创建图形界面工具设计整个实验仿真界面的主界面,在设计子界面;2. 在实验子界面中添加各个控件对象,编写控件按钮回调函数,实现每个控件的控制功 能,直接通过界面上的控件实现对结果的分析;3. 最后编写GUI总界面的回调函数程序,把所有的子界面

2、集合在总界面中, 通过总界面 可以进入任意子界面中并可以进行操作;4. 退出实验界面。设计流程如图3-1:先设计3GU设主计流程图 面再设计子界面3.1.2实验系统整体结构设计t信号与系统实验繁多、复杂、许多子界验还件添要输入参数,若将系统设计成一个界面, 使得系统繁重、拥挤、不能够实现友好,美化的界面的设计要求。因此,在设计界面的 时候,采用一个主界面和若干个子界面写子界面控界面是一个模块,实现一个实验或功能, 并且可以通过主界面调用子界面的设计钮的回调函数和菜单模块设计。其中界面本实验系统整体结构设计由两部分组成F:界面模块设计模块中包含六大实验模块:主界面模块、G!本信号的产生实验模块、

3、信号的基本运算实 数,总界面可进入任意实验验模块、卷积实验模块、傅里叶变界面实验模块、连续零状态响应实验模块、低通滤波器 实验模块。如傅里叶变换实验模块又包含方波傅里叶实验界面、离散傅里叶实验界面、 快速傅里叶实验界面。在菜单设计时退出实緞子界面中除了使用系统约定的菜单条外,L还增加了几个控制背景和退出实验的菜单。系统的整体结构如图3-2所示:主界面k退出界面图3-2实验系统的整体结一3.2基于GUI的系统总界面的设计3.2.1设计步骤在guiDe本的编辑界面中的基3属性设置对话框可以对匕G卷,在空白处双击或者单机右键续选择 UI的属性风格进行个性化选择自己喜欢I的颜色,本課题是插入图.片。变

4、o换tio系。统C运算wl低plbperty in spector,出现 滤选项可以改变背景颜色,对界面窗口的大小进行调整,olorn选项可以产窗口的大小可以通过设置拽窗口设置比较方便、快捷,也更容易设置适合于实验设计内容的大小dth和height进行调整,也可以用鼠标拖;拽窗口,用鼠标拖GUI界面。F面详细介绍主界面的设计过程:,选择 Create点击运行MATLAB软件后,在软件界面中直接点击 GUIDE工具New GUI中的Biank GUI(Defarlt)点击OK,在弹出的新建窗口中拖入 7个静态文本框(Statec Tex)和7个按钮(Push Butt on)如图3-4所示。设置

5、静态文本的 String为“基于GUI的信号与系统仿真实验平台的设计” Background Color为浅红色,FontSize为28.0,Foreground Color位黑色。依次设置另外六个静态文本框String为“实验一基本信号的产生”、“实验二信号的基本运算”、“实验三卷积”、“实验四傅里叶变换”、“实验五连续系 统零状态响应”、“实验六低通滤波器”这几个实验的 Fonsize为22.0,另外的六个按钮依次设计的Fonsize为16.0。点击每个实验后的按钮编写回调函数进入相应的实验子界面中, 也可参考图3-3流程:点击MATLAB软件中的G0IDE3工具界面流程图在其相应的位置编

6、写主界面进入子界面的程序如下:fun cti on pushbutt on 1_Callback(hObject, evbn tdata, han dies) set(O,CurrentFigurejbxhdcs进入“实验一基本(信号的产生”实验中可实现信号的产生 拖入7个静态文本框和7个按钮还可在主界面中插入一些背景图片,使主界面看起来更加的美观,如添加学校背景图片相应的需要LOGO、风景图片等来美化实验主界面。插入背景图片相应的需要编写回调函数,点击 主界面背景函数Callback 中文本框中依次输进入相应的程序编写位置,编写的背景插入图片 设置字体的背景颜色、大小,的程序参考附录,点击主

7、设计完成后的实验系统主界 面。编写主界面进入子界面中的调用函数 在界面中Menu Editor中加入主界面标题322主界面仿真平台设计在设计的主界面平台添加相应的按钮、文本框、设置字体的大小和字体背景的颜色, 编写回调函数和界面背景图片插入。如图3-4所示:图3-4主界面3.2.3仿真结果分析点击运行按钮后的主界面仿真结果如图3-5所示,可以点击任意一个实验按钮进入相应的子界面实验中,实验仿真结果结束后,可点击退出按钮结束本次实验。图3-5运行后的主界面3.3基于GUI的系统子界面的设计3.3.1设计步骤子界面的设计和主界面的设计有些相似,主要由每个控件的属性,并加入相应的回 调函数callb

8、ack程序实现其相应的功能。如图3-7所示以“基本信号的产生”子界面为例, 点击Menu Editor中的New Menu会出现Untitledl,在其上点击出现 Menu Properties修 改其中的Label选项,命名为“基本信号的产生”。点击Axes按钮,在GUIDE界面空白处适当位置点击,会出现一个坐标轴图标,用 鼠标拖拽到想要的大小。在此图标上点击右键,在View Callback选项中选择 buttondownfcn,编写回调函数。选择 Static text按钮,在空白处点击左键,把出现在窗口 中的Static文本拖拽到适当大小,单击右键或双击左键,设置背景颜色“Backgr

9、ound color”, 字体颜色“ Foregrou nd color”,字体大小“ Fo nt size”;选择Edit text按钮,在空白处适当 位置处点击,把出现的文本框拖拽到适当大小,双击左键,设置“Stri ng”为“”等的属性。本课题设计的字体大小一般设置为15,有的会适当调整。“退出”的设置:在 Pushbutton5上双击左键将“String”选项内容改为“退出”,在这个按钮的回调函数view Callback 中的Callback选项下写入“ Close jbxhdcs”就可实现子界面的关闭。可参考流程图3-6:创建子界面”图3-6子界面参考流程图在子界面中添加坐标、控件

10、按钮3.3.2信号与1实验一:基本信坐标和按钮调节到适当的大小,设置界面背景 颜色,按钮字体大小(15)、颜色在控件按钮处添加回调函数实现实验仿真波形基本信号的产生包含了正弦信号、指数信号、单位脉冲信号、单位阶跃信号。在界 面中输入正弦信号的幅度、角度、相位为 2 3 1在指数信号下输入幅度、相位为3 2;在 单位脉冲信号下输入平移量5;在单位阶跃下输入4;相应的各个信号波形输出呈现的图 形如图3-7所示:图3-7基本信号的产生界面(1) 正弦信号正弦信号的大小与方向都是随时间作周期性变化的,信号在任一时刻的值,称为瞬 时值。其公式如下,一般写做:y Asin( t )(3-1)式中A为振幅,

11、 为角频率, 为初相位。正弦信号是周期信号,其周期T与角频率f满足下列关系式:T 1/f(3-2)(2) 指数信号指数信号一般分为实指数信号与复指数信号,指数信号的表达式为:f (t) k *eat(3-3)在式中,a是实数。若a 0,信号将随着时间而增长;若a 0,信号则随时间衰减。常数k 表示指数信号在t 0点的初始值。(3) 单位脉冲信号狄拉克(Dirac)给出了冲击函数的另一种定义:(t)1,t0(3-4)式中冲激函数(t)表示在t 0处的冲激,在t ti处出现的冲激可写为 (t ti)3 (t)dt 1(t)dt 1的含义是该函数波形下的面积等于1,呈现出的的波形如图3-7所示。(4

12、) 单位阶跃信号单位阶跃信号的公式:u(t)1(n0(n0)0)(3-5)类似于连续时间系统中的单位阶跃信号定义,而在u(n)在n 0点明确规定为u(t),但应注意u(t)在t 0点发生跳变,往往不予u(0) 1。在该子界面单位阶跃信号那栏里输入平移量4,输出的波形如图3-7所示。参考附录程序。2实验二:信号的基本运算。常遇到的信号基本计算包括信号的翻转、平移、相加、相 乘等。(1) 序列的翻转和平移。在翻转处输入翻转量为2,在平移处输入平移量3,原序列和 翻转、平移后的序列如图3-8所示:图3-8序列的翻转、平移图3-9两个信号的相加、相乘(2) 两个信号的相加、相乘。信号fi(t)与f2(

13、t)之和是指同一瞬时两个信号之值对应相加所构成的“和信号”,即f(t) fi(t)f2(t);而信号fi(t)与f2(t)之乘积是指同一瞬时两个信号之值对应相乘所构成的“积信号”,f (t) fi(t)*f2(t)这里给出的已知信号fiAJsin( it 2),f2 A2*sin(刃正弦信号与余弦信号的相加、相乘波形仿真结果如图3-9所示。3实验三:信号的卷积对于任意的两个信号fi(t)和f/t)做卷积运算定义:f(t)fi(t)f2(t)d(3-6)做一变量代换证明 f(t) f2( )fi(t )fi(t)*f2(t)f2(t)*fi(t)(3-7)式中fi(t)* f2(t)是两个函数做

14、卷积运算的简写符号。这里积分取 和 ,这是fi(t)和f2(t)的作用时间没有限制。在卷积子界面中输入幅度3波形结果图3-i0所示:图3-i0卷积界面图像4实验四:傅里叶变换本实验中包含方波傅里叶、快速傅里叶、离散傅里叶,如果以周期矩形信号为例,当周期Ti无线增大时,则周期信号就转化为非周期性的单脉冲信号,可以把非周期信号看成是周期信号Ti趋于无限大的周期信号。当周期信号的周期Ti增大时,谱线的2间隔iTi2变小,若周期Ti无限大,则谱线的间隔趋于无限小,这样离散频谱就变成连续频谱了。同时由于周期趋于无限大,谱线的长度也就趋于零。这就是说,频谱将失去应有的意义,但是不论什么时候频谱的分布依然存

15、在。设有一周期信号f (t)及其复数频谱F(ni),将f(t)展成F(n i)*边乘以Ti,得到F(n i)2 F(n i)2T 2f f (t)e jn itdt2Tit f (t)e jn itdtT(3-8)两(3-9)频率n i变成连续频率。在这种极限情况下F(n i)0,但量2匸可不趋于零,1而是趋近于有限值,且变成一个连续函数,常记作F(),这样式(3-8)在非周期信号的况下将变成F() f(t)e jn 1tdt(3-10)同样,傅里叶级数f(t) F(n 1)ejn 1t(3-11)在极限的情况下,傅里叶级数变成积分形式,它等于1 . tf(t) F( )ejntd(3-12)

16、式(3-10)称为傅里叶正变换,式(3-12)称为傅里叶逆变换。(1) 方波傅里叶变换傅里叶变换是数字信号处理中的一种很重要的算法,要知道傅里叶变换算法的意义,首先我们要了解到傅里叶原理的意义。傅里叶原理的表明:任何连续的时序或着信号, 都是可以表示为不同频率正弦波信号的无线叠加。而根据该原理创立的傅里叶变换算法, 利用直接测量到原始信号,以累加方式来计算该信号中的不同正弦波信号的频率、振幅 和相位。在方波傅立叶相应的位置输入方波幅度为3。运行后的波形如图3-11所示:图3-11方波傅里叶图像图3-12快速傅里叶变换(2) 快速傅里叶变换的参考程序见附录,在快速傅里叶处输入幅度为2,显示的波形

17、如 图3-12所示。(3) 离散傅里叶变换对于非周期的信号,我们需要用许多不同频率的正弦曲线来表示,这对于计算机来 说是不可能实现的。所以对于离散信号的变换也只有离散傅里叶变换才能被试用,对于 计算机来说只有离散的与有限长度的数据才能被处理,对于其它的变换类型只有在数学 演算中才能用到,在计算机面前我们只能用DFT方法,后面我们要理解的也正是DFT方法。这里要理解的是我们使用周期性的信号目的是为了能够用数学方法来解决问题, 至于考虑周期性信号是从哪里得到或怎样得到是无意义的。点击离散傅里叶变换按钮, 运行后的波形如图3-13所示:图3-13离散傅里叶变换5实验五:连续系统的零状态响应LTI连续

18、时间系统的零状态响应可通过求解初始状态为零的常系数微分方程得到。在MATLAB中控制系统工具箱中提供了一个用于求解零初始条件微分方程数值解的函数Isim。其调用方式为:y lsim(sys, f ,t)式中,sys表示LTI系统模型,用来表示微分方 程、差分方程、状态方程,t表示计算系统响应的抽样点向量,f是系统输入信号向量。 在求解微分方程时,微分方程的LTI系统模型sys借助于tf函数获得,其调用方式为:sys tf(b,a)式中,b和a分别为微分方程右端和左端各项的系数向量。运行后的零状态 响应波形显示结果如图3-14所示:图3-14连续零状态响应图3-15低通滤波器6实验六:低通滤波器

19、滤波器是数字信号处理的重要基础,是使用最为广泛的一种线性系统。这里主要介绍的是低通滤波器,其在 GUI界面中实现仿真波形,低通滤波器是一个通过低频信号而衰减或拟制高频信号的部件。滤波器的幅频特性越好,其相频特性就越差,反之亦然。在界面中输入频率12,显示的波形如图3-15所示。3.3.3仿真结果分析下面具体分析几个实验的波形,以“实验一基本信号的产生”和“实验三卷积”实验模块为主,我们选择几个函数为例。1实验一:基本信号的产生仿真分析(1) 指数信号。在上面章节中我们介绍过了指数函数的公式,根据公式我们可以轻松的得到它的波形。在本系统的主界面中点击“实验一基本信号的产生”按钮进入实验子界面。在

20、指数信号那栏中输入幅度和相位3, 2出现如图3-16所示的波形:图3-16指数信号分析图3-17 f (t) sin(t)的波形根据公式f(t) k* eat可以知道波形显示正确。(2) 正弦信号正弦信号一般写做:y Asin( t )(3-13)式中A为振幅,为角频率,为初相位。正弦信号是周期信号,其周期T与角频率 和频率满足下列关系式:T21(3-14)在初中高中我们就学习了正弦信号了, 可以根据函数来轻易的画出波形。 在式中取k 1 ,1,0的时式就可写成:f(t) si n(t)(3-15 )这是最简单的正弦函数,它的波形如图3-17所示。在本系统基本信号的产生模块中,正弦信号的输入参

21、数1 1 0的波形如图3-18所示:A dWtP图 3-18 f (t)1* sin(1* t 0)图3-19正弦函数可以看出和图3-17是同一个函数波形,即波形准确。我们也可以改变参数看波形能否正确的相应变化,在正弦信号编辑框中分别输入幅度, 角度相位为2, 2, 2即如图3-19所示。此时的正弦信号函数为:f(t) 2si n(2t 2)(3-16)很轻易的可以看出图3-18和3-19的区别,后者的频率和振幅均变大了两倍且向左移了两 个单元。正弦信号的波形可以正确的根据参数的变化而变化。2实验三卷积实验仿真分析卷积方法的原理是将信号分解为冲激信号之和,借助系统的冲激响应h(t),求解系统对

22、任意激励信号的零响应,在设计是我们改变卷积幅度看波形的变换情况。在卷积子界面中输入卷积幅度3,出现如图3-20所示波形:图3-20卷积幅度为3时的f1(t)* f2(t)图3-21卷积幅度为6时的f1 (t)* f2(t)在界面里可知函数t(t)和函数f2(t)的表达式,卷积定义f(t)f, )f2(t )d可知结果正确。如果将参数改变时看波形能否正确的相应变化,在卷积子界面中把卷积幅度参数改为6,即出现仿真波形如图3-21,比较图3-20和图3-21可知幅度增加了一倍,可以实 现此功能。3.4 GUI平台设计中的问题3.4.1设计平台中出现的问题在本次课题的设计中遇到了很多的问题,主要问题如

23、下:1. 主界面和子界面的兼容性;2. 怎样在主界面中插入图片;3. 界面退出按钮函数的编写。3.4.2解决问题的方法参考一些相关的资料,以罗华飞的MATLAB GUI设计学习手记为主;上网查询问题; 注册MATLAB论坛,在论坛中找相关的帖子,也可以发帖;向老师同学寻求帮助。具体怎样解决问题:1. 关于主界面和子界面的兼容问题查找到几种方法(1) Gainvar();弹出子界面,在子界面中设置参数XDisp(x)输出参数;(2) Close(gcf) Set(0 CurrentFigurebldck_1);(3) 使用open函数或者run函数;(4) 在按钮下面的FCN下面调用子界面的函数

24、即可。本次课题选择的是set函数即第二种方法。2. 主界面图片的插入可以选用不同的方法来实现,这里使用的函数编写程序为:ha=axes(u nits, no rmalized,positi on ,0 0 1 1);uistack(ha,dow n);ll=imread(sha ngyua n01.bmp);image(II);colormap gray;set(ha,handlevisibility,off,visible,off);可实现校园风景图片的插入使主界面更加的美观。3. 界面退出按钮程序的编写如下:Close(gcf);Run gui;4总结和展望4.1研究工作总结本课题的设计主

25、要以信号与系统课程实验为基础,与MATLAB图形用户界面相结合,设计出了美观的GUI平台界面。学习者可以在图书管、网上(MATLAB论坛知网) 查找相关资料进行学习。系统可以任意的调试参数,达到自己想要的波形显示结果。信 号与系统课程内容涉及范围广,系统并没有把所有的内容设计进系统,设计过程结合了 理论教学中的内容,利用图形用户界面(GUI)实现实验仿真结果的可视化及界面的美观和 主界面与子界面的链接。展示了 MATLAB图形用户界面人机交互式用户界面及其参数的 可调性,使得信号与系统实验的分析过程变得易于控制,直观可视化。4.2展望通过本课题的研究和设计工作,深刻的体会到GUI界面应用的强大

26、,它不仅使实验界面看起来更加的美观、可视化和人机操作快捷可靠,而且图形用户界面可以设计出内 容丰富、界面直观的实验仿真界面。本课题的设计对于初学者的学习使用较有帮助,可 以提供一些设计的思路与参考,对于二次开发有一定的空间基础。课题仅包含信号与系统还有数字信号处理中的一些实验内容,只是用了一 些基本的实验为例。此次的用户界面设计虽然简单,但界面图片的插入使得界面的整体 效果较好,控件的布局和主界面与次界面的兼容都需要深入的研究和探讨。系统还需要 后续的完善使得界面更加的美观和易用,本课题的实验界面虽然用来仿真实验,然而怎样 才能更优化仿真实验系统,仍然是今后需要研究的一个方向。GUI界面不仅用

27、在实验教学课程中,也同时应用在科研方面。所以它的应用前景非常的广泛,这也促使着我们进 一步的开发出更美观、实用、直观的用户界面。参考文献1 杜世民,杨润萍基于Matlab GUI的”信号与系统”教学仿真平台开发J.实验技术与理,2012,29(3)88-90.2 黎玉玲,张廷华.基于MATLAB的通信系统仿真平台设计 J.计算机应用究,2006,23(10)248-250.3 徐艳惠.MATLAB在信号与系统”分析中的应用J.电气电子教学学报,2007,29(1):100-102.4 吴大正.信号与线性系统分析M.4版.北京:高等教育出版社.2005. 赵华芳.晶体和准晶的旋声性质的旋转不变性

28、D.北京:北京工业大学,2007. 王洁丽,贾素梅,薛芳.Matlab软件在信号与系统辅助教学中的应用J.现代电子技术,2007,30(6):132-125.7刘峰,段红,熊庆旭等.信号与系统实验教学改革J.实验技术与管理,2008,25(3):118-120.8 Mike Foley, Anja n Bose. An Object Based Graphical User In terface for Power Systems J.IEEETran sactio ns on Power Systems,1993,8(1):97-104.9 南洋,周静,孟开元等.基于Matlab的GUI的界

29、面设计J.石油仪器,2008(12):76-78.10 金波.信号与系统课程教学改革初探J.电气电子教学学报,2007,29(4):7-8.11 奥本海姆.信号与系统(英文版)M.2版.北京:电子工业出版社,2009.1212 邬少飞.基于Matlab的信号与系统教学研究J.电脑与电信,2013,13(11):70-73.13 张尤赛,马国军,黄炜嘉等.信号与系统Matlab实验仿真教学系统设计J.现代电子技术,2010,33(18):57-59.14 杨建强,罗先香.MATLAB软件工具箱简介J.水科学进展,2001,12(2):237-242.15 刘昱.基于LMD和SVM的动力机械故障诊

30、断方法研究D.天津:天津大学,2012.16 林霖,杨丰,张志德.基于Matlab的 信号与系统”课程演示软件的应用J.电气电子教学学报,2009,31(51):98-100.17 晏钊韬.基于图像的数字指纹技术D.湖南:湖南大学,2010.致谢本次课题的设计完成,首先我要感谢我的导师,在她的辛苦指导下终于结束了,谢 谢老师给予我的指导和帮助。初次拿到论文题目的时候我对MATLAB这个软件并不是很陌生,以前我们也学习过MATLAB软件,但都学了一些皮毛。对于这个软件中的GUI界面应用不精通,所以上网 查找了一些相关的资料,注册了 MATLAB中文论坛,买了一本罗华飞的MATLAB GUI设计学

31、习手记等。从一开始的盲目到思路的清晰,让我感到学习的重要性。通过此次毕 业论文的设计发现自己的知识比较浅薄,本课题的设计不仅是对新的知识的学习及考验,而且也是对自身能力的一种提高。此次毕业设计让我学到了许多的东西,感觉也很充实, 同时也感到自己以后需要学习的方面很多。这次的毕业设计让我懂得学习是一个长期积 累的过程,不论是以后的工作,还是生活都应该不断地学习、提升自我、努力提高自身 的知识和综合素质。这次毕业设计使我受益匪浅,同时感谢我的同学和舍友给予我的帮 助,也感谢那些帮助我的朋友,使我在毕业设计的阶段感到生活的愉悦和轻松。最后在此感谢所有参与论文评阅的老师,辛苦你们了!附录部分程序:(1

32、) 基本信号的产生 正弦信号axes(ha ndles.axesl)clcA=str2 num(get(ha ndles.edit1,Stri ng);W=str2 nu m(get(ha ndles.edit2,Stri ng);p=str2 nu m(get(ha ndles.edit3,Stri ng);t1=0:0.001:10;ft仁 A*si n( W*t1+p);plot(t1,ft1,-.r*),gridtitle(A*si n( W*t+p) 指数信号axes(ha ndles.axes2)clcA=str2 num(get(ha ndles.edit4,Stri ng);a

33、=str2 nu m(get(ha ndles.edit5,Stri ng);t2=0:0.001:10;ft2=A*exp(a*t2);plot(t2,ft2,-.c*),gridtitle(A*exp(a*t) 单位脉冲信号axes(ha ndles.axes3)clct1=str2 num(get(ha ndles.edit6,Stri ng);t=t1-1:0.01:t1+1;n=len gth(t);x=zeros(1, n);x(1, (n-1)/2)=1;stairs(t,x)axis(str2 nu m(get(ha ndles.edit6,Stri ng)-1,str2 nu

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论