新闻中心

EEPW首页 > 消费电子 > 设计应用 > 语音识别及其定点DSP实现

语音识别及其定点DSP实现

作者: 时间:2010-08-30 来源:网络 收藏

  2.2 系统的硬件结构

  在构成语音识别电路时,我们采用了A2181的主从结构设计方式,通过IDMA口由CPU装载程序。语音识别系统的硬件结构如图2所示。

语音识别系统的硬件结构

  在这种结构中,PC机为主CPU,A2181为从CPU,由PC机通过IDMA口将程序装载到A2181的内部存储器中。PC机总线通过CPLD译码,形成IRD,IWR,IAL,IS等控制信号,与ADSP2181的IDMA口相连。这样,在ADSP2181全速运行时,主机可以查询从机的运行状态,可以访问到ADSP2181内部所有的程序存储器和数据存储器。这对程序的编译和调试,以及语音信号的实时处理带来了极大的方便。

  3 语音识别的DSP实现技术

  3.1 浮点运算的定点实现

  在语音识别的算法中,有许多的浮点运算。用定点DSP来实现浮点运算是在编写语音识别程序中需要首先解决的问题。这个问题可以通过数的定标方法来实现。数的定标就是决定小数点在定点数中的位置。Q表示法是一种常用的定标方法。其表示机制是:

  设定点数是J,浮点数是)/,则Q法表示的定点数与浮点数的转换关系为:

  浮点数)/转换为定点数x:x= (int)y×2Q;

  定点数z转换为浮点数y:y =(float)x×2-Q。

  3.2 数据精度的处理

  用16b的定点DSP实现语音识别算法时,虽然程序的运行速度提高了,但是数据精度比较低。这可能由于中间过程的累计误差而引起运算结果的不正确。为了提高数据的运算精度,在程序中采用了以下的处理方法:

  (1)扩展精度

  在精度要求比较高的地方,将计算的中间变量采用32b,甚至48b来表示。这样,在指令条数增加不多的情况下却使运算精度大大提高了。

  (2)采用伪浮点法来表示浮点数

  伪浮点法即用尾数+指数的方法来表示浮点数。这时,数据块的尾数可以采用Q1.15数据格式,数据块的指数相同。这种表示数据的方法有足够大的数据范围,可以完全满足数据精度的要求,但是需要自己编写一套指数和尾数运算库,会额外增加程序的指令数和运算量,不利于实时实现。


  以上两种方法,都可以提高运算精度,但在实际操作时,要根据系统的要求和算法的复杂度,来权衡考虑。



关键词: DSP

评论


相关推荐

技术专区

关闭