回音消除原理怎麼理解?

時間 2021-05-12 06:49:47

1樓:

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.

怎麼理解勒夏特列原理?

晚晚 勒夏特列原理內容是在封閉體系中如果改變影響平衡的條件之一,平衡將向著能夠減弱這種改變的方向移動,你可以這樣理解,假設我們是增大了反應物的濃度,那麼你想反應是不是會向正反應方向移動,然後結果就是導致了生成物濃度增大,反應物濃度降低,我們增大了反應物濃度而結果是反應物濃度降低了,這就是勒夏特列原理...

天天愛消除這類的消除遊戲,有哪些數學原理?

劉葛 說一點個人的經驗。談不上什麼數學原理。首先,這類遊戲並不是像題主說的那樣達到一定格數就必定可消的。如果真的是隨機排列的話是經常會出現整個盤面都不可消的情況。而我們玩這類遊戲的時候是絕對不用擔心這個問題的。這類遊戲的設計一般有兩種情況,比較簡單的一種是,系統會對整個盤面進行檢測,如果出現完全不可...

怎麼理解蘭道爾原理(Landauer s Principle)?

我感覺這個原理很牽強啊,有沒有人幫忙分析一下。先設兩個隨機變數如下 隨機變數X,它完全的描述了熱力學系統的狀態。隨機變數Y,它描述了計算機的所有位元位。然後,系統的熱力學熵應該就是乙個常數 kln2 乘上X的資訊熵。所以蘭道爾原理實際上是在說,Y的資訊熵減少1bit的時候,X的資訊熵至少減少1bit...