基于MATLAB 的GUI设计论文_第1页
基于MATLAB 的GUI设计论文_第2页
基于MATLAB 的GUI设计论文_第3页
基于MATLAB 的GUI设计论文_第4页
基于MATLAB 的GUI设计论文_第5页
已阅读5页,还剩81页未读 继续免费阅读

下载本文档

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

文档简介

摘要:随着科学技术的日渐发展,语音识别技术广泛应用在我们身边,如人工合成语音、识别内语音信号后做傅里叶变换、加入随机噪声、采用巴特沃斯低通滤波器滤波加噪信号,分别得到对本设计的优点在于GUI以窗口、弹出框、按键、动态文本框等具较强的演示性面形式构成,对语音信号采集与分析的研究具有十分重要的参考意义。aroundus,suchasartificiallysynthesigenerallyfacestheproblemofnoisecausinginterferencetothesignal.Basedontheabove,thisdesignmainlyfocusesontheacthevoicesignaliscollected,Fouriertransformisperfotorealizetheprogrammingcode,thesimulationinterfaceofthesystemisfTheadvantagesofthisdedynamictextboxesandotherinterfaceformswKeywords:voicesignal,MATLAB 11.1研究背景及意义 1 1.2国内外研究现状 21.3主要研究内容及工作 3 31.3.2研究工作 3第2章系统的设计及原理 52.1系统设计的原理流程 52.2原始信号的获取 52.3原始信号的时频分析 62.4信号的加噪 62.5滤波器的选择及滤波原理 62.5.1巴特沃斯低通滤波器 6 7 8 83.2核心控件功能说明 83.2.1静态文本框的使用 83.2.2动态文本框的使用 3.3.3执行按钮的使用 3.3.4坐标轴控件的使用 3.3回调函数及数据传递 第4章测试效果 4.1语音信号采集 4.2信号加噪 4.3信号数字滤波 4.4声音回放 第5章仿真系统设计及实现 5.1语音信号的采集模块 5.2语音信号分析模块 5.3整体界面设计 5.4仿真及实现效果 致谢 26附录 2711.1研究背景及意义现如今广泛运用在各大研究领域当中,其丰富便捷的强大功能,在满足恢复具有一定的影响。为使此项研究更好的应用于实际,我对此做了深入的研究。1.1.2意义2进行处理呢?本文的设计会从采集、加噪、滤波去做重点研究。我国对语音信号的研究大致经历了三个程度的递进,第一个阶段是在20世纪中是在20世纪70年代,计算机技术和集成电路技术的结合与有效发展为此奠定了一定的基础,其技术随后也得到了日趋完善和成熟的发展;第三个阶段是实用阶段:20世纪80年代直到现今,语音采集识别技术得益于超大规模集成电路的发展和PC机的人机互动接口之一。现代语音的识别可以追随到1952年世界上第一个开源研究,大卫等人研发出的识别英文数字发音的系统,这随之也正式开始了语音识别的发展历程。到1970年,单词识别装置也陆续开始进入实用性的阶段。1971年,美国其中主要用到的就是APR(AmericanReserch了其发展。当到80年代的时候,矢量量化、人工神经网络等渐渐被运用于语音信号3别系统。这些发明成果可以说是开启语音信号的研究这扇大门的钥匙。 数字化模块处理,小波变换引起的语音信号时域及频域的1.3主要研究内容及工作简单概述此项技术研究的国内外发展现状,并概述其研究的主要内容及其工作。4滤波,来进行测试,比较其前后的频谱图,找到声音回放最佳的测试结果5第2章系统的设计及原理原始信号获取原始信号获取时频分析信号加噪时频分析滤波器设计滤波图2-1设计原理流程图2.2原始信号的获取62.3原始信号的时频分析性,这需要我们再用到短时傅里叶变换法来分析频谱,即“短时谱”。2.4信号的加噪信号的加噪是指在原始的语音信号上面加上随机噪声,我们利用Rand函数来产2.5滤波器的选择及滤波原理2.5.1巴特沃斯低通滤波器应曲线最平滑。这种滤波器最先由英国工程师斯替芬·巴特沃斯(StephenButterworth)在1930年发表在英国《无线电工程》期刊的一篇论文中提出的。巴特沃斯低通滤波器是常用的模拟滤波器之一,其通带和阻带都有平坦的幅度响应。号加随机噪声来构成混合信号,来进行滤波,滤波效果图如下图2-2:7图2-2滤波效果图可适用于本文的研究。程序代码见附录I。2.5.2滤波对加了噪声信号的语音信号进行滤波处理,其用到的就是在基于Matlab2015a版本软件上自带的相关函数,如巴特沃斯低通N和截止频率Wn,第二步是用butter函数求出频率响应的参数即:滤波器的传输函得数字滤波器的系数b,a。8设计及使用MATLAB是外国公司开发的软件,其主要的应用领域涉及控制设计、信号处理以进行程序编写,在此基础上搭建GUI界面进行语音信号的采集和分析等仿真设计。命令后会如下图3-1,此界面是让新建一个GUI界3.2核心控件功能说明9属性等,具体参数设置界面如图3-2所示。 Inspector.matlab.uiX用Extent :基于MATLABGUI语音信号…图3-2静态文本属性表3-1控件相关属性表序号属性功能a显示的真彩色图像b显示的真彩色图像C文本颜色d文本输入e控件是否可见f使能状态g定义h用户指定数据i尺寸和位置j位置及大小的单位e.Interruptible:指定当前的回调函数在3.2.2动态文本框的使用图3-3所示,向动态文本框输入显示内容固定语句为:88安图3-3动态文本框属性3.3.3执行按钮的使用主程序,从而完成相应的程序任务,所有的额主程序写在执行按钮的回调函数 bold文口喻事pshbutar图3-4执行按钮属性3.3.4坐标轴控件的使用mbotiomd我们每设计一个的控件,其右键选中下拉都会有几种不同的回调函数,其中一种就是CallBack函数,这种函数可能会因不同的控件而可能不是回调函数,所以视情况可定,如图3-6所示。n**|b图3-6回调函数函数:创建坐标轴图形对象;(4)line:画线;(5)patch:填充多边形;(6)surface:绘制三维曲面;(7)image:显示图片对象;(8)uicontrol:生成用户控制图形对象;(9)uimenu:生成图形窗口的菜单中层次菜单与下一级子菜单。而获取与设置对象属性常用到的函数有:gcf函数:获得当前图形窗口的句柄;函数返回某些对象属性的当前值。例如:p=通过这个编程我们可以看出假设一个图像窗口句柄中有handles,那子函数t1=timer('TimerFcn',{@Timer1Fcn},'ErrorFcn',@Timer1E,1.0,'ExecutionMode','fixedrattl=timer('TimerFcn',{@TimerlFcn,handles},'ErrorFcn'handles},'Period',1.0,'ExecutionMode','f第4章预先准备一段时长大约为8s的语音信号“test.wav”,以此在平台上完成后续的可以直接使用的,调用方式如下:其中括号内的是指我们录制的语音所存放的路径,其中y是声音数据量,fs是采然后采用傅里叶变换分析法,即fft(y)函数,选取长度y里的点数进行傅里叶变换:y_p=fft(y,n),可得到频域。原始语音信号及其频谱如下图4-1所示:□X昆四时间轴图4-1原始语音信号采用matlab中的randn函数,它可以生成标准正态分布的随机数或者是矩阵,所●以可以利用这个函数可以生成随机噪声,以达到目的。相关功能代码编程如下:noise=n*mean(pyr(:,1))*randn(n,1);其中n表明生成的随机噪声函数的幅值取决于●当取n值为0.01时,加噪后的频谱图与原始信号的对比图如下图4-2:复数前货结号室称后稳业指轴中性图4-2n=0.01当取n值为0.1时,加噪后的频谱图与原始信号的对比图如下图4-3:图4-3n=0.1当取n值为1时,加噪后的频谱图与原始信号的对比图如下图4-4:舒骨备舒骨备.图4-4n=1当取n值为10时,加噪后的频谱图与原始信号的对比图如下图4-5:通通所健图4-5通过四组的测试值,我发现当n=0.01时,其加噪后的时频幅值与原始信号相比,号,其噪声的幅值过于大,易造成原始信号的失真,最终发现取n=0.1时,加噪对于原始信号的是最符合我们平常所处的环境。之所以选择0.1倍于基准声幅,也是为了=butter(n,wn,’s’);[bz,az]=bilinear(b,a,0.5);设置一个巴特图4-6数字滤波器表4-1测试值2222染沿第子?0图4-7滤波后的信号4.4声音回放选择的基准声幅的倍数和滤波参数值的大小有关0.1倍基准声幅,且通带边界频率Fp=1000,抽样频率Fs=2000,rp=2,rs=80时,此时声第5章仿真系统设计及实现文件的格式定义为“*.wav”格式,放置路径不限,可以根据软件自适应选择文件的位置,如图5-1所示,当点击“导入语音”按钮,则进入文件地址选择页面,如图图5-1语音采集模块*2薄州床床图5-2文件打开音信号特征分别进行时域显示和频域显示;然后加入随机噪声,通过分析后,就会有加噪后的语音信号时域显示和频域显示波形图;最后进行低通滤波,实现原始信号的恢复,每一个控件的设置会对应的有一个Callback回调函数,通过对这个回调函数的编程来实现对应每个按键的功能。最后加上播放语音和关闭按键,从而尽可能地还原信号,播放效果。整体语音分析模块如图5-3所示。#角m唐并或于册普然税分的为使用户更简洁明了、直观的看到我们的系统设计,我将语音采集模块和语音分信号采集与分析系统”。其界面没有加过多的美观设计。最终搭建完成的语音信号采集与分析系统的平台控件如图5-4所示。系统的编程代码见附录Ⅱ。话基于陆A飞ABGS请商信考采集与分折溺镜**填1.录制一段带音乐的狗叫声,时间大约在15s左右,其仿真滤波效果如下图5-5:基千LATLABGtN森黄做弯车基与分析系统解46像B图5-5动物滤波频谱对比图2.录制一段人的声音,大约在8s左右,文字内容为:“武汉加油!中国加油!战胜疫情!富国强兵!”频谱图对比效果如下图5-6:壁入晓高海道自征学饰算海图5-6人的声音频谱对比图3.录制一段自然界流水的声音,大约在9s左右,频谱对比图如下图5-7:口厘金晚中中难度vahe*,w1零人特备细意窗考分4mss*分8相加场楼需获图5-7流水频谱对比图分析与小结:通过选取录制三种不同的声音,在系统上进行加噪,滤波处理,与原始信号的频谱进行对比,我们可以看到滤波之后的频谱图明显在原始信号的两边减少了幅度的波动,滤波效果得到显现,且从声音的回放中,能清晰可听,辨识度高,能识别出语音内容。系统整体仿真效果是成功的。此系统的界面设计可应用于语音信号的分析与处理的基础教学,对于学者理解语音信号的特性具有很好的效果。界面系统之后,我选择了三段不同的录音来实现我的设计仿真效果,通过[2]刘慧颖.MATLABR2006a基础教程[M].北京:清华大学出版社,2007,132-136.版),2006(06):640-641.[6]党丹凤,周立勇,王海涛.基于MATLAB的图形用户界面设计[J].测绘技术装[9]钟可君,张海林.基于MatlabGUI设计的光学实验仿真[J].实验室研究与探与大学物理波动光学教学整合的研究[J].九江学院学报MatlabTool[J].HugoGProcediaEngineering.2017:15-19.[13]燕丽红.基于Matlab&GUI语音信号处理平台的设计[J].计算机与数字工[14]余海峰.基于matlab的语音信号特征提取方法研究[J].信息通[16]卓嘎,次仁尼玛.基于Matlab的藏语语音频谱仿真和分析[J].电子设计工[17]邓克琦.基于[18]白燕燕,胡晓霞.基于[21]张亚峰,刘静怡.自适应语音信号去噪处理研究[J].精密制造与自动致谢附录N=1000;%采样点数t=0:1/Fs:1-1/Fs;%时间序列Signal_Original_2=[zeros(1,100),0),-5*ones(1,30),9*ones(1,140),-4*ones(1,40),3*ones(Noise_White_2=0.5*randn(1,1000);%高斯白噪声噪声,后500点均匀分布白噪声Mix_Signal_2=Signal_Original_2+Nois前500点高斯分部白构造的混合信号构造的混合信号%信号Mix_Signal_1和Mix_Signal_2分别作巴特沃斯低通滤波。Wc=2*50/Fs;%截止频率50Hztitle('原始信号’);subplot(4,1,2);%Mix_Signal_1低通滤波滤波后信号title('巴特沃斯低通滤波后信号’);%混合信号Mix_Signal_2巴特沃斯低通滤波Wc=2*100/Fs;%截止频率100Hzplot(Mix_Signal_2);title('原始信号’);subplot(4,1,4);%MixSignal_2低通滤波滤波后信号title('巴特沃斯低通滤波后信号');%YUYINXINHAOMATLABcodeforyuyinxinhao.fig%YUYINXINHAO,byitself,creat%%%H=YUYINXINHA0returnsthehandletoa%%%YUYINXINHAO('CALLBACK',hObject,eventData,handles,...)callsthe%functionnamedCALLBACKinarguments.%%YUYINXINHA0('Property','Value',..)createsanewYUYINXINHAOor%%instancetorun(singleton)”%gui_State=struct('gui_Name',mfilename,..ifnargin&&ischar(varargin{1})gui_State.gui_Callback=str2func(varargifnargout%Executesjustbeforeyuyinxinhaoismadevisible.functionyuyinxinhao_OpeningFcn(hObject,eventdata,han%Thisfunctionhasnooutpu%Choosedefaultcommandlfunctionvarargout=yuyinxinhaoOutputFcn(hObject,~,handles)%handlesstructurewithhandlesanduserdata(seeGUIDvarargout{1}=handle%Executesonbuttonpressinpushbutton2.functionpushbutton2_Callback(hObject,eventdata,handles)%handlesstructurewithhandlesan[pyr,fs]=audioread(filepath);%声音读取并返回样本数据pyr和数据的采样%sound(pyr,fs);%声音回放set(gca,'FontSize',6);%设置文字大小,同时影响坐标轴标注、图例、标题%Executesonbuttonpressinpushbutton3.functionpushbutton3_Callback(hObject,eventdata,handles)pyrl=fft(pyr(:,1),nplot(abs(fftshift(pyrl)%选取变换的点数%对n点进行快速傅里叶变换set(gca,’FontSize',6);%设置文字大小,同时影响坐标轴标注、图例、标题%Executesonbuttonpressinpushbutton4.pushbutton4_Callback(hObject,eventdata,handletopushbutton4(%eventdatareserved-tobs=pyr(:,1)+noise;%将两个信号叠加到一个新的信号加噪set(gca,’FontSize',6);%设置文字大小,同时影响坐标轴标注、图例、标题functionpushbutton5Callback(hObject,eventdata,handles)%hObjecthandletopushbutton5(see%eventdatareserved-tobedefinedinafutureversionofMATLnoise=0.1*mean(pyr(:,1)%画出加噪之后,其时域频域plot(abs(fftshift(Sset(gca,'FoExecutesonbuttonpre%设置文字大小,同时影响坐标轴标注、图例、标题等。%Executesonbuttonpressinpushbutton6.functionpushbutton6_Callback(hObject,eventdata,handletopushbutto%设计IIR低通滤波器%通带最大衰减2db%阻带最小衰减80db%采样频率%通带边界频率%抽样频率为2000Hz%模拟角频率%求出待设计的模拟滤波器的边界频率输函数Z域的变换%滤波noise=0.1*mean(pyr(:,1))*rz=filter(bz,az,s);%滤波%低通滤波器的阶数和截止频率%S域频率响应的参数即:滤波器的传%利用双线性变换实现频率响应S域到%计算音频信号的长度加噪声%title('低通滤波后的信号波形’);set(gca,'FontSize',6);%设置文字大小,同时影响坐标轴标注、图例、标题等。%Executesonbuttonprepushbutton7_Callback(h0bject,eventdataws=2*pi*Fs/Ft;%求出待设计的模拟滤波器的边界频率输函数Z域的变换%滤波%低通滤波器的阶数和截止频率%S域频率响应的参数即:滤波器的传%利用双线性变换实现频率响应S域到noise=0.1*mean(pyr(:,1))*randn(n1,1);%加噪声Z=fft(z);%滤波后的信号频谱plot(abs(fftshift(Zset(gca,'FontSize',6);%设置文字大小,同时影响坐标轴标注、图例、标题%Executesonbuttonpressinpushbutton8.functionpushbutton8_Callback(h0bje%Executesonbuttonpressinpushbutton9.functionpushbutton9_Callback(hObject,eventdata,handles)%eventdatareserved-tobedefinedina%str2double(get(hObject,'String'))returns%Executesduringobjectcreation,functionedi%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesempty-handlesnotcreatedu%Hint:editcontrolsusuallyhaveawhitebackgroundonWindows.ifispc&&isequal(get(hObject,'BackgroundColor'get(0,'defaultUicontfunctionpushbutton1_Callback(hObject,eventdata,handles)%hObjecthandletopushbutt%eventdatareserved-tobedefinedinafutureversionofMAT捷键与一些电脑小技巧这是高手最常用的第一快捷组合键。这个快捷键组合可以将桌面上的所有窗口瞬间最小化,无论是聊天的窗口还是游戏的窗口……只要再次按下这个组合键,刚才的所有窗口都回来了,而且激活的也正是你最小化之前在使用的窗口!不用再去移动鼠标点“开始→搜索→文件和文件夹”了,在任何状态下,只要一按winkey+f就会弹出还有一个更简单的办法,就是按winkey+r!如果打开的窗口太多,这个组合键就非常有用了,它可以在一个窗口中显示当前打开的所有窗口的名称和图标●,选中自己希望要打开的窗口,松开这个组合键就可以了。而alt+tab+shift键则可以反向显示当前打开的窗口。当你需要打开资源管理器找文件的时候,这个快捷键会让你感觉非常“爽”!再也不用腾出一只手去摸鼠标了!winkey指的是键盘上刻有windows徽标的键●。winkey主要出现在104键和107键的键盘中。104键盘又称win95键盘,这种键盘在原来101键盘的左右两边、ctrl和alt键之间增加了两个windwos键和一个属性关联键。107键盘又称为win98键盘,比104键多了睡眠、唤醒、开机等电源管理键,这3个键F10或ALT放入回收站激活当前程序的菜单栏在win9x中打开关闭程序对话框删除被选择的选择项目,如果是文件,将被放入回收站删除被选择的选择项目,如果是文件,将被直接删除而不是新建一个新的文件保存当前操作的文件剪切被选择的项目到剪贴板CTRL+INSERT或CTRL+C复制被选择的项目到剪贴板SHIFT+INSERT或CTRL+V粘贴剪贴板中的内容到当前位置ALT+BACKSPACE或CTRL+Z撤销上一步的操作ALT+SHIFT+BACKSPACE重做上一步被撤销的操作Windows键+D:最小化或恢复windows窗口Windows键+U:打开“辅助工具管理器”Windows键+EWindows键+RWindows键+BREAKSHIFT+F10或鼠标右击重新将恢复上一项操作前窗口的大小和位置打开资源管理器打开当前活动项目的快捷菜单在放入CD的时候按下不放,可以跳过自动播放CD。在打开word的时候按下不放,可以跳过自启动的宏一个窗口)关闭当前应用程序打开程序最左上角的菜单将windows下运行的MSDOS窗口在窗口和全屏幕状态间切换将当前屏幕以图象方式拷贝到剪贴板将当前活动程序窗口以图象方式拷贝到剪贴板关闭当前应用程序中的当前文本(如word中)切换到当前应用程序中的下一个文本(加shift可以跳到前显示前一页(前进键)显示后一页(后退键)在页面上的各框架中切换(加shift反向)刷新强行刷新2.删除以下文件夹中的内容:x:\DocumentsandSettings\用户名\LocalSettingsTemp\下的所有文件(用户临时文件)x:\DocumentsandScttings川广名\LocalScttings\TemporaryInternctFiles\下的所有文件(页面文件)x:\DocumentsandSettings\用户名\LocalSettingsHistory\下的所有文件(历史纪录)x:\DocumentsandSettings\用户名\Recent\下的所有文件(最近浏览文件的快捷方式)x:WINDOWS\Temp\下的所有文件(临时文件)x:WINDOWS\ServicePackFiles(升级spl或sp2后的备份文件)x:\WINDOWS\DriverCachei386下的压缩文件(驱动程序的备份文件)x:WINDOWS\SoftwareDistribution\download下的所有文件3.如果对系统进行过windoesupdade升级,则删除以下文件:x:windows\下以$u…开头的隐藏文件4.然后对磁盘进行碎片整理,整理过程中请退出一切正在运行的程序个还原点”(最好以当时的口期作为还原点的名字)7、在各种软硬件安装妥当之后,其实XP需要更新文件的时候就很少了。删除系统备份文件吧:开始→运行→sfc.exe/purgecache近3xxM。(该命令的作用是立即清除"Windows文件保护"文件高速缓存,释放出其所占据的空间)9、XP会白动备份硬件的驱动程序,但在硬件的驱动安装正确后,般变动硬件的可能性不大,所以也可以考虑将这个备份删除,文件位于windows\drivercacheli386H录下,名称为driver.cab,你直接将它删除就可以了,通常这个文件是法并不全部都合适自己的使川,比如IMJP8_1日文输入法、IMKR6_1韩文输入法这些输入法,如果用不着,我们可以将其删除。输入法位于\windowsimc\文件11、升级完成发现windows\多了许都千掉吧,1x-3xM都干掉!13、关闭系统还原:系统还原功能使用的时间一长,就会占用大量的硬盘空原。也可仅对系统所在的磁盘或分区设置还原。先选择系统所在的分区,单出”配置"按钮,在弹出的对话框中取消"关闭这个驱动器的系统还原"选项,并可设置用于系统还原的磁盘空间大小。14、休眠功能会占用不少的硬盘空问,如果使用得少不妨将共关闭,关闭的方法是的:打开"控制面板",双击"电源选项",在弹出的"电源选项属性"对话框中选择"休眠"选项下,取消"启用休眠"复选框件有很大一部分是你根木不可能川到的,可以在"添加/删除Windows组件"中将它们卸载。但其中有一些组件XP默认是隐藏的,在"添加/删除Windows组件"川查找/替换功能把文件中的"hide"字符全部替换为空。这样,就把所有组件的隐臧属性都去掉了,存盘退出后再运行"添加-删除程序",就会看见多出不少你原来看不见的选项,把其中那些你用不到的组件删掉(记住存盘的时候要保存为sysoc.inf,而不是默认的sysoc.txt),如Internat信使服务、传真服务、Windowsmessenger,码表等,大约可腾出近50MB的空间。16、清除系统临时文件:系统的临时文件一般存放在两个位置中:一个Windows安装Ⅱ录下的Temp文件夹;另一个是x:DocumentsandSettings"用户名"\LocalSettingsTemp

温馨提示

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

评论

0/150

提交评论