1 / 43
文档名称:

语音识别算法及其实现.doc

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

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

分享

预览

语音识别算法及其实现.doc

上传人:luciferios04 2021/4/3 文件大小:279 KB

下载得到文件列表

语音识别算法及其实现.doc

文档介绍

文档介绍:一、概述
. 选题意义
目前,高科技发展迅速,日新月异,而因为实际需要,各种防盗技术也日趋多样化。其中智能人声防盗系统引起了我们的兴趣,因此我们选了语音识别算法及其实现这一课题,来探究一下语音识别的原理及其实现过程。语音识别研究的根本目的是研究出一种具有听觉功能的机器,能直接接受人的口呼命令,理解人的意图并做出相应的反映。语音识别系统的研究涉及微机技术、人工智能、数字信号处理、模式识别、声学、语言学和认知科学等许多学科领域,是一个多学科综合性研究领域。近年来,高性能数字信号处理芯片DSP技术的迅速发展,为语音识别的实时实现提供了可能。其中,凌阳公司的单片机以其良好的性价比和代码的可移植性被广泛地应用于各个领域。因此,我们采用凌阳公司的具有DSP功能和语音特色的完全SOC技术的凌阳十六位单片机来实现语音信号的识别。个人收集整理 勿做商业用途
. 实验目的文档来自于网络搜索
1、掌握特定人语音辨识技术。 文档收集自网络,仅用于个人学****br/>2、可以应用于简单语音控制场合。 个人收集整理 勿做商业用途
二、算法原理
. 语音识别的基本过程个人收集整理 勿做商业用途
根据实际中的应用不同,语音识别系统可以分为:特定人与非特定人的识别、独立词与连续词的识别、小词汇量与大词汇量以及无限词汇量的识别。但无论那种语音识别系统,其基本原理和处理方法都大体类似。一个典型的语音识别系统的原理图如图1所示。 文档收集自网络,仅用于个人学****br/> 语音识别过程主要包括语音信号的预处理、特征提取、模式匹配几个部分。预处理包括预滤波、采样和量化、加窗、端点检测、预加重等过程。语音信号识别最重要的一环就是特征参数提取。提取的特征参数必须满足以下的要求: 个人收集整理 勿做商业用途
(1)提取的特征参数能有效地代表语音特征,具有很好的区分性; (2)各阶参数之间有良好的独立性; 资料个人收集整理,勿做商业用途
(3)特征参数要计算方便,最好有高效的算法,以保证语音识别的实时实现。 文档来自于网络搜索
在训练阶段,将特征参数进行一定的处理后,为每个词条建立一个模型,保存为模板库。在识别阶段,语音信号经过相同的通道得到语音特征参数,生成测试模板,与参考模板进行匹配,将匹配分数最高的参考模板作为识别结果。同时,还可以在很多先验知识的帮助下,提高识别的准确率。个人收集整理 勿做商业用途
. 语音识别的DSP实现技术文档来自于网络搜索
2.21. 浮点运算的定点实现 文档来自于网络搜索
在语音识别的算法中,有许多的浮点运算。用定点DSP来实现浮点运算是在编写语音识别程序中需要首先解决的问题。这个问题可以通过数的定标方法来实现。数的定标就是决定小数点在定点数中的位置。Q表示法是一种常用的定标方法。其表示机制是: 资料个人收集整理,勿做商业用途
设定点数是J,浮点数是f,则Q法表示的定点数与浮点数的转换关系为: 浮点数f转换为定点数x:x= (int)y×2Q;定点数z转换为浮点数y:y =(float)x×2-Q。 个人收集整理 勿做商业用途
2.22. 数据精度的处理 个人收集整理 勿做商业用途
用16b的定点DSP实现语音识别算法时,虽然程序的运行速度提高了,但是数据精度比较低。这可能由于中间过程的累计误差而引起运算结果的不正确。为了提高数据的运算精度,在程序中采用了以下的处理方法: 文档来自于网络搜索
(1)扩展精度 在精度要求比较高的地方,将计算的中间变量采用32b,甚至48b来表示。这样,在指令条数增加不多的情况下却使运算精度大大提高了。 资料个人收集整理,勿做商业用途
(2)采用伪浮点法来表示浮点数 文档收集自网络,仅用于个人学****br/> 伪浮点法即用尾数+指数的方法来表示浮点数。这时,数据块的尾数可以采用Q1.15数据格式,数据块的指数相同。这种表示数据的方法有足够大的数据范围,可以完全满足数据精度的要求,但是需要自己编写一套指数和尾数运算库,会额外增加程序的指令数和运算量,不利于实时实现。 文档收集自网络,仅用于个人学****br/> 以上两种方法,都可以提高运算精度,但在实际操作时,要根据系统的要求和算法的复杂度,来权衡考虑。文档来自于网络搜索
2.23. 变量的维护 个人收集整理 勿做商业用途
在高级语言中,有全局变量与局部变量存储的区别,但在DSP程序中,所有声明的变量在链接时都会分给数据空间。所以如果按照高级语言那样定义局部变量,就会浪费大量的DSP存储空间,这对数据空间较为紧张的定点DSP来说,显然是不合理的。为了节省存