网站大量收购独家精品文档,联系QQ:2885784924

用单片机实现语音控制机器人.doc

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
用单片机实现语音控制机器人

用单片机实现语音控制机器人 制作人:潘磊 p 卢恒 p题目:用凌阳单片机实现语音识别功能并传递给PIC单片机信号,由PIC单片机控制机器人实现动作 关键字:PIC单片机,凌阳单片机,语音控制 单片机在现今生活中占有越来越重要的地位,用语音控制单片机实现控制更具有广泛的应用价值。用语音控制舞蹈机器人做一些动作是我们这次实现的功能,虽然这在语音控制方面仍处于起步阶段,但他体现了语音控制的原理和基本实现,也为更高级的运用打下了基础。 原理: 语音识别原理 语音识别电路基本结构如上图所示: 语音识别分为特定发音人识别(Speaker Dependent)和非特定发音人识别(Speaker Independent)两种方式。 特定发音人识别是指语音样板由单个人训练,对训练人的语音命令识别准确率较高,而其他人的语音命令识别准确率较低或不识别。非特定发音人识别:是指语音样板由不同年龄、不同性别、不同口音的人进行训练,可以识别一群人的命令。语音样板的提取非常重要。我们将标准模式的存储空间称之为“词库”,而把标准模式称之为“词条”或“样板”。所谓建立词库,就是将待识别的命令进行频谱分析,提取特征参数作为识别的标准模式。 识别过程首先要滤除输入语音信号的噪音和进行预加重处理,提升高频分量,然后用线性预测系数等方法进行频谱分析,找出语音的特征参数作为未知模式,接着与预先存储的标准模式进行比较,当输入的未知模式与标准模式的特征相一致时,便被机器识别,产生识别结果输出。如果输入的语音与标准模式的特征完全一致固然好,但是语音含有不确定因素,完全一致的条件往往不存在,事实上没有人能以绝对相同的语调把一个词说两遍,因此,预先制定好计算输入语音的特征模式与各特征模式的类似程度,或距离度的算法规则固化在ROM中,把该距离最小,即最类似的模式作为识别相应语音的手段。当然,影响识别率的因素还有一些,如连续发音(如英语)与断续发音(如汉语)的不同(二者区别在于单词间隔有200ms以上的空隙时间)。 本程序采用特定人识别方式,将训练的标准样板存于内部RAM中(掉电丢失),每次上电复位后都要进行训练, 2.硬件电路 硬件电路比较简单,MIC选用驻极体电容话筒,这种话筒具有灵敏度高、无方向性、重量轻、体积小、频率响应宽、保真度好等优点,驻极体话筒的偏压由SPCE061A的VMIC管脚提供。其硬件电路如下图所示。 SPCE061A的A/D转换器有8个通道,其中有1个通道是MIC-IN输入,它专门用于对语音信号进行采样。语音信号经MIC转换成电信号,由隔直电容隔掉直流成分,然后输入至SPCE061A内部前置放大器。SPCE061A内部自动增益控制电路AGC能随时跟踪、监视前置放大器输出的音频信号电平,当输入信号增大时,AGC电路自动减小放大器的增益;当输入信号减小时,AGC电路自动增大放大器的增益,可使进入A/D的信号保持在最佳电平,又可使削波减至最小,A/D转换器对输入的音频信号进行8kHz采样,并按照凌阳音频编码格式进行编码,每秒将占用16kBits的存储器空间。 2.机器人的控制。 我们控制的机器人是“小强”,他总共有三个电机需要控制。行走由一个直流电机控制,手部有两个步进电机控制。对每一个电机规定固定的端口,由PIC控制电机驱动电路H桥的使能端从而实现各种动作的控制。在这里,PIC单片机时刻监视凌阳单片机的信号位,不同的电平组合进行不同的动作,实现语音控制。 程序设计 语音识别程序。 程序包括三部分:训练样本、识别和语音提示。 由于语音样本是存在内部RAM中,掉电将丢失,所以在每次上电复位时都必须重新训练,训练过程主要是靠调用库函数 BSR_Train 来完成,为了防止误命令,每条语音命令训练2遍,只有2次命令相同时才成功,BSR_Train函数有8种可能的返回值: 0------训练成功; -1------没有检测到命令; -2------需要再训练一次,每条命令训练2次,第一次训练成功则返回-2; -3------环境太吵; -4------存储器满; -5------两次命令不一样; -6------命令序号超出范围; -7------命令已存在; 训练成功则训练下一条,否则继续训练。 语音识别程序包括识别程序和中断服务程序。识别程序完成选取词库、初始化A/D和定时器TimerA、识别运算及识别结果处理,整个流程图如图。 中断服务程序定时读取A/D转换结果,并存入缓冲区,A/D的输入为MIC通道的语音信号。语音识别和放音分时复用TimerA FIQ 中断,由标志位判断是语音识别处理还是放音处理。中断服务程序的流程图如图所示。 识别程序如下: //=======

文档评论(0)

almm118 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档