




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、3基于GUI的信号与系统实验仿真平台的设计3.1 设计思想3.1.1 设计步骤本课题设计的界面布局是先设计GUI总界面,然后设计子界面,再在子界面上设置按钮、坐标轴、文本框等一系列控件,最后借助于callback函数调用程序。在函数调用程序的设计中先编写各个子界面中的回调函数下的程序,再编写GUI界面的回调函数下的程序。1 .用MATLAB的GUIDE提供的创建图形界面工具设计整个实验仿真界面的主界面,在设计子界面;2 .在实验子界面中添加各个控件对象,编写控件按钮回调函数,实现每个控件的控制功能,直接通过界面上的控件实现对结果的分析;3 .最后编写GUI总界面的回调函数程序,把所有的子界面集
2、合在总界面中,通过总界面可以进入任意子界面中并可以进行操作;4 .退出实验界面。设计流程如图3-1:1先设售3-UI闻琳程图面再设计子界面5 .1.2实验系统整体结构设计信号与系统实验繁多、复杂、许aiBt输入参数,若将系统设计成一个界面,使得系统繁重、拥挤、不能K实现友如,美化的界面的设计要求。因此,在设计界面的时候,采用一个主界面和若干个对眄面惭/子界面是一个模块,实现一个实验或功能,并且可以通过主界面调用J界端蒯好哪粒。本实验系统整体结构设计由两部分组园:界面模块设”和菜单模块设计。其中界面模块中包含六大实验模块:主奥梅的块、%本削删色实验模块、信号的基本运算实数,总界面可进入任意实验验
3、模块、卷积实验模块、傅里卜侬摘实验梗连续零状”响应实验模块、低通滤波器实验模块。如傅里叶变换实验模块又包含母傅里叶实验界面、离散傅里叶实验界面、快速傅里叶实验界面。在菜单设计时拳时焕躺呼界面中除了使用系统约定的菜单条外,还增加了几个控制背景和退出实验的菜单。系统的整体结构如图3-2所示:下面详细介绍主界面的设计过程:点击运行MATLAB软件后,在软件界面中直接点击GUIDE工具闻,选择CreateNewGUI中的BlankGUI(Defarlt)点击OK,在弹出的新建窗口中拖入7个静态文本框(StatecText)和7个按钮(PushButton)如图3-4所示。设置静态文本的String为“
4、基于GUI的信号与系统仿真实验平台的设计"BackgroundColor为浅红色,FontSize为28.0,ForegroundColor位黑色。依次设置另外六个静态文本框String为“实验一基本信号的产生”、“实验二信号的基本运算”、“实验三卷积”、“实验四傅里叶变换”、“实验五连续系统零状态响应”、“实验六低通滤波器”这几个实验的Fonsize为22.0,另外的六个按钮依次设计的Fonsize为16.0。点击每个实验后的按钮编写回调函数进入相应的实验子界面中,也可参考图3-3流程:3.2.2 主界面仿真平台设计在设计的主界面平台添加相应的按钮、文本框、设置字体的大小和字体背景
5、的颜色,编写回调函数和界面背景图片插入。如图3-4所示:图3-4主界面3.2.3 仿真结果分析点击运行按钮IA后的主界面仿真结果如图3-5所示,可以点击任意一个实验按钮进入相应的子界面实验中,实验仿真结果结束后,可点击退出按钮结束本次实验。图3-5运行后的主界面3.3基于GUI的系统子界面的设计3.3.1 设计步骤子界面的设计和主界面的设计有些相似,主要由每个控件的属性,并加入相应的回调函数callback程序实现其相应的功能。如图3-7所示以“基本信号的产生”子界面为例,点击MenuEditor中的NewMenu会出现Untitledl,在其上点击出现MenuProperties,修改其中的
6、Label选项,命名为“基本信号的产生”。点击Axes按钮,在GUIDE界面空白处适当位置点击,会出现一个坐标轴图标,用鼠标拖拽到想要的大小。在此图标上点击右键,在ViewCallback选项中选择buttondownfcn,编写回调函数。选择Statictext按钮,在空白处点击左键,把出现在窗口中的Static文本拖拽到适当大小,单击右键或双击左键,设置背景颜色"Backgroundcolor",字体颜色"Foregroundcolor",字体大小“Fontsize";选择Edittext按钮,在空白处适当位置处点击,把出现的文本框拖拽到适
7、当大小,双击左键,设置“String”为等的属性。本课题设计的字体大小一般设置为15,有的会适当调整。“退出”的设置:在Pushbutton5上双击左键将“String”选项内容改为“退出”,在这个按钮的回调函数viewCallback中的Callback选项下写入“Closejbxhdcs”就可实现子界面的关闭。可参考流程图3-6:创建子界面图3-6子界面小流程图在子界面中添加坐标、控件按钮3.3.2信号与国统实验后段W台的设计一坐标和按钮调节到适当的大小,设置界面背景颜色,按钮字体大小(15)、颜色在控件按钮处添加回调函数1实验一:基本信号的产生基本信号的产生包含了正弦信号、指数信号、单位
8、脉冲信号、单位阶跃信号。在界面中输入正弦信号的幅度、角度、相位为231;在指数信号下输入幅度、相位为32;在单位脉冲信号下输入平移量5;在单位阶跃下输入4;相应的各个信号波形输出呈现的图形如图3-7所示:图3-7基本信号的产生界面(1)正弦信号正弦信号的大小与方向都是随时间作周期性变化的,信号在任一时刻的值,称为瞬时值。其公式如下,一般写做:yuAsinQt-)(3-1)式中A为振幅,为角频率,日为初相位。正弦信号是周期信号,其周期T与角频率f满足下列关系式:T=1/f(3-2)(2)指数信号指数信号一般分为实指数信号与复指数信号,指数信号的表达式为:f(t)=k*eat(3-3)在式中,a是
9、实数。若a>0,信号将随着时间而增长;若a<0,信号则随时间衰减。常数k表示指数信号在t=0点的初始值o(3)单位脉冲信号冲激函数6(t)表示在t=0处的冲激,在t=t1处出现的冲激可写为6(t-11)、(t)=1,t=0狄拉克(Dirac)给出了冲击函数的另一种定义:«土(3-4)式中I1/"1Jq6(t)dt=1的含义是该函数波形下的面积等于1,呈现出的的波形如图3-7所示。(4)单位阶跃信号单位阶跃信号的公式:u(t)=11(n*0)(3-5)*(n<0)')类似于连续时间系统中的单位阶跃信号u(t),但应注意u(t)在t=0点发生跳变,往往
10、不予定义,而在u(n)在n=0点明确规定为u(0)=1。在该子界面单位阶跃信号那栏里输入平移量4,输出的波形如图3-7所示。参考附录程序。2实验二:信号的基本运算。常遇到的信号基本计算包括信号的翻转、平移、相加、相乘等0(1)序列的翻转和平移。在翻转处输入翻转量为2,在平移处输入平移量3,原序列和翻转、平移后的序列如图3-8所小:图3-8序列的翻转、平移图3-9两个信号的相加、相乘(2)两个信号的相加、相乘。信号fi(t)与f2(t)之和是指同一瞬时两个信号之值对应相加所构成的“和信号”,即f(t)=fi(t)+f2(t);而信号fi(t)与f2之乘积是指同一瞬时两个信号之值对应相乘所构成的“
11、积信号”,f(t)=fi(t)*f2(t)这里给出的已知信号fi=A*sint+2),f2=A2*sin(%t)正弦信号与余弦信号的相加、相乘波形仿真结果如图3-9所示。3实验三:信号的卷积对于任意的两个信号f1(t)和f2(t)做卷积运算定义:f(t)=J:fi(t)f2(t)”(3-6)qQ做一变量代换证明f(t)=ff2()fi(t-T)=f(t)*f2(t)=f2(t)*fi(t)(3-7)式中fi(t)*f2是两个函数做卷积运算的简写符号。这里积分取0c和一,这是fi(t)和f2(t)的作用时间没有限制。在卷积子界面中输入幅度3波形结果图3-i0所示:图3-i0卷积界面图像4实验四:
12、傅里叶变换本实验中包含方波傅里叶、快速傅里叶、离散傅里叶,如果以周期矩形信号为例,当周期Ti无线增大时,则周期信号就转化为非周期性的单脉冲信号,可以把非周期信号看成是周期信号Ti趋于无限大的周期信号。当周期信号的周期Ti增大时,谱线的间隔%=生变小,若周期Ti无限大,则谱线的间隔趋于无限小,这样离散频谱就变成Ti连续频谱了。同时由于周期趋于无限大,谱线的长度也就趋于零。这就是说,频谱将失去应有的意义,但是不论什么时候频谱的分布依然存在。设有一周期信号f(t)及其复数频谱F(ni),将f展成i1F(n«i)=-(T2f(t)e-jn01tdt(3-8)两TTl,、2二F(n-i)边乘以
13、T1,得到F(no1)=2Ti=*f(t)e-jnJtdt(3-9)对于非周期信号,重复周期T1Tg,重复频率必T0,谱线间隔&nEi)Tdo,而离散频率ncoi变成连续频率s。在这种极限情况下F(ncoi)T0,但量2nF(nttl)可不趋于零,''1而是趋近于有限值,且变成一个连续函数,常记作F(o),这样式(3-8)在非周期信号的况下将变成F=O(t)eEdt(3-10)同样,傅里叶级数f(t)=JF(n0i)ejnM(3-11)在极限的情况下,傅里叶级数变成积分形式,它等于1二inf(t)jF(«)ejntdo(3-12)式(3-10)称为傅里叶正变换
14、,式(3-12)称为傅里叶逆变换。(1)方波傅里叶变换傅里叶变换是数字信号处理中的一种很重要的算法,要知道傅里叶变换算法的意义,首先我们要了解到傅里叶原理的意义。傅里叶原理的表明:任何连续的时序或着信号,都是可以表示为不同频率正弦波信号的无线叠加。而根据该原理创立的傅里叶变换算法,利用直接测量到原始信号,以累加方式来计算该信号中的不同正弦波信号的频率、振幅和相位。在方波傅立叶相应的位置输入方波幅度为3。运行后的波形如图3-11所示:图3-11方波傅里叶图像图3-12快速傅里叶变换(2)快速傅里叶变换的参考程序见附录,在快速傅里叶处输入幅度为2,显示的波形如图3-12所示。(3)离散傅里叶变换对
15、于非周期的信号,我们需要用许多不同频率的正弦曲线来表示,这对于计算机来说是不可能实现的。所以对于离散信号的变换也只有离散傅里叶变换才能被试用,对于计算机来说只有离散的与有限长度的数据才能被处理,对于其它的变换类型只有在数学演算中才能用到,在计算机面前我们只能用DFT方法,后面我们要理解的也正是DFT方法。这里要理解的是我们使用周期性的信号目的是为了能够用数学方法来解决问题,至于考虑周期性信号是从哪里得到或怎样得到是无意义的。点击离散傅里叶变换按钮,运行后的波形如图3-13所示:图3-13离散傅里叶变换5实验五:连续系统的零状态响应LTI连续时间系统的零状态响应可通过求解初始状态为零的常系数微分
16、方程得到。在MATLAB中控制系统工具箱中提供了一个用于求解零初始条件微分方程数值解的函数lsim。具调用方式为: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实验六:低通滤波器滤波器是数字信号处理的重要基础,是使用最为广泛的一种线性系统。这
17、里主要介绍的是低通滤波器,其在GUI界面中实现仿真波形,低通滤波器是一个通过低频信号而衰减或拟制高频信号的部件。滤波器的幅频特性越好,其相频特性就越差,反之亦然。在界面中输入频率12,显示的波形如图3-15所示。3.3.3仿真结果分析下面具体分析几个实验的波形,以“实验一基本信号的产生”和“实验三卷积”实验模块为主,我们选择几个函数为例。1实验一:基本信号的产生仿真分析(1)指数信号。在上面章节中我们介绍过了指数函数的公式,根据公式我们可以轻松的得到它的波形。在本系统的主界面中点击“实验一基本信号的产生”按钮进入实验子界面。在指数信号那栏中输入幅度和相位3,2出现如图3-16所示的波形:图3-
18、16指数信号分析图3-17f(t)=sin(t)的波形根据公式f(t)=k*eat可以知道波形显示正确。(2)正弦信号正弦信号一般写做:y=Asin(.t-u)(3-13)式中A为振幅,0为角频率,日为初相位。正弦信号是周期信号,其周期T与角频率与和频率0满足下列关系式:T=(3-14).f在初中高中我们就学习了正弦信号了,可以根据函数来轻易的画出波形。在式中取(3-15)这k=1,8=1,B=0的时式就可写成:f(t)=sin(t)是最简单的正弦函数,它的波形如图3-17所示在本系统基本信号的产生模块中,正弦信号的输入参数110的波形如图3-18所示:图3-18f(t)=1*sin(1*t0
19、)图3-19正弦函数可以看出和图3-17是同一个函数波形,即波形准确。我们也可以改变参数看波形能否正确的相应变化,在正弦信号编辑框中分别输入幅度,角度相位为2,2,2即如图3-19所示。(3-16)此时的正弦信号函数为:f(t)=2sin2(:2)很轻易的可以看出图3-18和3-19的区别,后者的频率和振幅均变大了两倍且向左移了两个单元。正弦信号的波形可以正确的根据参数的变化而变化。2实验三卷积实验仿真分析卷积方法的原理是将信号分解为冲激信号之和,借助系统的冲激响应h(t),求解系统对任意激励信号的零响应,在设计是我们改变卷积幅度看波形的变换情况。在卷积子界面中输入卷积幅度3,出现如图3-20
20、所示波形:图3-20卷积幅度为3时的f(t)*f2(t)图3-21卷积幅度为6时的f(t)*f2(t)在界面里可知函数f1(t)和函数f2的表达式,卷积定义f(t)=。"工"2-T)dT可知结果正确。如果将参数改变时看波形能否正确的相应变化,在卷积子界面中把卷积幅度参数改为6,即出现仿真波形如图3-21,比较图3-20和图3-21可知幅度增加了一倍,可以实现此功能。3.4GUI平台设计中的问题3.4.1 设计平台中出现的问题在本次课题的设计中遇到了很多的问题,主要问题如下:1 .主界面和子界面的兼容性;2 .怎样在主界面中插入图片;3 .界面退出按钮函数的编写。4 .4.2
21、解决问题的方法参考一些相关的资料,以罗华飞的MATLABGUI设计学习手记为主;上网查询问题;注册MATLAB论坛,在论坛中找相关的帖子,也可以发帖;向老师同学寻求帮助。具体怎样解决问题:1 .关于主界面和子界面的兼容问题查找到几种方法(1) Gainvar();弹出子界面,在子界面中设置参数XDisp(x)输出参数;(2) Close(gcf)Set(0,'CurrentFigureblOck_1);(3) 使用open函数或者run函数;(4) 在按钮下面的FCN下面调用子界面的函数即可。本次课题选择的是set函数即第二种方法。2 .主界面图片的插入可以选用不同的方法来实现,这里使
22、用的函数编写程序为:ha=axes('units','normalized','position',0011);uistack(ha,'down');II=imread('shangyuan01.bmp');image(II);colormapgray;set(ha,'handlevisibility','offVvisible','off);可实现校园风景图片的插入使主界面更加的美观。3 .界面退出按钮程序的编写如下:Close(gcf);Rungui;4总结和展望4.1
23、研究工作总结本课题的设计主要以信号与系统课程实验为基础,与MATLAB图形用户界面相结合,设计出了美观的GUI平台界面。学习者可以在图书管、网上(MATLAB论坛知网)查找相关资料进行学习。系统可以任意的调试参数,达到自己想要的波形显示结果。信号与系统课程内容涉及范围广,系统并没有把所有的内容设计进系统,设计过程结合了理论教学中的内容,利用图形用户界面(GUI)实现实验仿真结果的可视化及界面的美观和主界面与子界面的链接。展示了MATLAB图形用户界面人机交互式用户界面及其参数的可调性,使得信号与系统实验的分析过程变得易于控制,直观可视化。4.2 展望通过本课题的研究和设计工作,深刻的体会到GU
24、I界面应用的强大,它不仅使实验界面看起来更加的美观、可视化和人机操作快捷可靠,而且图形用户界面可以设计出内容丰富、界面直观的实验仿真界面。本课题的设计对于初学者的学习使用较有帮助,可以提供一些设计的思路与参考,对于二次开发有一定的空间基础。课题仅包含信号与系统还有数字信号处理中的一些实验内容,只是用了一些基本的实验为例。此次的用户界面设计虽然简单,但界面图片的插入使得界面的整体效果较好,控件的布局和主界面与次界面的兼容都需要深入的研究和探讨。系统还需要后续的完善使得界面更加的美观和易用,本课题的实验界面虽然用来仿真实验,然而怎样才能更优化仿真实验系统,仍然是今后需要研究的一个方向。GUI界面不
25、仅用在实验教学课程中,也同时应用在科研方面。所以它的应用前景非常的广泛,这也促使着我们进一步的开发出更美观、实用、直观的用户界面。参考文献1杜世民,杨润萍.基于MatlabGUI的”信号与系统”教学仿真平台开发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.5赵华芳.晶体和准晶的旋声性质的旋转不变性D.北京
26、:北京工业大学,2007.6王洁丽,贾素梅,薛芳.Matlab软件在信号与系统辅助教学中的应用J.现代电子技术,2007,30(6):132-125.7刘峰,段红,熊庆旭等.信号与系统实马教学改革J.实验技术与管理,2008,25(3):118-120.8MikeFoley,AnjanBose.AnObjectBasedGraphicalUserInterfaceforPowerSystemsJ.IEEETransactionsonPowerSystems,1993,8(1):97-104.9南洋,周静,孟开元等.基于Matlab的GUI的界面设计J.石油仪器,2008(12):76-78.1
27、0金波.信号与系统课程教学改革初探J.电气电子教学学报,2007,29(4):7-8.11奥本海姆.信号与系统(英文版)M.2版.北京:电子工业出版社,2009.1213郭少飞.基于Matlab的信号与系统教学研究J.电脑与电信,2013,13(11):70-73.14张尤赛,马国军,黄炜嘉等.信号与系统Matlab实验仿真教学系统设计J.现代电子技术,2010,33(18):57-59.15杨建强,罗先香.MATLAB软件工具箱简介J.水科学进展,2001,12(2):237-242.16刘昱.基于LMD和SVM的动力机械故障诊断方法研究D.天津:天津大学,2012.17林霖,杨丰,张志德.
28、基于Matlab的信号与系统”课程演示软件的应用J.电气电子教学学报,2009,31(51):98-100.18晏钊韬.基于图像的数字指纹技术D.湖南:湖南大学,2010.致谢本次课题的设计完成,首先我要感谢我的导师,在她的辛苦指导下终于结束了,谢谢老师给予我的指导和帮助。初次拿到论文题目的时候我对MATLAB这个软件并不是很陌生,以前我们也学习过MATLAB软件,但都学了一些皮毛。对于这个软件中的GUI界面应用不精通,所以上网查找了一些相关的资料,注册了MATLAB中文论坛,买了一本罗华飞的MATLABGUI设计学习手记等。从一开始的盲目到思路的清晰,让我感到学习的重要性。通过此次毕业论文的
29、设计发现自己的知识比较浅薄,本课题的设计不仅是对新的知识的学习及考验,而且也是对自身能力的一种提高。此次毕业设计让我学到了许多的东西,感觉也很充实,同时也感到自己以后需要学习的方面很多。这次的毕业设计让我懂得学习是一个长期积累的过程,不论是以后的工作,还是生活都应该不断地学习、提升自我、努力提高自身的知识和综合素质。这次毕业设计使我受益匪浅,同时感谢我的同学和舍友给予我的帮助,也感谢那些帮助我的朋友,使我在毕业设计的阶段感到生活的愉悦和轻最后在此感谢所有参与论文评阅的老师,辛苦你们了!附录部分程序:(1)基本信号的产生正弦信号axes(handles.axesl)clcA=str2num(ge
30、t(handles.edit1,'String');W=str2num(get(handles.edit2,'String');p=str2num(get(handles.edit3,'String');t1=0:0.001:10;ft1=A*sin(W*t1+p);plot(t1,ft1,'-.r*'),gridtitle('A*sin(W*t+p)')指数信号axes(handles.axes2)clcA=str2num(get(handles.edit4,'String');a=str2num
31、(get(handles.edit5,'String');t2=0:0.001:10;ft2=A*exp(a*t2);plot(t2,ft2,'-.c*'),gridtitle('A*exp(a*t)'单位脉冲信号axes(handles.axes3)clct1=str2num(get(handles.edit6,'String');t=t1-1:0.01:t1+1;n=length(t);x=zeros(1,n);x(1,(n-1)/2)=1;stairs(t,x)axis(str2num(get(handles.edit6,'String')-1,str2num(get(handles.edit6,'String')+1,0,1)单位阶跃信号axes(handles.axes4)clct=str2num(get(handles.edit7,'String')-2:0.001
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年广东中考试题数学及答案
- 2025年国际组织笔试试题及答案
- 2025年三单元声音测试题及答案
- 2025年净空管理考试题及答案
- 2025年人工肛门考试试题及答案
- 2025年药物化学试题及答案电大
- 2025年ue4面试题及答案
- 2025年体育生日常测试题及答案
- 2025年卒中中心考试试题及答案
- 2025年防控人员面试题及答案
- 安全管理知识培训课件
- 人工智能赋能教师数字素养提升
- 建筑力学 与结构-筒体结构体系的 类型及应12课件讲解
- 妊娠合并胃肠炎护理
- 【超星学习通】马克思主义基本原理(南开大学)尔雅章节测试网课答案
- 《劳动工具的改进设计》六年级综合实践课件
- TDT1055-2019第三次全国国土调查技术规程
- 【MOOC】电工学-中原工学院 中国大学慕课MOOC答案
- 滥用抗生素现状及危害课件
- 2021年河南公务员行测考试真题及答案
- 广告安装施工及方案
评论
0/150
提交评论