基于GUI的仿真平台的设计

上传人:无*** 文档编号:108771668 上传时间:2022-06-16 格式:DOC 页数:14 大小:259KB
收藏 版权申诉 举报 下载
基于GUI的仿真平台的设计_第1页
第1页 / 共14页
基于GUI的仿真平台的设计_第2页
第2页 / 共14页
基于GUI的仿真平台的设计_第3页
第3页 / 共14页
资源描述:

《基于GUI的仿真平台的设计》由会员分享,可在线阅读,更多相关《基于GUI的仿真平台的设计(14页珍藏版)》请在装配图网上搜索。

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

2、面中,通过总界面可以进入任意子界面中并可以进行操作;4. 退出实验界面.设计流程如图3-1: 编写子界面控件 按钮的回调函数 在子界面中添加 相应的控件按钮最后编写GUI主界面回调函数,总界面可进入任意实验子界面先设计GUI主界面再设计子界面退出实验界面图3-1设计流程图 实验系统整体结构设计信号与系统实验繁多、复杂、许多实验还需要输入参数,若将系统设计成一个界面,使得系统繁重、拥挤、不能够实现友好,美化的界面的设计要求.因此,在设计界面的时候,采用一个主界面和若干个子界面,每个子界面是一个模块,实现一个实验或功能,并且可以通过主界面调用子界面的设计方法.本实验系统整体结构设计由两部分组成:界

3、面模块设计和菜单模块设计.其中界面模块中包含六大实验模块:主界面模块、基本信号的产生实验模块、信号的基本运算实验模块、卷积实验模块、傅里叶变换实验模块、连续零状态响应实验模块、低通滤波器实验模块.如傅里叶变换实验模块又包含方波傅里叶实验界面、离散傅里叶实验界面、快速傅里叶实验界面.在菜单设计时,在实验子界面中除了使用系统约定的菜单条外,还增加了几个控制背景和退出实验的菜单.系统的整体结构如图3-2所示:基本信号的产生信号的基本运算卷积傅立叶变换连续系统零状态低通滤波器 主界面退出界面图3-2实验系统的整体结构3.2基于GUI的系统总界面的设计 设计步骤在GUIDE的编辑界面中,在空白处双击或者

4、单机右键选择property inspector,出现属性设置对话框,可以对GUI的属性风格进行个性化.Color选项可以改变背景颜色,选择自己喜欢的颜色,本课题是插入图片.Position选项可以对界面窗口的大小进行调整,窗口的大小可以通过设置width和height进行调整,也可以用鼠标拖拽窗口,用鼠标拖拽窗口设置比较方便、快捷,也更容易设置适合于实验设计内容的大小GUI界面.下面详细介绍主界面的设计过程:点击运行MATLAB软件后,在软件界面中直接点击GUIDE工具,选择Create New GUI中的Blank GUI点击OK,在弹出的新建窗口中拖入7个静态文本框Statec Text

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

6、框和7个按钮 结束在文本框中依次输入每个实验字体,设置字体的背景颜色、大小,编写主界面进入子界面中的调用函数在界面中Menu Editor中加入主界面标题点击MATLAB软件中的GUIDE工具图3-3主界面流程图在其相应的位置编写主界面进入子界面的程序如下:function pushbutton1_Callbackset进入实验一基本信号的产生实验中可实现信号的产生.还可在主界面中插入一些背景图片,使主界面看起来更加的美观,如添加学校 LOGO、风景图片等来美化实验主界面.插入背景图片相应的需要编写回调函数,点击主界面背景函数Callback中的CreateF进入相应的程序编写位置,编写的背景

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

8、以基本信号的产生子界面为例,点击Menu Editor 中的New Menu会出现Untitled1,在其上点击出现Menu Properties,修改其中的Label选项,命名为基本信号的产生.点击Axes按钮,在GUIDE界面空白处适当位置点击,会出现一个坐标轴图标,用鼠标拖拽到想要的大小.在此图标上点击右键,在View Callback选项中选择buttondownf,编写回调函数.选择Static text按钮,在空白处点击左键,把出现在窗口中的Static文本拖拽到适当大小,单击右键或双击左键,设置背景颜色Background color,字体颜色Foreground color,字

9、体大小Font size;选择Edit text按钮,在空白处适当位置处点击,把出现的文本框拖拽到适当大小,双击左键,设置String为等的属性.本课题设计的字体大小一般设置为15,有的会适当调整.退出的设置:在Push button5上双击左键将String选项内容改为退出,在这个按钮的回调函数view Callback中的Callback选项下写入Close jbxhdcs就可实现子界面的关闭.可参考流程图3-6:创建子界面 结束 编写子界面关闭按钮的程序点击界面中的Menu Editor中的New Menu出现Untitled1,点击其上出现的Menu Properties,修改Labe

10、l为实验名称 在控件按钮处添加回调函数, 实现实验仿真波形坐标和按钮调节到适当的大小,设置界面背景颜色,按钮字体大小、颜色 在子界面中添加坐标、控件按钮图3-6子界面参考流程图 信号与系统实验仿真子平台的设计1 实验一:基本信号的产生基本信号的产生包含了正弦信号、指数信号、单位脉冲信号、单位阶跃信号.在界面中输入正弦信号的幅度、角度、相位为2 3 1;在指数信号下输入幅度、相位为3 2;在单位脉冲信号下输入平移量5;在单位阶跃下输入4;相应的各个信号波形输出呈现的图形如图3-7所示:图3-7基本信号的产生界面1正弦信号正弦信号的大小与方向都是随时间作周期性变化的,信号在任一时刻的值,称为瞬时值

11、.其公式如下,一般写做:式中为振幅,为角频率,为初相位.正弦信号是周期信号,其周期与角频率满足下列关系式: 2指数信号指数信号一般分为实指数信号与复指数信号,指数信号的表达式为: 在式中,是实数.若,信号将随着时间而增长;若,信号则随时间衰减.常数表示指数信号在点的初始值.3单位脉冲信号冲激函数表示在处的冲激,在处出现的冲激可写为狄拉克给出了冲击函数的另一种定义:式中的含义是该函数波形下的面积等于1,呈现出的的波形如图3-7所示.4单位阶跃信号单位阶跃信号的公式: 类似于连续时间系统中的单位阶跃信号,但应注意在点发生跳变,往往不予定义,而在在点明确规定为.在该子界面单位阶跃信号那栏里输入平移量

12、4,输出的波形如图3-7所示.参考附录程序.2 实验二:信号的基本运算.常遇到的信号基本计算包括信号的翻转、平移、相加、相乘等.1序列的翻转和平移.在翻转处输入翻转量为2,在平移处输入平移量3,原序列和翻转、平移后的序列如图3-8所示:图3-8序列的翻转、平移图3-9两个信号的相加、相乘2两个信号的相加、相乘.信号与之和是指同一瞬时两个信号之值对应相加所构成的和信号,即;而信号与之乘积是指同一瞬时两个信号之值对应相乘所构成的积信号,这里给出的已知信号,正弦信号与余弦信号的相加、相乘波形仿真结果如图3-9所示.3 实验三:信号的卷积对于任意的两个信号和做卷积运算定义:做一变量代换证明式中是两个函

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

14、两边乘以,得到对于非周期信号,重复周期,重复频率,谱线间隔,而离散频率变成连续频率.在这种极限情况下,但量可不趋于零,而是趋近于有限值,且变成一个连续函数,常记作,这样式在非周期信号的况下将变成 同样,傅里叶级数 在极限的情况下,傅里叶级数变成积分形式,它等于式称为傅里叶正变换,式称为傅里叶逆变换.1方波傅里叶变换傅里叶变换是数字信号处理中的一种很重要的算法,要知道傅里叶变换算法的意义,首先我们要了解到傅里叶原理的意义.傅里叶原理的表明:任何连续的时序或着信号,都是可以表示为不同频率正弦波信号的无线叠加.而根据该原理创立的傅里叶变换算法,利用直接测量到原始信号,以累加方式来计算该信号中的不同正

15、弦波信号的频率、振幅和相位.在方波傅立叶相应的位置输入方波幅度为3.运行后的波形如图3-11所示:图3-11方波傅里叶图像图3-12快速傅里叶变换2快速傅里叶变换的参考程序见附录,在快速傅里叶处输入幅度为2,显示的波形如图3-12所示.3离散傅里叶变换对于非周期的信号,我们需要用许多不同频率的正弦曲线来表示,这对于计算机来说是不可能实现的.所以对于离散信号的变换也只有离散傅里叶变换才能被试用,对于计算机来说只有离散的与有限长度的数据才能被处理,对于其它的变换类型只有在数学演算中才能用到,在计算机面前我们只能用DFT方法,后面我们要理解的也正是DFT方法.这里要理解的是我们使用周期性的信号目的是

16、为了能够用数学方法来解决问题,至于考虑周期性信号是从哪里得到或怎样得到是无意义的.点击离散傅里叶变换按钮,运行后的波形如图3-13所示:图3-13离散傅里叶变换5 实验五:连续系统的零状态响应LTI连续时间系统的零状态响应可通过求解初始状态为零的常系数微分方程得到.在MATLAB中控制系统工具箱中提供了一个用于求解零初始条件微分方程数值解的函数.其调用方式为:式中,表示LTI系统模型,用来表示微分方程、差分方程、状态方程,表示计算系统响应的抽样点向量,是系统输入信号向量.在求解微分方程时,微分方程的LTI系统模型借助于函数获得,其调用方式为:式中,和分别为微分方程右端和左端各项的系数向量.运行

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

18、松的得到它的波形.在本系统的主界面中点击实验一基本信号的产生按钮进入实验子界面.在指数信号那栏中输入幅度和相位3,2出现如图3-16所示的波形:图3-16指数信号分析图3-17的波形根据公式可以知道波形显示正确.2正弦信号正弦信号一般写做: 式中为振幅,为角频率,为初相位.正弦信号是周期信号,其周期与角频率和频率满足下列关系式:在初中高中我们就学习了正弦信号了,可以根据函数来轻易的画出波形.在式中取,的时式就可写成:这是最简单的正弦函数,它的波形如图3-17所示.在本系统基本信号的产生模块中,正弦信号的输入参数1 1 0的波形如图3-18所示:图3-18图3-19正弦函数可以看出和图3-17是

19、同一个函数波形,即波形准确.我们也可以改变参数看波形能否正确的相应变化,在正弦信号编辑框中分别输入幅度,角度相位为2,2,2即如图3-19所示.此时的正弦信号函数为: 很轻易的可以看出图3-18和3-19的区别,后者的频率和振幅均变大了两倍且向左移了两个单元.正弦信号的波形可以正确的根据参数的变化而变化.2 实验三卷积实验仿真分析卷积方法的原理是将信号分解为冲激信号之和,借助系统的冲激响应h,求解系统对任意激励信号的零响应,在设计是我们改变卷积幅度看波形的变换情况.在卷积子界面中输入卷积幅度3,出现如图3-20所示波形:图3-20卷积幅度为3时的 图3-21卷积幅度为6时的在界面里可知函数和函

20、数的表达式,卷积定义可知结果正确.如果将参数改变时看波形能否正确的相应变化,在卷积子界面中把卷积幅度参数改为6,即出现仿真波形如图3-21,比较图3-20和图3-21可知幅度增加了一倍,可以实现此功能.3.4GUI平台设计中的问题3.4.1设计平台中出现的问题在本次课题的设计中遇到了很多的问题,主要问题如下:1. 主界面和子界面的兼容性;2. 怎样在主界面中插入图片;3. 界面退出按钮函数的编写.解决问题的方法参考一些相关的资料,以罗华飞的MATLAB GUI设计学习手记为主;上网查询问题;注册MATLAB论坛,在论坛中找相关的帖子,也可以发帖;向老师同学寻求帮助.具体怎样解决问题:1. 关于

21、主界面和子界面的兼容问题查找到几种方法1Gainvar;弹出子界面,在子界面中设置参数XDisp输出参数;2CloseSet;3使用open函数或者run函数;4在按钮下面的F下面调用子界面的函数即可.本次课题选择的是set函数即第二种方法.2. 主界面图片的插入可以选用不同的方法来实现,这里使用的函数编写程序为:ha=axes;uistack;II=imread;image;colormap gray;set;可实现校园风景图片的插入使主界面更加的美观.3. 界面退出按钮程序的编写如下:Close;Run gui;4 总结和展望4.1 研究工作总结 本课题的设计主要以信号与系统课程实验为基础

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

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

24、广泛,这也促使着我们进一步的开发出更美观、实用、直观的用户界面.参考文献1杜世民,杨润萍.基于Matlab GUI的信号与系统教学仿真平台开发J.实验技术与理,2012,2988-90.2黎玉玲,张廷华.基于MATLAB的通信系统仿真平台设计J.计算机应用究,2006,23248-250.3徐艳惠.MATLAB在信号与系统分析中的应用J.电气电子教学学报,2007,29:100-102.4吴大正.信号与线性系统分析M.4版.:高等教育.2005.5赵华芳.晶体和准晶的旋声性质的旋转不变性D.:工业大学,2007.6王洁丽,贾素梅,薛芳.Matlab软件在信号与系统辅助教学中的应用J.现代电子技

25、术,2007,30: 132-125.7刘峰,段红,熊庆旭等.信号与系统实验教学改革J.实验技术与管理,2008,25:118-120.8Mike Foley, Anjan Bose. An Object Based Graphical User Interface for Power Systems J.IEEE Transactions on Power Systems,1993,8:97-104.9南洋,周静,孟开元等.基于Matlab的GUI的界面设计J.石油仪器,2008:76-78.10金波.信号与系统课程教学改革初探J.电气电子教学学报,2007,29:7-8.11奥本海姆.信号

26、与系统M.2版.:电子工业,2009.12Steven T.Karris.Signals and Systems with MATLAB Com-puting and Simulink Modeling 4th Edition M.Orchard Publications,2008.13邬少飞.基于Matlab的信号与系统教学研究J.电脑与电信,2013,13:70-73.14张尤赛,马国军,黄炜嘉等.信号与系统Matlab实验仿真教学系统设计J.现代电子技术,2010, 33:57-59.15 杨建强,罗先香.MATLAB软件工具箱简介J.水科学进展,2001,12:237-242.16刘昱

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

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

29、基本信号的产生正弦信号axesclcA=str2numget;W=str2numget;p=str2numget;t1=0:0.001:10;ft1=A*sin;plot,gridtitleA*sin指数信号axesclcA=str2numget;a=str2numget;t2=0:0.001:10;ft2=A*exp;plot,gridtitleA*exp单位脉冲信号axesclct1=str2numget;t=t1-1:0.01:t1+1;n=length;x=zeros;x1,/2=1;stairsaxisstr2numget-1,str2numget+1,0,1单位阶跃信号axescl

30、ct=str2numget-2:0.001:str2numget+2;ft=t-str2numget0;plot,gridaxisstr2numget-2,str2numget+2,-0.2,1.2title傅里叶变换:方波傅里叶变换clcf=str2numget;t=0:0.01:2*pi;y=f*sin;plot,hold ony=f*sin+sin/3;plot,hold ony=f*sin+sin/3+sin/5;plot,hold ony=f*sin+sin/3+sin/5+sin/7;plot,hold ony=f*sin+sin/3+sin/5+sin/7+sin/9;plot,hold ony=f*sin+sin/3+sin/5+sin/7+sin/9+sin/11;plot,gridtitle快速傅里叶变换的程序如下:N=str2numget;x0=sin*5;dt=2*pi/8;w=linspace/dt;x0=x0*exp-j*1:length*w*dt;plotw,abstitle连续零状态响应其基本程序如下:ts=0;te=5;dt=0.01;sys=tf;t=ts:dt:te;f=10*sin;y=lsim;plot;xlabelTimeylabely;13 / 14

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!