福建智能音响声学回声AEC算法

时间:2022年04月14日 来源:

    非线性声学回声消除的技术难点我从6个不同的维度比较了线性的和非线性这两种回声消除问题。首先个维度,系统传递函数。在线性系统里面,我们认为系统传递函数是一个缓慢时变的系统,我们可以通过自适应滤波的方式去逼近这个传递函数,来有效抑制回声。而在非线性系统里面,系统传递函数通常是快变、突变的,我们如果用线性的方法去逼近的话,会出现滤波器的更新速度,跟不上系统传递函数变化的速度,就会导致声学回声消除不理想。第二个维度是优化模型,在线性里面我们是有一套非常完备的线性优化模型,从目标函数的构建到系统优化问题的求解,整个脉络是很清晰的。而在非线性的系统里面,目前是缺少一种有效的模型来对它进行支撑的。接下来的四个维度对应4个问题,它们是线性回声消除领域普遍存在的4个难点问题。这些问题在非线性领域也同样存在。比如强混响问题,我们如果在一个小型会议室里开视频会议。那么声音会经过多次墙壁反射,带来很强的混响,混响的拖尾时间会很长。如果想抑制这样的强混响回声,就需要把线性滤波器的长度加长。这样会带来一个新的问题:按照Widrow的自适应滤波理论,滤波器的长度越长,其收敛速度越慢,同时权噪声越大。 声学回声的功能怎么样?福建智能音响声学回声AEC算法

    23.避免厅堂音质缺陷的方法主要是从厅堂的体形设计和吸声材料布置两方面入手,消除产生音质缺陷的条件。例如,为了消除回声,应在可能引起回声的部位布置强吸声材料,使反射声减弱经;另一种方法是调整反射面角度,将后墙与顶棚交接处作成比较大的倾角,将声音反射给后区观众,彻底消除回声,取得化害为利的效果。为了消除声聚集现象,应尽量控制厅堂界的曲面弧度,采用凸形结构,并在弧面上布置合适的吸音材料。为了消除音质缺陷,可根据厅堂内声源的位置。采用几何作图法,用声线的分布找出各种声缺陷的条件和部位,再采取必要的措施进行抑制。24.回声指强度和时间差大到足可以引起听觉将它与直达声区分开来的反射声。从单一声源产生的一连串可分辩的回声则叫多重回声,当室内两个界面之间距离大于一定数值,且吸声量不足时,在其中间声源发出的声音就可能产生多重回声。回声会影响听音注意力,影响声音的清晰度,破坏立体声聆听的声像定位效果。25.颤动回声当声源在平行界面或一平面与一凹面之间发生反射,界面距离大于一定数值时会出现颤动回声。发生颤动回声时,声音有连续的重叠声,并有颤抖的感觉。颤动回声会引起听力疲劳,使人感到厌烦。

    福建智能音响声学回声AEC算法搜索“声学回声消除”的相关文献。

    以此来应对市面上绝大多数的移动设备。另外,线性滤波器虽然不具备调整延时的能力,但可以通过估计的index衡量当前信号的延时状态,范围为[0,kNormalNumPartitions],如果index处于作用域两端,说明真实延时过小或过大,会影响线性回声估计的效果,严重的会带来回声,此时需要结合固定延时与大延时检测来修正。非线性滤波非线性部分一共做了两件事,就是想尽千方百计干掉远端信号。(1)根据线性部分提供的估计的回声信号,计算信号间的相干性,判别远近端帧状态。(2)调整抑制系数,计算非线性滤波参数。非线性滤波抑制系数为hNl,大致表征着估计的回声信号e(n)中,期望的近端成分与残留的非线性回声信号y''(n)在不同频带上的能量比,hNl是与相干值是一致的,范围是[0,],通过图5(b)可以看出需要消除的远端部分幅度值也普遍在,如果直接使用hNl滤波会导致大量的回声残留。因此WebRTC工程师对hNl做了如下尺度变换,over_drive与nlp_mode相关,不同的抑制激进程度,drive_curve是一条单调递增的凸曲线,范围[]。由于中高频的尾音在听感上比较明显,所以他们设计了这样的抑制曲线来抑制高频尾音。我们记尺度变换的α=over_drive_scaling*drive_curve。

    

    为什么声学器件的小型化容易产生非线性的失真呢?这个需要从喇叭发声的基本原理说起,我们都知道声波的本质是一种物理振动,而喇叭发声的基本原理就是通过电流来驱动喇叭的振膜发生振动之后,这个振膜会带动周围的空气分子相应发生振动,这样就产生了声音。如果我们要发出一个大的声音的话,那么就需要在单位时间内用更多的电流去驱动更多的空气分子发生振动。假设有大小不同的两个喇叭,他们用同样的功率去驱动,对于大喇叭而言,由于它跟空气接触的面积要大一些,所以他在单位时间内能够带动更多的空气分子振动,所以它发出来的声音也会大一些。而小喇叭如果想发出跟大喇叭一样大的声音,就需要加大驱动功率,这样会带来一个问题:我们的功率放大器件会进入到一种饱和失真的状态,由此就会带来非线性的失真。这就是声学器件小型化容易产生非线性失真的一个主要的原因。这里廉价化比较好理解了,就不多说了。原因之二,就是声学结构设计的不合理。典型的一个实例就是声学系统的隔振设计不合理。喇叭发声单元跟麦克接收单元之间,通常是需要做隔振处理的,如果没有隔振处理的话,那么在喇叭发声的过程中,他所产生的振动会通过物理方式传递到麦克接收端。

     声学回声往往会经过多个不同路径的多次反射之后到达接收端。

    只需要近端采集信号即可,傲娇的回声消除需要同时输入近端信号与远端参考信号。有同学会问已知了远端参考信号,为什么不能用噪声抑制方法处理呢,直接从频域减掉远端信号的频谱不就可以了吗?行为近端信号s(n),已经混合了近端人声和扬声器播放出来的远端信号,黄色框中已经标出对齐之后的远端信号,其语音表达的内容一致,但是频谱和幅度(明显经过扬声器放大之后声音能量很高)均不一致,意思就是:参考的远端信号与扬声器播放出来的远端信号已经是“貌合神离”了,与降噪的方法相结合也是不错的思路,但是直接套用降噪的方法显然会造成回声残留与双讲部分严重的抑制。接下来,我们来看看WebRTC科学家是怎么做的吧。信号处理流程WebRTCAEC算法包含了延时调整策略,线性回声估计,非线性回声抑制3个部分。回声消除本质上更像是音源分离,我们期望从混合的近端信号中消除不需要的远端信号,保留近端人声发送到远端,但是WebRTC工程师们更倾向于将两个人交流的过程理解为一问一答的交替说话,存在远近端同时连续说话的情况并不多(即保单讲轻双讲)。因此只需要区分远近端说话区域就可以通过一些手段消除绝大多数远端回声。

     我们把声学回声消除这个技术变成一张实体的插件(设备插卡)。福建智能音响声学回声AEC算法

认识了非线性声学回声、产生的原因、研究现状以及技术难点。福建智能音响声学回声AEC算法

    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。随着芯片处理能力的提升,默认会打开这个扩展滤波器模式,甚至扩展为更高的阶数。

    福建智能音响声学回声AEC算法

信息来源于互联网 本站不为信息真实性负责