0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

软DSP处理用于语音引擎设计是需注意哪些事项

电子设计 来源:电子工程专辑 作者:D Technologies 2021-06-23 17:06 次阅读

目前无绳电话或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:语音引擎时序图

责任编辑:gt

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • dsp
    dsp
    +关注

    关注

    544

    文章

    7669

    浏览量

    344182
  • 调制解调器
    +关注

    关注

    3

    文章

    815

    浏览量

    38363
收藏 人收藏

    评论

    相关推荐

    新能源铜排焊接需注意事项与应用领域

    ` 本帖最后由 一只耳朵怪 于 2018-6-19 09:46 编辑 新能源铜排焊接需注意事项与应用领域【雅杰,顾小霞***】工艺:铜箔焊接、专业模具定型处理。选用先进焊接技能,焊点结实,不易
    发表于 06-16 10:51

    请问stm32与DSP的SPI通信有什么注意事项吗?

    求STM32与DSP的spi通信注意事项
    发表于 04-17 06:35

    PCB设计中叠层算阻抗时需注意哪些事项

    PCB设计中叠层算阻抗时需注意哪些事项
    发表于 05-16 11:06

    带您了解显示屏边框加工所需注意事项

    LED边框铝型材成型是用来制作我们的LED边框的一种材料,通常用于LED显示屏。今天迈普光彩小编就来给大家讲讲显示屏边框加工所需注意事项。 1、检查设备是否正常,机器各运作件是否在原位,滑板的润滑
    发表于 07-17 17:40

    技术人员在FPGA设计时需注意什么事项

    技术人员在FPGA设计时需注意什么事项
    发表于 04-30 06:00

    DSP芯片应用于哪些领域

    DSP芯片已经广泛应用在信号处理、通信、雷达等许多领域:  (1) 信号处理--如数字滤波、自适应滤波、快速傅里叶变换、相关运算、频谱分析、卷积等。  (2) 通信--如调制解调器、自适应均衡、数据
    发表于 06-18 16:36

    开关电源PCB设计六大步骤所需注意事项进行分析

    开关电源PCB设计六大步骤在任何开关电源设计中,PCB板的物理设计都是最后一个环节,如果设计方法不当,PCB可能会辐射过多的电磁干扰,造成电源工作不稳定,以下针对各个步骤中所需注意事项进行分析。01原理图到PCB的设计流程02相关参数设置相邻导线间距必须能满足电气安全要
    发表于 12-28 08:28

    擦除FLASH零等待区期间需注意事项

    擦除FLASH零等待区期间需注意事项有零等待区的MCU 系列,在擦除零等待区时需注意事项
    发表于 10-23 07:36

    标准电池使用注意事项

    标准电池使用注意事项   从标准电池的原理、结构、特性可知,在使用标准电池时需注意以下五点。   ①标准电池不允许倾
    发表于 11-09 17:19 4217次阅读

    自己动手拆笔记本需注意的重要事项

    自己动手拆笔记本需注意的重要事项 一、拆装前注意事项:   1、 拆卸前关闭电源,并拆去所有外
    发表于 01-23 13:59 661次阅读

    使用微波炉需注意的地方

    使用微波炉需注意的地方 微波炉的使用操作虽然简单易行,但也应注意一些正确的保养维护,在使用时须注意以下几点:     &
    发表于 02-21 15:39 823次阅读

    PCB焊盘需要注意哪些问题

    焊盘是过孔的一种,PCB焊盘设计需注意以下事项
    发表于 05-07 11:59 3853次阅读

    三极管使用时需注意的问题

    电子发烧友为大家提供了三极管使用时需注意的问题,希望能帮助您解决问题!
    发表于 06-20 16:20 3.3w次阅读
    三极管使用时<b class='flag-5'>需注意</b>的问题

    集成PCB电路安装与焊接时有哪些事项需注意

    根据SMT电子产品生产的性质、生产pcba批量、设备条件等情况不同,集成PCB电路安装与smt焊接时需注意事项有哪些?
    的头像 发表于 02-24 11:02 3665次阅读

    安装电子元器件时需注意事项

    任何电子设备都离不开电子元器件的安装。对于初学者来说,掌握电子元器件的安装方法有着重要的意义。本文主要介绍安装电子元器件时需注意事项
    的头像 发表于 05-01 16:11 6488次阅读
    安装电子元器件时<b class='flag-5'>需注意</b>的<b class='flag-5'>事项</b>