堂中的重点、难点及部分课后练习用MATLAB GUI进行可视化计算机模拟与仿真。学生也可以自己进行设计和编程,既提高了动手能力,又充分激发学习数字信号处理的积极性。
1.3 MATLAB GUI简介
图形化用户界面(Graphical User Interfaces,简称GUI),是一种图形化人机交互界面,通过用户与计算机或者计算机程序进行通信、交互的方式来完成相应的操作。在GUI中,可以自行设计按钮,滑动条,下拉菜单,窗口,对话框等,MATLAB全面支持GUI的编程,用户可以根据自己设计的界面来编程M文件,通过M文件的编译实现可以实现相应的操作方式。
图形用户界面是由图形对象构成的界面,在MATLAB中,最典型的就是通过GUIDE(Graph User Interface Development Environment)建立GUI,GUIDE能帮助用户方便设计出的各种符合用户需求的图形用户界面。
在MATLAB中,打开GUIDE的方法有两种,第一种是在MATLAB界面中点击GUIDE按钮直接进入,第二种是在命令窗口输入命令Guide来实现调用。在打开的GUIDE窗口中可以新建GUI或者打开已存在的GUI的.fig文件,而后,通过菜单编辑器(Menu Editor)、对象浏览器(Object Browser)、属性设计器(Properties Inspector)、控件布置编辑器(Alignment Objects)、网格标尺(Grid and Rulers)设置编辑器以及GUIDE属性(GUIDE Application Options)设置编辑器对GUI进行编辑。
对于建立好的对象,可以通过双击修改对象的属性(背景颜色、字体颜色、字体大小等),同时也可以通过右击对象,在出现的菜单栏中选择callback对相应的对象进行M文件内的编程,使相应对象实现相应的功能。
1.4 本文研究内容
本设计主要完成数字信号处理实验平台的设计,该实验平台的设计的内容有:离散系统时频域分析、离散傅里叶变换、快速傅里叶变换、IIR滤波器和FIR滤波器设计,通过利用MATLAB语言完成图形用户界面(GUI)的编程,将数字信号处理课程中的重点、难点内容用交互式、实时、可视化实验平台进行展示,以便于学生在数字信号处理课堂上的学习。
本文的主要内容安排如下:
第1章是绪论。主要介绍课题研究的背景与意义,并简述了MATLAB GUI软件。
2
第2章是数字信号处理平台的设计,主要涉及实验系统的主界面和子界面。数字信号处理实验平台的主界面主要有离散系统的时频域分析界面、离散傅里叶变换界面、快速傅里叶变换界面、IIR数字滤波器设计界面、FIR数字滤波器设计界面
第3章是数字信号处理实验平台的系统测试,即对设计出的各个界面进行测试,通过观察输入不同参数时信号显示区的输出波形,验证和分析实验的合理性、正确性。
第4章是结论,即对本设计进行总结,对今后工作进行展望。
3
2 数字信号处理实验平台设计
2.1 实验平台分析
本设计以MATLAB为软件开发平台,利用它可视化、可编程的图形用户界面GUI,按照实验内容设计出相应的界面模块与菜单模块,通过主界面与子界面的调用选择进行不同实验的操作,通过菜单模块的选择与响应,完成子界面中分模块的操作,点击界面上的按钮,来操作实验的开始、结束与视图分析。 2.1.1 实验平台的基本结构
本设计将数字信号处理实验系统的整体结构划分由两部分:界面模块和菜单模块。界面模块包括6大部分:开始引导界面、实验主界面(进行实验项目选择)、离散系统的时频域分析界面、离散傅里叶变换界面、快速傅里叶变换界面和数字滤波器设计界面。如图2.1所示为实验平台的基本结构。
常见信号的时频域分析 离散系统时频域分析 常见信号的时域运算 LTI离散系统时频域分析 开始引导界面 实验主界面 离散时间序列傅里叶变换 离散傅里叶变换 离散傅里叶变换 周期信号离散傅里叶变换 快速傅里叶变换 IIR滤波器设计 数字滤波器设计 FIR滤波器设计 图2.1 数字信号处理实验平台结构图
4
2.1.2 实验平台设计的步骤
本设计的实验平台按照树形结构的步骤进行设计,先完成开始引导界面与后续的实验主界面的搭建,而后依次展开对各个子界面的建立(离散系统的时频域分析界面、离散傅里叶变换界面、快速傅里叶变换界面和数字滤波器设计界面),在各个子界面的搭建过程中,要按照以下步骤进行[1]:
1) 建立一个图形用户界面,并为之命名。
2) 根据界面的需求,先在草稿纸上对界面进行预先的设计,而后,通过MATLAB的图形用户界面(GUI)在界面中放入相应的GUI对象,并合理的布局安放这些对象,以及设置对象的属性,如字体,大小,颜色等。
3) 根据GUI对象的功能在M文件中编辑相应的Callback,并保存、调试、运行,确保其能实现预定的功能。
图形界面的设计要满足以下几条原则[2]:
1) 简单性。要求设计界面时应该力求简洁直接清晰地体现界面的功能和特点。对于可有可无的功能最好删除,确保界面的整洁。窗口数目尽量少,力避不同窗口间来回切换,设计的界面要直观,应多采用图形。
2) 一致性。确保设计的界面风格前后要尽量保持一致。
3) 习惯性。要求设计的界面应该尽量使用人们熟悉的标志和符号,保持界面的自然,使用户能见而习之。
2.2 开始引导界面与实验主界面设计
开始引导界面主要是引导实验的开始,通过开始引导界面中的开始按钮进入实验主界面,实验主界面主要是完成实现子界面的选择与调用功能,通过点击选择进入各个子界面。
作为数字信号处理实验平台的第一个界面,开始引导实验界面必须包含实验开始、退出按钮,通过点击开始、退出按钮分别完成进入实验主界面、退出实验系统的功能。在界面的顶部加入一个Axes对象,用来读取并显示本学校的校徽图案,开始引导界面也可以加入Static Text对象(静态文本编辑器),用这个对象制作开始界面的欢迎标题和介绍实验平台的文字。图2.2(a)所示为开始引导界面。
在开始引导界面中通过点击开始按钮可以进入实验主界面,实验主界面主要的功能是选择并进入实验子界面,因此需要在该界面中添加5个Push Button对象(按钮),通过点击它们来打开不同的实验子界面,例如:点击实验主界面上的“FIR滤波器设计”按钮,则进入该实验子界面,然后进行仿真实验。如图2.2(b)所示为实验主界面效果图。
5
(a) 开始引导界面 (b) 实验主界面
图2.2 开始引导界面与实验主界面
2.3 子界面的设计
根据试验系统的内容要求,本实验平台的子界面划分为离散系统的时频域分析界面、离散傅里叶变换界面、快速傅里叶变换界面、IIR数字滤波器设计界面、FIR数字滤波器设计界面共五个子界面的设计[3]~[6]。 2.3.1 离散系统时频域分析实验界面设计
离散系统时频域分析界面主要完成常见离散信号的时频域分析、常见离散信号的运算和LTI系统的时频域分析。该实验子界面展示了离散信号的时频域分析功能,通过菜单栏的选择可以分别打开离散信号的运算界面和LTI系统时频域分析界面。
图2.3 常见时间离散信号时频域分析界面
6