吉他价格品牌,吉他教学教程,吉他曲谱视频
关注520吉他网
文章页顶部广告位
当前位置:首页 > 头条 > 回音消除原理怎么理解?
时间:2019-12-11     来源:网络资源     标签:

1. 消除回声之后的信号不是近端减去远端。

而是近端减去远端的延迟信号(而且不是某一个特定的延迟,是多个不同的延迟,因为同一个声音从喇叭出来,可以经过多条不同的反射路径,最后进入话筒)。

2.其实就很好想象了。

上面已经说了,你想要的,没有回声的信号,加上了不同的延迟的远端信号,得到了近端信号。

那么,我不知道到底有哪些延迟,一开始在考察的这个问题时,我就要假设每一个延迟都有。

这里以离散时间信号为例哈:x(n)是远端信号。

y(n)是近端信号。

m(n) 是把y(n)去除了回声之后的信号。

要得到m(n),我一开始,最通用的假设是,y(n)=m(n)+ a*x(n)+ b*x(n-1)+c*x(n-2)+…很明显,求出a,b,c 等等,那么你就能够找到m(n)你的去回声的算法要通用,所以你也能想到,不同人,音箱和话筒位置不同,房间的构造不同,上面的a,b,c等等在他的系统里都会不同。

所以,这个a,b,c 等等会“自适应”地改变。

接下来我们要看怎么求a,b,c等等。

这里面的核心点子是这样的:我们构造一个标准,这个标准是个公式,这个公式能算出一个结果。

当然,这个结果要用来描述我们去除回声的效果如何。

同时这个公式的结果要和我们的a,b,c等值有关系。

算出的值小,那么说明我们当前的a,b,c等的取值还行,去回声效果好。

算出来大,表示我们当前的a,b,c等的取值不好,去回声效果不好。

这个公式,我们称之为“代价函数”我们的代价函数是这样的:|e(n)|^2=|y(n)-(a*x(n)+ b*x(n-1)+c*x(n-2)+…)|^2(这里是当成向量了哈,然后这取模的平方)你一定觉得奇怪。

这个e(n)不就是m(n)吗?如果a,b,c等的取值正好合适,那么e(n)=m(n).如果不合适,你知道会发生什么情况吗?现在n的取值是有一定长度的。

e(1)^2 + e(2)^2+ e(3)^2+… 会比m(1)^2 + m(2)^2+m(3)^2+…大。

于是,当e(n)取最小值时,就是m(n)如果从向量的角度来说,就是m(n) 这个向量,会和x(n),x(n-1)等等这些向量是尽量正交的。

对于两个不同的信号,这在信号处理里面,n足够大的时候,通常是个很合理的假设。

很多信号分离,都是基于这个假设。

而,lms,nlms是用来求e(n)最小值时a,b,c等的迭代方法。

既然是迭代方法,如果此刻a,b,c等发生了变化,再经过几次迭代,又能找到新的a,b,c等。

那么这就是使得这个系统拥有“自适应性”。

3. 傅立叶变换,是因为卷积和在频域是相乘。

主要是计算简化。

但是,那要一大堆一大堆的信号一起处理。

有的时候可能给整个系统输出带来很大的延迟。

4.matlab:Acoustic Echo Cancellation (AEC)enjoy.

文章页顶部广告位
文章页顶部广告位
文章页顶部广告位

报歉!评论已关闭。