——
年初DSP課程期末設計時為了答辯做的PPT,内容背的滾瓜爛熟,給老師留下了深刻的印象,想必整個系也沒有第二個人像我這麼上心了,是以最後決定把PPT放到部落格上;此外因為不希望PPT上有太多字,是以還額外寫了一份講稿,将收集到的各種論文資料中的相關内容在邏輯上仔仔細細的理順。隻可惜DSP過于高深,各種濾波算法的推演已經完全超出了我的能力,想必以後也不會接觸了。
正文
為了友善閱讀,這裡将PPT内的圖檔和講稿内容縫合在一起。
1要點
1.自适應濾波器原理
2.LMS自适應濾波算法及代碼展現
3.變步長LMS算法
2自适應濾波器原理
自适應濾波是由濾波算法通過調整濾波器系數實作的。
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsICM38FdsYkRGZkRG9lcvx2bjxiNx8VZ6l2cs0TPn5UeZpXTykEVOBDOsJGcohVYsR2MMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnLyYjN5QDM0EjM5ATNwAjMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
自适應濾波器分為兩部分:濾波結構、自适應算法。
自适應濾波器的自适應在于濾波系數随信号環境的改變而自動調節,經過一段時間自動達到最佳濾波要求。
在LMS濾波算法中輸出信号和期望信号應滿足最小均方誤差條件。
3LMS自适應算法
LMS算法基于根據最小均方誤差準則調整權矢量實作濾波的維納濾波器提出。
具體流程:
- 确定參數
- 濾波器初始值初始化
算法運算過程:
- 濾波輸出
- 誤差信号
- 權矢量更新
4濾波輸出
本課程設計為FIR自适應濾波器。
設其機關脈沖響應為h(0),h(1)…h(N-1) ,那麼它在時刻n 的輸出:
在LMS濾波算法中,經變換可得:
代碼展現:
5權矢量更新
在輸入信号和參考響應都是平穩随機信号的情況下,均方誤差:
LMS算法基于維納濾波,而維納濾波基于最小均方誤差準則調整權矢量實作濾波。在輸入信号和參考響應都是平穩随機信号的情況下,均方誤差是權矢量各分量的二次函數,均方誤差的圖形是L+2維空間中一個中間下凹的超抛物面有唯一最低點,該曲面稱性能曲面。自适應過程就是調整權矢量,使均方誤差達到最小值的過程。可借用最陡下降法沿性能曲面最陡方向搜尋曲面最低點,由于該方法每次疊代都需知道性能曲面某點梯度值,由于上梯度值隻能根據觀測資料進行估計,而LMS算法能用平方誤差代替均方誤差的方法估計梯度。
梯度近似:
最抖下降法計算權矢量:
ms算法用前者取代後者:
代碼展現:
6基于最陡下降法的最小均方誤差(LMS)算法的疊代公式為:
7 LMS自适應算法的改進
衡量自适應濾波算法優劣的三個名額:收斂速度、跟蹤能力、收斂精度。
在非平穩随機信号下,提高收斂速度和跟蹤能力需要較大步長,提高收斂精度需要較小步長,傳統LMS算法使用固定步長因子,存在缺陷,為此提出變步長的改進方法。
改進步長公式:
該公式由sigmoid函數演變而來。sigmoid函數可以将變量映射到0,1之間,函數展現為當0<β<1/λmax(輸入信号自相關矩陣的最大值)時,此時算法一定收斂。
公式中α用來提高收斂速度,β用來确定步長最大值;e(n)-e(n-1)噪聲信号有弱相關性(信号間的相似度),可以互相抑制。
最終結果:(公式)
在實際運用中需要通過大量仿真實驗确定αβ最優值,基本原則:未誤差信号大時,步長大;誤差信号小時步長小。
後記
因為最後送出的是紙質稿,是以和博文所講的内容有所出入;此外由于隻在紙質稿中記錄了參考文獻,是以内容有所缺失。