微波EDA网,见证研发工程师的成长!
首页 > 应用设计 > 消费类电子 > 3G 手机语音识别应用中DSP的选择策略

3G 手机语音识别应用中DSP的选择策略

时间:02-18 来源:电子工程世界 点击:

和打包。它能通过一个指令队列对前端提供反馈,并通过调度器控制后端,因此除非需要执行计算,VLES处理一般不消耗功率。

 在并行VLES结构中,一些特殊指令需要成组以避免空操作(Nop),由于减少了时钟周期,处理时间也相应减少了。比较而言,在甚长指令字计算中,所有执行步骤都必须按顺序排列,因此在一个8字节的执行集甚至是1字节数据时,系统就需要7个占位符(placeholder)或Nop。

  由于VLES结构不需要Nop,VLES设计中的复杂性从硬件或编程器转移到了编译器。由于每个周期都充满了数据,因此每个周期就具有更高的效率,从而也提高了电源与内存的使用效率。

  电源管理
  
  由于ASR系统需要连续处理语音数据,会使DSP成为消耗电能的主要部件,因此高效利用电源对设备成功走向市场至关重要。
  
  在高性能DSP中,选择16位指令集而非32位指令集能提高代码密度,进一步减少对内存、功耗和体积的需求,一部分原因是由于更短的16位指令集可以减少寄存器和数据线数量。例如在ASR应用中,存储的词汇量可能达到2.5MB(对于1024簇的三音素状态,5个合成和39个参数来说,声学HMM状态模型是400KB;一本有1万个三态三音素代码本是60KB;三音素状态转移概率矩阵是500KB;一个具有40个杂乱态2万字的双字母组是1.6MB)。如果DSP具有高的代码密度,能为ASR系统提供固定数量的存储器,那么就可以获得更好更大的声学和语言模型。

  片上和片外存储器

  对于ASR系统中使用的DSP来说,有效地利用片上和片外存储器是另外一个重要的课题。由于ASR系统需要大量的存储空间用于词汇与模式识别数据的存储,一个灵活的存储结构在这里将显得特别重要。例如,一个具备统一寻址存储器的DSP能使设计工程师很好地平衡程序和数据,还能平衡系统算法的复杂性与声学和语言模型的大小以获得最优化的性能。

  例如,如果具有100条命令的识别系统模型只有100kB的片上系统内存,总共内存空间需求是240kB,那么采用二次识别方法能更有效地利用片上快速存储器。

  第一次(原始识别阶段)只使用39个参数中的13个MFCC,因此模型大小为80kB,可以载入片上内存。原始识别阶段的候选命令数量要比原来的100个少,比方说是33个命令,但可信度高达99.9%。

  第二次(精确识别阶段)把33个候选命令的39个参数作为模型使用,大小是80kB,因此又可以把该模型装载入片上内存。这种二次识别方法会引入一些延时,但延时非常小,大约只有10ms,说话人一般不会觉察到。

  统一寻址存储器能够支持较大的词汇库或命令集,还能支持较大的HMM模型或神经网络系数,因此能简单化实时任务。例如为ASR系统的程序和数据准备100kB的存储器,设计工程师就能平衡好算法复杂性与词汇量或命令集大小之间的关系。如果程序要占50kB,那么数据只能是50kB。如果允许降低识别精度而将程序代码压缩到20kB,那么命令集就能用到80kB,也就是增加了词汇库容量。

  在ASR系统中,高度并行化、高代码密度和有效利用存储器等优点还能使DSP完成语音识别以外的任务。在大多数情况下,设计工程师可以将部分计算资源分配给语音识别之用,而将剩余资源用来执行信道处理系统中所需的其它任务。

除了DSP内核以外的其他要求
  
  在选中最优化的DSP后,要想获得高性能的ASR用系统级芯片还需要增加一些功能,例如快速缓存或快速指令/数据存取以及实时操作系统(RTOS)才能使ASR系统真正完成实时性能。多任务RTOS能使系统同时运行多个应用如双通道语音识别,因此能极大地提高系统性能。
  
  复杂SoC应用(如信道处理系统)设计工程师能从使用高效的高级语言编译器的DSP和SoC中获益,因为这些编译器允许设计工程师使用C或C++语言进行编程。采用增强的片上仿真和调试功能还可以进一步缩短设计时间。对于3G移动手机应用中各层次的元器件与系统设计来说,除了实时性能和简化设计流程外,功率管理控制同样非常重要。在设计SoC时,选择具有可调功率功能的内核将获益非浅。例如当移动用户在说话时,DSP需要全速运行(如300MHz)。当未使用ASR功能时,SoC电源管理电路可以逐步降低到较低的时钟速度(如100MHz),从而有效地降低漏电和功耗。
  
  由于ASR系统对计算速度的需求会根据识别特征的差异产生很大变化,例如孤字识别或连续语音识别、词汇量和跟讲者无关的语音识别等,因此,能支持ASR功能的信道处理系统的复杂性变化也很大。

SoC非常适合于构造芯片的基础架构,因此在以客户/服务器系统为中心的设计中是非常理想的选择,但SoC器件由于功能太强大,因此并不非常适合于用户端以终端

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top