1 / 28
文档名称:

DTW算法原理分析和源码.doc

格式:doc   大小:89KB   页数:28页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

DTW算法原理分析和源码.doc

上传人:511709291 2017/2/2 文件大小:89 KB

下载得到文件列表

DTW算法原理分析和源码.doc

相关文档

文档介绍

文档介绍:引言随着时代的发展,人们越来越注重生活的品质。便捷时尚成为当代人们的追求目标。现在,语音信号处理的技术趋于完善,语音识别技术的应用有两个发展方向:一个是大词汇量连续语音识别系统,主要应用于计算机的听写输入等;另一个是小型化﹑便携式语音模块的应用,如手机的拨号﹑汽车设备的语音控制等方面的应用,这些应用大多都需要使用硬件实现。在此次课程设计中,我们引用现今较为成熟的语音信号处理技术,设计一个简单的非实时语音信号识别系统。其主要技术指标是识别率和计算量,其关键是特征参数的提取和模式识别方法。测试模板将预先录制好的 0-9的语音文件用按键方式输入,经过 A/D 转换芯片 0809 后转化为数字信号,在单片机 AT89C52 中,先用端点检测将语音中有用的语音部分提取出来(即将头部和尾部的静音部分除掉),然后用 LPC 算法提取语音信号的特征参数,进行动态归整(DTW 算法)后与模板库里面的标准语音作比较,最后将识别结果进行 D/A 转化后播放出来。在本部分的设计中,则主要完成语音识别的模式匹配算法部分的软件实现。 1为什么要用 DTW 算法孤立词识别方案主要有: (1)采用动态规划( Dynamic Programming )的方法。这是一种运算量较大,但技术上较简单,正识率也较高的方法。其中的失真测度可以用欧氏距离(适于短时谱或倒谱参数),也可以用对数似然比距离(适于LPC参数).决策方法可用最近邻域准则. ( 2)采用矢量量化(V ector Q uantization ),(FSVQJ )方法,对于语音识别更为有效。决策方法一般用最小平均失真准则。(3)采田隐马尔柯夫横型(HMM) 的方法,该模型的参数既可以用离散概率分布函数,也可以用最新的连续概率密度函数(如:正态高斯密度,高斯自回归密度等)。决策方法则用最大后验概率准则. (4)采用混合技术的方法。例如:用矢量量化作为第一级识别(作为预处理,从而得出若干候选的识别结果),然后,再用 DTW 或 HMM 方法做最后的识别,因此,可有V Q/ DTW 和VQ/ HMM 等识别方法. 目前,语音识别的匹配主要应用 HMM 和 DTW 两种算法。 DTW 算法由于没有一个有效地用统计方法进行训练的框架,也不容易将低层和顶层的各种知识用到语音识别算法中,因此在解决大词汇量、连续语音、非特定人语音识别问题时较之 HMM 算法相形见绌。 HMM 是一种用参数表示的, 用于描述随机过程统计特性的概率模型。而对于孤立词识别,HMM 算法和 DTW 算法在相同条件下, 识别效果相差不大,又由于 DTW 算法本身既简单又有效,但 HMM 算法要复杂得多。它需要在训练阶段提供大量的语音数据,通过反复计算才能得到参数模型,而 DTW 算法的训练中几乎不需要额外的计算。鉴于此,DTW 更适合本系统的要求。 2 DTW 算法原理在孤立词语音识别中,最为简单有效的方法是采用 DTW ( Dynamic Time Warping ,动态时间归整)算法,该算法基于动态规划( DP )的思想,解决了发音长短不一的模板匹配问题,是语音识别中出现较早、较为经典的一种算法。用于孤立词识别, DTW 算法与 HMM 算法在训练阶段需要提供大量的语音数据,通过反复计算才能得到模型参数,而 DTW 算法的训练中几乎不需要额外的计算。所以在孤立词语音识别中, DTW 算法仍然得到广泛的应用。无论在训练和建立模板阶段还是在识别阶段,都先采用端点算法确定语音的起点和终点。已存入模板库的各个词条称为参考模板,一个参考模板可表示为 R={R (1),R(2),……,R(m),……, R(M)},m为训练语音帧的时序标号, m=1 为起点语音帧, m=M 为终点语音帧,因此 M为该模板所包含的语音帧总数, R(m)为第 m帧的语音特征矢量。所要识别的一个输入词条语音称为测试模板,可表示为 T={T (1), T(2), ……,T(n), ……,T(N)},n为测试语音帧的时序标号, n=1 为起点语音帧, n=N 为终点语音帧,因此 N为该模板所包含的语音帧总数,T(n)为第 n帧的语音特征矢量。参考模板与测试模板一般采用相同类型的特征矢量(如 , LPC 系数)、相同的帧长、相同的窗函数和相同的帧移。假设测试和参考模板分别用 T和 R表示,为了比较它们之间的相似度,可以计算它们之间的距离 D[T , R],距离越小则相似度越高。为了计算这一失真距离,应从 T和 R中各个对应帧之间的距离算起。设 n和 m分别是 T和 R中任意选择的帧号, d[T ( n), R( m) ]表示这两帧特征矢量之间的距离。距离函数取决于实际采用的距离度量,在 DTW 算法