回聲很常見,比如說在打電話的時候,自己說話的時候可以在聽筒里聽到自己的聲音。這是因為遠端揚聲器的信號可以傳播到遠端受話器里。并且這種傳播路徑是不固定的,隨著遠端設備的位置等條件變化而變化,因此是時變的。這個時候希望在近端找到一個跟傳播路徑功能相似的函數,來逼近回聲信號,這樣就可以在近端抵消這種回聲。
下圖是聲回聲產生的大致過程:
自適應濾波的過程如下:
整個濾波過程抽象為:
語音通話中一般一人說一人聽,因此自適應回聲消除算法核心步驟為:
① 當說話端開始說話時候,聽話端停止說話,自適應濾波器開始干活, 在不考慮噪聲的情況下滿足 ; ; 工作框圖為:
以 為觀測信號,回聲信號為期望信號,根據維納自適應濾波準 則:最小均方誤差準則進行自適應濾波求得濾波器權重參數。 并且在聽話端開口說話前就要完成權重的訓練,因此要求算法收斂速度要快。
② 在聽話端開始說話時候,停止自適應濾波權重的更新,工作框圖為:
這樣就可以在聽端最大程度得濾除回聲。具體的還要在雙端添加一個檢測模塊,用于檢查有沒有說話,一旦對方說話,那么自己這端便停止濾波器權重更新。