回聲消除AEC(Acoustic Echo Cancellation)概括介紹及基本原理分析


 

回聲消除的基本概念

  回音消除(Acoustic Echo Cancelling)是透過音波干擾方式消除麥克風與喇叭因空氣產生回受路徑(feedback path)而產生的雜音。通俗一點來說,回聲消除就是為了消除機器自身發出的聲音,不影響外界傳遞過去的聲音。 如在雙工通話的場景中,來自遠端的經過揚聲器放出來的聲音被消掉,否則經過麥克風采集和近端說話人信號混在一起被傳遞到遠端,則會出現遠端的人聽到自己說的話,這種回聲對於一些通信設備來說體驗是致命的差。

 

回聲消除的基本流程

  回聲消除常用方法如下:使用不同的自適應濾波算法調整濾波器的權值向量,估計一個近似的回聲路徑來逼近真實回聲路徑,從而得到估計的回聲信號,並在純凈語音和回聲的混合信號中除去此信號來實現回聲的消除。

詳細的來說,回聲消除的過程一般分為以下幾個步驟:

  • 遠端信號被傳遞到系統。
  • 轉載遠端信號的揚聲器在房間里。
  • 也在房間里的麥克風拾取產生的直接路徑的聲音,和隨之而來的混響聲音作為近端信號。
  • 將遠端信號進行濾波並延遲到類似的(resemble)近端信號。
  • 將過濾的遠端信號是從近端信號中減去。
  • 所產生的信號指不包括任何直接或回盪的聲音通過揚聲器在房間里的聲音。

 

回聲消除常用的算法

A 最小均方算法 LMS

 

     自適應AEC問題中應用最廣泛的就是自適應濾波算法,其中最早是由Widrow和Hoff在1959年所提出的最小均方(Least Mean Square,LMS)算法

LMS算法基於維納濾波理論,采用最速下降算法,通過最小化誤差信號的能量來更新自適應濾波器權值系數。

  • 優點:抑制旁瓣效應
  • 缺點:LMS算法計算復雜度不高,但是其收斂速率較慢,並且隨着濾波器階數(步長參數)升高,系統的穩定性下降,要保證采用最小的步長參數,保證最小的失調,可能無法滿足收斂標准

 

  B 歸一化最小均方算法 NLMS

 

    歸一化最小均方(Normalized Least Mean Squares,==NLMS)==算法是改進的LMS算法,根據原LMS算法中誤差信號與遠端輸入信號的乘積,對遠端輸入信號的平方歐式范數進行歸一化處理,將固定步長因子的LMS算法變為根據輸入信號時變的變步長NLMS算法,

優點:改善了LMS算法收斂速度慢的缺點。計算簡單、收斂速度較快的特點
缺點:收斂速度慢

 

C 稀疏類自適應算法——PNLMS

 

    根據回聲路徑的稀疏性,Duttweiler引入了比例自適應的思想,提出了比例歸一化最小均方算法 PNLMS,按比例分配濾波器的權值向量大小,該算法對回聲消除的發展具有非常重要的意義。

該算法采用與濾波器抽頭稀疏成正比的可變步長參數來調整算法收斂速度,利用其抽頭稀疏的比例值來判斷當前權重稀疏所屬的活躍狀態,根據狀態的不同,所分配的步長大小也有所差異,活躍抽頭系數分配較大的步長參數,這樣可以加速其收斂,而不活躍的抽頭系數則相反,通過分配其較小的步長參數來提高算法的穩態誤差。每個濾波器抽頭被分別賦予了不同估計值,算法的穩態收斂性得到了明顯改善。然而,PNLMS 有一個明顯的缺點,即比例步長參數的選擇引入了定值,這會導致估計誤差累積,最后使算法在后期的收斂速度減慢下來。

優點:使算法對於稀疏的回聲路徑,在初始階段擁有快速的收斂速率,與此同時降低了穩態誤差,
缺點:

  • 由於 PNLMS 算法過分強調大系數的收斂,而當系數變小后,P 步長也隨之變小,但隨着算法的運行,則可能出現算法后期收斂速度慢、不能及時收斂的情況
  • 相比於NLMS算法增加了算法的復雜度
  • 另外在回聲路徑非稀疏情況下,收斂速度會變得比NLMS算法更慢

     D 子帶自適應濾波器(SAF)

 

    在聲學回聲消除應用中,遠端輸入語音信號的相關性較高,然而,傳統的方法是基於“信號的無關性”假設的,傳統的全帶LMS 和NLMS 等計算復雜度低的隨機梯度算法收斂速度明顯下降。

遠端語音信號相關性有兩層含義:

時域上:它表征語音信號相關矩陣特征值的擴散度
頻域上:它表征遠端語音信號的頻譜動態范圍

一般來說,語音信號相比白色信號,前者明顯有更大的頻譜動態范圍,即更大的信號相關性。因此,可以通過降低輸入信號的相關性來加快算法收斂速度,但是行之有效的一種方法是將自適應濾波器和濾波器組理論相結合,提出了子帶自適應濾波(subband adaptive filter,SAF)算法,子帶結構是基於頻域對信號進行的一種處理(節省計算量、提高收斂速度)。 在傳統的 SAF中,子帶自適應算法都是以最小化子帶誤差信號為目標的,這樣基於局部目標函數誤差的最小化不一定是全局誤差能量最小化。而分析濾波器組在子帶切割和綜合濾波器組重建全帶信號時皆會引入時延,在AEC 應用中,這樣的時延會使包含近端語音的全帶誤差信號傳到遠端,為了消除時延的影響,無延時子帶閉環結構系統以全局誤差能量最小化為約束條件來調整濾波器系數。最后,確保自適應濾波算法能夠收斂到最佳的濾波器系數。

優點:改善了全帶自適應濾波算法在相關信號條件下的收斂速率
缺點:其穩態誤差由於輸出時存在的混疊分量而顯著升高,當采用正交鏡像濾波器組時,雖然可以通過子帶系統將混疊部分相互抵消掉,但在現實中卻無法實現。

 

總結

 基於維納濾波發展起來的 LMS 算法因其結構簡單,運算量小,穩定性好等特性,依然是目前得到廣泛應用的一種自適應濾波算法。

 有人提供了一種折中的方案:基於多帶結構的改進型自適應濾波切換算法NLMS-NSAF

一 首先遠端語音信號利用包絡法判別有無語音段,

二 然后將信號狀態輸出到自適應多帶結構算法模塊當中。

三 若語音區輸入信號的短時能量較大,則使用收斂速度快的自適應濾波算法(NLMS);

四 若語音區輸入信號的短時能量較小,需考慮計算量低的算法(NSAF),

五 語音在無語音區時算法迭代停止。

    對輸入語音信號能量高低的判定是通過和閾值比較得到的。在充分考慮語音特性的情況下,切換算法實現了算法在收斂速度的優勢,同時完成了同算法復雜度的優化選擇。最后達到了提高濾波算法性能、降低運算量的目的。這是一個實際的解決方案,不過實際的效果還要等待后續驗證,敬請關注,后續我會對這塊做一個深挖。

 

參考文檔:
https://www.debugger.wiki/article/html/1572616852593650

https://www.cnblogs.com/LXP-Never/p/11773190.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM