數字降噪耳機中自適應濾波器的設計實現
3 自適應算法
自適應濾波器除包括按照某種結構設計的數字濾波器外,還有一套自適應的算法。自適應算法是根據某種判斷來設計濾波器的,其目標是使某一特定的函數最小化。自適應算法的種類很多,根據其優化準則的不同可分為兩類最基本的算法:最小均方誤差(LMS)算法和遞推最小二乘(RLS)算法。本文采用最常用的著名的最小均方誤差算法,即LMS 算法,這是由Widrow 和Hoff 提出的,是一種易于實現、性能穩健、應用廣泛的算法,其目標是通過調整系數,使輸出誤差序列的均方值最小化,并且根據這個判據來修改權系數。LMS 濾波算法寫成矩陣的形式為:
式中,W(n)為n 時刻自適應濾波器的權矢量;,N 為自適應濾波器的階數; X(n)為n 時刻自適應濾波器的參考輸入矢量,由最近N 個信號采樣值構成,
。d (n)是期望的輸出值;e(n)為自適應濾波器的輸出誤差調節信號(簡稱失調信號);μ 是控制自適應速度與穩定性的增益常數,又叫收斂因子或步長因子。
4 MATLAB 建模及仿真分析
數字降噪耳機可以在很多場合將音頻信號中包含的外界環境噪聲進行噪聲消除。一個標準音頻信號往往包含著許多外界環境中的噪音,而由于噪音的隨機性和不可預測性,使得所期望得到的信號不再是周期性的標準信號。使用LMS 算法的自適應濾波器能夠自適應的進行信號分離,分離出信號中的噪聲成分,然后對其反相產生抵消噪聲的降噪信號與噪聲信號對消,以達到去掉噪聲的目的。下面用MATLAB 中的Simulink 工具對數字降噪耳機中DSP 降噪模塊自適應濾波器進行建模并仿真。在建模過程中為了確保噪聲的相關性,首先讓噪聲通過了一個低通FIR 濾波器,然后再將其與標準音頻信號混合輸入到LMS 自適應濾波器中,MATLAB/Simulink 仿真模型中標準音頻信號采用頻率0.05Hz 的正弦波,噪聲信號為隨機信號。MATLAB/Simulink 仿真模型如圖2 所示。將噪聲信號及音頻信號輸入到數字降噪自適應濾波器之后將產生輸出信號和降噪信號,輸出信號為自適應的跟蹤音頻信號,而降噪信號就可以把環境中的噪聲信號抵消掉,人的耳朵接收到的信號則變成較純凈的音頻信號。
圖 2 Simulink 中自適應濾波器仿真
評論