毕业设计(论文)基于图形交互式的信号处理CAI软件的设计开发.doc
《毕业设计(论文)基于图形交互式的信号处理CAI软件的设计开发.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于图形交互式的信号处理CAI软件的设计开发.doc(82页珍藏版)》请在三一办公上搜索。
1、目 录中文摘要I英文摘要II1 绪论11.1 问题提出及研究意义11.2 设计的基本内容12 系统设计工具简介22.1 MATLAB概述22.2 图形用户界面(GUI)设计32.2.1 创建GUI的步骤32.2.2 GUI编程72.2.3 GUI的设计流程和设计原则72.2.4 控件的使用83 系统总体设计思路103.1 系统总体设计的步骤103.2 系统总体设计的结构104 系统图形用户界面设计124.1 图形用户界面外观设计124.1.1 控件对象124.1.2 控件属性的设置134.1.3 窗口属性的设置134.1.4 菜单的设计154.2 图形用户界面控件编程154.2.1 输入函数1
2、54.2.2 输出函数164.2.3 回调函数175 系统用户界面的实现175.1 引导模块175.1.1 回调函数的编写175.1.2 界面功能185.2系统说明模块185.3 主界面模块195.3.1 回调函数的编写195.3.2 界面功能205.4 基本信号的产生模块205.4.1 回调函数编写的基本原理205.4.2 界面功能225.4.3 界面使用演示235.5 序列基本计算模块255.5.1 回调函数编写的基本原理255.5.2 界面功能265.5.3 界面使用演示265.6 数据采集模块275.6.1 回调函数编写的基本原理275.6.2 界面功能285.6.3 界面使用演示28
3、5.7 卷积模块295.7.1 回调函数编写的基本原理295.7.2 界面功能305.7.3 界面使用演示305.8 傅里叶变换模块325.8.1 回调函数编写的基本原理325.8.2 界面功能335.8.3 界面使用演示335.9 Z变换模块355.9.1 回调函数编写的基本原理355.9.2 界面功能365.9.3 界面使用演示375.10 滤波器设计模块405.10.1 回调函数编写的基本原理405.10.2 界面功能425.10.3 界面使用演示43结束语49致 谢50参考文献51附 录51基于图形交互式的信号处理CAI软件的设计开发摘要信号与系统是电子信息工程专业的一门基础课程,由于
4、它内容繁多、概念抽象、设计复杂等,使得学生在学习时常常感到厌烦,难以理解和掌握。为了使学生们打好专业课基础,提高学习兴趣,特用MATLAB设计了一个信号处理的实验软件。该实验软件共有16个实验,各个实验都可以在实验界面中通过输入相应的参数,观察到实验结果和图形,以便于学生们通过实验加深对课程中概念和原理的理解。MATLAB是一种交互式、面向对象的程序设计语言,其结构完整、具有优良的移植性。更重要的是它在数字信号处理方面具有强大的功能。因此本设计采用MATLAB的图形用户界面设计功能,设计各个实验界面。本实验软件在MATLAB7.1环境下可以成功运行,只需将系统默认路径改为此实验软件的所在路径即
5、可。本实验系统可以完成基本信号的产生、卷积、傅里叶变换、Z变换、滤波器的设计等实验。关键字 交互式/图形用户界面/信号处理BASED ON GRAPH INTERACTIVE SIGNAL PROCESSING CAI SOFTWARE DESIGN DEVELOPMENTABSTRACTSignal and system is a basic curriculum in the Electric Information specialty. Because the various content, abstract concept, complex design and so on. The
6、 students frequently feel dull with difficulty understanding and grasping. In order to make the students have a good basic and enhance the study interest of students, put forward developing an experimental software based on Signal Processing. The Signal Processing software includes six-teen experime
7、nts, each experiment can be completed in the experimental interface, enter the corresponding experimental parameter, then can obtain the output of corresponding graph and data, which can make the students have better understanding in concept and principle.MATLAB is an interactive mode and object lan
8、guage. It has complete construction and transplant well. especially it have strong power in the Digital Signal Processing. So the design adopts the design function of the graphic user interface in MATLAB to design each experiment. The experimental system runs successfully under the MATLAB7.1 environ
9、ment, only need to alter the acquiescing in path to the path of the Signal Processing software. The experimental system can complete the experiments of Basic Signal Generation, Convolution, Fourier Transformation, Z Transformation, Filter Design and so on.KEY WORDS Interactive Mode ,Graphic User Int
10、erface ,Signal Processing 1 绪论1.1 问题提出及研究意义随着计算机技术和信息科学的飞速发展,数字信号处理已经发展成为一门独立的学科并成为信息科学的重要组成部分,在语音处理、图像处理、雷达、航空航天、地质勘探、通信、生物医学工程等众多领域得到广泛的应用。信号处理类课程主要介绍离散信号与离散系统分析的基本理论,包括离散傅里叶变换、数字滤波器的设计、数字信号处理的实现等内容。通过本课程的学习,要求学生掌握信号处理的基本理论、基本方法和基本技能,为后继学习和应用信号处理技术奠定基础。众所周知MATLAB的信号处理工具箱(Signal Processing Toolbox)
11、覆盖了经典信号处理理论的大多数内容,是一个非常优秀的算法研究和辅助设计工具。但是依靠MATLAB工具箱仍然不能直接地完成对信号的分析处理,它需要经过一系列的程序编写后方能进行。所以使用者必须有一定的理论基础和实践经验,但并非所有使用者都学习过MATLAB。为了使那些未学过MATLAB的学生同样能方便地进行信号的分析与处理,也为了对信号的分析与处理更加方便快捷、更加高效实用,设计了基于MATLAB的信号处理实验系统。将MATLAB的数字信号处理工具箱、图形用户界面(GUI)设计和数字信号处理的基础知识有机地结合起来,在简要阐明函数原理和算法的基础上,给出了详细的函数使用说明,再通过具体的实验实例
12、,进一步加深了学生对信号处理理论原理的理解,适合于学生对知识的学习和掌握。1.2 设计的基本内容本设计为基于信号处理的实验软件系统的开发,是利用MATLAB的可视化图形用户界面(GUI)工具和信号处理知识,设计实验系统的图形用户界面的总体结构,能够用于完成相关的信号处理实验。本设计主要完成以下功能:(1)信号处理实验系统能够完成以下信号处理实验:序列的基本计算、基本信号的产生、数据采集、卷积、傅里叶变换、Z变换以及FIR和IIR滤波器的设计。 (2) 具有数据输入输出、图形输出、数据修改和文件保存、打印等功能。(3) 界面可视性强,操作简单方便,结果直观易懂、便于分析。(4) 系统易于扩展新的
13、实验,以不断丰富信号处理系统的内容。2 系统设计工具简介2.1 MATLAB概述 MATLAB是一种高效的工程计算言语,它将计算、可视化和编程等功能集于一个易于使用的环境。在MATLAB环境中描述问题及编制求解问题的程序时,用户可以按照符合人们科学思维的方式和数学表达习惯的语言形式来书写程序。其典型应用主要包括以下几个方面:l 数学计算;l 算法开发;l 数据采集;l 系统建模和仿真;l 数据分析和可视化;l 科学和工程绘图;l 应用软件开发(包括用户界面)。MATLAB是一个交互式系统(写程序与执行命令同步),其基本的数据元素是没有维数限制的阵列。这使得用户可以解决很多工程技术上的问题,特别
14、是那些包含了矩阵和向量的公式的计算。采用MATLAB编制解决上述问题的程序比用采用只支持标量和非交互式的编程语言(C语言和Fortan语言)更加方便。MATLAB的一个重要特色就是它有一套程序扩展系统和一组称之为工具箱(Toolboxes)的特殊应用子程序。工具箱是MATLAB函数的子程序库,每一个工具箱都是为某一类学科专业和应用而定制的,主要包括信号处理、控制系统、神经网络、模糊逻辑、小波分析和系统仿真等方面的应用。MATLAB系统由以下5个主要部分组成,下面具体进行介绍。开发环境:由一系列工具组成。这些工具方便用户使用MATLAB的函数和文件,其中的许多工具采用的是图形用户界面。包括MAT
15、LAB桌面和命令窗口、历史命令窗口、编辑器和调试器、路径搜索和用于浏览帮助、工作空间、文件的浏览器。MATLAB数学函数库:这是一个包含大量计算算法的集合,这些函数包括从最简单最基本的函数(如加法、正弦等)到诸如矩阵的特征向量、快速傅里叶变换等复杂的函数。MATLAB语言:这是一个高级的矩阵/阵列语言,它包括控制语句、函数、数据结构、输入输出和面向对象的编程特点。用户可以在命令窗口中将输入语句与执行命令同步,也可以先编写好一个较大的复杂的应用程序(M文件)后再一起进行。图形处理:用MATLAB可以将向量和矩阵用图形表现出来,并且可以对图形进行标注和打印。高层次的作图包括二维和三维数据可视化、图
16、像处理、动画和表达式作图,低层次的作图包括定制图形的显示和为用户的MATLAB应用程序建立的图形用户界面。MATLAB应用程序接口(API):这是一个库,它允许用户编写可以和MATLAB进行交互的C或Fortan语言程序。2.2 图形用户界面(GUI)设计GUI是实现人机交互的中介,可以通过它实现数据输入、处理和输出。MATLAB提供了一个专门的GUI设计工具GUIDE。使用该工具,可以快速完成GUI设计任务。2.2.1 创建GUI的步骤MATLAB图形用户界面开发环境(GUIDE)提供了一系列创建图形用户界面(GUI)的工具。这些工具极大地简化了GUI设计和生成的过程。可以用GUIDE完成下
17、面的任务。(1) 输出GUI;(2) 使用GUIDE输出编辑器,可以通过单击和拖拉GUI控件很容易地创建GUI;(3) GUI编程;(4) GUIDE自动生成一个控制GUI如何操作的M文件。该文件初始化GUI并包含一个所有GUI回调(用户单击GUI控件时执行的命令)的框架。使用M文件编辑器,可以向回调中添加代码,运行相关函数。2.2.1.1 启动GUIDE在命令窗口中键入guide或通过文件新建GUI,启动GUIDE显示如图2-1所示图2-1 “GUIDE Quick Start”对话框打开“GUIDE Quick Start”对话框,利用GUIDE模板创建新的GUI,或者打开已经存在的GUI
18、。在本设计中选择Blank GUI(Default)后,单击“OK”按钮,在输出编辑器中打开GUI。2.2.1.2 输出编辑器在GUIDE中打开GUI以后,它显示在输出编辑器中。它是所有GUIDE工具的控制面板。图2-2显示了空白GUI模板的输出编辑器。图2-2 输出编辑器可以通过拖拉控件输出GUI,这些控件位于输出编辑器左侧的工具箱中,有按钮、弹出式菜单和坐标轴等多种。例如把一个按钮和一个坐标轴拖拉到输出区域,效果如图2-3所示。双击此控件可以设置其基本属性。图2-3 在输出编辑器中拖放控件2.2.1.3 菜单编辑器菜单系统的设置可以通过菜单编辑器来完成。选择GUIDE的Tools菜单中的M
19、enu Editor选项或单击工具条中的按钮。该菜单编辑器如图2-4所示。图2-4 菜单编辑器在菜单编辑器中:图标是新建菜单,是新建子菜单;和用来将菜单向左移和右移;和是将菜单项上移和下移;是删除菜单项。 “Label”栏用来填写菜单项的名称,如果在前面加“&”符号则加快捷键,当运行时第一个字母会加下划线,以方便用户快速激活菜单项;“Tag”是标记;“Separator above the item”是分隔符;“Check mark this item”是初值是否已选;“Enable this item”是此项有效;“Callback”栏用于输入回调函数。回调函数是字符串,可以包含任何MATL
20、AB的合法指令和M文件名,回调的作用是将字符串用“eval”执行,以实现菜单的功能。2.2.1.4 运行GUI从“Tools”菜单选择“Run”选项或单击按钮,运行GUI。这时将生成两个文件.m文件和.fig文件,在输出编辑器外显示功能GUI。效果如图2-5所示。图2-5 GUI界面(.fig文件)2.2.1.5 GUI的FIG文件和M文件GUIDE把GUI保存在两个文件中,它们在第一次保存或运行时生成。一个是FIG文件,扩展名为.fig,它包含对GUI和GUI控件的完整描述;另一个是M文件,扩展名为.m,它包含控制GUI的代码,包括其控件的回调。这两个文件与GUI显示和编程任务相对应。在界面
21、编辑器中创建GUI时,内容保存在M文件中;对GUI编程时,内容保存在M文件中。设计好GUI以后,可以用M文件编辑器编写GUI的M文件。GUIDE会在第一次保存或运行GUI时生成这个文件。这个GUI的M文件会初始化GUI,并在GUI显示屏幕上显示以前包含的代码来完成任务。初始情况下,每个回调都只包含一个函数定义行,然后用M文件编辑器添加代码来完成函数的编写。单击输出编辑器工具条上的图标打开M文件。图2-6显示了GUI界面.m文件。图2-6 GUI界面(.m文件)2.2.2 GUI编程在输出编辑器中GUI的属性设置以后,下一步工作就是编程。其主要内容包括:(1) 创建GUI的M文件;(2) 打开G
22、UI的M文件;(3) 在回调间共享数据;通过将数据保存到MATLAB handles结构中,可以实现回调间的数据共享。GUI中的所有控件使用同一个handles结构。它会传递一个输入变量给GUIDE生成的所有回调函数。可以在任何回调函数中获取handles结构中的数据,因为hObject和handles是GUIDE生成的所有回调函数的输入变量。(4) 在初始化函数中添加代码;(5) 在回调函数中添加代码; 这些回调函数有的是针对窗口而言的,还有的是针对具体控件而言的,学会了回调函数的编写将有助于高效编写MATLAB图形用户界面程序2.2.3 GUI的设计流程和设计原则2.2.3.1 GUI的设
23、计流程GUI开发设计的一般流程图如图2-7所示:开 始任务定义草图设计设计检测编写代码代码检测结束图2-7 开发设计流程图从图中可以看出,整个开发过程分为两部分:设计阶段和实现阶段。创造性的劳动是在设计阶段进行的,开发文档便是对这些思想的记录,因此,设计者不要忽视设计阶段。另外,开发流程不是单向进行的,有时有一个反复的过程。后面会遇到一些无法解决的问题,因此需要对前面做局部调整。这种反复过程是正常开发无法避免的。严格按照上述流程进行开发带来的一个好处是,开发者能够从整体上把握设计,制定出合适的策略来解决问题。2.2.3.2 GUI设计的原则由于要求不同,设计出来的界面也是千差万别的。但是,自从
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计 论文 基于 图形 交互式 信号 处理 CAI 软件 设计 开发
链接地址:https://www.31ppt.com/p-3981342.html