共振峰检测算法研究与实现

共振峰检测算法研究与实现[20191212180220]
摘 要
共振峰是反映声道谐振特性的重要特征,它代表了发音信息的最直接的来源,而且人在语音感知中利用了共振峰信息。所以共振峰是语音信号处理中非常重要的特征参数,已经广泛地用作语音识别的主要特征和语音编码传输的基本信息。
目前的提取语音共振峰的方法比较多,常用的方法有倒谱法、LPC法。倒谱法是采取同态解卷技术,经过同态滤波后得到平滑的谱来提取共振峰。因为去除了激励引起的谐波波动,所以可以更精确的得到共振峰参数。LPC法是从线性预测导出的声道滤波器估计频谱包络。线性预测提供了一个优良的声道模型,尽管线性预测法的频率灵敏度和人耳不相匹配,但它仍是目前最廉价最优良的行之有效的方法。
论文首先介绍了共振峰的一些基础知识,并对上面两种共振峰提取方法进行详细介绍,最后完成了对上述两种算法的程序设计,利用MATLAB对上述算法进行仿真实验以及对两种算法的实验结果进行分析对比。
 查看完整论文请+Q: 351916072 
关键字:共振峰;LPC;倒谱;MATLAB
目 录
摘 要 III
ABSTRACT IV
第一章 绪论 1
一、引言 1
二、课题简介 1
(一)、课题研究背景与发展现状 1
(二)、课题的主要内容 2
(三)、论文章节安排 3
第二章 相关理论知识介绍 4
一、语音信号处理的基础知识 4
(一)、共振峰的概述 4
(二)、语音信号的预处理 5
(三)、线性预测的基本原理 6
(四)、语音信号的倒谱分析 8
二、共振峰检测算法 12
(一)、全极点多项式的根(LPC)法 12
(二)、倒谱(CEP)法 14
(三)、峰值检测 15
第三章 MATLAB软件平台介绍 16
一、MATLAB开发环境 16
二、MATLAB的特点 17
三、MATLAB的应用 17
四、语音信号处理常用函数 17
第四章 编程实现与仿真结果 19
一、LPC法编程实现 19
(一)、具体实现 19
(二)、仿真结果 22
二、倒谱法编程实现 24
(一)、具体实现 24
(二)、仿真结果 25
三、两种算法的性能比较 27
(一)、性能比较 27
(二)、两种方法的应用 27
总结 29
参考文献 30
致 谢 31
附录:MATLAB程序源代码 33
第一章 绪论
一、 引言
人们讲话时发出的声音叫语音,它是一种声音,具有称为声学特征的物理特性。然而它又是一种特殊的声音,是人们进行信息交流的声音,是组成语言的声音。因此,语音是声音和语言的组合体。
语音是人类相互之间进行交流时最常用、最方便、最有效和最重要的信息载体,语音信号是人们构成思想疏通和感情交流的最主要的途径。在高度信息化的今天,用现代手段研究语音处理技术,使人们能更加有效地产生、传输、存储、获取和应用语音信息,这对于促进社会的发展具有十分重要的意义[4]。
语音信号分析是语音信号处理的前提和基础,只有分析出可表示语音信号本质的参数,才有可能利用这些参数进行高效的语音通信、语音合成和语音识别等处理。而且,语音合成的音质好坏,语音识别率的高低,也都取决于语音信号分析的准确性和精确性。因此语音信号分析在语音信号处理应用中具有举足轻重的地位。共振峰是语音信号处理中非常重要的特征参数,已经广泛的应用于语音识别的主要特征和语音编码传输的基本信息。
二、 课题简介
(一)、课题研究背景与发展现状
共振峰是反映声道谐振特性的重要特征,它代表了发音信息的最直接的来源,而且人在语音感知中利用了共振峰信息。所以共振峰是语音信号处理中非常重要的特征参数,已经广泛地用作语音识别的主要特征和语音编码传输的基本信息。共振峰信息包含在频率包络之中,因此共振峰参数提取的关键是估计自然语音频谱包络,一般认为谱包络中的最大值就是共振峰。与基因检测类似,共振峰估计也是表面上看起来很容易,而实际上又受很多问题困扰。这些问题包括:
(1)虚假峰值。在正常情况下,频谱包络中的极大值完全是又共振峰引起的。但在线性预测分析方法出现之前的频谱包络估计器中,出现虚假峰值是相当普遍的现象。甚至在采用线性预测方法时,也并非没有虚假峰值。为了增加灵活性会给预测器增加2~3个额外的极点,有时可利用这些极点代表虚假峰值。
(2)共振峰合并。相邻共振峰的频率可能会靠的太近而难以分辨。这时会产生共振峰合并现象,而探讨一种理想的能对共振峰合并进行识别的共振峰提取算法存在很多实际困难。
(3)高音调语音。传统的频谱包络估计方法是利用由谐波峰值提供的样点。高音调语音的谐波间隔比较宽,因而为频谱包络估值所提供的样点比较少,所以谱包络的估计就不够精确。即使采用线性预测进行频谱包络估计也会出现这个问题。在这样的语音中,线性预测包络峰值趋向于离开真实位置,而朝着最接近的谐波峰位移动。
基于线性预测(LPC)的共振峰提取方法。一种有效的频谱包络估计方法是从线性预测分析角度推导出声道滤波器,根据这个声道滤波器找出共振峰。虽然线性预测法也有一定的缺点,如其频谱灵敏度于人耳不想匹配。但对于许多应用来说,它仍然是一种行之有效的方法。线性预测共振峰通常有两种途径可供选择:一种途径是利用一种标准的寻找复根的程序计算预测误差滤波器的根,称为求根法;另一种途径是找出由预测其导出的频谱包络中的局部极大值,称为选峰法。而倒谱法是利用声道响应的倒谱衰减很快,在[-25 25] 之外的值非常少,因此可以构造一个相应的倒谱滤波器,将声道的倒谱分离,对分离出来的倒谱做相应的反变换,就可以得到声道函数的对数谱,对此做进一步的处理即可求得所需的各个共振峰。
(二)、课题的主要内容
本人在本科毕业设计阶段主要完成本课题的以下工作:
1、了解语音信号处理相关参数,学习与共振峰检测算法相关的基本理论知识,包括语音信号的分析,语音信号的预处理,LPC法和倒谱法进行共振峰检测的算法。并通过阅读大量相关方面的书籍与文献资料,完善算法内容。
2、熟悉Matlab编程环境
3、编程实现语音信号的LPC法和倒谱法的共振峰检测,绘制出共振峰跟踪效果图(逐帧),并且对两种算法的性能进行比较。
(三)、论文章节安排
全文具体章节安排如下:
第一章:绪论。首先简述了语音信号处理以及共振峰检测的相关基本概念,其次对共振峰检测的研究背景与发展现状进行了说明,最后介绍了论文的主要内容与章节安排。
第二章:相关理论知识介绍。首先简述了语音信号处理的基础知识,包括语音信号的数学模型、语音信号的倒谱分析、线性预测的基本原理等内容;其次介绍了共振峰频率检测算法基本思想和实现方法;然后,再对LPC法共振峰检测和倒谱法共振峰检测的原理以及实现进行详细介绍,并进行优缺点分析;最后对MATLAB软件平台进行了简单介绍。
第三章:编程实现与仿真结果。该章节内容对编程实现共振峰检测的过程进行了介绍,其中主要介绍LPC法共振峰检测及倒谱法共振峰检测的算法思想与实现。并对不同的语音信号进行MATLAB仿真实验,对比实验结果后得出相关结论。
第二章 相关理论知识介绍
一、 语音信号处理的基础知识
(一)、共振峰的概述
共振峰是指在声音 的频谱 中能量 相对集中的一些区域,共振峰不但是音质的决定因素,而且反映了声道(共振腔)的物理特征。声音在经过共振腔时,受到腔体的滤波作用,使得频域中不同频率的能量 重新分配,一部分因为共振腔的共振作用得到强化,另一部分则受到衰减,得到强化的那些频率在时频分析 的语图上表现为浓重的黑色条纹。由于能量 分布不均匀,强的部分犹如山峰一般,故而称之为共振峰。
在人声和大多数乐器的很宽的频谱分布中都存在一些固定的频率峰值,这种频率峰值在声音频谱中就叫做共振峰。
共振峰的分布位置是建立在声音 产生媒介的共鸣物理结构基础上的。无论是人声还是乐器,它们的声音特性都源自两个因素,一个是发声系统,如人的声带或乐器的振动 簧片,另一个是共鸣系统。乐器不同的共鸣系统使其在一定频域中的分音的振幅 得以突出,这样,这些区域就产生了这个乐器所特有的共振峰值,这些共振峰值同共鸣体的大小、形状的材料密切相关。由于一件乐器的结构是稳定的,因此在一件乐器发出的所有音调 中,不论基频 如何,都会表现出相同的共振峰值,只不过其显著性有强有弱罢了。这就可以帮助我们解释为什么在很多的乐器中,同一乐器所发出的不同音调 具有相同的音质
在语音声学中,人声也同样受自身生理如鼻孔、咽腔、口腔大小的影响有自身的共振峰区。通过利用这些共鸣空间的形状和大小不同的变化(例如改变咽喉、嘴形),我们就能改变声音的共振峰。我们之所以能够区分不同的人声、元音,主要也是依靠它们的共振峰分布的位置。
共振峰反映了声道谐振特性的重要特点,它代表了发音信息的最直接的来源。改变共振峰可以产生所有的原音和某些辅音,在共振峰中也包含辅音的重要信息。人在语音感知中也利用了共振峰信息,所以共振峰已经广泛应用于语音识别的主要特征和语音编码传输的基本信息。
一个语音的共振峰模型,只用前三个时变共振峰频率就可以得到可懂度很好的合成浊音。共振峰信息包含在语音信号的频谱包络中,谱包络的峰值基本对应于共振峰频率,因此一切共振峰估计都是直接或间接地从频谱包络进行考察,关键是估计语音频谱包络。语音信号共振峰的估计,在语音信号合成、语音信号自动识别和低比特率语音信号传输等方面都起着重要作用。
如下图2.1所示利用频谱傅里叶变换相应的低频部分进行逆变换,就可以得到语音频谱的包络曲线。依据频谱包络线各峰值能量的大小可以确定出第1~第4共振峰。
图2.1 语音信号产生的离散时域模型
(二)、语音信号的预处理
语音信号从整体来看其特征及表征其本质特征的参数均是随时间而变化的,所以它是个非平稳态过程,不能用处理平稳信号的数字信号处理技术进行分析处理。但是在一个短的时间范围内(一般认为在10~30ms的短时间内),语音信号的特性基本保持相对稳定,因而可以将其看作一个准稳态过程,即语音信号具有短时平稳性。针对这一短时特性,任何语音信号的分析和处理都要进行分帧,也就是将语音信号分为一段一段来分析其特征参数,其中每一段称为一“帧”,帧长一般取10~30ms[8]。
信号分帧加窗处理一般采用交叠分段的方法,这是为了使帧和帧之间平滑过渡,保持其连续性。前一帧和后一帧的交叠部分称为帧移。帧移与帧长的比值一般取为0~1/2。分帧是用可移动的的有限长度窗口进行加权的方法实现的,即用一定的窗函数w(n)来乘s(n),从而形成加窗语音信号Sw (n)= s(n)* w (n)。
在语音信号处理中常用的窗函数是矩形窗和汉明窗等,他们的表达式[1]如下(其中N为帧长):
矩形窗: (2-1)
汉明窗: (2-2)
窗函数w(n)的选择(形状和长度),对于短时分析参数的特性有重要影响。为此应选择合适的窗口,使其短时参数能更好地反映语音信号的特性变化。数字信号处理理论告诉我们,两个信号的时域相乘,在频域相卷积,矩形信号频谱高频成分必将影响语音信号的高频部分,一般用高频分量幅度较小的窗形,以避免这些影响。汉明(Hamming)窗的带宽是矩形窗的两倍,但带外衰减却比矩形窗大得多。这样看来,根据处理的要求,只要以不影响或少影响处理需要的语音特性为标准来选择窗形较为适宜。本文在进行共振峰检测时主要采用汉明窗和矩形窗,窗长视帧长和采样频率而定。

版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/dzxx/gdxx/470.html

好棒文