1. 组件。在matlab GUI 中的每一个项目(按钮,标签,编辑框等)都是一个图形化组件.组件可分为三类:图形化控件(按钮,编辑框,列表,滚动条等),静态元素(窗口和文本字符串),菜单和坐标系. 图形化控件和静态元素由函数uicontrol 创建,菜单由函数uimenu 和uicontextmenu 创建,坐标系经常用于显示图形化数据,由函数axes 创建。
2. 图象窗口(Figure)。GUI 的每一个组件都必须安排图象窗口中。以前,我们在画数据图象时,图象窗口会被自动创建。但我们还可以用函数figure 来创建空图象窗口,空图象窗口经常用于放置各种类型的组件。
3. 回应。最后,如果用户用鼠标单击或用键盘键入一些信息,那么程序就要有相应的动作。鼠标单击或键入信息是一个事件,如果matlab 程序运行相应的函数,那么matlab函数肯定会有所反应。例如,如果用户单击一按钮,这个事件必然导致相应的matlab语句执行。这些相应的语句被称为回应。只要执行GUI 的单个图形组件,必须有一个回应[11]。
5.2. 创建GUI界面
首先我们新建一个GUI文件:File/New/GUI , 选择Blank GUI(Default),或者点击图中圈中的按钮。
图5-1 matlab界面
图5-2 GUI创建界面
选择Blank GUI(Default)。
5.3. 创建开关按钮
图5-3 GUI空白界面
在上述的界面上创建创建4个Button Group,4个静态文本(Static text),15个Push Button,如下图所示(属性可双击更改)
图5-4 设计的GUI界面
图5-5 属性框
5.4. 保存和修改fig文件
大多数文件的保存和修改都可通过快捷键 和 来进行,但是fig文件是无法通过 进行打开,其打开和修改方式应为点击图5-2的 按钮,打开你开始保存的文件,如下图所示
图5-5 GUI打开界面
双击文件,得到如下界面 图5-6 GUI编辑界面
这样,文件(fig文件)即可打开修改。
5.5. 编写M文件
编置好各控件以后,我们就可以来为这些控件编写程序(M-file),在 GUI 编辑器中右键点击相应控件,选择 View Callbacks 中的 Callback,系统自动打开 M 文件编辑器,并且光标位于相应的函数处,在蓝色的代码下面编辑该按钮相对应的程序[4]。
图5-8 M.文件界面
:function varargout=ExitButton_Callback(hObject, eventdata, handles)
close(gcf)
最后,使用说明。单击相应的按钮,便跳出对应的界面。
图5-9 程序运行界面
总结与展望
本次设计通过选择一个语音信号作为分析的对象,对其进行频谱分析;利用MATLAB中的随机函数产生噪声加入到语音信号中,模仿被噪声干扰的语音信号,并对其进行频谱分析;运用数字信号处理理论设计FIR和IIR数字滤波器, 并对被噪声污染的语音信号进行滤波,分析滤波后信号的时域和频域特征,最后对原始语音信号与经过滤波器处理后的信号进行比较。整个操作过程在GUI界面上进行,方便而直观。在这个过程中我们对原始语音信号进行读取,然后通过随机函数产生的噪声,对其进行加噪;再对两信号进行频谱分析。接下来设计多种滤波器对噪声进行处理,使得经过滤波后的加噪语音与原始语音的时域图形和频域图形相近。最后,通过简单地一些操作和控件设计出一个GUI界面。
这次毕业设计还使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在这次设计的过程中,问题层出不穷地出现,我们个个击破,有老师的悉心教导,也有自己的不断地刻苦钻研,做完后有一种特别愉悦的心情,那是丰收的心情。 MATLAB的带噪声语音信号处理+滤波器设计(10):http://www.youerw.com/tongxin/lunwen_2230.html