基于Clarity CVC-HFK免提开发平台的车载信号处理

回声消除(AEC)可实现汽车内舒适的全双工免提通话 , 本文介绍的Clarity CVC-HFK 可提供集成的单扩音器解决方案( OMS)噪声抑制算法 。

它支持自适应噪声消除功能 , 可降低麦克风(传入)信号中的环境噪声 , 并提取所需的语音 , 还可向远端用户传输清晰的话音(传出) 。

两个因素决定了使用免提蜂窝电话系统的必要性 , 首先是由于目前的蜂窝电话系统的终端多为手持的 , 这就给司机造成了不便 。司机常常要放下手机两只手驾驶 , 如转弯等 , 然后在转回谈话 。电话交谈的中断很不方便 , 甚至还会造成经济成本损失 , 因为移动电信收费相当高 。再一个重要因素就是安全性 。不妨设想一下只用一只手操纵方向盘、打着手机的司机 。既然司机不能双手操纵方向盘 , 那么再要什么防抱死系统和气囊就显得毫无意义了 。因此 , 免提蜂窝电话系统正成为使用移动电话的司机的必备品 。 


 
图1:免提套件开发平台结构HFK开发平台   

HFK开发平台是一套包含DSP在内的解决方案 , 提供了软硬件设计 , 可实现最终产品的快速开发 , 并使其独树一帜 。HFK开发平台可通过 JTAG实现与 TI软件开发环境Code Composer StudioTM(CCStudio)开发工具相连接 。该开发环境与文档相结合可实现TI DSP第三方软件的快速集成 , 并能加速产品的上市进程 。HFK开发平台适用于对成本及性能都要求很高的高质量汽车后市场免提套件 , 也适用于具备蓝牙功能的 HFK 。用于免系统的回声消除软件

就车载免提广播/电话系统而言 , 一个缺点就是会感到远端扬声器有回声 。要在车内营造一个舒适的全双工免提通话环境 , 最重要的软件环节就是回声消除器(AEC) 。欧洲电信标准学院(ETSI)目前正在制定有关AEC系统的标准 。

回声现象是由扬声器与麦克风之间耦合造成的 。在全双工通信中 , 远端扬声器听到自己的声音会有延迟 , 延迟的长短取决于汽车内部与全球移动通信系统(GSM)的延迟 。回声路径长度是AEC的关键参数 。   


  
图2:CVC-HFK应用图示   

自适应滤波(更准确的说法是NLMS算法)是针对AEC最常见的解决方案之一 。NLMS算法在计算量与性能之间实现了较好的折中 。

和AEC有关的其他问题是两人同时讲话的模糊音(DT)情况 。如果没有检测到的话 , DT会造成自适应算法的发散 。

AEC软件利用NLMS算法来消除回声 , 是通过C54x DSP汇编程序来执行的 。

1. NLMS算法

NLMS算法可更新自适应有限脉冲响应(FIR)滤波器的系数 , 该滤波器用于预测回声 , 随后我们从实际回声中减去预测值 , 就可给出残留回声 。

2. 活动通道检测

AEC算法的一个关键特性就是活动通道检测 。在远端操作者静默而近端操作者讲话时 , 由于近端操作者不再是回声 , 所以滤波器不用进行适配 , 通过计算信号能量 , 并将该能量与自适应阈值进行比较 , 可实现活动通道的检测 。

3. 模糊音(DT)检测

在DT情况下 , 扩音器上的近端信号包括回声与近端话音(即模糊音) 。用于更新滤波器系数的残留误差包括近端讲话 , 而如果算法仍在进行自适应 , 则算法可能开始发散 , 必须避免这种情况 。DT检测使用基于能量的算法 , 并配合一个变量阈值来解决此问题 。

4. 基准

AEC软件的基准(以16 位字表示)为:

代码大小:154 字;
静态RAM:527 字;
擦写RAM:2 字;

最大计算时成本为4.7MIPS 。计算消耗在ST时期最大 , 在DT时期降至2.4MIPS 。ST时期占通话的主要部分 , 而DT时期则仅在较短的个别情况下出现 。

CVC-HFK软件

CVC-HFK( 清晰语音捕捉—— 免提套件)集成了回声消除、噪声抑制、非线性处理等功能 , 是一套优化的HFK 解决方案 。CVC-HFK解决方案使用全面的自适应子带方法来改善主要方面的性能 , 同时仅占用很少的资源 。在汽车环境中 , 环境噪声是免提系统要克服的主要问题 。因此 , 除了回声消除功能外 , Clarity CVC-HFK还提供了集成的单麦克风解决方案(OMS)噪声抑制算法 。OMS解决方案支持自适应噪声消除功能 , 其可削弱麦克风信号(传入)中的环境噪声 , 提取所需的语音 , 并将干净的话音(传出)传输至远端用户 。由于CVC-HFK是完全自适应的 , 因此不再需要过多调节 。下面 , 我们将简介CVC-HFK 解决方案及其主要方面的性能 。

1. CVC-HFK AEC

CVC-HFK回声消除器是“无状态”AEC , 其采用标准频率域NLMS算法的一个变体作为其主要的自适应滤波器 。我们将在下面说明采用这些方法的好处 。首先 , 子带频率域方法可取消关联或白化每个带中的输入信号 , 同相当时间域的AEC 相比它可实现更快的收敛 。第二 , 无状态AEC可实现连续的滤波器适应 , 这可改善噪声环境中的鲁棒性和整体模糊音性能 。前面讲过在DT情况下麦克风信号中既包含回声又包含近端话音 。近端话音不与回声信号相关联 , 如果没有进程避免它的话就会造成自适应滤波器的发散 。第三 , NLMS 可实现独立于输入振幅的一致收敛 。

正由于此 , CVC-HFK AEC可获得典型的40dB ERLE(回声返回损耗增益值) , 最大可达50dB ERLE , 并可实现80ms左右的快速收敛时间 , 且在大多数环境下可进行全双工操作 。此外 , CVC-HFK AEC为其自适应滤波器采用了64ms的尾长 , 这就在内部容量方面实现了更大的灵活性 。

2. CVC-HFK NS( 噪声抑制器)

CVC-HFK噪声抑制器是一种利用话音与噪声特性来帮助从合成噪声及话音信号中提取话音的频率域算法 。CVC-HFK NS的两大主要模块是语音构成分析与语音提取 。

语音成份分析模块采用话音与噪声的暂时与相关属性来构建话音构成的可预测模型 。语音提取块可根据语音与噪声模型修改各频率成份 。此外 , 语音提取块还可充分利用音质原理最小化噪声底限与感觉的语音失真 。

CVC-HFK NS 采用该方案可在噪声环境中实现10-15dB SNR( 信噪比)的改善 , 同时还能保持较好的语音质量 。在SNR 已经足够高的极低噪声环境中 , 因为已关闭了NS , 不会发生语音失真 。

3. CVC-HFK NLP( 非线性处理)

由于系统失真增加 , 因而CVC-HFK NLP最小 。由CVC-HFK NLP增加的失真量比诸如中心削波器等标准NLP模块要低得多 , 因为其使用来自输入与误差信号的信息来确定额外的衰减 。由于所有的CVC-HFK模块均使用频率域算法 , 因而与既使用时间域又使用频率域算法的解决方案相比 , 可以显著节约内存 , 并简化计算复杂性 。

系统集成设计

在将TI-HFK板与蜂窝免提套件相集成时 , 要实现良好的移动呼叫还需要数个组件与适当的接口 。

您必须选择可与CVC-HFK应用软件和板卡硬件同时兼容的组件 , 才能获得良好的性能 。HFK可支持各种不同的扩音器、扩音扬声器以及车载音响系统 。但是 , 为了减少对应用手册的变更 , 我们已选择了专用的业界标准组件 , 这会为您的成功调整带来很大帮助 。从TI-HFK板到蜂窝套件需要三个连接才能实现集成:扩音器输入TI HFK板;传出、已处理过的音频输出;输入、从蜂窝套件接收进来的信号 。

下面给出扩音扬声器与扩音器放置设计的几点建议 。

1. 扩音器的位置和定向为实现最佳的总体麦克风性能 , 在最后将设备安装到汽车内之前应了解一些关键的变量 。建议保持扩音器和车内用户口腔之间的距离为46cm(18英寸) 。建议距离范围从30至56cm(12-22英寸) 。

2. 尽可能避免扩音器暴露于气流(窗户和风扇);

3. 适当考虑扩音器大小和安装方案 , 使扩音器前部可对准车内用户的口腔 。基于以上考虑 , 在图3的帮助下 , 您可以选择最佳的扩音器位置 。首先 , 请遵循优先考虑区域1、2和3中的建议 。一旦做出决定 , 您就可用金属板或维可牢尼龙带固定扩音器 , 可将线缆连接回电子设备处以端接 。随后应保证线缆的隐蔽性 , 保持美观 , 此外还要保持线缆固定 , 不会被挤压或打结 。最后 , 应避免并行线缆与天线接头和其它带噪声的线缆相连接 。

4. 扬声器位置建议在适当位置安装扬声器 , 以便提供良好的语音性能 , 同时不干扰扩音器拾波区域 。拾波区域为+30度锥形体 , 从扩音器正面起 , 向外突出至汽车驾驶人员 。   

【基于Clarity CVC-HFK免提开发平台的车载信号处理】
  
图3:扬声器的放置   

扬声器应位于距麦克风至少1米处(3英尺) 。扬声器应远离麦克风的拾波区域 , 以减少回声反馈的几率 。理想情况下 , 扬声器应位于扩音器正面方向之后或成90度 。扬声器的声音失真大小会对回声造成直接的负面影响 。

本文小结

免提系统的使用不断普及 , 用户也期待着性能会不断提高 。鉴于HFK 实施存在多种可用选择 , 显而易见 , 把软件算法和硬件信号处理器集成是一项周到的举措 , 这将非常有利 。HFK开发套件可以应付上述所有问题 , 并给开发或销售上述产品的人员带来益处 。带有AEC与CVC-HFK的TI TMS320C5407开发套件可提供所需的灵活性和高性能 , 并可快速而廉价地将HFK 解决方案推向市场 。

    推荐阅读