n)为加混响的远端参考信号x(n)+近端语音信号s(n)。理论上NLMS在处理这种纯线性叠加的信号时,可以不用非线性部分出马,直接干掉远端回声信号。图7(a)行为近端信号d(n),第二列为远端参考信号x(n),线性部分输出结果,黄色框中为远端信号。WebRTCAEC中采用固定步长的NLMS算法收敛较慢,有些许回声残留。但是变步长的NLMS收敛较快,回声抑制相对好一些,如图7(b)。线性滤波器参数设置#defineFRAME_LEN80#definePART_LEN64enum{kExtendedNumPartitions=32};staticconstintkNormalNumPartitions=12;FRAME_LEN为每次传给音频3A模块的数据的长度,默认为80个采样点,由于WebRTCAEC采用了128点FFT,内部拼帧逻辑会取出PART_LEN=64个样本点与前一帧剩余数据连接成128点做FFT,剩余的16点遗留到下一次,因此实际每次处理PART_LEN个样本点(4ms数据)。默认滤波器阶数为kNormalNumPartitions=12个,能够覆盖的数据范围为kNormalNumPartitions*4ms=48ms,如果打开扩展滤波器模式(设置extended_filter_enabled为true),覆盖数据范围为kNormalNumPartitions*4ms=132ms。随着芯片处理能力的提升,默认会打开这个扩展滤波器模式,甚至扩展为更高的阶数。
声学回声消除应用技术。吉林光纤数据声学回声是什么
黑色这条线是标准NLMS算法的回声抑制比。我们可以看到,NLMS算法在收敛之后,回声抑制比只能到10个分贝左右,相对比较低。而双耦合算法在收敛之后,可以达到25个分贝以上,也就是说它比NLMS算法多15个分贝,这个优势是很明显的。接下来我们再看第二个示例,针对弱非线性失真的情况,左边是语谱,右边是回声抑制比。我们评估单讲性能的主要指标是回声抑制比和收敛速度。首先看一下NLMS算法,它在收敛之后,大概可以抑制22~25个分贝。这个算法的收敛速度很慢,大概经过100多帧之后才会进入到相对收敛的状态。再来看一下双耦合算法,在稳定之后,可以抑制35~40个分贝,比NLMS算法大概提升15~20个分贝的回声抑制比。同时它还有一个很明显的优势:收敛速度很快,几乎是回声到了之后,他瞬间就进入到收敛状态。接下来这个是针对不同手机机型的回声抑制比的比较。红色是双耦合算法,蓝色是NLMS算法,从这组数据里面,我们可以看到双耦合算法比NLMS算法普遍提升了大概10个分贝以上的回声抑制比,具有比较大的优势。再进入双讲测试场景。我首先介绍一下测试的示例,这组数据是一个视频会议的数据,左边这个是原始的麦克信号语谱,右边这个是回声参考信号语谱。
四川数字声学回声设计非线性声学回声消除技术在整个声学回声消除领域是一个相对比较冷的研究方向。
需要注意的是,如果index在滤波器阶数两端疯狂试探,只能说明当前给到线性部分的远近端延时较小或过大,此时滤波器效果是不稳定的,需要借助固定延时调整或大延时调整使index处于一个比较理想的位置。线性部分算法是可以看作是一个固定步长的NLMS算法,具体细节大家可以结合源码走读,本节重点讲解线型滤波在整个框架中的作用。从个人理解来看,线性部分的目的就是很大程度的消除线性回声,为远近端帧判别的时候,很大程度地保证了信号之间的相干值(0~1之间,值越大相干性越大)的可靠性。我们记消除线性回声之后的信号为估计的回声信号e(n),e(n)=s(n)+y''(n)+v(n),其中y''(n)为非线性回声信号,记y'(n)为线性回声,y(n)=y'(n)+y''(n)。相干性的计算(Matlab代码),两个实验(1)计算近端信号d(n)与远端参考信号x(n)的相关性cohdx,理论上远端回声信号的相干性应该更接近0(为了方便后续对比,WebRTC做了反向处理:1-cohdx),如图5(a),行为计算近端信号d(n),第二行为远端参考信号x(n),第三行为二者相干性曲线:1-cohdx,会发现回声部分相干值有明显起伏,比较大值有,近端部分整体接近,但是有持续波动,如果想通过一条固定的门限去区分远近端帧,会存在不同程度的误判。
为什么要费那么大周折去抑制回声?这个话题应该不言而喻了。会议、语音扩声讲究的即是STI语音清晰度(可懂度),而回声是语言清晰度的比较大。设想踩脚跟式的语音信号传达到耳朵,听者难受,讲者费劲,对于这样的语音会议来说,那必将是一场灾难。我们把声学回声消除这个技术变成一张实体的插件(设备插卡),在系统中,为实现次回声过滤(过滤回声源则过滤多次回声)。这个技术应该插入在系统的哪个环节呢?我们不妨来找找系统中具备近乎相同/相似信号的一级进出环节。我们并不难发现一组具备相似信号的输入输出环节。而AEC技术认为,在这里对回声下手是治根的办法!市面上有多种类的回声消除器,也有部分抑制器,其算法和解决办法各有不同,本文就不详细阐释了。须知,通过对具有相似性极高的输入、输出信号的比对,约掉这一具备相似信号的输出,即切断了回授的根源,A地将不再听到回声现象。如何处理非线性声学回声消除,效果又如何?
为什么又这么冷呢?我能想到的一个答案是它太难了,它非常有挑战性。下面就来看一下它的技术难点。5非线性声学回声消除的技术难点,我从6个不同的维度比较了线性的和非线性这两种回声消除问题。个维度,系统传递函数。在线性系统里面,我们认为系统传递函数是一个缓慢时变的系统,我们可以通过自适应滤波的方式去逼近这个传递函数,来有效抑制回声。而在非线性系统里面,系统传递函数通常是快变、突变的,我们如果用线性的方法去逼近的话,会出现滤波器的更新速度,跟不上系统传递函数变化的速度,就会导致声学回声消除不理想。第二个维度是优化模型,在线性里面我们是有一套非常完备的线性优化模型,从目标函数的构建到系统优化问题的求解,整个脉络是很清晰的。而在非线性的系统里面,目前是缺少一种有效的模型来对它进行支撑的。接下来的四个维度对应4个问题,它们是线性回声消除领域普遍存在的4个难点问题,这些问题在非线性领域也同样存在。比如强混响问题,我们如果在一个小型会议室里开视频会议,那么声音会经过多次墙壁反射,带来很强的混响,混响的拖尾时间会很长。如果想抑制这样的强混响回声,就需要把线性滤波器的长度加长。
不上系统传递函数变化的速度,就会导致声学回声消除不理想。青海未来声学回声介绍
右边的非线性声学回声场景。吉林光纤数据声学回声是什么
这样会带来一个新的问题:按照Widrow的自适应滤波理论,滤波器的长度越长,其收敛速度越慢,同时权噪声越大,进而导致强混响下回声消除不够理想。第二个问题是延时跳变问题。在实时音视频通话领域,延时跳变是一个比较普遍的问题。主要现象是麦克端采集的信号和回声参考信号之间的时延关系会发生跳变,每次跳变之后就需要重新对齐信号,就会漏一些回声出来。第三个问题是啸叫问题。啸叫的检测和啸叫的抑制是公认的在回声领域的经典难题。还有双讲问题。双讲是评估回声消除算法性能的一个重要指标,当然也是很难处理的一个问题,因为双讲很容易导致滤波器系数发散。综合以上这些维度我们可以看到,非线性的声学回声消除是一个很有挑战的研究方向。双耦合声学回声消除算法这个是我们团队提出来的一种算法,它的主要特点是,在构建滤波器模型的过程中结合了非线性声学回声的一些特性,因此它在抑制非线性回声方面,也体现出固有的优势。1.非线性声学回声系统建模,继续回到前面的这个声学回声路径。我们对这个模型进行了简化。我们将左边的喇叭端用一个传递函数Wn来表示,假设它的是非线性的回声路径传递函数;同时我们将喇叭右边,就是麦克端,统一用Wl来表示。
吉林光纤数据声学回声是什么
深圳鱼亮科技有限公司致力于通信产品,是一家服务型公司。深圳鱼亮科技致力于为客户提供良好的智能家居,语音识别算法,机器人交互系统,降噪,一切以用户需求为中心,深受广大客户的欢迎。公司从事通信产品多年,有着创新的设计、强大的技术,还有一批**的专业化的队伍,确保为客户提供良好的产品及服务。在社会各界的鼎力支持下,持续创新,不断铸造***服务体验,为客户成功提供坚实有力的支持。