首页 | 期刊简介 | 编辑部 | 广告部 | 发行部 | 在线投稿 | 联系我们 | 产品信息索取
2024年11月21日星期四
2011年第01期
 
2010年第12期
 
2010年第11期
2010年第11期
 
2010年第10期
2010年第10期
 
2010年第09期
2010年第09期
 
2010年第09期
2010年第08期
 
2010年第07期
2010年第07期
 
2010年第06期
2010年第06期
 
2010年第05期
2010年第05期
 
2010年第04期
2010年第04期
 
2010年第03期
2010年第03期
 
2010年第02期
2010年第02期
 
2010年第01期
2010年第01期
 
2009年第12期
2009年第12期
 
2009年第11期
2009年第11期
 
2009年第10期
2009年第10期
 
2009年第9期
2009年第9期
 
2009年第8期
2009年第8期
 
2009年第7期
2009年第7期
 
2009年第6期
2009年第6期
 
2009年第5期
2009年第5期
 
2009年第4期
2009年第4期
 
2009年第3期
2009年第3期
 
2009年第2期
2009年第2期
 
2009年第1期
2009年第1期
 
2008年第12期
2008年第12期
 
2008年第11期
2008年第11期
 
2008年第10期
2008年第10期
 
2008年第9期
2008年第9期
 
2008年第8期
2008年第8期
 
2008年第7期
2008年第7期
 
2008年第6期
2008年第6期
 
2008年第5期
2008年第5期
 
2008年第4期
2008年第4期
 
2008年第3期
2008年第3期
 
2008年第2期
2008年第2期
 
2008年第1期
2008年第1期
数字信号控制器支持嵌入式语音应用

Digital Signal Controllers Enable Embedded Speech Applications

Microchip 数字信号控制器部高级应用工程师 Rishi Vasuki



改善话音质量和加快话音传输速度一直是电信行业的要求。在消费电器和汽车等其他市场领域,语音识别也在迅速成为最终产品的标准人机接口方法。传统上,这些市场中的应用系统往往同时使用数字信号处理器(DSP)和单片机(MCU)。单片机用于录制和播放话音,同时控制用户交互过程。DSP则严格作为数字计算引擎用来处理录制的话音。近年来,出现了一类称为数字信号控制器(DSC)的新产品。DSC集成了功能丰富的定点DSP引擎、单片机和多个外设模块。对于高质量低成本话音和电信应用而言,DSC极具吸引力。本文将探讨DSC和DSP在处理语音信号的嵌入式系统中所起的作用。

我们先看一个采用Microchip dsPIC DSC的手机免提套件参考设计(图1)。这一应用面临不少难题。呼叫者的话音从汽车的扬声器系统自动反馈到麦克风中,导致呼叫者会听到自己说话的回声。而且,如果汽车周围的环境嘈杂,那么远端的受话方就可能无法听清驾车人在说什么。因此,免提套件需要采用数学算法来抑制背景噪声并消除话音信号的回声。这也是语音信号处理系统面临的一些典型难题。为了确定处理器是否满足此类应用中的计算要求,我们需要研究语音信号的特性。

图1 Microchip公司的手机免提套件参考设计(略)


语音处理要求

就象其他模拟信号一样,人声可以描述为有一定频带和幅度的信号。由于语音信号的带宽不超过4kHz,数字化时的最高采样速率通常为16kHz。这为处理系统设定了第一个重要的实时约束条件——数字化样本需要在约65ms时间里处理完毕。主观听音测试表明语音信号要能够听清,信噪比(SNR)应大于65 dB。这带来第二个约束 条件——存储和处理数字化语音样本的字长必须大于11位(每位6 dB动态范围)。 采用16位处理器可提供96dB的动态范围,有足够的处理余量。既然我们已确定了两个处理器级的约束条件,我们就来研究为什么定点DSC或DSP对于处理语音信号是非常理想的。


DSP用于语音应用

目前,许多厂商都提供了一系列用于语音信号处理的软件库。这些软件库可以高效地发挥DSP的功能,以便最终用户 不需要从头开始学习DSP。在许多情况下,这些软件库都遵循一定的业界 标准。例如,现有的一些软件库符合G.167(回声消除 标准)、G.168(线路回波消除标准)及G.711或Speex(语音编码和解码标准)。尽管有了这些现成的软件库,对所评估的DSC或DSP产品具有的一些基本DSP功能有所了解仍是必要的。

所有语音信号处理算法的核心都是“卷积和”运算。为了尽可能快地完成这一运算,DSC和DSP均提供了可在单个周期执行的乘加(MAC)指令。对于采样 速率为16 kHz的语音数据来说,4000万MIPS的DSC 可以在两次语音采样之间执行2600条MAC指令。如果打算将来在产品中增加功能,这可以帮助预估所选平台的可扩展能力。

在16位DSP或DSC中,一条MAC指令的输入为两个16位字,将它们相乘后再将32位结果加到累加器中。累加器通常是一个40位的寄存器,其宽度足够存储多次MAC运算的结果。DSC/DSP还可对累加器内容进行自动界限检查(limit-checking),保证累加器不会出现错误或超出边界。这样的功能通常也称为“溢出保护”和“饱和”。一个16位DSC或DSP内的许多运算实际上都是以40位精度执行的。不过,当所有处理完成后需要将输出样本数据存储到存储器中时,DSC/DSP会对40位累加器结果进行智能近似操作,以便将结果存储到16位存储器空间。


语音应用中的系统集成

许多DSC都集成了片上模拟模块、单片机和DSP组件,从而可将语音应用的大部分功能在单个芯片内实现。语音应用的输入话音信号由麦克风提供。输入的话音信号利用片外CODEC或片上的12位模数(A/D)转换器采样为16位脉冲编码调制(PCM)的数字化样本,以便进行数字处理。处理阶段输出的PCM样本在经过数模(D/A)转换后从扬声器或耳机传出。D/A转换可利用独立的CODEC完成,也可以利用片上集成的D/A转换器完成。

另一种逐渐流行的低成本替代方案是驱动一个片上脉宽调制(PWM)外设。PWM输出经低通滤波后再到达扬声器。有些DSC还集成了直接存储器访问(DMA)外设。这一外设有利于自动缓存数据,同时避免了处理器响应中断服务所需要的开销。图2演示了这些外设和软件库与麦克风和扬声器等外部接口的关系。

图2 嵌入式语音应用实例(略)

从消费电器到VoIP电话,语音处理在嵌入式系统中越来越常见。数字信号控制器可帮助语音应用实现高度系统集成,从而降低系统成本并提高可靠性。

《世界电子元器件》2007.5
         
版权所有《世界电子元器件》杂志社
地址:北京市海淀区上地东路35号颐泉汇 邮编:100085
电话:010-62985649
E-mail:dongmei@eccn.com