为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

matlab语音信号处理

2017-10-20 42页 doc 343KB 54阅读

用户头像

is_321575

暂无简介

举报
matlab语音信号处理matlab语音信号处理 ... 本 科 毕 业 设 计 题目:基于Matlab的语音信号处理 姓 名 学 院 信息与电气工程学院 专 业 通 信 工 程 年 级 200级 学 号 指导教师 2012 年 5月 23日 页脚. ... 独 创 声 明 本人郑重声明:所呈交的毕业论文(设计),是本人在指导老师的指导下,独立进行研究工作所取得的成果,成果不存在知识产权争议。尽我所知,除文中已经注明引用的内容外,本论文(设计)不含任何其他个人或集体已经发表或撰写过的作品成果。对本文的研究做出重要贡献的个...
matlab语音信号处理
matlab语音信号处理 ... 本 科 毕 业 设 计 题目:基于Matlab的语音信号处理 姓 名 学 院 信息与电气工程学院 专 业 通 信 工 程 年 级 200级 学 号 指导教师 2012 年 5月 23日 页脚. ... 独 创 声 明 本人郑重声明:所呈交的毕业论文(设计),是本人在指导老师的指导下,独立进行研究工作所取得的成果,成果不存在知识产权争议。尽我所知,除文中已经注明引用的内容外,本论文(设计)不含任何其他个人或集体已经发表或撰写过的作品成果。对本文的研究做出重要贡献的个人和集体均已在文中以明确方式标明。 此声明的法律后果由本人承担。 作者签名: 二〇一二 年 五 月 二十 日 毕业论文(设计)使用授权声明 本人完全了解鲁东大学关于收集、保存、使用毕业论文(设计)的规定。 本人愿意按照学校要求提交论文(设计)的印刷本和电子版,同意学校保存论文(设计)的印刷本和电子版,或采用影印、数字化或其它复制手段保存论文(设计);同意学校在不以营利为目的的前提下,建立目录检索与阅览服务系统,公布论文(设计)的部分或全部内容,允许他人依法合理使用。 (保密论文在解密后遵守此规定) 论文作者(签名): 二〇一二 年 五 月 二十日 页脚. ... 毕业设计选题 姓性学信息与电气年学 男 2008级 200 名 别 院 工程学院 级 号 基于Matlab的语音信号处理 设计题目 课题来源 教师推荐 课题类别 应用研究 选做本课题的原因及条件分析: 随着现代科学技术和计算机技术的发展,除了人与人的自然语言的沟通,人机对话和智能机领域也开始使用语言。这些人造的语言拥有词汇,语法,语法结构和语义内容等。控制论创始人维纳在1950年曾经指出:“通常,我们把语言仅仅看做人与人之间的通信手段,但是,要使人向机器、机器向人及机器向机器讲话,那也是完全办得到的。在人机对话中使用的语言为数字语音信号,要想更充分的了解语音信号,那么对语音信号的分析就必不可少了。 此次设计为基于Matlab的语音信号处理,通过Matlab的仿真绘图,我们可以清楚的了解到语音信号的特性,从而设计出更好的人机语言。 指导教师意见: 此毕业设计对语音信号的特性做了详细的分析,让我们能直观的看到语音信号的各个特性,如短时能量函数,短时自相关函数,基音周期和功率谱等。选题内容较为合理,有较好的研究价值,对深入的学习语音信号,了解语音信号有很大的帮助,符合设计相关的要求,同意选题。 签名: 年 月 日 院(系)毕业论文(设计)领导小组意见: (公章) 年 月 日 页脚. ... 毕业设计任务下达书 学院 信息与电气工程学院 专业 通信工程 学号 2008000000 姓名 00000 现将毕业设计任务下达书发给你。毕业设计任务下达书内容如下: 一、 毕业设计题目 基于MATLAB的语音信号处理 二、 主要内容 1.本文基于Matlab的语音信号处理包括短时能量分析、短时自相关分析、AMDF 法提取基音周期、谱估计等; 2.论文设计,参考文献的简介,作者简单介绍等; 3.程序模块功能设计,完成各个功能所需代码。 三、 具体要求 设计当中借鉴参考文献的内容要在正文当中标注清楚,外文资料翻译部分要做到 准确无误,所查阅文献要确保是正版权威的文献,写作时要严格按照大学毕业论文的 格式来写,同时还要保证在设计过程中不抄袭,杜绝学术造假现象。正文内容的字数 要达到8000字及以上。 四、 主要参考文献 [1] 张雪英. 数字语音处理[M]. 北京: 电子工业出版社, 2010. [2] 薛年喜. MATLAB在数字信号处理中的应用[M].北京:清华大学出版社,2003. [3] 胡航. 语音信号处理[M]. 哈尔滨: 哈尔滨工业大学出版社, 2000. 五、 进程安排 阶 段 起 止 日 期 主 要 内 容 2011.11.18-2012.3.7 准备开题阶段 熟悉选题,查找阅读相关资料。 2012.3.8-2012.4.30 设计实现阶段 根据选题要求提取各种用信息,完成论文总体框架。 说明书完成阶段 2012.5.1-2012.5.20 修改论文,在老师指导下调试程序,完成总体设计。 2012.5.21-2012.5.27 阶段 在老师指导下进行最后一次精心修改,完成了终稿。 六、 毕业设计任务下达书于2012年 1 月 6日发出。毕业设计应于2012 年 5 月20日前 完成后交指导教师,由指导教师评阅后提交毕业设计答辩委员会。 七、 毕业设计任务下达书一式两份,一份给学生,一份留学院存档。 指导教师: 签发于 2012 年 1 月 6 日 分管院长: 签发于 年 月 日 页脚. ... 毕业设计开题报告 预计 学 姓性信息与电气年学完成 男 2008级 2008 2012.5.20 名 别 工程学院 级 号 院 时间 基于Matlab的语音信号处理 设计题目 课题来源 教师推荐 课题类别 应用研究 指导教师 白艳梅 毕业设计实施: 第一阶段:开题 在做好需求分析的基础上,深入了解语音信号处理的知识,学会应用MATLAB对语音信号进行分析; 第二阶段:综合分析 完成语音信号处理论文的内容设计,完成MATLAB对语音信号分析的编码仿真,并截取仿真结果; 第三阶段:修改完善设计 在初步完成的基础上,查看所做设计是否完善,功能是否欠缺,后充实内容,各种操作能否达到预期效果,如内容是否连贯,程序是否正确,能否正常运行等; 第四阶段:完成设计,对完成的设计进行最后的试用并修改细节; 第五阶段:完成论文,定稿。 设计主要内容(提纲): 1、语音信号的获取与分析; 2、主要进行语音信号的短时能量分析、短时自相关分析、AMDF法提取基音周期以及谱估计; 3、设计程序,完成各个分析所需的代码; 4、分析仿真结果,得出结论。 指导教师意见: 学生对于MATLAB较为熟悉,可以实现语音信号的基本仿真,整个实施方案过程合理清晰,步骤合理,阶段任务明确;设计内容完整、科学,符合设计的相关要求,已经具备了开题的条件,同意开题。 签名: 2012 年 3 月 12 日 学院毕业论文(设计)领导小组意见: (公章) 年 月 日 签名: 年 月 日 页脚. 年 月 日 ... 毕业设计结题报告 信息与电气工姓名 性别 男 学院 年级 2008级 学号 20082 程学院 设计题目 基于Matlab的语音信号处理 课题来源 教师推荐 课题类别 应用研究 指导教师 白艳梅 本课题完成情况介绍(包括研究过程、实验过程、结果分析、存在的问题及应用情况等。) 通过学习语言信号处理的相关课程,学习了语音信号处理的基础、原理、方法及应用,通过MATLAB对自己的录音进行了短时能量分析、自相关分析、AMDF法提取基音周期还有谱估计等。通过此次毕业设计,我明白了只有准确分析并提取出语音信号的特征参数,才能够利用这些参数进行语音编码、语音合成等处理,因此基音周期的提取十分重要,AMDF法提取基音周期还存在一些缺陷,当语音信号的幅度变化过快时,AMDF法提取的基音周期精度下降,从而影响了识别的准确率,这有待于我更进一步的学习。 指导教师意见: 本此设计基本上完成了对语音信号的处理与仿真,通过软件的仿真了解了语音信号的的特征,如何对语音信号进行短时能量分析,短时自相关分析,AMDF法提取基音周期和谱估计等,从而深入了解了语音信号的特性,对语音信号的处理有了更加直观的认识。同意结题。 签名: 2012年 5 月 23 日 学院毕业论文(设计)领导小组意见: (公章) 年 月 日 设计成绩 页脚. ... 毕业设计成绩评定表 学院:信息与电气工程学院 学号:20082312579 姓 名 设计总成绩: 设计题目 基于MATLAB的语音信号处理 指 导 教 师 评 语 评定成绩: 签名: 年 月 日 评 阅 人 评 评定成绩: 签名: 年 月 日 语 答 辩 小 组 评 语 答辩成绩: 组长签名: 年 月 日 注:1、论文(设计)总成绩=指导教师评定成绩(50%)+评阅人评定成绩(20%) +答辩成绩(30%) 2、将总成绩由百分制转换为五级制,填入本表相应位置。 页脚. ... 目 录 1 引言 ........................................................................................................................................ 1 2本文主要工作及仿真软件MATLAB .................................................................................... 3 2.1本文主要工作 ................................................................................................................... 3 2.2 MATLAB简介和选择MATLAB的原因 ....................................................................... 3 3语音信号的特点 ..................................................................................................................... 4 4 语音信号的处理 .................................................................................................................... 4 4.1语音信号分析技术 ........................................................................................................... 4 4.2语音信号的时域分析 ....................................................................................................... 5 4.2.1 MATLAB的简单应用 .............................................................................................. 5 4.2.2 短时能量分析 ........................................................................................................... 7 4.2.4短时自相关分析 ........................................................................................................ 8 4.3 AMDF法提取基音周期................................................................................................. 11 4.3.1基音提取 .................................................................................................................. 11 AMDF法提取基音周期 .......................................................................................... 11 4.3.2 4.4 功率谱估计 .................................................................................................................... 13 4.4.1功率谱估计的概述 .................................................................................................. 13 4.4.2直接法 ...................................................................................................................... 13 4.4.3间接法 ...................................................................................................................... 15 4.4.4 Welch法 ................................................................................................................... 17 5 结束语 .................................................................................................................................. 18 参考文献 .................................................................................................................................. 18 致 谢 ........................................................................................................................................ 19 页脚. ... 基于Matlab的语音信号处理 XXX (信息与电气工程学院,通信工程专业,2008级2班,2008200000) 摘 要:语音信号处理与数字信号处理、心理学、语言学、模式识别、计算机科学和人工智 能等相结合的交叉学科,是目前发展最为迅速的信息科学研究领域中的一个,是目前极为活跃和热 门的研究领域,其研究设计一系列前况科研课题,且处于迅速发展之中,其研究成果具有重要的学 术及应用价值。语音采集和分析仪器的小型化、智能化、数字化以及多功能化的发展越来越快,分 析速度较以往也有了大幅度的高。本文通过应用MATLAB对语音信号进行处理仿真,包括短时能 量分析、短时自相关分析、AMDF法提取基音周期、谱估计等。 关键词:语音信号;语音信号处理;Matlab Based on Matlab Digital Processing of Speech Signals Abstract: The voice signal processing and digital signal processing, cross-discipline, a combination of psychology, linguistics, pattern recognition, computer science and artificial intelligence is one of the fastest growing area of scientific research is extremely active and popularareas of research, research and design a series of former status of research projects, and in the rapid development of its research results have important academic value.Speech acquisition and analysis instrument miniaturization, intelligence, digital and multi-purpose of the development of faster and faster analysis speed than in the past has also been substantial. In this paper the speech signal processing using MATLAB simulation, including short-term energy analysis, short-term autocorrelation analysis, AMDF method to extract the pitch period, spectral estimation, and so on. Key words: voice signal; digital processing of ppeech pignals; matlab 1 引言 人类交换信息最方便的、最快捷的一种方式是语言,在高度发达的信息社会中,用 数字化的方法进行语音的识别、合成、增强、传送和储存等是整个数字化通信网中最重 要、最基本的组成部分之一。数字电话通信、高音质的窄带语音通信系统、智能机器人、 声控打字机、语言学习机、自动翻译机等,都要用到语音信号处理技术,随着现在集成[1]电路和微电子技术的飞速发展,语音信号处理系统逐步走向实用化。 页脚. ... 语音信号处理是一个新兴的交叉学科,是语音和数字信号处理两个学科的结合产物。与认知科学、心理学、语言学、计算机科学、模式识别和人工智能学科有着密切的联系。语音信号处理技术的发展依赖于这些学科的发展,语音信号处理技术的进步也将促进这些领域的进展。 语音信号处理目的是得到一些语音特征参数,以便高效的传输或存储,或通过某种处理以达到特定目的,如语音合成,辨识出讲话者、识别出讲话的内容等。 随着现代科学技术和计算机技术的发展,除了人与人的自然语言的沟通,人机对话和智能机领域也开始使用语言。这些人造的语言拥有词汇,语法,语法结构和语义内容等。控制论创始人维纳在1950年曾经指出:“通常,我们把语言仅仅看做人与人之间的通信手段,但是,要使人向机器、机器向人及机器向机器讲话,那也是完全办得到 [1]的”,一般的语音信息交换大致可以分为三类: ?人与人之间的语音通信:它包括语音压缩与编码、语音增强等。 ?第一类人机语言通信的问题,指机器讲话、人听话的研究,即语音合成。 ?第二类人机语言通信的问题,指人讲话、机器听话的情况,即语音识别和理解。 上述这些应用程序构成的语音信号处理技术的主要内容。早在两千多年前,人们便进行了语言的学习。因为缺乏适当的设备,长期以来,一直由耳听和用口模仿来研究。因此,这种语言的研究通常被称为“口耳学校,所以对于语言仅仅停留在定性描述上。 语音信号处理的研究可以追溯到1876年贝尔电话的发明,其在真正意义上首次用声电,电声转换技术实现了远距离语音传输。 1939年Homer Dudley提出并研制成功第一个声码器,奠定了语音产生模型的基础。这项发明在语音信号处理领域具有划时代意义。 19世纪60年代,赫姆霍兹用声学的方法对元音和唱歌进行研究,奠定了基础语言的声学基础。在20世纪40年代,一种语言声学的专用仪器 – 语谱图仪问世。它可以让你把语音的时变频谱用语图表示出来,得到一个“可见的语言”。 1984年Haskins实验室研制成功“语音回放机,此仪器可以自动转换手工绘制的语谱图成为语言,并进行语音合成。在20世纪50年代对语言产生的声学理论有了系统描述。随着计算机的出现,语音分析技术可以在电子计算机上进行,在此基础上,语音信号处理无论是在基础研究或在技术应用,都已取得了突破性进展。以下讨论的语音信号的三个主要分支的发展和当前状态处理(语音合成,语音编码和语音识别技术) 语音合成技术,第一个合成器是在1835年由W.von Kempelen发,经过Weston改进的机械讲话机。机器完全模仿人的生理过程,分别应用了特别设计的哨和软管模拟肺部空气动力、模拟口腔。Homer Dudley在1939年发明了第一台电子语音合成器,它不是一个简单的生理过程的模拟,而是在电子电路基础上来实现语音产生源 – 滤波器理论。 语音编码的目的就是在保证一定语音质量的前提下,尽可能降低编码比特率,以节 [1]省频率资源。语音编码技术的研究开始于1939年, Homer Dudley提出并实现了在低带宽电话电报上传输语音信号的通道声码器,第一个研制成功了语音编码技术。到20世纪70年代,国际电联于1972年发布了64kbit/s脉冲编码调制(PCM)语音编码算法的G.711建议,它被广泛应用于数字交换机、数字通信等领域,从而占据统治地位。在1995年11月ITU-T SG15全会上共轭代数码激励线性预测(CS-ACELP)的8kbit/s语音编码G.729建议被通过,并于1996年6月ITU-T SG15会议上通过G.729附件A:减页脚. ... 少复杂度的8kbit/s CS-ACELP语音编解码器,正式成为国际。这几种语音编码算 [1]法也成为分组化语音通信的可选算法。 语音识别的研究开始于20世纪50年代贝尔实验室的Audry系统,它是第一个可以识别10个英文数字的语音识别系统, 1959年Fry和Denes等人采用频谱分析和模式匹配来进行识别决策构建音素识别器来辨别9个辅音和4个元音。20世纪60年代末单语音识别的研究取得实质性进展,并将其作为一个重要的课题。一方面是因为计算机的计算能力有了迅速的提高,计算机能够提供实现复杂算法的硬件、软件;另一方面,数字信号处理在当时有了蓬勃发展,从而自20世纪60年代末开始引起了语音识别的研究热潮。动态规划(DP)和线性预测编码(LPC)分析技术就是在这时期提出的,其中线性预测编码较好地解决了语音信号产生模型的问题,对语音识别、语音合成、语音分析、语音编码的研究发展产生了重大的影响。 在20世纪70年代末和80年代初,Buzo、Linda、Gray等人解决了矢量量化码本生成的方法,并将应用到语音编码中,从此矢量量化技术很快被推广应用。从20世纪80年代开始,语音识别研究进一步深入,更多地追求从整体统计的角度来建立语音识别系统。HMM技术就是一个典型技术。在20世纪80年代末,美国卡内基梅陇大学用VQ/HMM实现997个词的非特定人连续语音识别系统SPHINX成为世界上第一个高性能的非特定人、大词汇量、连续语音识别系统。这些研究让语音识别进入了新时代。 2本文主要工作及仿真软件MATLAB 2.1本文主要工作 本文简要介绍了语音信号处理的发展史以及语音信号处理分析方法,获取一段wav格式的声音文件,运用Matlab进行仿真分析,包括短时能量分析、短时自相关分析、AMDF法提取基音周期、谱估计等。MATLAB 是美国MathWorks公司出品的商业数学软件,用于数据可视化、算法开发、数值计算及数据分析以的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。 2.2 Matlab简介和选择Matlab的原因 MATLAB产生于1982年,是一种效率高、功能强的数值计算和可视化计算机高级语言,它将信号处理、数值分析和图形显示结合一体,形成了一个极其方便又强大的操作环境。 通过MATLAB可以对数字化的语音信号进行时频域分析。通过MATLAB可以方便地展现语音信号的时域及频域曲线,并且根据语音的特性对语音进行分析。例如,请浊音的幅度差别、语音信号的端点、信号在频域中的共振峰频率、加不同窗和不同窗长对信号的影响、LPC分析、频谱分析等。 页脚. ... 通过MATLAB可以对数字化的语音信号进行估计和判别。例如,根据语音信号的短时参数,一级不同语音信号的短时参数的性质对一段给定的信号进行有无声和请浊音的判断、对语音信号的基音周期进行估计等。 通过利用MATLAB编程对语音信号进行处理。由于MATLAB是一种面向科学和工程计算的高级语言,允许用数学形式的语言编程,又有大量的库函数,所以编程简单、编程效率高、易学易懂。我们可以对信号进行加噪去噪、滤波、截取语音等,也可进行语音编码、语音识别、语音合成的编程等。 3语音信号的特点 通过采集大量语音信号的观察和分析,发现语音信号主要有下面两个特点: ?在频域内,语音信号的频谱分量主要集中在300Hz,3400Hz的范围之内。利用这个特点,可以用一个防混迭的带通滤波器将此范围内的语音信号频率分量取出,然后按8kHz的采样率对语音信号进行采样,就可以得到离散的语音信号。 ?在时域内,语音信号具有“短时性”的特点,即在整体上,语音信号的特征是随着时间变化而变化的,但在一段较短的时间间隔内,语音信号保持平稳。在浊音段表现出信号的周期特性,在清音段表现出随机噪声的特征。 4 语音信号的处理 4.1语音信号分析技术 语音信号的分析是语音信号处理的基础和前提,语音通信、语音合成和语音识别这些技术只有在分析出可表示语音信号本质特征的参数,才能利用这些参数进行高效的处理。而且,语音信号分析的准确性和精确性也决定了语音合成的音质好坏。因此,在语音信号处理应用中语音信号分析具有十分重要的地位。 语音分析中使用到的是“短时时间分析技术”。之所以不能用处理平稳信号的数字信号处理技术对它进行分析,是因为语音信号的属性和特征是随时间变化而变化的,它是一个非平稳态的过程。然而,由于不同的语音由口腔肌肉通过运动产生的声音,口腔肌肉运动的频率相对声音频率反应是很慢的,所以另一方面,虽然声音信号有时变性,但在短期的时间内,它的基本特征保持不变,即是相对稳定的,因此,可以将语音信号看成是一个准稳态过程,即语音信号具有短时平稳特性。所以语音信号的分析和处理一般建立在短时的基础上,进行短时分析,将语音分成多段,每一段为一帧,帧长一般取10-30ms。这样,每一帧的语音信号为稳定的,然后将每一帧的分析结果组成一个整体 [3]即为整体的语音信号特征参数。 根据分析参数的性质,语音信号分析划分成时域分析,频域分析,同态分析等,本文将简要介绍短时能量分析,短时自相关分析,AMDF方法提取基音周期,谱估计等。 页脚. ... 4.2语音信号的时域分析 语音信号的时域分析是分析和提取语音信号的时域参数。语音分析时,第一次接触到的且也是最直观的是时域波形。语音信号本来就是时域信号,因此时域分析是最早的,也是最广泛使用的分析方法,这种方法是直接使用的语音信号时域波形。通常用于时域分析基本的参数分析,如语音分割,预处理,大型分类。这种分析方法的特点是:(1)表示语音信号更直观,清晰的物理意义。 (2)实施相对简单,运算少。 (3)可以得到一些语音的重要参数。(4)只使用一般的简单设备,如示波器。 语音信号时域参数包括短时能量,短时过零率,短时自相关函数和短时平均幅度差函数等等,这是一个基本的短时参数,在各种语音信号处理中都有重要的应用。 4.2.1 MATLAB的简单应用 在语音信号处理中将会用到MATLAB,MATLAB是一种功能强大、效率高、交互性好的数值计算和可视化计算机高级语言,通过MATLAB可以对数字化的语音信号进行时频域分析。通过MATLAB可以方便地展现语音信号的时域及频域曲线,并且根据语音的特性对语音进行分析。例如短时能量分析,短时自相关分析等,通过MATLAB也可以对数字化的语音信号进行估计和判别。例如AMDF法提取基音周期,谱估计等。 下面对一语音绘制其原始信号波形、原始信号频谱、原始信号幅值和原始信号相位,以此来简单介绍MATLAB的使用。(注:本文使用的是MATLAB 2009) 打开MATLAB,单击文件(File),选择新建选项(New),在右弹窗选择建立空白M文件(Blank M-File)如图4.1; 图4.1 MATLAB主界面 在打开的M文件里,将程序写入,注意输入法要用英文输入法。将程序写入后,单机保存按钮,选择要保存的文件夹,保存好后,单击Debug选择运行如图4.2 页脚. ... 图4.2 MATLAB的M文件界面 运行后,若出现错误返回主界面找到错误的地方(Error in==>yuanshi at 4 magXabs(x);)表示第四行“magXabs(x);”语句错误如图4.3,单击后到M文件修改此语句为“magX=abs(x)”,调试后运行,得到最终结果。如图4.4 图4.3 程序错误时MATLAB的主界面 页脚. ... 图4.4 语音信号分析结果 4.2.2 短时能量分析 因为语音信号的能量是随时间变化的,清音信号和浊音信号之间的能量差别相当显著。因此,对语音的短时能量进行分析,可以描述语音的这种特征变化情况。定义短时能量为: ,n22Exmwnmxmwnm,,,,[()()][()()],,n 1mmnN,,,,,,, 其中N为窗长。特殊地,当采用矩形窗时,可简化为: ,2Exm,(),n m,,,, 也可以从另外一个角度来解释。令 2h(n),,(n) , E则可表示为: n ,,22E,x(m)h(n,m),x(n)*h(n) , n, m,,, 可以理解为:首先语音信号各个样点值平方,然后通过一个冲击响应为h(n)的滤波器,输出为由短时能量构成的时间序列。 页脚. ... 短时能量的计算直接受冲击响应的选择即窗函数的选择的影响。如果冲击响应的幅度是恒定的,它的序列长度N(即窗长)会很长,将其等效为非常窄的低通滤波器,这 2时冲击响应对产生的平滑的作用比较明显,使短时能量基本没有很大的变化,将x(n) 不能表现出语音的时变的特性。相反,如果冲击响应的序列长度过于小,等效窗就不能提供出够用的平滑,以导致语音的振幅在瞬时的变化的许多细节仍被留了下来,进而不能看出振幅包络变化的规律,一般我们要求窗长是几个基音周期的数量级。 图4.5为采样率8000Khz,16位,单声道的一个语音信号在不同矩形窗长时的短时能量函数,我们会发现:语音信号的幅度变化在被短时能量所反映时,窗长的长短都有影响。 短时能量函数的应用: (1)可用于区分清音段与浊音段。En值大对应于浊音段,En值小对应于清音段。 (2)可用于区分浊音变为清音或清音变为浊音的时间(根据En值的变化趋势)。 (3)对高信噪比的语音信号,也可以用来区分有无语音(语音信号的开始点或终 止点)。无信号(或仅有噪声能量)时,En值很小,有语音信号时,能量显著增大。 图4.5 不同矩形窗长的短时能量函数 4.2.4短时自相关分析 对于确定性信号序列,自相关函数定义为 页脚. ... ,, , R(k),x(m)x(m,k),m,,, 对于随机性信号序列或周期性信号序列,自相关函数的定义为 ,1, R(k),x(m)x(m,k),2N,1m,,, 自相关函数具有以下几项性质: ?若序列是周期性的(假设序列周期为),那么其自相关函数也是具有相同周期Np 的周期函数,即R(k)=R(k+) Np ?自相关函数是偶函数,即R(k)=R(-k) ?当k=0时,自相关函数有极大值,即 R(0),R(k) ?R(0)为随机性序列的平均功率或确定性信号序列的能量。 自相关函数的上述性质,完全可以适用于语音信号的时域分析中。例如,浊音语音波形序列具有周期性,因此可用自相关函数求出这个周期,即是基音周期。此外,自相关函数也可用在语音信号的线性预测分析中。 短时自相关函数的定义如下 , , ,,,,,,,,,,k,xmwn,mxm,kwn,m,k,Rnm,,, *,,,,w,m,m令,并且,可以得到: m,n,mw ,**k,xn,mmxn,m,km,k,,,,,,,,,,,,,,,wwRnm,,,, N,1,k**,,,,,,,,,,,,,xn,mmxn,m,km,k,wwm,0 图4.6是观察清音短时自相关的函数的波形,图4.7是在不同的矩形窗窗长条件下的浊音的短时自相关的函数的波形。对两图分析可得:清音信号的短时自相关函数的波形不具有周期性,也没有明显的峰值,且随着延时k的增大迅速变小,因此其接近于随机噪声;浊音是具有周期性的信号,浊音信号的周期为自相关函数的周期,由此可知,语音信号的性质是浊音还是清音,如果是浊音,还可以得出它的基音周期,它的基音周期可由自相关函数波形中的第一个峰值的位置来估计。所以,自相关函数常用作一下两种作用: (1)区分语音信号是清音还是浊音; (2)估计浊音语音信号的基音周期。 页脚. ... 图4.6 不同矩形窗下清音的短时自相关函数 页脚. ... 图4.7 不同矩形窗长条件下的浊音的短时自相关函数 4.3 AMDF法提取基音周期 4.3.1基音提取 声带振动频率的倒数即为基音周期。语音信号的基音检测的是一个重要的工作。然而,基音检测实际上是相当困难的。这是因为声门激励信号不是一个完整的周期序列,在信号开头和结束部分没有声带振动那种周期性,清音和有的浊音的过渡帧是难以判断是否有周期的;同时语音共振峰严重影响激励信号的谐波结构,因为话音信号具有音调变化的特性;另外,人的基音周期波动比较大,从50—500Hz。 基音提取的方法大致可分为以下三类:?波形估计法。直接由语音波形来估计基音周期,分析出语音波形上的周期峰值。?相关处理法。在语音信号处理中大多使用这种方法,因为这种方法抗波形的相位失真强,另外这种方法在硬件处理上结构简单。?变换法。将语音信号变换到频域或倒谱域来估计基音周期。本文将主要介绍AMDF法提取基音周期。与自相关法相比,AMDF方法具有运算量小、精度高等优点,在语音编码中得到广泛应用。 传统的平均幅度差函数(Average Magnitude Difference Function ,AMDF) 是由Ross等人于1974提出的 ,其定义为: 1 nF(k),S(n),S(n,k), , nN 其中s(n) 为离散化的语音采样序列,若采用短时处理方法加方窗时 ,上式变成: N,k,1 F(k),S(m,k),S(m),, nnn m,0 4.3.2 AMDF法提取基音周期 提取基音周期的方法一直以来就饱受关注, 提取基音周期通常分两种方法: 第一种是非基于事件的方法,第二种是基于事件的方法。其中非基于事件的提取方法一般是先将语音分成长度一定的语音帧, 然后对每一帧的语音求平均基音周期。这些方法主要有: ( 1 ) 倒谱法; ( 2 ) 自相关法; ( 3 ) 平均幅度差法(AMDF)。其中AMDF 法相对于常用的基音估计器, 它不会涉及乘除, 相比基于相关、基于同态信号处理等比较适合应用在嵌入式系统等平台上。 AMDF 法的思想是: 如果信号是一个标准的周期函数, 那么不同基音周期段的对 [4]应信号之差为零。浊音是一个准周期语音信号,在一帧长度的语音信号内基音周期接近恒定, 那么在不同基音周期段内,对应信号之差应该很小; 但是清音信号因为它接近于随机噪声所以不具备上述的特点。在AMDF 方法中, 短时平均幅度差函数定义 L1AMDFD,(),S,S,,,,,,,?, ,,,minmin,1maxjjL,1j 页脚. ... 其中为语音采样序列N为样本点总数;和为基音周S(S),(S,S,?S),,jj12Nmaxmin期范围的最大值和最小值,L为基音周期的计算范围。若语音采样率为8KHz,则取 ,L=350,即基音周期为5ms-50ms,样本计算范围为30ms。 ,,200,,20,maxmin 基音周期: ,maxAMDFAMDFT,argMIN[D(,)], p,,,min, 与短时自相关函数相比不同点是: AMDF函数进行基音周期估计时是寻找最低谷点的位置,而自相关函数进行基音周期估计时寻找最大峰值点的位置,在同一时间,AMDF函数的谷值是比自相关的高峰值更加尖锐的,所以误判率比自相关函数较小,其稳定性相对自相关函数较高。当语音信号为清音时,AMDF函数没有明显的波谷值。截取一段浊音信号和清音信号,对其应用AMDF法,如图4.8是清音信号与其AMDF函数,图4.9是浊音信号与其AMDF函数。 图4.8 清音信号及其AMDF函数 页脚. ... 图4.9浊音信号及其AMDF函数 4.4 功率谱估计 4.4.1功率谱估计的概述 功率谱估计技术已经有很长的历史了,近几十年来又得到了快速的发展,功率谱估计的内容和方法不断更新变换。通常的,功率谱估计方法可分为两种:现代谱估计法和经典谱估计法。而经典谱估计法又可分为两种:直接法与间接法;现代谱估计大致分为AR模型参数法、MUSIC法、MTM法、还有特征向量法等。 4.4.2直接法 直接法又称为周期图法,是由舒斯特在1898年提出。直接法是直接由傅里叶变换 x(n)得到:先将语音信号x(n)的N点样本值看成是能量的有限信号,然后对其进行傅Njw里叶变换,得出,再去它的的幅值的平方,并除以N得出x(n)的真实功率谱估X(e)N 计,即: ,12j,P(e),X(,), NN 下图4.10为一语音信号的功率谱估计。 页脚. ... 图4.10 周期图法中当N=10240时功率谱估计 图4.11 周期图中当N=1024时功率谱估计 页脚. ... 图4.12 周期图法当N=126时功率谱估计 由上面3个图可以看出,用周期图法估计得出的功率谱很不平滑,相应的用周期图法估计的协方差比较大。而且采样点的增加也不能让周期图变得更平滑,这是周期图法 [2]的缺点。周期图法得出的估计谱方差特性不好:当数据长度N过大时,图谱线的起伏加剧;N太小时谱线的分辨率又差。要对其改进,一是实现平滑,平滑是用算出的功率,jwjw谱P(e)与一个合适的窗函数进行卷积,可使谱线平滑,用这种方法得出的谱W(e)X 估计方差小且是无偏的,但是分辨率下降。二是实现平均,平均是将截取的数据段x(n)N再分成M个小段,然后再分别计算每小段的功率谱后取平均功率谱,这样减少了估计的方差,但是使分辨率下降且加大了估计的偏差。 4.4.3间接法 间接法,又称之为自相关法,是由布来拉克曼与图基在1958年首先提出的。它是 R(m)R(m)由随即信号N个值估计出自相关函数,然后再求的傅里叶变换得出功率NN 谱估计 M,jw,,jnM,N,1 S(e),R(m)eX,N ,,,mM 下图为用间接法对一语音信号的功率谱估计 页脚. ... 图4.13 间接法M趋近N-1时的功率谱图 图4.14 间接法M小于N-1时的功率谱 当M=N-1时,间接法与周期图法估计出的功率谱是一样的;当 M < N-1 时,用间接法估计的偏差要比周期图法高,在窗函数满足一定条件时是渐进无偏估计;方差小于周期图的方差;分辨率比周期图法低,与窗函数的选择有关。 页脚. ... ,, R(m)R(m)间接法的缺点:当 M趋近N 时, 的方差很大,使谱估计的质量下降;由 , S(w)得到的可能为负值,从而失去了功率谱估计的实际意义。 4.4.4 Welch法 在上文说到直接法的缺点,现在比较常用的改进方法是Welch法,又叫加权交叠平均法,这种方法以加窗(加权)求取平滑,以分段重叠求得平均,因此集平均与平滑的优点于一体,同时也不可避免带有两者的缺点,因此归根到底是一种折中。其主要步骤是: (1)将N长的数据段分成L个小段,每小段M点,相邻小段间交叠M/2点(即2:1分段)。因为L(M/2)+M/2=N,所以段数 N,M/2L,M/2, (2)对各小段加同样的平滑窗后起傅氏变换 M,1jw,jwnX(e),x(n)ax(n)e,i,1,...L,,iin,0, (3)用下式求各小段功率谱的平均 l,211jwjwS(e),X(e)i,iLMU,i1, 这里, 代表窗函数平均功率,MU是M长窗函数的能量。图4.15为用welch方法进行谱估计的结果。 页脚. ... 图4.15 矩形窗处理下的Welch法功率谱估计 5 结束语 随着语音技术的逐渐成熟, 语音信号处理技术也在不断发展,不断完善。本文主要介绍短时能量分析、短时自相关分析、AMDF法提取基音周期、直接法与间接法功率谱估计等。 通过这次的学习,使我进一步了解了语音信号的特性,了解了语音信号的分析方法。这次设计让我更加深入了解了MATLAB的使用方法,学会了用短时分析技术对语音信号进行分析,明白了只有准确分析并提取出语音信号的特征参数,才能够利用这些参数进行语音编码、语音合成等处理,因此基音周期的提取十分重要,AMDF法提取基音周期还存在一些缺陷,当语音信号的幅度变化过快时,AMDF法提取的基音周期精度下降,从而影响了识别的准确率,这有待于我更进一步的学习。功率谱估计在数字信号处理中占有很重要的地位,MATLAB工具箱让程序设计变为了简单易懂的函数调用,为信号的功率谱估计开辟了新的简洁途径。因此,近一步的加强对MATLAB的研究对我以后的学习会起到很大的帮助。 参考文献 [1] 张雪英. 数字语音处理[M]. 北京: 电子工业出版社, 2010. [2] 薛年喜.MATLAB在数字信号处理中的应用[M].北京:清华大学出版社,2003. 页脚. ... [3] 胡航. 语音信号处理[M]. 哈尔滨: 哈尔滨工业大学出版社, 2000. [4] 易克初, 田斌, 付强. 语音信号处理[M]. 北京: 国防工业出版社, 2000. [5] 宋宁,关华. 经典功率谱估计及其仿真[J]. 现代电子技术, 2008. [6] 万永革. 数字信号处理的MATLAB实现[M]. 北京: 科学出版社~2007. [7] 刘卫国. MATLAB程序设计与应用[M]. 北京: 高等教育出版社~2006. [8] 王嘉梅. 基于MATLAB的数字信号处理与时间开发[J]. 西安:西安电子科技大学出 版社~2007. [9] 程佩青.数字信号处理,第二版,[M].北京:清华大学出版社~2010 [10] 韩纪庆 张磊 郑铁然.语音信号处理[M].北京:清华大学出版社~2004 致 谢 本课题在设计和论文的写作过程中,都得到了指导老师白艳梅的悉心指导。从课题的选择到论文的最终完成,白艳梅老师始终都给予了我细心的指导,并且在耐心指导论文之余,白艳梅老师仍不忘关心我们的未来,询问我们的工作情况,教导我们找工作的放向与技巧,这些都让我们获益菲浅,并且将终生受用无穷。毕竟“经师易得,人师难求”,希望借此机会向白艳梅老师表示最衷心的感谢~ 在最后,我要感谢我的爸妈,是你们赋予了我生命,没有你们就没有我的今天,愿你们永远健康快乐。在论文即将完成之际,我的心情无法平静,从开始进入课题到论文的顺利完成,有多少可敬的师长、同学、朋友给了我无言的帮助,在这里请接受我诚挚谢意~ 附录A 原始信号 [x,fs,bits]=wavread('zhuoyin',[1024 2120]); sound(x,fs,bits); X=fft(x,3096); magX=abs(X); angX=angle(X); subplot(221);plot(x);title('原始信号波形'); subplot(222);plot(X); title('原始信号频谱'); subplot(223);plot(magX);title('原始信号幅值'); subplot(224);plot(angX);title('原始信号相位'); 附录B 短时能量 x=wavread('beiyong.wav'); %计算N=50,帧移=50时的语音能量 s=fra(50,50,x) %对输入的语音信号进行分帧,其中帧长50,帧移50 s2=s.^2; %一帧内各样点的能量 energy=sum(s2,2) %求一帧能量 subplot(2,2,1) %定义画图数量和布局 plot(energy) %画N=50时的语音能量图 页脚. ... xlabel('帧数') %横坐标 ylabel('短时能量E') %纵坐标 legend('N=50') %曲线标识 axis([0,1500,0,40]) %定义横纵坐标范围 %计算N=100,帧移=100时的语音能量 s= fra(100,100,x) s2=s.^2; energy=sum(s2,2) subplot(2,2,2) plot(energy) %画N=100时的语音能量图 xlabel('帧数') ylabel('短时能量') legend('N=100') axis([0,750,0,80]) %定义横纵坐标范围 %计算N=400,帧移=400时的语音能量 s=fra(400,400,x) s2=s.^2; energy=sum(s2,2) subplot(2,2,3) plot(energy) %画N=400时的语音能量图 xlabel('帧数') ylabel('短时能量') legend('N=400') axis([0,190,0,200]) %定义横纵坐标范围 %计算N=800,帧移=800时的语音能量 s=fra(800,800,x) s2=s.^2; energy=sum(s2,2) subplot(2,2,4) plot(energy) %画N=400时的语音能量图 xlabel('帧数') ylabel('短时能量') legend('N=800') axis([0,95,0,400]) %定义横纵坐标范围 %其中fra()为分帧函数,其MATLAB程序如下: function f=fra(len,inc,x) %对读入语音分帧,len为帧长;inc为帧重样点数;x为 %输入语音数据 fh=fix(((size(x,1)-len)/inc)+1) %计算帧数 f=zeros(fh,len); %设一个零矩阵,行为帧数,列为帧长 i=1;n=1; while i<=fh %帧间循环 j=1; while j<=len %帧内循环 f(i,j)=x(n); 页脚. ... j=j+1;n=n+1; end n=n-len+inc; %下一帧开始位置 i=i+1; end 附录C 短时自相关分析 x= wavread('zhuoyin.wav'); s1=x(1:320); N=320; %选择的窗长,加N=320的矩形窗 A=[]; for k=1:320; sum=0; for m=1:N-(k-1); sum=sum+s1(m)*s1(m+k-1); %计算自相关 end A(k)=sum; end for k=1:320 A1(k)=A(k)/A(1); %归一化A(k) end N=160; %选择的窗长,%加N=160的矩形窗 B=[]; for k=1:320; sum=0; for m=1:N-(k-1); sum=sum+s1(m+k-1); %计算自相关 end B(k)=sum; end for k=1:320 B1(k)=B(k)/B(1); %归一化B(k) end N=70; %选择的窗长,加N=70的矩形窗 C=[]; for k=1:320; sum=0; 页脚. ... for m=1:N-(k-1); sum=sum+s1(m)*s1(m+k-1); %计算自相关 end C(k)=sum; end for k=1:320 C1(k)=C(k)/C(1); %归一化C(k) end s2=s1/max(s1) figure(1) subplot(4,1,1) plot(s2) title('语音信号') xlabel('样点数') ylabel('幅值') axis([0,320,-2,2]) subplot(4,1,2) plot(A1) xlabel('延时k') ylabel('R(k)') axis([1,320,-2,2]); legend('N=320') subplot(4,1,3) plot(B1); xlabel('延时k') ylabel('R(k)') axis([1,320,-2,2]); legend('N=160') subplot(4,1,4) plot(C1); xlabel('延时k') ylabel('R(k)') axis([0,320,-2,2]); legend('N=70') 附录D AMDF法提取 b=wavread('zhuoyin.wav'); b1=b(1:640); 页脚. ... N=320; A=[]; for k=1:320; sum=0; for m=1:N; sum=sum+abs(b1(m)-b1(m+k-1)); end A(k)=sum; end s=b(1:320) figure(1) subplot(2,1,1) plot(s); xlabel('样点') ylabel('?幅度') axis([0,320,-2*10^3,2*10^3]) subplot(2,1,2) plot(A); xlabel('延时k') ylabel('AMDF') axis([0,320,0,3.5*10^5]) 附录E 功率谱估计 %直接法 Fs=8000; %采样频率 nFFT=10240; n=0:1/Fs:1; %产生含有噪声的序列改变n的取值范围观察图形的变换 x=wavread('zhuoyin.wav'); X=fft(x,nFFT); Pxx=abs(X).^2/length(n); t=0:round(nFFT/2-1); k=t*Fs/nFFT; P=10*log(Pxx(t+1)); plot(k,P); %间接法 Fs=8000; %采样频率 页脚. ... nFFT=1023; n=0:1/Fs:1; %产生含有噪声的序列改变n的取值范围观察图形的变换 x=wavread('zhuoyin.wav'); Cx=xcorr(x,'unbiased'); Cxk=fft(Cx,nFFT); Pxx=abs(Cxk);%求解PSD t=0:round(nFFT/2-1); k=t*Fs/nFFT; P=10*log(Pxx(t+1)); %纵坐标的单位为dB plot(k,P); %Welch法 Fs=8000; nfft=1024; t=0:1/Fs:1; xn=wavread('zhuoyin.wav'); X=fft(xn,nfft); window=boxcar(100); %矩形窗 noverlap=20; %数据无重叠 [Pxx,f1]=pwelch(xn,window,noverlap,nfft,Fs); PXX=10*log10(Pxx); plot(f1,PXX); title('矩形窗'); xlabel('频率(Hz)'); ylabel('功率谱(dB)'); 页脚.
/
本文档为【matlab语音信号处理】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索