基于FM2010芯片的回声消除装置的设计应用
目前,QQ视频、语音通信已经成为既省钱又方便的交流方式,但是,利用因特网传输语音数据虽然提高了资源的利用率,同时也存在一些弊端,比如语音质量差。造成这种问题的因素有很多,其中最主要的是网络问题和回声问题。在正常的通话过程中通常伴有回声,由于回声的存在,使得对方听音不清晰,影响通话质量[1]。
参考文献[2]介绍了一种归一化快速块最小均方算法(NFBLMS),相比LMS算法,它不仅可以有效减小运算复杂度,同时也能改善收敛速度。参考文献[3]运用了一种新的回声控制系统,该系统结合了非线性谐波处理的线性回声消除,获得了很好的回声消除效果及收敛效果。参考文献[4]提出了一种全极IIR回声消除器,该回声消除器可以应用传统的LMS算法,并得到很好的效果。
1 回声产生的原理及主要的消除方法
1.1 回声产生的基本原理
回声一般可分成电路回声和声学回声。电路回声主要由提供商的线路质量所致,而声学回声则是由用户端设备的质量所致。
1.1.1 电路回声
在传统电话系统中,存在着一种所谓的“电路回声”。该回声产生的主要原因是在系统中存在2-4线的转换。完成2-4转换的混合器因阻抗匹配,造成“泄漏”,从而导致“电路回声”。
1.1.2 声学回声
因特网语音传输中的第二种回声源是“声学回声”。声学回声是指扬声器播放出来的声音被麦克风拾取后发回远端,这就使得远端谈话者能听到自己的声音。声学回声又分为直接回声和间接回声。
直接回声是指扬声器播放出来的声音未经任何反射直接进入麦克风。这种回声延迟最短,它与远端说话者的语音能量,扬声器与话筒之间的距离、角度、扬声器的播放音量以及话筒的拾取灵敏度等因素相关。
间接回声是指扬声器播放的声音经不同的路径一次或多次反射后进入麦克风所产生的回声集合。
由于电路回声主要由供应商的线路质量所致,其消除也通常由供应商解决,故本文主要解决声学回声的消除方式。
1.2 回声消除方法
回声消除的原理:假设需要消除房间 A所能听到的回声,把房间A 发送回路的声音送入采样器进行采样,采样后这个样值被送到回声抑制模型电路进行回声抑制模型建立,再把这个回声抑制的模型送入接收回声的回声比较器进行比较,最终达到抑制回声的目的。
常用的回声消除方法有以下几种:
(1)本端回声消除器(以CISCO系统内置回声消除器为代表):回声消除电路内置在本端通信终端设备上,为本地会场消除远端回声影响。
(2)异端回声消除器(以ClearOne的回声消除器为代表):本地的回声消除电路是用来消除对端的回声。
(3)分布式回声消除:分布式回声消除是美国Clear-
One公司独有的专利技术,有别于单路回声消除,它在XAP系列产品的每一路麦克输入都内置了回声消除器,可以更有效、更彻底地消除回声。
2 FM2010简介及回声消除装置设计
FM2010是Fortemedia公司推出的一款小引脚低功耗的回音消除器和噪音抑制器。
2.1 FM2010特性及回声消除原理
FM2010 是集合CODECs、ROM、RAM以及串口的基于DSP技术的芯片。利用创新的SAM(小型阵列麦克风)技术与波束形成能力,其功率消耗仅为25 mW。圆锥形波束形成特性可以在保持用以提高清晰度的声音质量和增加声音的可辨识度的同时对噪音进行压制。FM2010的回音消除可达60 dB,非平稳噪音抑制可达20 dB,平稳噪音抑制为18 dB。每个模拟通道都是8 kHz的采样率和84 dB的信噪比。为了进一步减少能耗,FM2010使用特定的硬件加速器来降低MIPS的需求以达到25 mW的损耗,并附带了硬件加速器的声音处理器[5]。
FM2010使用的是自适应回声抵消原理, 声学回声抵消器的实质就是用一个自适应横向滤波器对未知的回声授通道进行系统辨识,模拟回声路径,再通过自适应滤波算法的调整,使其时域冲激响应与实际回声路径相逼近,从而得到回声预测信号,再将预测信号从麦克风接收到的语音信号中减去,即可实现回声抵消。其原理即为分布式回声消除方式。具体来说就是FM2010芯片的MIC IN是麦克风进入的信号, 即用户的声音输人信号, 其中包含由本机扬声器漏进去的部分主话端的语音信号。Line IN接入的是主话端的语音信号, 即由本机扬声器输出的信号直接接入FM2010的Line IN输入端。在FM2010内部会经过DSP芯片的运算处理对两者进行比较,消除MIC IN信号中与Line IN端相同的信号(即回声音频信号),使用自适应回声抵消原理达到消除回声的目的[6]。
2.2 硬件电路及PCB板设计
图1为宏观硬件架构图(原理图)。如图所示,FM2010配有E2PROM。E2PROM的主要作用是存储初始化信息,保存并传递回音消除的参数。图中FM2010芯片为回声消除的主要工作芯片(芯片未接脚为悬空),并配以相应的电源电路,以及麦克风的接口电路,从而整体完成消除回声的功能。
2.3 软件程序的设计
图2所示为软件架构示意图。FM2010回音消除的软件开发需要的几个步骤为:
评论