ImageVerifierCode 换一换
格式:DOCX , 页数:21 ,大小:148.36KB ,
资源ID:12839762      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/12839762.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(matlab课程设计 2.docx)为本站会员(b****0)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

matlab课程设计 2.docx

1、matlab课程设计 2课程设计任务书学生姓名: 专业班级: 指导教师: 刘 新 华 工作单位:信息工程学院 题 目: 运用MATLAB对语音信号的清音、浊音进行分析1要求完成的主要任务: 对录制的语音信号进行读取,绘制其频谱,区分出清音、浊音1. 课程设计的目的:课程设计的目的之一是为了巩固课堂理论学习,并能用所学理论知识正确分析信号处理的基本问题和解释信号处理的基本现象。课程设计的目的之二是通过设计具体的语音信号变换掌握语音信号处理的方法和步骤。时间安排:序号阶段内容所需时间1方案设计2天2软件设计3天3系统调试2天4答辩1天合 计8天指导教师签名: 年 月 日系主任(或责任教师)签字:

2、年 月 日 目 录摘 要 IAbstrct II1 引言 - 1 -2 语音信号的采集 - 2 -2.1语音采集的准备工作 - 2 -2.2 语音信号的预处理工作 - 2 -3 利用MATLAB进行语音信号的分析处理 - 3 -3.1 利用软件进行声音文件的读取 - 3 -3.2清音浊音的区分处理 - 5 -4心得体会 - 12 -参考文献: - 13 -附件:MATLAB程序 - 14 -摘 要语音信号处理是研究数字信号处理技术对语音信号进行处理的一门学科。而MATLAB又是分析语音信号的有力工具。语音信号处理与我们的生活息息相关,本设计运用MATLAB对语音信号的清音、浊音进行分析。利用M

3、ATLAB提供的各种强大的功能,可以很方便的对语音信号进行分析处理,极大的方便了我们的学习研究,本文就自己如何运用MATLAB进行语音信号分析处理进行说明。语音是人类最重要、最有效、最常用和最方便的交换信息的方式。通过语音我们可以很方便的进行交流,但是就单单语音的传输就是很不方便的,需要对语音信号进行分析和处理,以便于信号的后期处理。本课程设计就语音信号的清音、浊音进行分析,使用MATLAB的一些功能,对录制的语音信号进行读取,绘制其频谱,区分出清音、浊音,其中用到了预加重处理,加窗处理,以及短时能量、短时过零率、短时自相关函数和短时平均幅度差函数等函数,利用这些,可以很方便的区分出所录制语音

4、信号中的清音和浊音成分。关键字:语音信号处理 读取 绘制 AbstrctSpeech signal processing is a subject of study on the processing technology for digital signal processing of speech signal. MATLAB is a powerful tool for the analysis of speech signal. Speech signal processing is closely linked with our life, the use of MATLAB des

5、ign of speech signal, and voiced analysis. MATLAB for the use of powerful functions, which is convenient for the analysis processing of speech signals, greatly facilitate the learning of our research, this article itself how to use MATLAB for speech signal analysis and processing are described. Spee

6、ch is the exchange of information the most important, the most effective, the most commonly used and most convenient way. Through the voice we can easily communicate, but only the voice transmission is very inconvenient, the need for analysis and processing of speech signal processing, in order to f

7、acilitate signal. This course is designed to analyze the speech signal surd, dullness, some functions using MATLAB, read the speech signal recording, rendering the spectrum, distinguishes surd, dullness, which uses the pre-emphasis, windowing, and short-time energy, short-time zero-crossing rate, sh

8、ort-time autocorrelation function and average magnitude difference function and other functions, the use of these, can easily distinguish the recorded sound and speech from speech signal. Keywords: speech signal processing to read drawing1 引言MATLAB是矩阵实验室(Matrix Laboratory)的简称,是美国MathWorks公司出品的商业数学软件

9、,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。 MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。 MATLAB和Mathematica、Map

10、le并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连 接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。 MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C+ ,JAVA的支持。可以直接调用,用户也

11、可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。2 语音信号的采集2.1语音采集的准备工作 进行语音处理首先要进行信号的采集工作,本次语音信号的采集工作是用MP3进行录音的,采集到的语音格式为WAV格式的,但由于采集的信号有较高的采样率,不能直接被MATLAB处理,需要进行转换,其具体的流程图如下图2-1所示:图2-1 如上图所示,先是音源发去声音,被设备的拾音处采集,但不可避免的拾音头出拾取环境噪音,但是经内部电路处理后,可以把环境噪音很好的抑制(MP3内部有去噪电路),最后得到较为理想的音

12、频文件。2.2 语音信号的预处理工作上面所说的,MP3采集到的语音信号不能直接被MATLAB直接识别,需要先转换,这里使用软件对其进行转换,使用的是一款全能音频转换软件,转换后可以直接识别(对于本次命名为1.WAV),但是要注意录制语音信号的长度,过长也不能很好的识别,做完这些工作后,再在桌面上建立一个工作文件夹,将所录制的语音信号放入其中,以便后续MATLAB软件的读取。下面再分析一下语音信号的特点,通过对大量语音信号的观察和分析发现,语音信号主要有下面两个特点:1)在时域内,语音信号具有“短时性”的特点,即在总体上,语音信号的特征是随着时间而变化的,但在一段较短的时间间隔内,语音信号保持平

13、稳。在浊音段表现出周期信号的特征,在清音段表现出随机噪声的特征。2)在频域内,语音信号的频谱分量主要集中在3003400Hz的范围内。利用这个特点,可以用一个防混叠的带通滤波器将此范围内的语音信号频率分量取出,然后按8kHz的采样率对语音信号进行采样,就可以得到离散的语音信号。 而对于语音信号的时域分析,它是分析和提取语音信号的时域参数。进行语音分析时,最先接触到并且也是最直观的是它的时域波形。语音信号本身就是时域信号,因而时域分析是最早使用,也是应用最广泛的以中国分析方法,这种方法直接利用语音信号的时域波形。时域分析通常用于最基本的参数分析及应用,如语音的分割、预处理、大分等。这种分析方法的

14、特点是:1)表示语音的信号比较直观、物理意义明确。2)实现起来比较简单、运算量少。3)可以得到语音的一些重要参数。语音信号的时域参数有短时能量、短时过零率、短时自相关函数和短时平均幅度差函数等,这是语音信号的一组最基本的短时参数,在各种语音信号数字处理技术中都有应用。在计算这些参数时使用的一半是方窗或汉明窗。短时能量和短时平均幅度函数的主要用途有:可以区分浊音段和清音段,因为浊音时能量值比清音时大的多。短时过零率是信号波形经过零点的机率,对于浊音主要集中在低频,而清音在频率较高的频段,这样一来对于清音来说有较高的过零率,这可以用来区分清音浊音3 利用MATLAB进行语音信号的分析处理3.1 利

15、用软件进行声音文件的读取 对于上面的准备好的文件便可以用MATLAB进行处理了,首先是声音的读取,及所录声音的回放。具体这一段程序如下所示:x,fs=wavread( F:DMDownLoad1.wav ); %读取语音信号的数据, sound(x,fs); %播放语音信号N=128;n=0:N-1;X=fft(x); magX=abs(X); %求幅值figure(1);subplot(2,1,1);plot(x); %画原始信号波形图xlabel(样点数);ylabel(幅值);title(原始语音信号波形);grid on;subplot(2,1,2);plot(magX); %画原始信

16、号频谱图axis(0,70000,-5,500);xlabel(频率(Hz);ylabel(幅值);title(原始语音信号频谱);grid on;所得得波形如图3-1所示:图3-13.2清音浊音的区分处理进行清音浊音的分析,首先对语音信号分析一下。语音信号是一种非平稳的时变信号,它携带着各种信息。在语音编码、语音合成、语音识别和语音增强等语音处理中无一例外需要提取语音中包含的各种信息。语音信号分析的目的就在于方便有效的提取并表示语音信号所携带的信息。首先预加重处理,预加重的目的是为了提升高频部分,使信号的频谱变得平坦,保持在低频到高频的整个频带中,能用同样的信噪比求频谱,以便于频谱分析或声道

17、参数分析。通俗的说,预加重部分就是设计数字滤波器,常采用的是:H(z)=1-u/z其中,u取接近于1的值,常取0.91之间的值。图3-2为了便于处理,需要对语音信号进行加窗,通过对发声机理的认识,语音信号可以认为是短时平稳的。在550ms的范围内,语音频谱特性和一些物理特性参数基本保持不变。我们将每个短时的语音称为一个分析帧。一般帧长取1030ms。我们采用一个长度有限的窗函数来截取语音信号形成分析帧。通常会采用矩形窗和汉明窗。图3-3给出了这两种窗函数在帧长N=50时的时域波形。图 3-3 矩形窗和Hamming窗的时域波形矩形窗的定义:一个N点的矩形窗函数定义为如下 ; hamming窗的

18、定义:一个N点的hamming窗函数定义为如下;这两种窗函数都有低通特性,通过分析这两种窗的频率响应幅度特性可以发现(如图3-4):矩形窗的主瓣宽度小(4*pi/N),具有较高的频率分辨率,旁瓣峰值大(-13.3dB),会导致泄漏现象;汉明窗的主瓣宽8*pi/N,旁瓣峰值低(-42.7dB),可以有效的克服泄漏现象,具有更平滑的低通特性。因此在语音频谱分析时常使用汉明窗,在计算短时能量和平均幅度时通常用矩形窗。最后的表格对比了这两种窗函数的主瓣宽度和旁瓣峰值。图3-4 矩形窗和Hamming窗的频率响应下表为矩形窗和hamming窗的主瓣宽度和旁瓣峰值窗函数主瓣宽度旁瓣峰值矩形窗4*pi/N-

19、13.3dBhamming8*pi/N-42.7dB还有一个比较好的区分清音浊音的方法过零率。过零率可以反映信号的频谱特性。当离散时间信号相邻两个样点的正负号相异时,我们称之为“过零”,即此时信号的时间波形穿过了零电平的横轴。统计单位时间内样点值改变符号的次数具可以得到平均过零率。定义短时平均过零率:nxm-sgnx(m-1)|w(n-m); 其中为符号函数,在矩形窗条件下,可以简化为短时过零率可以粗略估计语音的频谱特性。由语音的产生模型可知,发浊音时,声带振动,尽管声道有多个共振峰,但由于声门波引起了频谱的高频衰落,因此浊音能量集中于3KZ以下。而清音由于声带不振动,声道的某些部位阻塞气流产

20、生类白噪声,多数能量集中在较高频率上。高频率对应着高过零率,低频率对应着低过零率,那么过零率与语音的清浊音就存在着对应关系。.图3-5为这次语音在矩形窗条件下求得的短时平均过零率。可知清音的短时能量较低,过零率高,浊音的短时能量较高,过零率低。清音的过零率为0.5左右,浊音的过零率为0.1左右,但两者之间有相互交叠的区域,所以单纯依赖于平均过零率来准确判断清浊音也是不太实际的,在实际应用中往往是采用语音的多个特征参数进行综合判决。 图3-5 另外语音信号的能量随时间变化,清音和浊音之间的能量差别也是相当显著的。因此用此对语音的短时能量进行分析,可以描述语音的这种特征变化情况。定义短时能量为:=

21、;其中N为窗长。特殊地,当采用矩形窗时,可简化为: ;在用短时能量反映幅度变化时,不同的窗函数以及相应窗的长短均有影响。汉明窗的效果比矩形窗略好。但是,窗的长短影响起决定性作用。窗过大(N 很大),等效于很窄的低通滤波器,不能反映幅度En的变化;窗过小( N 很小),短时能量随时间急剧变化,不能得到平滑的能量函数。在44100Hz左右的采样频率下,N 选为400800比较合适。 图3-6图3-7除了上面的预加重处理,加窗处理,短时过零率,短时平均能量函数外,短时幅度函数,还有自相关函数可以反映清音浊音的区别。下面对自相关函数的作用机理进行一下说明,自相关函数用于衡量信号自身时间波形的相似性。清

22、音和浊音的发声机理不同,因而在波形上也存在着较大的差异。浊音的时间波形呈现出一定的周期性,波形之间相似性较好;清音的时间波形呈现出随机噪声的特性,样点间的相似性较差。因此,我们用短时自相关函数来测定语音的相似特性。短时自相关函数定义为: ; 令m=n+m,并且w(-m)=w(m),则可以得到:;4心得体会经过几天的忙碌,终于完成这次课程设计,感觉到有些东西不亲自弄一下是不能真正了解的, 就像有些概念,刚开始感觉就应该是这样理解的,真正到弄的时候才知道原来自己的想法是有偏差的。脑子里想的始终和实际的有一定差距的,这次设计中没少翻书,上网查资料,对好多知识的理解还是不到位,掌握的还是不牢靠,得在今

23、后的学习中更加深一步,及对以前学过的内容做好复习工作才能更好的拥有知识。这期间和同学讨论过在程序编写中如何实现某些功能,通过几次讨论又学到了不少知识,深刻领会到讨论问题的重要性。总的来说,经过这次课程设计对不少知识都有了一个新的认识,对以前的知识也是一个很好的巩固,同时也了解到不少新知识。通过这次课程设计收获很多。参考文献:1 赵力著.语音信号处理(第2版)M.机械工业出版社.2010.2 胡航著.语音信号处理(第四版)M.哈尔滨工业大学出版社.2009.3 张雄伟等著.现代语音处理技术及应用M.机械工业出版社.2009.附件:MATLAB程序x,fs=wavread(F:DMDownLoad

24、1.wav); %读取语音信号的数据,赋给变量x1,%sound(x,fs); %播放语音信号N=128;n=0:N-1;X=fft(x); %进行fft变换magX=abs(X); %求幅值figure(1);subplot(2,2,1);plot(x); %画原始信号波形图xlabel(样点数);ylabel(幅值);title(原始语音信号波形);grid on;subplot(2,2,2);plot(magX); %画原始信号频谱图axis(0,70000,-5,500);xlabel(频率(Hz);ylabel(幅值);title(原始语音信号频谱);grid on;%*语音信号的预

25、处理* xx=double(x);xx=filter(1 -0.98,1,xx); % 一阶FIR滤波器来实现预加重处理%sound(xx,fs); %播放预加重处理后的语音信号subplot(2,2,3);plot(xx); %画预加重处理后信号波形图xlabel(样点值);ylabel(幅值);title(加重语音信号波形图);grid on;y=fft(xx); %进行fft变换mag=abs(y); %求幅值subplot(2,2,4);plot(mag); %画预加重处理后信号频谱图axis(0,70000,-2,100);xlabel(频率(Hz);ylabel(幅值);title

26、(加重语音信号频谱图);grid on;%*短时平均能量分析* s=fra(800,400,x); %对输入信号进行分帧s2=s.2; %一帧内各样点能量enery=sum(s2,2); %一帧能量figure(2);subplot(4,1,1); plot(x); %画原始信号波形图xlabel(样点数);ylabel(幅值);title(原始语音信号波形);grid on;subplot(4,1,2);plot(enery); %画N=800时的语音能量谱xlabel(帧数);ylabel(短时能量E);title(短时平均能量);grid on;%*短时平均幅度函数* s=fra(800

27、,400,x); %对输入信号进行分帧s3=abs(s); avap=sum(s3,2); subplot(4,1,3);plot(avap); %画N=800时短时平均幅度函数xlabel(帧数);ylabel(短时能量E);title(短时平均能量);grid on;%*短时平均过零率分析* s=fra(800,400,x); %对输入信号进行分帧zcr=zcro(s); %求过零率%subplot(4,1,4);plot(zcr); %画N=440时的语音信号过零率xlabel(帧数);ylabel(过零次数);title(信号的过零率);grid on;%浊音,取13270-13510

28、个点%短时自相关函数temp=x(13271:13510);Rn1=zeros(1,240);for nn= 1:240,for ii= 1:240-nn, Rn1(nn) =Rn1(nn)+ temp(ii)*temp(nn+ii);endend figure(2)set(2,Position,400,35,350,650) subplot(4,1,1)jj=1:240;plot(jj, Rn1,b);grid %短时平均幅度差函数Yn1=zeros(1,240);for nn=1:240,for ii=1:240-nn,Yn1(nn) =Yn1(nn)+ abs(temp(ii)-temp

29、(nn+ii);endendfigure(2)subplot(4,1,2)jj=1:240;plot(jj, Yn1,b);grid %清音,取12120-12360个点%短时自相关函数temp=x(12121:12360);Rn2=zeros(1,240);for nn=1:240,for ii=1:240-nn,Rn2(nn) =Rn2(nn)+ temp(ii)*temp(nn+ii);endendfigure(2)subplot(4,1,3)jj=1:240;plot(jj, Rn2,b);grid%短时平均幅度差函数Yn2=zeros(1,240);for nn=1:240,for

30、ii=1:240-nn,Yn2(nn) =Yn2(nn)+ abs(temp(ii)-temp(nn+ii);endendfigure(2)subplot(4,1,4)jj=1:240;plot(jj, Yn2,b);grid本科生课程设计成绩评定表姓 名性 别男专业班级 通信1201班题 目:运用MATLAB对语音信号的清音、浊音进行分析答辩或质疑记录:1. 声音如何获取?答:先录制一份MP3格式的音频文件,然后用格式工厂软件将其转换为WAV格式,然后用wavread函数读取其语音信号。2. 预加重处理有什么作用?答:为了提升高频部分,使信号的频谱变得平坦,保持在低频到高频的整个频带中,能用同样的信噪比求频谱,以便于频谱分析或声道参数分析。3. 矩形窗和汉明窗有什么特点?答:矩形窗

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1