《基于MATLAB的用户界面设计》由会员分享,可在线阅读,更多相关《基于MATLAB的用户界面设计(19页珍藏版)》请在金锄头文库上搜索。
1、 基于MATLAB的图形用户界面设计摘 要本文概述了利用Matlab软件提供的图形用户界面创建具有人机交互、界面友好的图形用户界面。本文采用Matlab的图形用户界面设计功能, 设计出了各个实验界面。在该软件中, 实现了对某虚拟信号处理实验箱的操作平台界面的设计。 Matlab语言是一种广泛应用于工程计算及数值分析领域的新型高级语言,Matlab功能强大、简单易学、编程效率高,深受广大科技工作者的喜爱。特别是Matlab还具有信号分析工具箱,不需具备很强的编程能力,就可以很方便地进行信号分析、处理和设计。通过数字信号处理课程的理论知识的综合运用。从实践上初步实现对数字信号的处理。关键字 信号处
2、理 MATLAB 图形用户界面目 录 1 绪论11.1 概述11.2 本文的主要工作11.3 研究意义12 系统分析与方案选取22.1 引言22.2 系统主要目标及功能22.3 模拟信号实验的软件工具选择22.4 设计方案选择23 系统软件平台的设计33.1 引言33.2 系统整体框图33.3 系统设计步骤33.4 模块具体设计43.5 基本序列表示73.6 基本信号产生83.7 卷积104 信号仿真演示124.1 基本序列表示仿真演示124.2 基本信号产生仿真演示124.3 卷积模块仿真演示13结束语14致 谢15参考文献161 绪论1.1 概述随着计算机的普及应用以及科技的发达,现代社会
3、是信息的社会,对信息的研究变得非常重要,而对信号波形的模拟可以方便研究人员研究。以前的信号模拟是用硬件,对仪器和实验室的要求较高,不便于广泛应用,而且信号处理具有内容繁多、概念抽象、设计复杂等特点,让人难以理解和掌握。硬件模拟信号波形对设备要求较高,有时候受仪器或操作不对等因素的影响将无法正确直观的看到波形,参数改变时不能立即看到波形变化。而用软件的形式对信号波形进行仿真有着界面可视性强,操作简单方便;便于数据修改,文件保存,实验效率高,实验内容丰富,结果直观易懂,便于分析;而且系统容易扩展新的实验项目。1.2 本文的主要工作本文主要是针对以Matlab为软件平台的信号系统实验平台的设计,用M
4、atlab语言编程开发一个适合小型的信号系统实验平台,具体的工作主要有: 1)在欢迎界面,具有进入功能模块,返回模块和退出模块。2)在功能模块中,包括参数设置区、图形显示区和数据显示区等组成单元,可以完成对指定功能的设置,显示和实现。3)设置三个功能模块,实现一定的信号和系统的设计或分析。1.3 研究意义Matlab作为编程语言和可视化工具 , 它的界面演示框如同通用示波器 , 显示了信号分析与系统设计的动态仿真过程 , 给人以直观的感受。它可以改变信号、模块、仿真子系统等的参数 , 并观察信号与系统的相应变化. 在实验过程中 , 我们对所学的书本知识会有感性的认识和直观的验证 , 加深对“信
5、号与系统”原理的理解。本课题能避开硬件系统的不足,而且有很多的库函数可以在实验时直接调用,避免了用硬件做实验的局限性。可以更方便的做信号系统实验,还能够锻炼一个人在面对一个具体的项目时,遇到问题,分析问题,解决问题的能力;获得独立策划、实施课题,并按照既定计划进行开发的经验,以及查找相关文献的能力。而且对系统规划有了初步的认识。为以后研发工作打下坚实的基础,积累宝贵的经验。2 系统分析与方案选取2.1 引言Matlab语言称为第四代编程语言,程序简洁、可读性很强而且调试十分容易,自1984年由美国MathWorks公司推向市场以来,历经十几年的发展,现已成为国际公认的优秀科技应用软件,是数字信
6、号处理方面得天独厚优势图形开发工具.用简单,可视化的仿真模拟图形给大家演示部分基本波的传输特性,以及在信道中的传输特性。使他们直观,感性地了解和掌握通信系统的概念、传输性能等。2.2 系统主要目标及功能本课题开发目标是利用Matlab软件开发一套集可视化图形与动态仿真为一体的软件。表现出信号与系统课程中部分信号的产生、图形,卷积等,实现一定的信号和系统的设计和分析,可以直观、感性地了解和掌握信号系统的概念、基本特征等,深化对通信概念的理解。本系统主要功能包括基本序列计算、基本信号产生、卷积设计等。简单基础地涵盖了信号与系统部分主要章节, 用可视化的仿真模拟图形演示部分基本信号的传输波形和调制变
7、换,部分交互式界面可直接输入合适的值使大家更直观、感性地了解和掌握信号系统的概念、传输性能、基本特征等,让课程的学习和实践相结合。界面上的文字说明帮助大家了解本图形的特性或功能。2.3 模拟信号实验的软件工具选择我们在学习信号与系统和数字信号处理课程时,做实验的时候用的是Matlab软件来实现信号波形的模拟以及处理,可以比较直观准确的看到波形,对Matlab软件也有了初步的认识,也可以用它编写一些比较简单的程序来。在信号波形模拟的领域中,我们只接触过Matlab软件,所以在编写模拟信号波形这个模块中我们选择Matlab软件。2.4 设计方案选择在本系统的设计中, 界面布局设计采用自顶向下的设计
8、方法, 即先设计引导界面和主界面, 再设计各个实验子界面。界面设计完成后, 只是一些静态的画面而已, 没有什么内涵, 还不能用于实验操作, 要想达到实验目的, 必须借助于函数调用。在设计中, 各个回调函数的编写顺序则是采用自底向上的设计方法, 即先编制各个实验子界面的回调函数, 再编写主界面和引导界面的回调函数。3 系统软件平台的设计3.1 引言信号系统实验繁多、复杂,许多实验还需要输入参数,若将系统设计成一个界面,使得系统繁重、拥挤,不能够实现友好、美化的界面的设计要求。因此,在设计界面的时候,采用一个主界面和若干子界面,每个子界面是一个模块,实现一个实验或功能,并通过主界面调用子界面的设计
9、方法。3.2 系统整体框图本实验系统整体结构设计由两部分组成: 界面模块设计和菜单模块设计。其中, 界面模块总共包括四个模块: 开始引导模块、序列基本计算模块、基本信号的产生模块、卷积模块。在菜单设计时, 在实验子界面中除使用系统约定的菜单条外, 还增加了几个控制背景和退出实验的菜单。系统的整体结构如图3-1 所示。开始引导界面 开始界面 基本序列计算 基本信号产生 卷 积图3-1 系统整体架构3.3 系统设计步骤设计的具体步骤如下:1)运用 Matlab的图形用户界面(GUI)设计方法, 设计整个实验系统的开始引导界面、实验主界面及其实现信号处理课程中具体实验的各个子界面。2)分别编写各个子
10、界面的各个控件对象的回调函数, 来实现控件相应控制功能, 达到直接通过界面上各个控件就可以控制数据的输入输出, 并可以方便地对实验结果的数据及其图形进行读取和分析的目的。3)编写主界面的回调函数, 将各个实验子界面整合在信号处理系统实验主界面中, 即通过主界面就可以进入任何一个实验子界面进行实验。4)编写开始引导界面的回调函数, 实现从引导界面直接进入主界面。3.4 模块具体设计1) 系统欢迎模块。系统欢迎界面如图3-2所示。 图3-2 系统欢迎界面2)基本序列表示模块 序列基本表示模块界面如图3-3所示:图3-3 序列基本表示模块由图3-3可以看出在这个模块里包括了单位脉冲序列,单位阶跃序列
11、,指数序列一共三个序列,可以看出这个系统的主要模块,简洁明了,对每个模块都有详细的说明,在做实验之前可以参考说明以便能顺利的进行实验,在主界面上选择任何一个实验都可以切换到它的子界面。3)基本信号产生模块基本信号产生模块的窗体创建启动matlabR2012B,在命令窗口输入guide,打开GUI制作窗口,在窗体上有界面制作工具。在pushbutton下单击右键callback,打开callback function,调用MATLAB内部提供的函数:sin函数, exp函数, pulstran函数 ,chip函数在GUI制作窗口,axes是用来显示图形,当单击pushbutton,运行结果,会在
12、axes中显示出来。简单函数基本性质的模块,通过人机交互方式进行设计,在信号1和信号2中输入幅值,频率,初相,移位不同的值,对其信号相加,信号相乘,信号移位使信号在axes窗口中,显示出来。仿真的波形有正弦波,指数函数,抽样函数,矩形脉冲函数。Popupmenu 函数中用 switch val1case 1 来调用不同的波形,)设置句柄get(handles.popupmenu). 用strdouble(get(handles.edit,string)来输入测试数据,达到直观仿真模拟图. 基本信号的产生模块如图3-4所示:图3-4 基本信号产生模块4)卷积模块:卷积模块如图3-5所示:图3-5 卷积模块3.5 基本序列表示a.单位阶跃序列单位阶跃序列的公式 类似于连续时间系统中的单位阶跃信号,但应注意在点发生跳变,往往不予定义(或定义为),而在=0点明确规定为。单位阶跃序列的关键程序:function pushbutton2_Callback(hObject, eventdata, handles)t=str2num(get(handles.edit2,String);