积分规则 网站地图 帮助中心    
嵌入式软件 单 片 机 DSP 存储器 传感控制 光电显示
嵌入式硬件 CPLD/FPGA SOPC AD/DA 接口电路 模拟设计
I C设计 通信产品 汽车电子 电源产品 消费电子 数控系统
工业控制 军工/航天 安防产品 医疗电子 计算机外设 测试测量
供应 I C
求购 公司库

  IC 求购 销售 公司 论文 DATASHEET 参考设计 论坛
当前位置: 首页 >> 行业应用 >> 消费电子 >> 应用笔记
  相关分类:
如何保证语音引擎设计的质量和性能
 
作者:Jonathan Cline D2科技公司   来源:电子工程专辑    点击数:150   更新时间:2008-6-23
您可以添加到网摘 让更多人关注此文章:

    目前无绳电话或IP电话使用的通用SoC集成了接入器件和统一的无线通信器件,并且在系统软件中集成软件语音引擎,可以完全支持VoIP要求的软件数字信号处理。语音引擎采用了软DSP(soft-DSP)实现技术,能够满足嵌入式处理器的系统性能要求。为了确保VoIP具有电话质量的语音性能,系统软件必须满足语音引擎的实时要求。

下一代软DSP产品采用了实时处理和宽带(高清晰度)语音通信技术,可以比当前技术取得更大的最终用户满意度和市场潜力。这些产品为语音通信建立了新的高清晰度标准。根据本文建议开发的产品可以取得超过电话质量通信的效果。相反,不满足这些实时要求将造成许多语音质量劣化的症状,包括掉话、显著的时延、爆破音或卡嗒声、传真/调制解调器呼叫失败或传真页错乱,以及由于丢包或超额延时造成的语音不清等等。不满足实时要求还将导致错过时限,这将是严重的系统故障,需要整个系统复位才能解决,除非系统支持硬件和软件的恢复。

电话呼叫中的语音通信是双向的:音频的发送和接收同时进行。因此尽量减小语音系统中的延时以确保音频质量很关键;然而,减小时延的优化工作与满足语音处理要求相冲突。在传统的回放音频系统中,如音频(MP3)回放或多媒体流,缓存可以做得很大以补偿系统处理能力的低下,此时延时与质量无关。语音引擎却不能这样做,因为音频缓存必须能在固定时间得到全部处理。这种架构通常采用中断优先级划分和软件调度,利用甚至在某些时候增强操作系统的实时性能来保证语音处理的完成。

在语音引擎系统中,软件中断服务程序将与语音硬件编解码器交换语音采样。语音硬件编解码器以8kHz的采样速率完成模拟信号与音频采样之间的来回转换。在电话应用中,硬件编解码器被连接到作为电话物理接口的用户线接口电路(SLIC)或无绳电话的DECT射频电路。而在IP电话或移动手机场合,硬件编解码器被连接到放大器,放大器再与麦克风和扬声器相连。

SoC硬件接口在保证语音引擎的实时性能和准确调度方面扮演着关键的角色。如果SoC带TDM或AC97外设,电话语音编解码器可以直接连到处理器。如果嵌入式处理器不带这些外设,最低成本的解决方案是经过一个CPLD再与处理器相连。CPLD可以从硬件编解码器逐个收发采样,这种方案对时间最敏感,并且代表了最坏情况下的时序要求。

不管是通过TDM、AC97还是CPLD,语音硬件服务必须优先处理以确保中断得到响应;其他系统软件必须不影响这个中断的关键时序。在8kHz的采样速率下,中断将每125μs发生一次。对于运行在200MHz的SoC来说,针对速度优化过的CPLD中断服务程序处理时间在25μs以内。这就允许最大中断延时的计算值为90μs(125μs–(25μs+中断服务建立时间10μs))。系统要想满足实时时限,操作系统必须在收到编解码器中断后的90μs内调用中断服务程序,并且操作系统必须允许服务运行并立即完成。

操作系统还必须保证中断服务程序可以调度语音引擎,以便立即对在音频缓存进行处理。中断服务程序使用缓存准备好信号激活这种调度,如图所示。在该图中可以看到,DMA外设用来将音频采样采集到缓存中供语音引擎的处理,这种方法的效率要比CPLD实现高。

对语音引擎的要求是要在下一个语音缓存准备好之前完成语音采样的处理。语音引擎中处理语音所需的时间取决于多个因素,包括处理器、缓存大小、RAM速度、物理语音接口数量(音频通道)、缓存要求的软件DSP处理以及所用的语音编码器类型。

要想全面地分析语音引擎时序要求,请参考附表。tidle参数代表的是所有其他系统进程或系统应用程序留给可用处理的剩余时间。从语音引擎设计角度看,就是指空闲时间。所有较低优先级系统的处理都是发生在语音引擎完成实时语音处理后的空闲时间内。在最坏情况下,tidle可能为0ms,此时语音引擎处理会有多次反复。

D2科技公司的vPort软件包含了针对所支持配置的性能基准。例如,vPort版本可能规定三方G.729AB语音会议呼叫的语音处理,作为最坏情况和缓存连续清空的条件下,要求语音引擎提供每10ms最大100MHz的处理能力。如果运行在400MHz RISC处理器上,tvoice在最坏情况处理时要求100MHz(CPU处理能力的25%),对应每隔10ms处理间隔中的2.5ms处理时间。如果tswitch超过7.5ms(tswitch=tbuffer–(tvoice+tidle)),实时时限就无法满足,这个时间还不包括在语音引擎处理期间由于其他外设中断、下半部处理或“tasklet”软中断引起的额外开销。

以下是设计师在集成用于软DSP处理的语音引擎时需要考虑的最重要的一些设计准则:

1. 为了使质量最优,语音通信要求最小化系统时延;

2. 语音通信是连续的,丢失采样或失去实时性将是最严重的错误;

3. 语音硬件有严格的时序要求,在丢失时序时需要一种差错恢复机制;

4. 语音引擎实时处理必须在10ms的软件时限内完成对语音缓存的处理。语音引擎中断服务程序在CPU外设硬件基础上有严格的时序限制。

图1:语音引擎时序图。
图1:语音引擎时序图。

表1:D2的语音引擎时序要求。
表1:D2的语音引擎时序要求。



相关文章
· 基于 TPS54310的雷达视频信号模拟器的电源设计[10]
· S3C4480X平台上μC/OS-Ⅱ的中断系统设计[37]
· S3C4480X平台上μC/OS-Ⅱ的中断系统设计[54]
· 基于DSP+μC/OS-Ⅱ的励磁系统的研究[45]
· 基于DSP+μC/OS-Ⅱ的励磁系统的研究[46]
热门评论排行
·VHDL设计中电路简化问题的
·江苏嵌入式Linux教育培训
·锐极LINUX驱动培训班定于
·基于实时操作系统μC/OS-
·ARM处理器应用开发4步骤

文章评论
    没有任何评论
*只显示最新10条评论。评论内容只代表网友观点,与本站立场无关。更多评论
发表评论
  * 请先[登陆]再进行评论,谢谢。
评分: 1分 2分 3分 4分 5分
内容: *
发帖须知:
一.所发文章必须遵守《互联网电子公告服务管理规定》;
二.严禁发布供求代理信息,公司介绍,产品信息等广告宣传信息;
三.严禁恶意重复发帖;
四.严禁对个人,实体,民族,国家等进行漫骂,污蔑,诽谤。
 
热点新闻 [更多]
 
ARM联手IBM等三家公司开发32n
Hitachi Elect
中国芯片供需缺口达七成
西班牙研发出视觉鼠标 眨眼
首条OLED生产线昆山投产 
宇航服电子元器件:航天员的“生命保护
美研发出可卷曲太阳能电池
美国研发嗅觉感受器获新进展 
首尔半导体就日亚(NICHIA)专利
MIPS 科技授权国家集成
 
热门下载 [更多]
 
[ PCB设计] Protel99教程下载
[ ] 手把手学单片机20个例
[ ] 单片机做的智能台灯
[ ] 单片机入门书
[ ] linux系统移植开发文档
[ ] IC卡的读写程序
[ ] 8051单片机C语言彻底应用
[ 常用软件] 555定时器电路设计软件V1.2
[ 常用软件] 51定时器计算软件
[ ] ARM处理器应用开发4步骤
 
论坛新帖 [更多]
 
写给迷茫中的嵌入式新手...
Arm/DSP/FPGA的比较...
Arm/DSP/FPGA的比较...
Arm/DSP/FPGA的比较...
[分享]逆变器的买与用...
[分享]电力系统直流电源装置的...
单片机如何控制TFT真彩色LC...
请教:2051的C程序...
中国为何没有世界级的企业和企业...
AVR的EEPROM,到底怎么...

 
赞助商 [更多]
 

ICP许可证号:[粤 05056597]
联系电话:010-82517432 82517615 传真: 010-82517615

版权所有 Copyright © 2006 嵌入式技术网