您好,欢迎访问

商机详情 -

江苏未来声学回声设计

来源: 发布时间:2022年05月23日

  为什么要费那么大周折去抑制回声?这个话题应该不言而喻了。会议、语音扩声讲究的即是STI语音清晰度(可懂度),而回声是语言清晰度的比较大。设想踩脚跟式的语音信号传达到耳朵,听者难受,讲者费劲,对于这样的语音会议来说,那必将是一场灾难。我们把声学回声消除这个技术变成一张实体的插件(设备插卡),在系统中,为实现次回声过滤(过滤回声源则过滤多次回声)。这个技术应该插入在系统的哪个环节呢?我们不妨来找找系统中具备近乎相同/相似信号的一级进出环节。我们并不难发现一组具备相似信号的输入输出环节。而AEC技术认为,在这里对回声下手是治根的办法!市面上有多种类的回声消除器,也有部分抑制器,其算法和解决办法各有不同,本文就不详细阐释了。须知,通过对具有相似性极高的输入、输出信号的比对,约掉这一具备相似信号的输出,即切断了回授的根源,A地将不再听到回声现象。回声消除AEC(AcousticEchoCancellation)一般指的是声学回声消除,其主要用于抑制产品本身发出的声音。江苏未来声学回声设计

江苏未来声学回声设计,声学回声

    需要注意的是,如果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,会发现回声部分相干值有明显起伏,比较大值有,近端部分整体接近,但是有持续波动,如果想通过一条固定的门限去区分远近端帧,会存在不同程度的误判。

     江苏未来声学回声设计非线性声学回声消除技术。

江苏未来声学回声设计,声学回声

    喇叭发声单元跟麦克接收单元之间,通常是需要做隔振处理的,如果没有隔振处理的话,那么在喇叭发声的过程中,他所产生的振动会通过物理方式传递到麦克接收端。对麦克接收到的声学信号进行调制,而这种振动本质上是一种随机的、非线性的振动,所以它必然会带来非线性失真。手机声学特性调研我们之前针对市面上主要的手机机型做过一次调研,主要调查声学特性。结果我们很惊讶地发现,市面上超过半数的手机机型,声学特性不够理想,对应这里面的“较差”和“极差”这两档。我们平时用手机开外音玩游戏,或者语音通话时,经常会出现漏回声问题和双讲剪切问题,就与手机声学特性不佳有直接联系。当然这组数据只是针对手机这种电子产品,市面上类似于手机这样的电子产品还有很多,它们应该也有类似的问题。这组数据告诉我们,非线性失真问题在我们生活中的电子产品里是一个普遍存在的问题,我相信对这个问题的研究将会是一个很有价值也很有意义的方向。

    以此来应对市面上绝大多数的移动设备。另外,线性滤波器虽然不具备调整延时的能力,但可以通过估计的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。

     的是声学回声的路径。

江苏未来声学回声设计,声学回声

    3.双耦合滤波器设计当滤波器的结构确定下来之后,我们要去设计滤波器系数了。设计过程我把它总结成了三步,第一步就是构建优化准则,第二步是求解滤波器的权系数——Wl和Wn,一步就是构建耦合机制。第一步就是构建优化准则。我觉得构建优化准则,应该是整个滤波器设计里面重要的一步,因为它决定了滤波器性能的上限。什么样的优化准则是一个好的优化准则呢?我觉得好的优化准则需要跟问题的物理特性有效匹配起来,所以在构建优化准则之前,我们先对非线性声学回声的特性进行分析,希望通过这种分析去挖掘非线性声学回声的一些物理特性。我们的分析是基于上面的函数,我们称它为短时相关度,它所表示的是两个信号,在一个短时的观测时间窗“T”这样一个尺度范围内的波形的相似程度,需要注意的是这个函数它是统计意义上的,因为我们对它进行了数学期望运算。同时在分子的一项我们还加了一个相位校正因子,目的是为了将这两路信号的初始相位对齐。基于前面构建的短时相关度函数,我们对大量声学回声数据进行分析,并挑选了几组比较典型的数据:绿色的曲线对应的是一组线性度非常好的回声数据。我们从这个数据上可以看到,在整个时间T的变化范围内,它的短时相关度都非常高。

     右边的非线性声学回声场景。江苏未来声学回声设计

声学回声是由于麦克风和扬声器的声学泄露耦合而成。江苏未来声学回声设计

    n)中的回声是扬声器播放远端参考x(n),又被麦克风采集到的形成的,也就意味着在近端数据还未采集进来之前,远端数据缓冲区中已经躺着N帧x(n)了,这个天然的延时可以约等于音频信号从准备渲染到被麦克风采集到的时间,不同设备这个延时是不等的。苹果设备延时较小,基本在120ms左右,Android设备普遍在200ms左右,低端机型上会有300ms左右甚至以上。(2)远近端非因果为什么会导致回声?从(1)中可以认为,正常情况下当前帧近端信号为了找到与之对齐的远端信号,必须在远端缓冲区沿着写指针向前查找。如果此时设备采集丢数据,远端数据会迅速消耗,导致新来的近端帧在向前查找时,已经找不到与之对齐的远端参考帧了,会导致后续各模块工作异常。如图10(a)表示正常延时情况,(b)表示非因果。WebRTCAEC中的延时调整策略关键而且复杂,涉及到固定延时调整,大延时检测,以及线性滤波器延时估计。三者的关系如下:①固定延时调整只会发生在开始AEC算法开始处理之前,而且调整一次。如会议盒子等固定的硬件设备延时基本是固定的,可以通过直接减去固定的延时的方法缩小延时估计范围,使之快速来到滤波器覆盖的延时范围之内。下面结合代码来看看固定延时的调整过程。

    江苏未来声学回声设计

扩展资料

声学回声热门关键词

声学回声企业商机

声学回声行业新闻

推荐商机