基于MATLAB的图形用户界面设计说明_第1页
基于MATLAB的图形用户界面设计说明_第2页
基于MATLAB的图形用户界面设计说明_第3页
基于MATLAB的图形用户界面设计说明_第4页
基于MATLAB的图形用户界面设计说明_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

1、PAGE20 / NUMPAGES26课 程 设 计 任 务 书题目基于MATLAB的图形用户界面设计专业、班级电子信息工程11级1班学号57朱东丽主要容、基本要求、主要参考资料等:主要容:利用MATLAB创建具有人机交互功能的图形用户界面(GUI),实现对某虚拟信号处理实验箱的操作平台界面的设计。基本要求:1、在欢迎界面,具有进入功能模块、返回模块和退出模块。2、在功能模块中,包括参数设置区、图形显示区和数据显示区等组成单元,可以完成对指定功能的设置、显示和实现。3、自选设置三个功能模块,用于实现一定的信号和系统的设计或分析。主要参考资料:1、数字信号处理教程(第三版),程佩青著,清华大学,

2、2007。2、数字信号处理教程MATLAB释义与实现(第2版),怀琛著,电子工业,2008。3、MATLAB与在电子信息课程中的应用(第4版),怀琛等著,电子工业,2013。完 成 期 限:2014.06.092014.06.13指导教师签名:课程负责人签名:2014年06月06日基于MATLAB的图形用户界面设计摘 要MATLAB的GUIDE是专门用于图形用户界面 (GUI)程序设计的快速开发环境。从介绍GUIDE入手 ,结合具体的软件图形界面实例 ,给出了利用GUIDE制作图形用户界面的基本方法。在该设计中 ,利用GUIDE设计的界面可以实现一些基本信号的产生,卷积计算,傅里叶变换等功能,

3、界面友好 ,具有开放性 ,方便用户不断地完善和扩充其功能。利用MATLAB软件提供的图形用户界面(Graphical User Interfaces ,GUI)设计具有人机交互、界面友好的用户界面。本文采用MATLAB的图形用户界面设计功能, 实现对某虚拟信号处理试验箱的操作平台界面的设计。在该界面系统中, 集成了信号处理中的多个实验, 应用效果良好。本系统是一种演示型软件,用可视化的仿真工具,以图形和动态仿真的方式演示部分基本信号的传输波形和变换,使学习人员直观、感性地了解和掌握信号与系统的基本知识。关键词 MATLABGUIDE 用户界面 卷积 目录 TOC o 1-3 h z u HYP

4、ERLINK l _Toc390594955 摘要 PAGEREF _Toc390594955 h I HYPERLINK l _Toc390594956 1.绪论 PAGEREF _Toc390594956 h 1 HYPERLINK l _Toc390594957 1.1 概述 PAGEREF _Toc390594957 h 1 HYPERLINK l _Toc390594958 1.2 MATLAB软件 PAGEREF _Toc390594958 h 1 HYPERLINK l _Toc390594959 2.图形用户界面 PAGEREF _Toc390594959 h 3 HYPERL

5、INK l _Toc390594960 2.1图形用户界面定义 PAGEREF _Toc390594960 h 3 HYPERLINK l _Toc390594961 2.2 图形用户界面应用 PAGEREF _Toc390594961 h 3 HYPERLINK l _Toc390594962 3.GUI的设计 PAGEREF _Toc390594962 h 4 HYPERLINK l _Toc390594963 3.1系统整体结构 PAGEREF _Toc390594963 h 4 HYPERLINK l _Toc390594964 3.2设计步骤 PAGEREF _Toc39059496

6、4 h 4 HYPERLINK l _Toc390594965 3.3功能模块 PAGEREF _Toc390594965 h 4 HYPERLINK l _Toc390594966 结束语 PAGEREF _Toc390594966 h 13 HYPERLINK l _Toc390594967 致 PAGEREF _Toc390594967 h 14 HYPERLINK l _Toc390594968 参考文献 PAGEREF _Toc390594968 h 15绪论1.1 概述随着计算机的普与应用以与科技的发达,现代社会是信息的社会,对信息的研究变得非常重要,而对信号波形的模拟可以方便研究

7、人员研究。以前的信号模拟是用硬件,对仪器和实验室的要求较高,不便于广泛应用,而且信号处理具有容繁多、概念抽象、设计复杂等特点,学生在学习时常常会感到枯燥,难以理解和掌握。硬件模拟信号波形对设备要求较高,有时候受仪器或操作不对等因素的影响将无确直观的看到波形,参数改变时不能立即看到波形变化。而用软件的形式对信号波形进行仿真有着界面可视性强,操作简单方便;便于数据修改,文件保存,实验效率高,实验容丰富,结果直观易懂,便于分析;而且系统容易扩展新的实验项目。所以仿真很有必要而且急为迫切。1.2 MATLAB软件20世纪70年代,美国新墨西哥大学计算机科学系主任CleveMoler为了减轻学生编程的负

8、担,用 HYPERLINK :/baike.so /doc/3863934.html t _blank FORTRAN编写了最早的MATLAB。1984年由Little、Moler、Steve Bangert合作成立了的MathWorks公司正式把MATLAB推向市场。到20世纪90年代,MATLAB已成为国际控制界的标准计算软件。MATLAB(矩阵实验室)是MATrixLABoratory的缩写,是一款由美国TheMathWorks公司出品的商业数学软件。MATLAB是一种用于算法开发、数据可视化、数据分析以与数值计算的高级技术计算语言和交互式环境。除了矩阵运算、绘制函数/数据图像等常用功能

9、外,MATLAB还可以用来创建用户界面与与调用其它语言(包括C,C+和FORTRAN)编写的程序。尽管MATLAB主要用于数值运算,但利用为数众多的附加工具箱(Toolbox)它也适合不同领域的应用,例如控制系统设计与分析、图像处理、信号处理与通讯、金融建模和分析等。另外还有一个配套软件包Simulink,提供了一个可视化开发环境,常用于系统模拟、动态/嵌入式系统开发等方面。MATLAB由一系列工具组成。这些工具方便用户使用MATLAB的函数和文件,其中许多工具采用的是图形用户界面。包括MATLAB桌面和命令窗口、历史命令窗口、编辑器和调试器、路径搜索和用于用户浏览帮助、工作空间、文件的浏览器

10、。随着MATLAB的商业化以与软件本身的不断升级,MATLAB的用户界面也越来越精致,更加接近Windows的标准界面,人机交互性更强,操作更简单。而且新版本的MATLAB提供了完整的联机查询、帮助系统,极大的方便了用户的使用。简单的编程环境提供了比较完备的调试系统,程序不必经过编译就可以直接运行,而且能够与时地报告出现的错误与进行出错原因分析。MATLAB和 HYPERLINK :/baike.so /doc/3102369.html t _blank Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数

11、和数据、实现算法、创建用户界面、连接其他编程语言 HYPERLINK :/baike.so /doc/538266.html t _blank 的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理 HYPERLINK :/baike.so /doc/838176.html t _blank 、信号检测、金融建模设计与分析等领域。MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成一样的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版

12、本中也加入了对C, HYPERLINK :/baike.so /doc/3863934.html t _blank FORTRAN,C+, HYPERLINK :/baike.so /doc/2886868.html t _blank JAVA的支持。可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。2.图形用户界面2.1图形用户界面定义用户界面是用户与计算机进行信息交流的方式。计算机用户界面在屏幕显示图形和文本,若有扬声器还可产生声音。用户通过输入设备(如:键盘、鼠标、跟踪

13、球、绘制板或麦克风), 与计算机通讯。用户界面设定了如何观看和如何感知计算机、操作系统或应用程序。通常,多是根据悦目的结构和用户界面功能的有效性来选择计算机或程序。图形用户界面(GUI)是指由窗口、菜单、图标、光标、 图形用户界面按键、对话框和文本等各种图形对象的用户界面。它让图形对象用户定制用户与MATLAB的交互方式,而命令窗口不是唯一与MATLAB的交互方式。用户通过鼠标或键盘选择、激活这些图形对象,使计算机产生某种动作或变化。 基本图形对象分为控件对象用户界面菜单对象控件对象和用户界面菜单对象控件对象用户界面菜单对象,简称控件菜单和菜单控件。2.2 图形用户界面应用运用MATLAB软件

14、开发,设计图形用户界面系统平台,已经广泛应用于实验教学中,此系统平台便于学生直观观察信号系统中涉与的波形与特性的原理图,使学生更加深刻的理解“信号与系统”各信号的产生过程与原理。MATLAB作为编程语言和可视化工具 , 用MATLAB开发的实验为学生提供了“信号分析”、“信号抽样”、“系统仿真”、“系统特性”与“傅立叶变换”等功能模块 。 它的界面演示框如同通用示波器 , 显示了信号分析与系统设计的动态仿真过程 , 给人以直观的感受1。此系统使同学对所学的书本知识会有感性的认识和直观的验证 , 加深对“信号与系统”原理的理解。3.GUI的设计3.1系统整体结构本实验系统整体结构设计的界面模块总

15、共包括5个模块,其中包括两个整体模块:引导模块、主模块;三个功能模块:基本序列计算模块、卷积模块、傅里叶变换模块。3.2设计步骤 设计的具体步骤如下: (1)运用MATLAB的图形用户界面(GUI)设计方法, 设计整个系统的开始引导界面、功能主界面与其实现信号处理课程中具体功能的各个子界面。(2)分别编写各个子界面的各个控件对象的回调函数, 来实现控件相应控制功能, 达到直接通过界面上各个控件就可以控制数据的输入输出, 并可以方便地对实验结果的数据与其图形进行读取和分析的目的。(3)编写主界面的回调函数, 将各个实验子界面整合在信号处理系统主界面中, 即通过主界面就可以进入任何一个子界面进行操

16、作。 (4)编写开始引导界面的回调函数, 实现从引导界面直接进入主界面。3.3功能模块(1)系统欢迎模块。系统欢迎界面如图3-1所示。图3-1系统欢迎界面(2)系统主界面系统主界面包含了各个子界面,由此进入各个子功能模块,系统主界面如图3-2所示。图3-2系统主界面(3)基本序列产生模块 A .基本序列产生模块界面如图3-3所示。图3-3基本序列产生模块界面由图3-3可以看出在这个模块里包括了单位脉冲序列、单位阶跃序列、指数序列一共三个序列,并且还给出了序列卷积这个运算。下面来主要介绍这单位阶跃序列和指数序列与其设计方法。单位阶跃序列 单位阶跃序列的公式 (3-1)类似于连续时间系统中的单位阶

17、跃信号EQ,但应注意在点发生跳变,往往不予定义(或定义为),而在=0点明确规定为。在该子界面的单位阶跃序列那栏里输入位移量3,然后点击“单位阶跃序列”按钮,即出现如图3-4所示的波形。图3-4 位移量为3的单位阶跃序列单位阶跃序列关键程序:function pushbutton3_Callback(hObject, eventdata, handles)t=str2num(get(handles.edit2,String); k=t-3:t+7; fk=(k-t)=0; stem(k,fk)title(单位阶跃序列)指数序列指数序列是公式是 (3-2)当1时序列是发散的,0序列都取正值, 0序

18、列在正负摆动。此外还有的序列。在该子界面的指数序列那栏里输入底数2,然后点击“指数序列”按钮,出现如图3-5波形图3-5 底数为2,指数为10时的指数序列指数序列模块关键程序:function pushbutton4_Callback(hObject, eventdata, handles)t=str2num(get(handles.edit3,String); k=0:10; fk=t.k; stem(k,fk)title(指数序列)(4)卷积模块A卷积定义对于任意两个信号和,两者做卷积运算定义为 (3-3)做一变量代换不难证明 (3-4)式中是两函数作卷积运算的简写符号,也可以写成。这里的

19、积分取和,这是由于对和的作用时间围没有加以限制。实际由于系统的因果性或激励信号存在时间的局限性,其积分限会有变化,这一点借助卷积的图形解释可以看得很清楚。可以说卷积积分中积分限的确定是非常关键的。B卷积模块的子界面如图3-6所示:图3-6 卷积子界面C卷积部分程序:function pushbutton2_Callback(hObject, eventdata, handles)clcu=str2num(get(handles.edit2,String);h=str2num(get(handles.edit3,String);dt=str2num(get(handles.edit4,Strin

20、g);y=conv(u,h);plot(dt*(1:length(y)-1),y),gridtitle(f1(t)*f2(t)在卷积子界面输入两个信号,出现如图3-7所示波形:图3-7f1(t)*f2(t)的卷积(5)傅立叶变换模块A傅立叶变换的原理如果以周期矩形信号为例,当周期T1 无限增大时,则周期信号就转化为非周期性的单脉冲信号。所以可以把非周期信号看成是周期T1趋于无限大的周期信号。当周期信号的周期T1增大时,谱线的间隔变小,若周期T1无限大,则谱线的间隔趋于无限小,这样,离散频谱就变成连续频谱了。同时,由于周期趋于无限大,谱线的长度趋于零。这就是说,频谱将化为乌有,失去应有的意义。但

21、是,从物理概念上考虑,既然成为一个信号,必然含有一定的能量,无论信号怎样分解,其所含能量是不变的。所以不管周期增大到什么程度,频谱的分布依然存在。或者从数学角度看,在极限情况下,无限多的无穷小量之和,仍可等于一有限值,此有限值的大小取决于信号的能量。设有一周期信号与其复数频谱,将展成 (3-5)两边乘以T1,得到 (3-6)对于非周期信号,重复周期,重复频率,谱线间隔,而离散频率变成连续频率。在这种极限情况下,但量可望不趋于零,而趋近于有限值,且变成一个连续函数,通常记作,这样式(3-6)在非周期信号的情况下将变成 (3-7)同样,傅立叶级数 (3-8)在极限的情况下,傅立叶级数变成积分形式,

22、它等于 (3-9)通常式(3-7)称为傅立叶正变换,式(3-9)称为傅立叶逆变换。B傅立叶变换的公式傅立叶正变换 (3-10)傅立叶逆变换 (3-11)C.傅立叶变换模块的子界面如图3-8所示:图3-8 傅立叶变换子界面若想求方波傅立叶变换,则只需要在第一栏里输入方波的幅度与谐波次数,比如输入2,11,即出现以下波形:图3-9 方波傅立叶变换指数为-2的离散傅里叶变换如下图:图3-10指数为-2时的离散傅里叶变换D.傅立叶变换部分程序:a方波傅立叶分析:function pushbutton2_Callback(hObject, eventdata, handles)clcA=str2num(

23、get(handles.edit1,String);n=str2num(get(handles.edit3,String);t=0:0.01:2*pi;y=sin(t);plot(t,y),gridfor k=3:2:ny=y+A*sin(k*t)/k;plot(t,y),gridendtitle(方波傅里叶分析)b离散傅立叶变换:function pushbutton3_Callback(hObject, eventdata, handles)clcA=str2num(get(handles.edit2,String);ft=sym(exp(A*abs(t);Fw=simplify(four

24、ier(ft);Ff=subs(Fw,2*pi*f,w);Ff_conj=conj(Ff);GF=sqrt(Ff*Ff_conj);ezplot(GF,-0.5 0.5);grid;end;title(离散傅里叶变换);结束语MATLAB实验平台发展到现在,虽然时间不长,然现如今已经发展成为信息产业中一个大的研究热点。更是由于次实验系统的复杂性和所具有的挑战性,才使得有更多的MATLAB爱好者投身其中,为基于MATLAB的信号与系统实验平台的发展贡献力量。通过这次MATLAB课程设计,我学到了好多知识。刚拿到课程设计题目的时候,当时就懵了,感觉都没听过图片用户页面设计,对于本来就不熟悉MATLAB软件的我,心里顿时觉得好没底。但是,随后我通过查资料,看教程和教学视频,从零学起MATLAB图形用户设计,刚开始学会了简单的页面设计,觉得好有成就,产生了兴趣,慢慢看到了希望。最后,一步一步的设计出来这几个功能模块,看着自己设计的页面,满心欢喜。当然这次课程设计,团队的力量不可忽视,队友们的讨论,让我们这次设计进行的极其的顺利,也非常感老师的指导和鼓励。致历时一个星期的时间终于将这篇论文写完,在论文的写作过程中遇到了无数的困难和障碍,都在同学和老师的帮助下度过了。尤其要强烈感我的论文

温馨提示

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

评论

0/150

提交评论