上海交互声学回声抵消算法

时间:2022年12月28日 来源:

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

上海交互声学回声抵消算法,声学回声

    在这里我将整个回声路径分成了A、B、C、D四个部分。我们一起来看一下,ABCD里面哪一个环节有可能是非线性的?答案应该是B。也就是回声路径里面的功率放大器和喇叭,具体的原因稍后会做详细分析。接下来我想再解释一下为什么A、C、D它们不是非线性的。首先这里的A和D比较好判断,他们都属于线性时不变系统。比较难判断的是C,因为在一些比较复杂的场景下,声学回声往往会经过多个不同路径的多次反射之后到达接收端,同时会带有很强的混响,甚至在更极端情况下,喇叭与麦克风之间还会产生相对位移变化,导致回声路径也会随时间快速变化。这么多因素叠加在一起,往往会导致回声消除算法的性能急剧退化,甚至完全失效。有同学可能会问,难道这么复杂的情况,不是非线性的吗?我认为C应该是一个线性时变的声学系统,因为我们区分线性跟非线性的主要依据是叠加原理,前面提到的这些复杂场景,它们依然是满足叠加原理的,所以C是线性系统。这里还要再补充一点,细心的朋友会发现B里面有一个功率放大器,同时在C里面也有一个功率放大器,为什么经B的功率放大器放大之后,可能带来非线性失真,而C的功率放大器不会产生非线性失真呢?二者的主要区别在于B放大之后输出是一个大信号。

    浙江录播声学回声供应商基于前面构建的短时相关度函数,我们对大量声学回声数据进行分析。

上海交互声学回声抵消算法,声学回声

我们比较这两个之后就会发现,双讲段主要出现在中间这一段。我们评估双讲性能的主要指标是回声抑制比和近端语音失真度。上面这是经过回声消除之后的语谱,中间的是NLMS算法的结果。我们可以看到它的回声抑制不是很理想,不管在单讲段还是在双讲段,都有比较多的回声残留。而下面这个是采用双耦合算法得到的语谱,可以看到在单讲和双讲里面回声抑制得都比较干净,并且在双讲里,对近端语音的损伤也很小。这个数据对应视频会议场景,因此还需要做一步NLP的处理。上面这个就是基于双耦合算法,做了NLP之后的输出结果。我们可以看到处理完之后,整个语谱很清晰,回声去得很干净,而且语谱没有太大损伤,双讲很通透。我再来简单总结一下,主要是介绍了三个方面的内容,个就是认识了非线性声学回声、产生的原因、研究现状以及技术难点。接下来重点介绍了华为云音视频的双耦合声学回声消除算法,我们的主要贡献体现在两个方面,个方面就是构建一种双耦合自适应滤波器结构;第二个就是提出了小平均短时累计误差准则并进行求解。通过求解之后,我们会得到双耦合滤波器的线性滤波器是具有Wiener-Hopf方程解的比较好解这种形式,然后非线性滤波器具有小二乘解。

    首先这里的A和D比较好判断,他们都属于线性时不变系统。比较难判断的是C,因为在一些比较复杂的场景下,声学回声往往会经过多个不同路径的多次反射之后到达接收端,同时会带有很强的混响,甚至在更极端情况下,喇叭与麦克风之间还会产生相对位移变化,导致回声路径也会随时间快速变化。这么多因素叠加在一起,往往会导致回声消除算法的性能急剧退化,甚至完全失效。有同学可能会问,难道这么复杂的情况,不是非线性的吗?我认为C应该是一个线性时变的声学系统,因为我们区分线性跟非线性的主要依据是叠加原理,前面提到的这些复杂场景,它们依然是满足叠加原理的,所以C是线性系统。这里还要再补充一点,细心的朋友会发现B里面有一个功率放大器,同时在C里面也有一个功率放大器,为什么经B的功率放大器放大之后,可能带来非线性失真,而C的功率放大器不会产生非线性失真呢?二者的主要区别在于B放大之后输出是一个大信号,用来驱动喇叭。而C放大之后输出依然是小信号,通常不会产生非线性的失真。2.非线性声学回声产生的原因.非线性声学回声产生的原因,我一共列了两条原因。原因之一,声学器件的小型化与廉价化,这里所指的声学器件就是前面B里面提到的功率放大器和喇叭。

     便于大家对双耦合声学回声消除算法有一个定性的认识。

上海交互声学回声抵消算法,声学回声

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

     通过这种分析去挖掘非线性声学回声的一些物理特性。浙江录播声学回声供应商

双耦合声学回声消除算法的主要贡献体现在两个方面。上海交互声学回声抵消算法

    第三个部分是通过实验来检验这个算法的性能;再做一些简单的总结。非线性声学回声1什么是非线性声学回声?,什么是非线性的声学回声?的是声学回声的路径,左边对应的是发射端,右边对应的是接收端。我们发出的信号首先要经过D/A变换,从数字域变换到模拟域,然后再经过功率放大器,放大之后驱动喇叭,这样就会发出声音。发出来的声音经过空气信道传播之后,到了接收端被麦克风采集到,然后再次经过功率放大器,再通过A/D变换,从模拟域又变回到数字域。那么这里的y[k]就是我们收到的回声信号。,我们接收到的回声y[k]到底是线性回声还是非线性回声呢?或者说我们应该怎么去判断它?我觉得要解决这个问题,就是要认识清楚这里面的每一个环节,看看它们到底是线性系统还是非线性系统,如果所有的环节都是线性的话,那么很自然y[k]就是一个线性的回声,否则只要有一个环节是非线性的,那么这个回声就是非线性回声。在这里我将整个回声路径分成了A、B、C、D四个部分。我们一起来看一下,ABCD里面哪一个环节有可能是非线性的?答案应该是B。也就是回声路径里面的功率放大器和喇叭,具体的原因稍后会做详细分析。接下来我想再解释一下为什么A、C、D它们不是非线性的。

    上海交互声学回声抵消算法

深圳鱼亮科技有限公司目前已成为一家集产品研发、生产、销售相结合的服务型企业。公司成立于2017-11-03,自成立以来一直秉承自我研发与技术引进相结合的科技发展战略。公司主要产品有智能家居,语音识别算法,机器人交互系统,降噪等,公司工程技术人员、行政管理人员、产品制造及售后服务人员均有多年行业经验。并与上下游企业保持密切的合作关系。Bothlent以符合行业标准的产品质量为目标,并始终如一地坚守这一原则,正是这种高标准的自我要求,产品获得市场及消费者的高度认可。深圳鱼亮科技有限公司通过多年的深耕细作,企业已通过通信产品质量体系认证,确保公司各类产品以高技术、高性能、高精密度服务于广大客户。欢迎各界朋友莅临参观、 指导和业务洽谈。

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