机器人语音识别系统 拟人机器人语音识别系统的硬件设计

  摘 要: 为了提高语音识别的可靠性和高效率性,设计了以“MCU+DSP”的双CPU结构为核心的语音识别系统,其中以DSP[1]芯片作为硬件平台的主处理器,完成语音识别所需的计算。MCU用以完成对DSP运算的协助工作,控制机器人各部分动作,其性能达到了实时处理的要求。
  关键词: 拟人机器人; 双CPU; 语音识别系统; 硬件设计
  中图分类号:TP319 文献标志码:A 文章编号:1006-8228(2013)01-01-02
  Design of hardware of speech recognition system in humanized robot
  Liu Renping, Hou Ruizhen, Fang Yinglan, Han Xianfeng
  (North China of Technology, Beijing 100144, China)
  Abstract: In order to improve the reliability and efficiency of the speech recognition, a speech recognition system based on double CPU of the "MCU+DSP" is designed. The calculations are done by the main processor which takes the digital signal processor (DSP) as the hardware platform. DSP operation is assisted by Micro control unit(MCU), which controls all parts of the robot. Its performance can meet real-time processing"s needs.
  Key words: humanoid robot; double CPU; speech recognition system; hardware design
  0 引言
  随着超大规模集成电路和数字信号处理器(DSP)的快速发展,DSP的应用越来越广泛,涉及到各个领域如语音处理,图像处理等方面。现在语音识别中许多复杂算法已经能够在硬件上实现。最近十多年来,已研发出不少应用于不同领域的便携式语音识别系统。DSP处理速度快、灵活、精确,满足了对信号快速、实时、精确处理的要求,所以很适用于语音识别。
  1 拟人机器人语音识别方法概述
  语音信号分析是语音识别的前提和基础,只有分析出可表示语音信号本质特征的参数,才可能利用这些参数进行高效的语音通信,才能建立用于识别的模板或知识库。语音识别率的高低取决于对语音信号分析的准确性和精确性,虽然语音信号具有时变特性,但在一个短时间范围内其特性相对稳定,因而可以将其看作是一个短时平稳过程。任何对语音的分析和处理均建立在“短时”的基础上,一般认为语音信号在10-30ms的短时间内是相对平稳的。
  拟人机器人语音识别方法如图1所示,采集到的语音信号输入后,首先对语音信号进行预处理,预处理主要包括:语音信号电压放大采样、反混叠失真滤波、预加重、自动增益控制、分帧、加窗、语音增强、端点检测以及A/D转换等环节;然后是信号特征量的提取(本文对信号的特征量进行Mel频率倒谱系数[2](Mel-Frequency Cestrum Coefficients)处理);最后对建立好的参数模板进行对比,测试的依据是失真度最小准则,如本文用到的动态时间规整DTW[3](Dynamic Time Warping)。
  2 系统硬件设计
  通过针对拟人机器人的特点,对系统进行分析和方案设计,最终确定本系统的框图如图2所示。本系统的硬件基于一个以DSP(TMS320VC5416)为主处理器的硬件平台,硬件平台主要包括:语音输入输出模块、主处理器DSP模块、存储器模块、单片机MCU模块、485串口通信模块。其中语音输入输出模块实现了语音信号的采集和输出;主处理器DSP模块(TMS320VC5416)主要完成语音识别所需的计算,其性能能够达到实时处理的要求;存储器模块包括一片FLASH和两片SRAM,用FLASH作为DSP的可编程存储器,SRAM分别作为DSP的数据和程序存储器;单片机MCU模块完成对拟人机器人的运动控制;485串口通信模块实现单片机MCU和PC机之间的通信。
  2.1 主处理器DSP模块介绍
  TMS320VC5416(简称VC5416)是TI公司的C54X家族的成员之一,它是基于先进的改进哈佛结构的16位定点DSP。它具有C54X的共同特点,高性能低功耗,具有高达160MHz的主频,核心电压1.5V,运行于此频率时功耗仅为90mW;拥有一条程序总线和三条数据总线,片内集成有高度并行性的算术逻辑单元(ALU)、专有硬件逻辑、片内存储器和片内外设等。
  片内可屏蔽ROM中固化有启动装载程序(BOOTLOADER)和中断向量表等。系统上电时,BOOTLOADER自动把用户代码从外部存储器搬移到程序空间。复位以后,中断向量表可被重新映射到程序空间的任何(128Word)的开始处。为了与慢速的外设通信,VC5416提供了等待状态发生器,通过软件设置等待周期的个数,不仅降低了系统硬件设计的复杂性,而且为系统带来了很大的灵活性。VC5416片内集成了软件可编程的锁相环时钟电路,它只需要一个参考时钟输入就可以得到31种不同频率的输出时钟,最大的乘率因子(在寄存器CLKMD中设置)为15,最小的为0.25。这样,一方面可利用较低频率的外部时钟源产生较高频率的CPU时钟,另一方面在不工作时可降低CPU时钟频率至外部频率的四分之一,从而降低了CPU的功耗。   2.2 语音输入输出模块介绍
  语音输入输出模块采用TI公司推出的一款高性能立体声音频Codec芯片TLV320AIC23B,内置耳机输出放大器,支持MIC和LINE IN两种输入方式,且对输入和输出都具有可编程增益调节。其最主要的优点是和TI公司的DSP芯片的McBSP接口完全兼容,与本设计中使用的DSP芯片能够实现无缝接口。
  AIC23的模数转换((ADCs)和数模转换(DACs)部件高度集成在芯片内部,采用了先进的Sigma-delta过采样技术,可以在8K到96K的频率范围内提供16bit,20bit,24bit和32bit的采样,ADC和DAC的输出信噪比分别可以达到90dB和100dB。与此同时,AIC23还具有很低的能耗,回放模式下功率仅为23mW,省电模式下更是小于15uW。由于具有这些优点,使得AIC23是一款非常理想的音频模拟I/0器件,可以很好地适用于随声听(如CD,MP3),录音机等数字音频领域。由TLV320AIC23组成的语音输入与输出模块不仅采样率高(最高可达96KHz),而且外围电路简单,性价比高。最方便之处是能与McBSP无缝接口(它是TI原厂制造)。
  2.3 存储器模块介绍
  VC5416 DSP片内提供了16K×16bit的ROM和128K×16bit的SRAM。其中ROM内部包含的Boot loader程序在系统上电时能把外部存储器中的源程序调到内部存储器中,允许源程序存放在速度较慢的外部存储器中,降低了硬件资源的成本,片内ROM由厂家定制,位于程序空间OxF000-OxFFFFo。On-Chip RAM分为两个大小都为64K的块,其中DARAM和SARAM各有8块,每块容量为8K×16bit。在DARAM中,有4块定位在数据空间0x0080-Ox7FFF(当OVLY=1时,可以被映射到程序/数据空间),剩下的4块DARAM被定位到程序空间0x18000-Ox1FFFF。通过设置DROM=1可使定位在程序空间的0x18000-Ox1FFFF的RAM映射到数据空间。在一个周期内它支持两次读操作,或者一次读操作和一次写操作。SARAM被定位到程序空间0x28000-Ox2FFFF和0x38000-Ox3FFFF。
  除了内部16K的ROM和128K的SRAM之外,系统还可以扩展外部存储器。本系统扩展了两块64K×16bit的SRAM(IS61LV12816)和一块256K×16bit的FLASH(AM29LV800B)来增加系统存储空间。
  2.4 MCU模块介绍
  单片机是一种集成电路芯片,采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O和终端系统、定时器、计时器等(有些还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上,构成一个小而完善的计算机系统。
  本文采用89C52单片机完成机器人的运动控制。89C52是INTEL公司MCS-51系列单片机中基本的产品,它结合了CMOS的高速和高密度技术及CMOS的低功耗特征,基于标准的MCS-51单片机体系结构和指令系统,集成了时钟输出和向上或向下计数器等更多的功能。89C52内置8位中央处理单元、256字节内部数据存储器RAM、8K片内程序存储器(ROM)、32个双向输入/输出(I/O)口、3个16位定时/计数器和5个两级中断结构,一个全双工串行通信口,片内时钟振荡电路。此外,89C52还可工作于低功耗模式,可通过两种软件选择空闲和掉电模式。在空闲模式下冻结CPU和RAM定时器,而串行口和中断系统维持其功能。掉电模式下,保存RAM数据,时钟振荡停止,同时停止芯片内其他功能。该单片机最大的优势就是可以跟TI公司提供的这款DSP兼容,达到最佳的效果。
  2.5 RS-485串口通信模块介绍
  RS-485是RS-422的改进,它增加了设备的个数,从10个增加到32个,同时定义了在最大设备个数情况下的电气特性,以保证足够的信号电压。RS-485模块具有出色抗噪和多设备能力,在拟人机器人上可以建立连向PC机的分布式设备网络、其他数据收集控制器、HMI等,RS-485可以用超过4000英尺的线进行串行通信,实时性能高,更加便于我们操作控制机器人。
  3 结束语
  通过采用双CPU对语音识别系统进行控制,有效地提高了语音识别的可靠性和实时性,特别适合应用于语音识别的场合。语音识别算法采用的是隐马尔科夫模型,对识别算法进行测试,在正常发音情况下(“短时”时看作平稳过程),系统的实时性和识别率都可以得到很好的结果,但是如果说话人有明显的停顿时,系统比较容易出现错误识别,这也是接下来需要改进的地方。
  参考文献:
  [1] 周霖.DSP信号处理技术应用[M].国防工业出版社,2004.
  [2] 蔡莲红,黄德智,蔡锐.现代语音技术基础与应用[M].清华大学出版社,2003.
  [3] 程启明.语音信号端点检测的实验研究[J].声学与电子工程,1997.34(3):33-36
  [4] 刘玄和,宋庭新.语音识别与控制应用技术[M].科技出版社,2008.
  [5] Speech recognition in noise for cochlear implant listeners:Benefits of residual acoustic hearing[J].The Journal of the Acoustical Society of America,2004.115(5):1729-1735
  [6] 项勇.基于DSP和HMM的语音识别系统设计和实现[D]. 武汉科技大学,2008.

推荐访问:拟人 机器人 识别系统 语音