基于MATLAB的用户图形界面设计(共19页)_第1页
基于MATLAB的用户图形界面设计(共19页)_第2页
基于MATLAB的用户图形界面设计(共19页)_第3页
基于MATLAB的用户图形界面设计(共19页)_第4页
基于MATLAB的用户图形界面设计(共19页)_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

1、 基于(jy)MATLAB的图形用户界面设计摘 要本文(bnwn)概述了利用Matlab软件提供(tgng)的图形用户界面创建具有人机交互、界面友好的图形用户界面。本文采用Matlab的图形用户界面设计功能, 设计出了各个实验界面。在该软件中, 实现了对某虚拟信号处理实验箱的操作平台界面的设计。 Matlab语言是一种广泛应用于工程计算及数值分析领域的新型高级语言,Matlab功能强大、简单易学、编程效率高,深受广大科技工作者的喜爱。特别是Matlab还具有信号分析工具箱,不需具备很强的编程能力,就可以很方便地进行信号分析、处理和设计。通过数字信号处理课程的理论知识的综合运用。从实践上初步实现

2、对数字信号的处理。关键字 信号处理 MATLAB 图形用户界面目 录 TOC o 1-3 h u HYPERLINK l _Toc23994 1 绪论(xln) 1 绪论(xln)1.1 概述(i sh)随着计算机的普及应用以及科技(kj)的发达,现代社会是信息的社会,对信息的研究变得非常重要,而对信号波形的模拟可以方便研究人员研究。以前的信号模拟是用硬件,对仪器和实验室的要求较高,不便于广泛应用,而且信号处理具有内容繁多、概念抽象、设计复杂等特点,让人难以理解和掌握。硬件模拟信号波形对设备要求较高,有时候受仪器或操作不对等因素的影响将无法正确直观的看到波形,参数改变时不能立即看到波形变化。而

3、用软件的形式对信号波形进行仿真有着界面可视性强,操作简单方便;便于数据修改,文件保存,实验效率高,实验内容丰富,结果直观易懂,便于分析;而且系统容易扩展新的实验项目。1.2 本文的主要工作本文主要是针对以Matlab为软件平台的信号系统实验平台的设计,用Matlab语言编程开发一个适合小型的信号系统实验平台,具体的工作主要有: 1)在欢迎界面,具有进入功能模块,返回模块和退出模块。2)在功能模块中,包括参数设置区、图形显示区和数据显示区等组成单元,可以完成对指定功能的设置,显示和实现。3)设置三个功能模块,实现一定的信号和系统的设计或分析。1.3 研究意义Matlab作为编程语言和可视化工具

4、, 它的界面演示框如同通用示波器 , 显示了信号分析与系统设计的动态仿真过程 , 给人以直观的感受。它可以改变信号、模块、仿真子系统等的参数 , 并观察信号与系统的相应变化. 在实验过程中 , 我们对所学的书本知识会有感性的认识和直观的验证 , 加深对“信号与系统”原理的理解。本课题能避开硬件系统的不足,而且有很多的库函数可以在实验时直接调用,避免了用硬件做实验的局限性。可以更方便的做信号系统实验,还能够锻炼一个人在面对一个具体的项目时,遇到问题,分析问题,解决问题的能力;获得独立策划、实施课题,并按照既定计划进行开发的经验,以及查找相关文献的能力。而且对系统规划有了初步的认识。为以后研发工作

5、打下坚实的基础,积累宝贵的经验。2 系统分析与方案(fng n)选取2.1 引言(ynyn)Matlab语言称为第四代编程语言,程序简洁、可读性很强而且(r qi)调试十分容易,自1984年由美国MathWorks公司推向市场以来,历经十几年的发展,现已成为国际公认的优秀科技应用软件,是数字信号处理方面得天独厚优势图形开发工具.用简单,可视化的仿真模拟图形给大家演示部分基本波的传输特性,以及在信道中的传输特性。使他们直观,感性地了解和掌握通信系统的概念、传输性能等。2.2 系统主要目标及功能本课题开发目标是利用Matlab软件开发一套集可视化图形与动态仿真为一体的软件。表现出信号与系统课程中部

6、分信号的产生、图形,卷积等,实现一定的信号和系统的设计和分析,可以直观、感性地了解和掌握信号系统的概念、基本特征等,深化对通信概念的理解。本系统主要功能包括基本序列计算、基本信号产生、卷积设计等。简单基础地涵盖了信号与系统部分主要章节, 用可视化的仿真模拟图形演示部分基本信号的传输波形和调制变换,部分交互式界面可直接输入合适的值使大家更直观、感性地了解和掌握信号系统的概念、传输性能、基本特征等,让课程的学习和实践相结合。界面上的文字说明帮助大家了解本图形的特性或功能。2.3 模拟信号实验的软件工具选择我们在学习信号与系统和数字信号处理课程时,做实验的时候用的是Matlab软件来实现信号波形的模

7、拟以及处理,可以比较直观准确的看到波形,对Matlab软件也有了初步的认识,也可以用它编写一些比较简单的程序来。在信号波形模拟的领域中,我们只接触过Matlab软件,所以在编写模拟信号波形这个模块中我们选择Matlab软件。2.4 设计方案选择在本系统的设计中, 界面布局(bj)设计采用自顶向下的设计方法, 即先设计引导界面和主界面, 再设计各个实验子界面。界面设计完成后, 只是一些静态的画面而已, 没有什么内涵, 还不能用于实验操作, 要想达到实验目的, 必须借助于函数调用。在设计中, 各个回调函数的编写顺序则是采用自底向上的设计方法, 即先编制各个实验子界面的回调函数, 再编写主界面和引导

8、界面的回调函数。3 系统软件(x tn run jin)平台的设计3.1 引言(ynyn)信号系统实验繁多、复杂,许多实验还需要输入参数,若将系统设计成一个界面,使得系统繁重、拥挤,不能够实现友好、美化的界面的设计要求。因此,在设计界面的时候,采用一个主界面和若干子界面,每个子界面是一个模块,实现一个实验或功能,并通过主界面调用子界面的设计方法。3.2 系统整体框图本实验系统整体结构设计由两部分组成: 界面模块设计和菜单模块设计。其中, 界面模块总共包括四个模块: 开始引导模块、序列基本计算模块、基本信号的产生模块、卷积模块。在菜单设计时, 在实验子界面中除使用系统约定的菜单条外, 还增加了几

9、个控制背景和退出实验的菜单。系统的整体结构如图3-1 所示。开始引导界面 开始界面 基本序列计算 基本信号产生 卷 积图3-1 系统整体(zhngt)架构3.3 系统设计(shj)步骤设计(shj)的具体步骤如下:1)运用 Matlab的图形用户界面(GUI)设计方法, 设计整个实验系统的开始引导界面、实验主界面及其实现信号处理课程中具体实验的各个子界面。2)分别编写各个子界面的各个控件对象的回调函数, 来实现控件相应控制功能, 达到直接通过界面上各个控件就可以控制数据的输入输出, 并可以方便地对实验结果的数据及其图形进行读取和分析的目的。3)编写主界面的回调函数, 将各个实验子界面整合在信号

10、处理系统实验主界面中, 即通过主界面就可以进入任何一个实验子界面进行实验。4)编写开始引导界面的回调函数, 实现从引导界面直接进入主界面。3.4 模块具体设计系统欢迎模块。系统欢迎界面如图3-2所示。 图3-2 系统欢迎界面2)基本序列表示模块 序列基本(jbn)表示模块界面如图3-3所示:图3-3 序列基本(jbn)表示模块由图3-3可以看出在这个模块里包括了单位脉冲序列,单位阶跃序列,指数序列一共三个序列,可以看出这个系统(xtng)的主要模块,简洁明了,对每个模块都有详细的说明,在做实验之前可以参考说明以便能顺利的进行实验,在主界面上选择任何一个实验都可以切换到它的子界面。3)基本信号产

11、生模块基本信号产生模块的窗体创建启动matlabR2012B,在命令窗口输入guide,打开GUI制作窗口,在窗体上有界面制作工具。在pushbutton下单击右键callback,打开callback function,调用MATLAB内部提供的函数:sin函数, exp函数, pulstran函数 ,chip函数在GUI制作窗口,axes是用来显示图形,当单击pushbutton,运行结果,会在axes中显示出来。简单函数基本性质的模块,通过人机交互方式进行设计,在信号1和信号2中输入幅值,频率,初相,移位不同的值,对其信号相加,信号相乘,信号移位使信号在axes窗口中,显示出来。仿真的波

12、形有正弦波,指数函数,抽样函数,矩形脉冲函数。Popupmenu 函数中用 switch val1case 1 来调用不同的波形,)设置句柄get(handles.popupmenu). 用strdouble(get(handles.edit,string)来输入测试数据,达到直观仿真模拟图. 基本信号的产生(chnshng)模块如图3-4所示:图3-4 基本(jbn)信号产生模块4)卷积模块(m kui):卷积模块如图3-5所示:图3-5 卷积模块3.5 基本序列(xli)表示a.单位(dnwi)阶跃序列单位阶跃序列(xli)的公式: (式3-1)类似于连续时间系统中的单位阶跃信号 EQ ,

13、但应注意在点发生跳变,往往不予定义(或定义为),而在=0点明确规定为。单位阶跃序列的关键程序:function pushbutton2_Callback(hObject, eventdata, handles)t=str2num(get(handles.edit2,String); k=t-3:t+7; fk=(k-t)=0; stem(k,fk)title(单位阶跃序列)b.单位脉冲序列: 单位脉冲序列的公式: (式3-2) 单位脉冲序列关键程序:function pushbutton2_Callback(hObject, eventdata, handles)t=str2num(get(h

14、andles.edit1,String); k=t-3:t+7; fk=(k-t)=0; stem(k,fk)title(单位冲激序列)c.指数序列指数(zhsh)序列公式: (式3-3)当1时序列(xli)是发散的, 0序列都取正值, 0,信号将随着时间而增长,若a0,信号则随时间衰减。常数K表示指数信号在t=0点的初始值。指数信号的关键程序:function pushbutton1_Callback(hObject, eventdata, handles)clcA=str2num(get(handles.edit6,String);a=str2num(get(handles.edit4,S

15、tring);t=0:.001:10;ft=A*exp(a*t);plot(t,ft),gridtitle(A*exp(a*t)c.抽样信号: 抽样信号公式: (n为整数) (式3-7)式中X(nT)为t=nT时X(t)的值。均匀抽样还可以是用连续时间函数X(t)对一冲激序列进行的 HYPERLINK /wiki/脉冲幅度调制 脉冲幅度调制。设冲激序列P(t)为一串单位冲激,而相邻冲激的时间间隔为T,则 (式3-8) 于是 (式3-9) 抽样信号 XS(t)是用X(t)与单位冲激序列P(t)相乘的结果。抽样(chu yn)信号的关键程序:function pushbutton7_Callbac

16、k(hObject, eventdata, handles)clct=-3*pi:pi/100:3*pi;ft=sinc(t/pi);axis(str2num(get(handles.edit9,String)-10,str2num(get(handles.edit9,String)+10,-0.5,1.2)plot(t,ft),gridtitle(sinc(t/pi)d.矩阵(j zhn)脉冲:矩阵脉冲的关键(gunjin)程序:function pushbutton8_Callback(hObject, eventdata, handles)clct=0:0.001:4;T=1;ft=re

17、ctpuls(t-2*str2num(get(handles.edit10,String),2*str2num(get(handles.edit12,String);plot(t,ft),gridtitle(rectpuls(t-2*T,2*T)3.7 卷积对于任意两个信号和,两者做卷积运算定义为 (式3-10)做一变量代换不难证明 (式3-11)式中是两函数作卷积运算的简写符号,也可以写成。这里的积分取和,这是由于对和的作用时间范围没有加以限制。实际由于系统的因果性或激励信号存在时间的局限性,其积分限会有变化,这一点借助卷积的图形解释可以看得很清楚。可以说卷积积分中积分限的确定是非常关键的。

18、卷积的关键(gunjin)程序: function pushbutton2_Callback(hObject, eventdata, handles)clct=str2num(get(handles.edit1,String);t11=0;t12=1;t21=0;t22=2;t1=t11:0.001:t12;ft1=2*rectpuls(t1-0.5,1);t2=t21:0.001:t22;ft2=t2;t3=t11+t21:0.001:t12+t22;ft3=conv(ft1,ft2);ft3=t*ft3*0.001;plot(t3,ft3)title(f1(t)*f2(t)4 信号(xnh

19、o)仿真演示4.1 基本序列表示仿真(fn zhn)演示例1:单位(dnwi)脉冲序列如图4-1:图4-1单位脉冲序列4.2 基本信号产生仿真演示例2:正弦信号如图4-2:图4-2正弦信号例3:抽样(chu yn)信号如图4-3:图4-3抽样(chu yn)信号4.3卷积模块仿真(fn zhn)演示例3:卷积模块如图4-3:图4-3卷积模块本章主要表现了信号仿真演示过程,可以直观形象的表现出本软件所具备的具体功能。结束语这次课程设计历时一个星期,可以说是苦多于甜,但是可以学的到很多很多的东西,同时不仅可以巩固以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次设计,进一步加深了

20、对数字信号处理的了解,让我对它有了更加浓厚的兴趣。但是在编写程序(chngx)时,也遇到了不少问题,特别是程序语法,总是有错误,在细心的检查下,终于找出了错误和警告,排除困难后,程序编译就通过了,心里终于舒了一口气。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能提高自己的实际动手能力和独立思考的能力。同时在设计的过程中发现了自己的不足之处(b z zh ch),对以前所学过的知识理解得不够深刻,掌握得不够牢固。 总的来说,这次课程设计还是比较成功的,在设计中遇到了很多问题,最后在老师的辛勤的指导下,终于游逆而解,有点小小的成就感,终于觉得平时所学的知识有了实用的价值,达到(d do)了理论与实际相结合的目的,不仅学到了不少知识,而且锻炼了自己的能力,使自己对以后的路有了更加清楚的认识,同时,对未来有了更多的信心。最后,对给过我帮助的所有同学和各位指导老师再次表示忠心的感谢。致 谢本论文(lnwn)是在我们(w men)导师(dosh)郭淑婷的悉心指导下完成的。给我们留下了很深的印象。在整个作

温馨提示

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

评论

0/150

提交评论