张晓鑫毕业设计正文.docx
《张晓鑫毕业设计正文.docx》由会员分享,可在线阅读,更多相关《张晓鑫毕业设计正文.docx(39页珍藏版)》请在冰豆网上搜索。
张晓鑫毕业设计正文
具有语音识别功能的电子宠物设计
1绪论
1.1本课题研究的目的及意义
目前,全球玩具业的大趋势是将电子及新科技注入玩具中,创造出更多有创意、功能更强大的玩具,其中尤以语音识别技术和传感器技术的运用最为普遍。
这主要源于以下两方面:
一、玩具业的传统增长方式已近极点,必须寻求新的增长方式,而走高科技路线无疑是最理想、可持续的方案。
二、语音识别技术经过多年的发展,其识别精度已经完全符合玩具的要求,且嵌入式语音识别芯片的成本也大大降低。
同时,传感器技术的广泛运用也为玩具的互动能力提供了技术保障。
因此,本课题提出了一种具有语音识别功能的电子宠物设计方案,通过对现阶段语音识别技术的分析和运用,并配合传感器技术,设计出一款不仅能执行特定人的语音命令,还具备一定交互能力的电子宠物。
也借此对课题所涉及到的语音识别技术和传感器技术做基础性研究和巩固。
具有语音识别功能的电子宠物设计是在传统玩具中嵌入现有科学技术,进而提高玩具的性能和市场竞争力的研发个案。
就其本身来讲,这类电子宠物极强大的市场潜力和竞争力无可置否。
由于本设计以语音识别技术为核心,因此,只需将本设计的受控体进行替换,就可以演变成例如语音遥控,语音小车等语音产品。
1.2具有语音识别功能的电子宠物简介
具有语音识别功能的电子宠物设计主要由MCU、传感器和受控体机器人三大模块组成,系统的核心是用语音命令取代由凌阳公司提供的机器人的红外遥控,完全由语音来实现简单的人机交换,因此,语音识别是本设计的核心技术。
同时,鉴于当前玩具业不断嵌入高科技来为玩具增值和夺取市场的大环境。
本设计还向系统嵌入了传感器,以提高玩具的智能化程度和交互能力。
为了缩短开发周期和降低开发成本,也考虑到本专业的特点,在本设计中,语音命令的表现载体我们选择了现成的机器人。
1)电子宠物的功能
具有语音识别功能的电子宠物是一个嵌入了音频技术和传感器技术的高科技玩具,它具有语音识别功能,完全取代了传统的以键盘为核心的人机交换方式,使玩具更具有人性化。
不仅如此,由于系统具有传感器,更是极大地增大了系统的智能交互能力。
具体功能包括:
(1)根据语音命令能可靠地控制机器人跳舞、唱歌、前进、后退、向左转、向右转、瞄准、向右瞄准、向左瞄准、发射等动作。
(2)可根据语音命令要求为用户提供温度参数,压力传感器使系统具有可互动能力。
(3)由于本设计以语音识别技术为核心,因此,只需将本设计的受控体进行替换,就可以实现例如语音遥控,语音小车等产品的功能,传感器技术的运用也使本系统具有温度采集、与用户简单互动等功能。
2)电子宠物总体框架
具有语音识别功能的电子宠物设计的总体框架图如下图所示:
3)电子宠物的语音识别模块
语音识别分为特定发音人识别(SpeakerDependent)和非特定发音人识别(SpeakerIndependent)两种方式。
特定发音人识别是指语音样板由单个人训练,对训练人的语音命令识别准确率较高,而其他人的语音命令识别准确率较低或不识别。
非特定发音人识别是指语音样板由不同年龄、不同性别、不同口音的人进行训练,可以识别一群人的命令,其语音样板的提取非常重要。
本设计采用特定发音人识别方式。
识别过程首先要滤除输入语音信号的噪音和进行预加重处理,提升高频分量,然后用线性预测系数等方法进行频谱分析,找出语音的特征参数作为未知模式,当输入未知模式与标准模式的特征相一致时,接着与预先存储的标准模式进行比较,便被机器识别,产生识别结果输出。
若语音含有不确定因素,完全一致的条件往往不存在,事实上没有人能以绝对相同的语调把一个词说两遍,因此,预先制定好计算输入语音的特征模式与各特征模式的类似程度或距离度的算法规则固化在ROM中,使该距离最小,即用最类似的模式作为识别相应语音的手段。
我们可以把语音识别电路的基本结构用图1-2表示。
1.3国内外发展现状
1.3.1玩具业发展现状与趋势
据美国玩具研究所报告,玩具能否畅销取决于多种因素,尤其是科技含量和玩具的互动能力。
就日本索尼公司的电子狗Aibo而言,由于其应用了目前最新的电子技术,从而成为一只有强大的娱乐性,高级的人工智能,并能很好地与人进行沟通的电子宠物狗,这就使它身价百倍(零售价2200美元)。
国内的一些企业也在高新技术的应用方面进行了尝试,并取得了成功。
其中以东莞银辉玩具有限公司生产的中国电子狗-----爱赛比(
I-Cybie)为典范。
它具备与Aibo一样强大的功能,且价格低了许多(零售价人民币3600元),深受国内外玩具爱好者的欢迎。
目前,全球玩具业的大趋势,是将电子及新科技功能注入玩具之中,创制出更多崭新的玩具,即使大受欢迎的长青玩具亦加入电子元素。
具有语音识别功能的电子宠物正是在此背景下而提上设计日程的。
1.3.2相关技术的现状
20世纪60年代至80年代初是语音识别技术的发展阶段。
60年代,提出了用动态规划(DP)方法来解决语音识别中不等长的问题。
70年代,出现了基于线性预测倒谱和动态时间规整(DTW)技术的特定人孤立语音识别系统。
80年代,最显著的特征是HA模型和人工神经元网络(ANN)在语音识别中的成功应用。
20世纪90年代至今,语音识别进入实用阶段。
人们对语音识别技术的实际需求愈发迫切,这极大地促进了语音识别技术的不断深入和发展,使语音识别系统从实验室走向实用,从而不断出现利用语音识别技术的产品。
目前,在国内外典型的嵌入式语音识别专用芯片已有多种,其技术也比较成熟。
比较有代表性的专用芯片有以下几种:
ISD-SR3000是一个嵌入式语音识别器件,是ISD公司开发的Simon系列芯片的第一个。
手提电话和自动应答机等各种便携设备装备了该器件后,用户就可以通过说话来操作,不需要复杂的键盘输入。
我国所研究的最有代表性的语音识别芯片是清华大学与华录集团合作研究开发的国内第一个具有自主知识产权的语音识别专用芯片。
该芯片载入语音识别、语音压缩编码及语音合成算法,构成一个完整的高度集成语音识别片上系统。
与此同时,经过多年的研究推广,语音识别技术由于投入生产成本不大(芯片价格为1美元,加上外围电路,整套语音识别模块不会超过2美元)和效果明显等优点,特别适用于一些传统玩具的改造和一些电子宠物的人性化应用。
据美国玩具研究所的报告分析,应用高科技的电子玩具的核心技术往往能给该产品带来5-6倍的利润。
1.4本课题的研究内容
本课题提出了一种基于SPCE061A处理器、具有特定人语音识别功能的电子宠物设计方案,并对系统所涉及的语音识别技术和传感器技术进行基础性研究。
主要包括以下几个方面:
(1)设计一款基于SPCE061A处理器的特定人语音识别控制系统,通过语音控制CPU实现用户的意志,取悦用户的之外,还可通过采集外界信息能够很好地和用户进行互动。
同时,介绍了相关技术的发展现状。
(2)在介绍目前比较常用的语音信号分析、识别等技术的基础上,选择适合本设计的线性预测语音分析技术和隐马尔可夫语音识别模型。
介绍DS18B20和MPX4001A传感器并将其运用到电子宠物中,使系统实现简单的信息采集功能。
(3)对本设计的硬件模块进行介绍,首先介绍了以SPCE061A为CPU的MCU模块中的电源系统、语音输入、语音播报和MCU最小系统的电路原理图,其次分别介绍了传感器模块和机器人的电机驱动模块电路。
并对以上模块在系统中的作用进行必要的说明。
(4)在设计系统程序时,我们简要介绍了由凌阳公司提供的语音识别系统的软件函数包及SPCE061A的开发方法。
紧接着重点阐述了本系统的程序设计思想和部分模块的软件设计。
(5)在总结设计过程的基础上,对课题目前存在的问题进行分析,并为进一步改进提出合理建议。
2语音识别及传感器技术
具有语音识别功能的电子宠物设计是以语音识别技术为核心的嵌入式玩具,同时为提高系统的智能化水平,系统加入了传感器技术,通过对外界信息的采集,使系统能够实现一些简单的智能化工作。
在本章中,将对语音识别技术和传感器技术作简要的介绍。
2.1语音识别原理
嵌入式语音识别系统都采用模式匹配原理。
从图2-1中可以看出语音识别一般分两个步骤:
第一步是“学习训练”阶段。
这一阶段的任务是建立识别基本单元的声学模型以及进行文法分析的语言模型,即构建参考模式库。
第二步是“识别测试”阶段。
根据识别系统的类型选择能够满足要求的一种识别方法,采用语音分析方法分析出这种识别方法所需要的语音特征参数,按照一定的准则和测度与参考模式库中的模型进行比较,通过判决得出结果[1]。
1)预处理
包括预加重、加窗分帧、端点检测等处理过程,在预处理之前还有语音信号的数字化处理过程,其中包括反混叠滤波、模/数转换、自动增益等用以去除声门激励、口鼻辐射、高于1/2采样率高频和噪声信号的影响,实现语音信号的数字化[2]。
2)特征提取
经过预处理后的语音信号,要对其进行特征提取,即特征参数分析。
就是从原始语音信号中抽取能够反映语音本质的特征参数,形成特征矢量序列。
目前,语音识别所用的特征参数主要有两种类型:
线性预测倒谱系数(LPCC)和美尔频标倒谱系数(MFCC)。
考虑到嵌入式系统计算资源的有限性,在具有语音识别功能的电子宠物设计中选择了LPCC系数,LPCC系数主要模拟人的发声模型,未考虑人耳的听觉特性。
它对元音有较好的描述能力,而对辅音描述能力差。
其优点为计算量小,比较彻底地去掉了语音产生过程中的激励信息,易于实现。
语音特征提取是分帧提取的,每帧特征参数一般构成一个矢量。
因此,语音特征是一个矢量序列,该序列的数据率可能太高,不便于其后的进一步处理,为此,有必要采用很有效的数据压缩技术对数据进行压缩。
矢量量化就是一种很好的数据压缩技术。
3)参考模式库
参考模式库是将一个或多个说话者多次重复的语音参数经过训练得到的,它是声学参数模板。
建立参考模式库是在系统使用前获得并存贮起来的。
参考模式库的建立过程称为训练过程。
4)模式匹配
模式匹配是将输入的待识别的语音特征参数同训练得到的参考语音模式进行逐一比较分析,获得最佳匹配的参考模式便为识别结果。
目前常用的语音识别算法主要有:
动态时间规则、离散隐马尔可夫模型、连续隐马尔可夫模型、人工神经网[3]。
5)语音识别过程流程图
6)嵌入式语音识别系统的硬件组成
嵌入式语音识别系统硬件框图如图2-3所示。
在硬件系统中,前端滤波是为了消除干扰和可能造成混淆的成分。
由于语音信号是较弱的信号,因此,要对输入的语音信号进行放大,为了使语音信号的放大值控制在一定的范围内,在硬件中设有自动增益控制AGC。
而A/D和D/A是进行语音信号数字化转换和语音播放不可缺少的部分。
功放用于驱动扬声器进行语音的播放。
RAM用于存储提取的语音特征参数,而语音提示部分可固化在ROM中或存储在FLASH内。
语音识别程序也被存储ROM或FLASH中。
控制对象是根据此系统应用的领域不同而有所区别。
在设计时,不同的控制对象,还要考虑相应的驱动电路[4]。
2.2语音分析过程
语音信号分析是语音信号处理的前提和基础,只有分析出代表语音信号本质特征的参数,才有可能利用这些参数进行高效的语音识别处理。
根据分析方法不同可将语音信号分析分为模型分析法和非模型分析法。
对于嵌入式语音识别系统,采用依据模型进行分析的线性预测分析是比较好的。
在对语音信号分析之前应将语音信号进行前端处理,包括语音的数字化、滤波、预处理等。
2.2.1滤波与A/D转换
滤波的目的有两个:
1、抑制输入信号各分量中频率超出
/2的所有分量(
为采样频率),以防止混叠干扰。
2、抑制50Hz的电源工频干扰。
滤波器必须是一个带通滤波器,一般采用数字滤波器。
A/D转换器是将原始的模拟语音信号变为数字信号,从而得到时间和幅度上均为离散的数字语音信号。
A/D转换时采样频率的选择很重要,它关系到采样过程中是否会丢失信息,在语音信号处理中,采样频率通常为7~10KHz。
2.2.2预处理
预处理一般包括预加重、加窗、分帧和端点检测等。
预加重的目的是提升高频部分,使信号的频谱变得平坦,保持在低频到高频的整个频带中,能用同样的信噪比求频谱,以便进行频谱分析或声道参数分析。
加窗分帧的目的是为了利用有限容量的数据区依次处理数量极大的语音数据。
根据语音信号在10~20ms内语音信号特性不变的特点,一般取帧长为20ms,帧移为帧长的0~1/2倍。
常用的函数窗为汉明窗、汉宁窗和矩形窗。
经过加窗分帧处理后,语音信号就已经被分割成一帧一帧的加窗函数的短时信号,然后再把每一个短时语音帧看成平稳的随机信号,利用数字信号处理技术来提取语音特征参数。
最后得到由每一帧参数组成的语音特征参数的时间序列。
端点检测是将语音信号从背景噪声中提取出来,以确定语音信号的起止点[5]。
2.2.3信号时域分析
1)短时平均能量分析
短时能量定义:
第n帧语音信号
的短时能量
表示为:
(2-1)
其中,N为帧长。
短时能量的用途:
(1)可以区分浊音段与清音段,因为浊音时
值比清音时大得多。
(2)可以用来区分声母与韵母的分界,无声与有声的分界,连字(指字之间无间隙)的分界等。
(3)作为一种超音段信息,用于语音识别。
2)短时过零率分析
短时过零率表示一帧语音信号波形穿过横轴(零电平)的次数。
对于连续语音信号,过零即意味着时域波形通过时间轴;而对于离散信号,如果相邻取样值改变符号则称为过零。
过零率就是样本改变符号的次数。
短时过零率的定义:
设语音信号
的短时过零率为
,则:
(2-2)
式中,sgn[]为符号函数,即
(2-3)
短时过零率的用途:
(1)可以用于区分浊音和清音。
因为浊音具有较低的过零率,而清音具有较高的过零率。
(2)可以从背景噪声中找出语音信号,可用于判断寂静无声段和有声段的起点和终点位置[6]。
2.2.4信号的线性预测分析
1)线性预测分析的原理
线性预测分析(LinearPredictionCoding简称LPC)是进行语音分析最有效、最流行的分析技术之一。
它的基本原理是:
由于语音样点之间存在相关性,所以可以用过去的样点值来预测现在或未来的样点值,即一个语音的抽样能够用过去若干个语音抽样或它们的线性组合来逼近。
通过使实际语音抽样和线性预测抽样之间的误差在某个准则下达到最小值来决定唯一的一组预测系数。
而这组预测系数就反映了语音信号的特性,可以作为语音信号特征参数用于语音识别等。
2)线性预测倒谱系数
己知线性预测系数,可用如下递推公式求出相应的倒谱系数{
}
(2-4)
(2-5)
(2-6)
2.3语音识别技术
2.3.1矢量量化
1)矢量量化的基本原理
将若干个标量数据组成一个矢量(或者是从一帧语音数据中提取的特征矢量)在多维空间给予整体量化,从而可以在信息量损失较小的情况下压缩数据量。
矢量量化有效地应用了矢量中各元素之间的相关性,因此可以比标量量化有更好的压缩效果。
当给矢量量化器输入一个任意矢量
进行矢量量化时,矢量量化器首先判断它属于哪个子空间
,然后输出该子空间
的代表矢量
。
也就是说,矢量量化过程就是用
代表
的过程,或者说把
量化成了
,即
(2-7)
式中,
量化器函数[7]。
2)矢量量化器和码书的设计
矢量量化器和码书的设计方法是采用递推算法,即LBG算法(70年代末由Linde,Buzo和Gray等人提出)。
整个算法实际上就是最佳设计和最佳码书两个条件的反复迭代过程,即由初始码书寻找最佳码书的迭代过程。
它从对初始码书进行迭代优化开始,一直到系统性能满足要求或不再有明显的改进为止[1]。
2.3.2隐马尔可夫模型
1)隐马尔可夫模型概念
隐马尔可夫模型(HiddenMarkovModel简称HMM)是一种用参数
(
A,B)表示的,用于描述随机过程统计特性的概率模型,它是由马尔可夫链演变来的,图2-4为HMM组成示意图。
其中,
为初始状态概率矢量,
=(
,
,…,
)。
A为状态转移概率矩阵A={
|i,j=1,2,...,N},N为状态数。
B为观察值概率矩阵,B=(
),
M为观察值数目。
在语音处理中,可以这样来理解HMM:
人的发音器官只有有限个状态,同时每个状态所产生的语音会有一定的变化;状态之间的转移按一定的转移概率进行,而每个状态上可能产生的语音特征,则由概率分布(离散HMM)或概率密度函数(连续HMM)来描述[1]。
2)隐马尔可夫模型的三个基本算法
用HMM构成语音识别系统必须进行三个基本算法,对于给定的一个观察序列O=
和一个参数
=(
,A,B),
(1)如何有效地计算在给定
条件下产生观察序列O的概率P(O|
);
(2)如何选择一个在某种意义下最佳的状态序列
,以便最好地解释观察序列O;(3)如何调整模型参数
,才能使P(O|
)达到最大[8]。
3)HMM的结构和类型
隐马尔可夫的结构主要有两种:
一种是各态历经,另一种是从左至右,语音识别必须用从左至右的HMM。
HMM的类型主要有连续HMM和离散HMM两大类。
主要区别在于参数B。
离散HMM的参数组B是一个概率矩阵;连续HMM的参数组B是每个状态对应一个观察概率密度函数[9]。
2.4传感器技术及运用
在玩具中加入大量的传感器是玩具产业的发展趋势,也是玩具增值的突破点。
为了提高系统的智能化水平和互动能力,我们在电子宠物中加入了温度传感器和压力传感器,使嵌入式系统能够自主采集信息,并对信息进行分析后给用户提供必要咨询服务。
2.4.1DS18B20
DS18B20的性能是新一代产品中最好的!
性价比也非常出色!
继“一线总线”的早期产品后,DS18B20开辟了温度传感器技术的新概念。
DS18B20使电压、特性及封装有更多的选择,让我们可以构建适合自己的经济的测温系统。
1)DS18B20主要特性:
(1)适应电压范围宽,电压范围:
3.0~5.5V,在寄生电源方式下可由数据线供电。
(2)独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。
(3)DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温。
(4)DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内。
(5)测温范围-55℃~+125℃,在-10℃~+85℃时精度为±0.5℃。
(6)可编程的分辨率为9~12位,对应的可分辨温度分别为0.5℃、0.25℃、0.125℃和0.0625℃,可实现高精度测温。
(7)在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快。
(8)测量结果直接输出数字信号,以"一线总线"串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力。
(9)负压特性:
电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。
2)DS18B20内部结构
3)DS18B20工作原理
DS18B20得到的温度值的位数因分辨率不同而不同,温度转换的延时时间由2s减为750ms。
DS18B20测温原理如图2-6所示。
图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。
高温度系数晶振随温度变化其振荡频率明显改变,所产生的信号作为计数器2的脉冲输入。
计数器1和温度寄存器被预置在-55℃所对应的一个基数值。
计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。
斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1的预置值。
2.4.2MXP4100A
为了提高具有语音识别功能的电子宠物的互动能力,我们在设计中加入了压力传感器,使电子宠物具有简单的触觉。
Motorola公司生产的MXP4100A系列集成硅压力传感器因其测量精度高、预热时间短、响应速度快、长期稳定性好、可靠性高、过载能力强等优点而成为了本设计的首选。
MXP4100A共有六个管脚,包括输出端(
)、公共地(GND)、电源端(
)
和其他三个空脚。
MXP4100A的内部电路框图如图2-7所示。
主要包括3部分:
(1)由压敏电阻构成的传感器单元;
(2)经过激光修正的薄膜温度补偿器及第一级放大器;(3)第二级放大器及模拟电压输出电路(包含基准电路、压力修正、电平偏移电路等)。
MXP4100A的输出电路在20kPa~105kPa的压力范围内,
和p成正比。
超出测量范围后,
就基本不随压力而变化。
MXP4100A的输出电压表达式为:
(2-8)
式中,
为电源电压,
为被测压力,
为温度误差系数,
为压力误差。
利用
的表达式即可完成温度补偿及压力修正,由微处理器计算出被测压力值,计算公式为:
(2-9)
MXP4100A的温度误差系数、最大压力误差与温度的关系曲线分别如图2-8和图2-9所示,由图可知,在0~+85
范围内,温度误差系数恒等于1;在20kPa~105kPa的测量范围内,最大压力误差为
1.5kPa。
3硬件结构
3.1SPCE061A模块
对于嵌入式系统而言,其硬件组成有许多因素需要考虑。
首先是成本;其次,嵌入式系统对体积有严格的限制,这就需要一个高度集成的硬件平台。
因此最理想的硬件组成是系统集成芯片。
它不只是把功能复杂的若干个数字逻辑电路放入同一个芯片,做成一个完整的单片数字系统,而且在芯片中还应包括其它类型的电子功能器件,如模拟器件(ADC/DAC)和存储器。
由凌阳公司生产的SPCE061A正是迎合了嵌入式语音控制系统的要求,因此,具有语音识别功能的电子宠物设计选择了SPCE061A作为系统的中央处理控制单元。
3.1.1SPCE061A功能特性
SPCE061A是一块集成度很高的单片机,将MCU,A/D,D/A,RAM,ROM集成在一块芯片上,同时具有16位*16位的乘法运算和内积运算功能,CPU最高时钟可达到49MHz。
因此,在处理复杂的数字信号方面它可以和DSP相媲美,但比专用的DSP芯片廉价。
它具有较强的中断处理能力,支持10个中断向量及10余个中断源,适合实时语音处理,并具有双通道10位DAC方式的音频输出功能,配置带白动增益控制功能(AGC)的麦克风输入方式,为语音处理带来了极大便利。
因此,以u’nSP™为核心的SPCE061A微控制器是适用于数字语音识别应用领域产品的一种最经济的选择。
具有语音识别功能的电子宠物设计选择这款具有16位机功能,但却是8位机价格的单片机作为本系统的核心器件是合理的。
SPCE061A内部结构图请见图3-1:
SPCE061A是一款基于u’nSP™内核的16位单片机,其芯片特性如下:
(1)工作电压:
内核工作电压VDD为3.0~3.6V(CPU),I/O口工作电压VDDH为VDD~5.5V(I/O);
(2)CPU时钟:
0.32MHz~49.152MHz;
(3)内置2K字SRAM和32K闪存ROM;
(4)系统处于备用状态下(时钟处于停止状态),耗电小于2μA和3.6V;
(5)具备触键唤醒的功能;
(6)32位通用可编程输入/输出端口;
(7)2个16位可编程定时器/计数器(可自动预置初始计数值);
(8)7通道10位电压模-数转