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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

本文(基于单片机的语音识别系统设计-毕业设计文档格式.docx)为本站会员(wj)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

基于单片机的语音识别系统设计-毕业设计文档格式.docx

1、 Microcontroller; speech signal processing; c language;第 44 页前言语音识别研究工作开始于 20 世纪 50 年代。1952 年,当时 AT&T 的 Bell 实验室实现了第一个可识别十个英文孤立数字的语音识别系统 Audry 系统。20 世纪 60 年代,计算机的应用推动了语音识别的发展。这时期的重要成果是提出了动态规划和线性预测分析技术,其中后者较好地解决了语音信号产生模型的问题,对语音识别的发展产生了深远影响。20 世纪 70 年代,语音识别领域取得了突破。在理论上,LP 技术得到进一步发展, 动态时间归正技术基本成熟,特别是提出

2、了矢量量化和隐马尔可夫模型理论。在实践上, 实现了基于线性预测倒谱和 DTW 技术的特定人孤立语音识别系统。20 世纪 80 年代,语音识别研究进一步走向深入,其显著特征是 HMM 模型和人工神经元网络在语音识别中的成功应用。HMM 模型的广泛应用应归功于 AT T Bell 实验室Rabiner 等科学家的努力,他们把原本艰涩的 HMM 纯数学模型工程化,从而为更多研究者了解和认识。ANN 和 HMM 模型建立的语音识别系统,性能相当。进入 20 世纪 90 年代,随着多媒体时代的来临,迫切要求语音识别系统从实验室走向实用。许多发达国家如美国、日本、韩国以及 IBM、Apple、ATT、NT

3、T 等著名公司都为语音识别系统的实用化开发研究投以巨资。当然现在的研究更加深入,相信不久的将来,会有更多的形形色色的语音应用出现在我们的生活中,为平凡的生活增添更多色彩,帮助人们过上更加美好的生活。第一章 语音识别系统分析第 1.1 节 语音识别系统结构声音语音采集模块语音处理模块LD3320语音识别系统可以分为三个模块语音采集模块、语音处理模块、单片机控制模块。如图 1-1 所示。控制单元STC11l08x图 1-1 语音识别系统框图外部显示模块语音采集模块将声音信号变成电信号,并将电信号送入语音处理模块中。在语音处理模块里,会进行信号取样,频谱分析,特征提取,以及与语音库比较等工作,最后将

4、语音识别结果传到单片机中。在单片机判断后再送到外部显示模块,用灯的“亮灭”显示语音识别是否成功。第 1.2 节 语音设计原理1.2.1 语音识别定义自从人类可以制造和使用各种机器以来,人们就有一个理想,那就是让各种机器能听懂人类的语言并能按人的口头命令来行动,从而实现人机的语言交流。随着科学技术的不断发展,语音识别技术的出现,使人类的这一理想得以实现。语音识别技术就是让机器通过识别和理解把语音信号转变为相应的文本或命令的高科技。语音识别是一门交叉学科,语音识别正逐步成为信息技术中人机接口的关键技术。语音技术的应用已经成为一个具有竞争性的新兴高科技产业。当今,语音识别产品在人机交互应用中已经占到

5、越来越大的比例。语音识别简单说就是把含有人发音特征的信息变成逻辑0,1,储存在计算机中, 然后利用计算机来进行处理和识别人们所说的话,并且将结果以一种看得见的方式执行显现出来。1.2.2 语音识别的方法1. 窗函数的选择浊音含有较大的能量,并且带有周期性,清音没浊音那样的特点,它的能量不高, 且没周期性,容易被人们当做噪声而误处理掉。考虑到现实应用性,时域分析并不能很好体现语音的特点,不过频谱分析没有那个问题。它可以表现出其语音特征,于是我们采用频谱分析的方法处理语音信号。信号从时域到频域的转换公式ks (e jw ) = w(k - n)s(n)e- jwn n=-(1-1)语音信号不是变到

6、频域就结束,我们还要考虑到单片机计算速度与存储空间,所以很明显不可能将全部语音信号转换到频域之中。不过,问题也是有解决方法的,可以选择若干有限多的样本点个数,并且通过这些的样本点,基本上模拟反映出原始样本的语音特点。为了保证样本点的个数最少,且能保证由样本点组合而成的函数与原时域函数相近, 这就要考虑到那奎斯特定理的应用。那奎斯特定理即采样的频率至少为采样样本最高频 率的两倍。不过同时,我们要明白,理论上所设想的样本点的个数与实际的采样个数是 不一致的,因为没有理想的矩形窗,这就会导致有一些原本该采到点落在窗的外面,事 实上没进入我们设想中的采样点集合。换句话说,我们并没有选取到足够的样本点数

7、。 为了改善这个不足,我们一般会把采样的频率在原设想的基础上再调高一些,多采一些 点。这样就算窗函数不是理想的,还是可以用采样得到点去近似模拟原函数。除此之外,现实中我们不可能把整段语音信号一下处理完的,于是操作中,都是对其进行分段处理。语音信号处理会用到 FFT,而 FFT 分析中常常要用到窗函数,所以在FFT 分析的时候,选择什么样的窗函数,这个问题就显得十分重要,因为它关系着系统误差。FFT 的算法优劣关系着系统设计好坏。如图 1-2 所示,说明了各种窗的变化特点。我们根据各个窗的特征,比较他们在 FFT 分析中的优劣,这样可以选取到最合适的窗, 最大可能的减少系统误差,使系统的准确率有

8、了较高的保证。图 1-2 矩形窗,汉宁窗,汉明窗,布莱克曼窗频率响应不过,在我们选择窗函数前,必须要了解一下 FFT 的工作特点,因为窗函数是由FFT 算法的最优解决定出来的。窗函数应最大可能的配合 FFT,这样系统才会更有效识别语音。在 FFT 算法中是假设信号离散化处理后是可以进行周期性延拓的,故含有该离散时间的信号都应当为周期函数,并且周期与样本点的个数无关。但是如果样本点个数的大 小不是信号的周期整数倍,那么假设条件就会不成立,同时会产生频谱泄漏的后果。现 实环境下所处理的未知信号一般是平稳的,但这也无法保证采样点数恰巧为周期的整数 倍。频谱泄漏使给定频率分量的能量泄漏到相邻的频率点,

9、从而在测量结果中引起误差。不过选择合适的窗函数可以减小频谱泄漏效应。根据输入数据通过一个窗函数相当于原 始数据的频谱与窗函数频谱的卷积。有了 FFT 计算需要注意的要求以后,我们可以根据要求来选择窗函数。由上图 1-2 可以很明显的看到矩形窗主瓣最小,但是旁瓣较多。布莱克曼窗,主瓣最大,旁瓣衰减最快。所以这两个窗都不符合处理语音的要求,所以我们不用。语音处理的对象不仅含有低频的部分,还有高频的部分。汉明窗与汉宁窗相比,其主瓣较小,且旁瓣衰减波动平缓,处理语音的清音时更容易采集到其信息特点,并且损失信号能量较小。由上面的分析,我们可以在理论上得到选择海明窗的结论。另外在现实,我们由前人的经验也可

10、以得到,用的最多是海明窗。基于理论和现实上的考虑,使用海明窗是个我们正确的选择。海明窗:w(n) = 0.54 - 0.46 cos(2p*0; 其他n N - 1);0 n N - 1(1-2)选择好窗函数后,我们还有需要注意的地方,就是那个样本点的个数问题。现实中我从理论资料查到下面的结论。窗的衰减与持续时间没有必然的关系,N 的加大仅仅为了缩小主瓣的带宽。生活中样本点很少的话,短时能量会大幅度增加,但是样本点如果太多的话,可能会将短时的能量给其平均化,样本的特征可能就给掩盖掉了,不能反映语音的特点,所以识别也就不会成功。这个结论,给我们采样点的个数有了一个提示, 不是越多越好。语音识别的

11、对象有男有女,且信号长度一般为 10ms 到 30ms 之间。于是考虑到女的音频较高(样本点较少约 16 个),男的音频较低(样本点较多约 250 个)所以取男女样本的中位数 200 个。在具体的操作中,要保证含有至少两个音调周期,既保证频谱会出现周期性的现象。这样能提高系统识别的正确率,不会将信号当成噪声而不进行识别。2. LPC 介绍有了上面的基础,可以更加具体深入的探讨处理语音技术的方法,由于采集的样本点个数不多,且识别的精确度要求不是太高,我们就采用 LPC 分析法。LPC 分析中需要注意的有两点。1.用的是短期相关的模型化。2.一个低阶的滤波器来进行过滤。为了更好表述,就用框图来进行

12、理论的说明。音调周期清音/浊音开关x(n)u(n)G无归噪声发生器脉冲序列发生器LPC 系数时变滤波器输出语音)S(n图 1-3 LPC 处理语音的步骤根据图 1-3 系统的传递函数为H (z) = S (z) =MG(1 - b z)- jjj=1(1-3)X (z)1 - Ni=1a z - j对于上面的公式 1-3,如果分母的次数较高,那么我们可以用全极点的模型来代替上面那个公式,简化成一个新的公式 1-4。H (z) =GP1 - a j j=1z - j(1-4)我们不妨再进一步变化,可以将公式(1-4)变换到时域中。那么便得到公式 1-5,s(n) = Gx(n) + a j s(

13、n - j)(1-5)这个就是 LPC 的差分的方程。根据这个方程,我们可以知道,当可以得到 s(n)的测量值,就可以算的到对应的参量值aj ,然后又可以利用参量值,去反推 H(z)的参量。另外为了说明误差的大小,可以用平方误差来量化说明。误差的公式:e(n) = s(n) - (1-6)E = Ee2 (n) = Es(n) - a s(n - j)2 (1-7)对aj 进行求导,是 j=1,2,3P 为零。我们得到Es(n) - a j s(n - j)s(n - j) = 0即:(1-8) a jfn (i, j) = fn (i,0)(1-9)10)对于 i=1,2, p其中fn (i

14、, j) = Es(n - i)s(n - j)(1-由于公式(1-10)是有限的且稳定的信号,我们可以用有限项求和来替代。到了这里, 仔细研究公式(1-10)可以发现它有结构组成上特点,于是很容易想到自相关公式。对于自相关的公式,我们有下面要注意的地方。在波形段sn (m) 在间隔 m N - 1 之外假设为零,样品序列长度为 N。那么,对于 N N + P ,要预测样品的值,因为实际上不是零,所以过去的不精确的结果,会对未来预测产生影响。自相关的公式:作参量变换:jn (i, j) =N -1-(i- j )sn (m)sn (m+i - j),1 i p,0 mj p(1-11)变换得到

15、:m = m - i;N +P-1-im = m+ifn (i, j) = sn (m+i - j)=-i(1-12)考虑到sn (m) 只能在0 N -1以改写为:之内取值,其余的地方为零。所以式(1-12)可13)fn (i, j) =sn (m+i - j)=0公式(1-13)又可以变成短时间自相关函数:1 (1-fn (i, j) = Rn ( i - j )N -1- j对于 i=1,pj=0,p(1-14)又因为自相关,又可以变成Rn ( j) = sn (m)sn (m + j)m=0 a j Rn ( i - j ) = Rn (i) P(1-15)在我们的 LPC 分析公式中

16、,我们假设,如果结果是满意的,那么所估计的参量aj 应该等于我们模型的这些参量,也就是aj ,如果两者相同,那么 e(n)=Gx(n)=u(n),也就是说残差就是激励信号。要得到 e(n),就可以用传输函数的逆滤波器逆滤波器公式:H (z) = 1 - a zp-1- j(1-16)因为 S(z)=H(z)U(z),则 U(z)= H -1 (z) S(z),从上面的表达式中可以看出,误差信号或激励信号是非常有用的。理由之一是由于逆滤波以后,所得到误差信号 e(n)和原始信号 s(n) 相比有比较小的变化。另外我们还发现,由 LPC 频谱去匹配信号的频谱包络时,在频谱峰值比频谱谷值要更好一些,

17、这是因为我们的模拟传递函数 H(z),只有极点模拟共振峰的峰值,没有零点的模拟频谱谷值。第二章 语音识别系统硬件电路第 2.1 节 基于 STC 控制电路2.1.1 STC11l08x 单片机介绍增强型 8051 CPU,IT,单时钟机器周期,指令代码完全兼容传统 8051。工作电压:3.6V - 2.4V2.1V (3V 单片机);工作频率范围:035MHz,相当于普通 8051 的 0420MHz。通用 I/O 口(36/40/12/14/16 个)每个 I/O 口驱动能力均可达到 20mA。常温下内部 R/C 振荡器频率为:4MHz8MHz;精度要求不高时,可选择使用内部时钟,但因为有制

18、造误差和温漂,以实际测试为准。共 2 个 16 位定时器(与传统 8051 兼容的定时器计数器,16 位定时器 TO 和T1)。有 1 个独立波特率发生器(故必用 T2 做为波特率发生器)。3 个时钟输出口,可由TO 的溢出在 P3. 4/TO 输出时钟,可由 Tl 的溢出在 P3. 5/TI 输出时钟,独立波特率发生器可以在 Pl.0 口输出时钟。外部中断 I/O 口 5 路,传统的下降沿中断或低电平触发中断, Power Down 模式可由外部中断唤醒,INTO/P3.2,INTl/P3.3,INT/TO/P3.4,INT/T1/P3.5,INTINT/RxD/P3.0 r或 INT/Rx

19、D/P1.6。2.1.2 单片机的最小系统就 51 系列单片机而言,最小系统一般应该包括:晶振电路、复位电路,但是本设计采用的 STC11l08x 是增强型 51 单片机,它除了上面最基本的部分还有其他部分,如 A/D 转换等,但这里就只介绍两大部件。C? C01100uF/16vP1.5 1P1.6 2P1.7 3 4RXD 5LD-MD6TXD 7R0110KLDIRQ8IT1 9T0 10VCC*图 2-1复位电路复位电路由电容串联电阻构成,如图 2-1 所示,根据电容电压不能突变的性质,可以知道,当系统一上电,RST 脚将会出现高电平,并且,这个高电平持续的时间由电路的 RC 值来决定

20、。典型的 51 单片机当 RST 脚的高电平持续两个机器周期以上就将复位, 所以,适当组合 RC 的取值就可以保证可靠的复位。一般教科书推荐 C取 10u,R 取8.2K。当然也有其他取法的,原则就是要让 RC 组合可以在 RST 脚上产生不少于 2 个机周期的高电平。至于如何具体定量计算,可以参考电路分析相关书籍。Cx1 30pCx2 30p12XTALLD-RD13LD-CLK14 15 16 17LD-A018LD_CS19 20P2.3 21图 2-2晶振电路如图 2-2 所示,典型的晶振取 11.0592MHz(因为可以准确地得到 9600 波特率和19200 波特率,用于有串口通讯

21、的场合)/12MHz(产生精确的 us 级时歇,方便定时操作) 有了上面的分析,单片机控制系统可以设计出来,如图 2-3 所示。P1.5 1P1.6 2P1.7 34R01 10K P1.5 P1.6 P1.7 RSTRXD5P3.0/RXDLD-MD6P4.3/INT2TXD7P3.1/TXDLDIRQ8P3.2/INIT0IT19P3.3/INIT1T010P3.4/T0LDRST11P3.5/T1LDWR12P3.6/WRLD-RD13P3.7/RDLD-CLK14 XTAL215 XTAL116 GND17P4.0LD-A018P2.0LD_CS19P2.120P2.2P2.321P2

22、.3P2.422P2.4P1.444P1.4P1.343P1.3P1.242P1.2P1.1/T2EX41P1.1P1.0/T240P1.0P4.2/INT339LEDVCC38P0.037LD-P0P0.136LD_P1P0.235LD-P2P0.334LD_P3P0.433LD-P4P0.532LD-P5P0.631LD-P6P0.730LD-P7NA 29P4.128P4.1ALE 27PSEN 26P2.725P2.7P2.624P2.6P2.523P2.5 1 2 Component_2图 2-3STC11l08x 系统图第 2.2 节 基于语音处理电路2.2.1 LD3320 介绍

23、LD3320 芯片是一款“语音识别”专用芯片,由 ICRoute 公司设计生产。该芯片集成了语音识别处理器和一些外部电路,包括 AD、DA 转换器、麦克风接口、声音输出接口等。本芯片在设计上注重节能与高效,不需要外接任何的辅助芯片如 Flash、RAM 等,直接集成在现有的产品中即可以实现语音识别声控人机对话功能。并且,识别的关键词语列表是可以任意动态编辑的。不需要外接任何辅助的 Flash 芯片,RAM 芯片和 AD 芯片,就可以完成语音识别功能。真正提供了单芯片语音识别解决方案。每次识别最多可以设置 50 项候选识别句,每个识别句可以是单字,词组或短句,长度为不超过 10 个汉字或者 79 个字节的拼音串。另一方面,识别句内容可以动态编辑修改,因此可由一个系统支持多种场景。芯片内部已经准备了 16 位 A/D 转换器、16 位 D/A 转换器和功放电路,麦克风、立体声耳机和单声道喇叭可以很方便地和芯片管脚连接。立体声耳机接口的输幽功率为20mW,而喇叭接口的输出功率为 550mW,能产生清晰响亮的声音。支持并行和串行接口,串行方式可以简化与其他模块的连接。电压要求:VDD数字电路用电源输入3. 0 V-3. 3 VVDDIO

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2