歸一化最小均方濾波器

歸一化最小均方濾波器（Normalized Least Mean Square Filter, NLMS Filter）為最小均方濾波器的進階版本，目的為解決基本的最小化均方濾波器對於輸入$x(n)$振幅過於敏感，振幅太大時會造成梯度雜訊放大（gradient noise amplification），使得設計者難以選擇能夠適當控制收斂速度及穩定性的步長 $\mu$ (step size)。使用 NLMS 演演算法能使在第 $n+1$ 次的遞迴中，將施加在抽頭權重向量（tap-weight vector, $\hat{\mathbf{w}}(n)$）上的修正，會以第 $n$ 次週期中抽頭輸入向量（tap-input vector, $\mathbf{x}(n)$）的歐示範數平方（squared Euclidean norm）進行歸一化，因此稱作歸一化 LMS。

## 演演算法

結構上來說，LMS 和 NLMS 是一模一樣的，兩種自適應濾波演演算法都是建立在有限脈衝響應（FIR）濾波器的基礎上，唯一的差別在於控制權重的機制。

抽頭輸入向量 $\mathbf{x}(n)$ 會產生一個輸出 $y(n)$，再與期望響應 $d(n)$ 相減得到估計誤差（或稱誤差信號）$e(n)$。根據輸入向量 $\mathbf{x}(n)$ 和誤差信號 $e(n)$，權重控制器會對 FIR 濾波器施加權重調整（weight adjustment）。這個過程會在自適應週期中重複進行，直到濾波器達到穩態，這時的濾波器係數為$\hat{\mathbf{w}}(n)$。

NLMS 演演算法體現了最小干擾原則：每一個週期中，自適應濾波器的權重向量應改變最小量，並同時滿足對於更新後濾波器的輸出限制。

利用數學式子表示這個原則如以下所述：

給定抽頭輸入向量 $\mathbf{x}(n)$ 和期望響應 $d(n)$ 的條件下，找到抽頭權重向量 $$\partial \hat{\mathbf{w}}(n+1)=\hat{\mathbf{w}}(n+1)-\hat{\mathbf{w}}(n)$$ 的最小歐式範數 $\lVert \partial \hat{\mathbf{w}}(n+1) \rVert^2$，而條件為$$\hat{\mathbf{w}}^H(n+1)\mathbf{x}(n)=d(n)$$，H代表共軛轉置，利用拉格朗日乘數（Lagrange Multiplier Method）解，得到代價函數$$J(n)=(\hat{\mathbf{w}}(n+1)-\hat{\mathbf{w}}(n))^H(\hat{\mathbf{w}}(n+1)-\hat{\mathbf{w}}(n))+\real[{\lambda}^*(d(n)-\mathbf{w}^H(n+1)\mathbf{x}(n))]$$，${\lambda}^*$代表複數拉格朗日乘子的共軛。

為了找到更新後使代價函數值最小的權重向量的最佳解，我們將

- $J(n)$ 對 ${\mathbf{w}}^H(n+1)$微分並設為0，得 ${\mathbf{w}}(n+1)={\mathbf{w}}(n)+1/2\lambda^*\mathbf{x}(n))]$
- 把第一步結果帶回條件 $\hat{\mathbf{w}}^H(n+1)\mathbf{x}(n)=d(n)$，得 $\lambda=\frac{2e(n)}{\lVert {\mathbf{x}}(n) \rVert^2}$ 與誤差信號 $e(n)=d(n)-\hat{\mathbf{w}}^H(n)\mathbf{x}(n)$
- 合併前兩步結果，並加上正實數比例因子，也就是後續所稱的歸一化步階參數$\tilde{\mu}$，得 $\partial\hat{\mathbf{w}}(n+1)=\frac{\tilde{\mu}}{\lVert {\mathbf{x}}(n) \rVert^2}\mathbf{x}(n)e^*(n)$

我們得到$$\hat{\mathbf{w}}(n+1)=\hat{\mathbf{w}}(n)+\frac{\tilde{\mu}}{\lVert {\mathbf{x}}(n) \rVert^2}\mathbf{x}(n)e^*(n)$$從式子中能看到歸一化最小均方演演算法的名字中有「歸一化」的原因：

LMS 中的矯正函數 ${\mu}\mathbf{x}(n)e^*(n)$ 在NLMS中被輸入向量的平方範數 $\lVert {\mathbf{x}}(n) \rVert^2$ 將能量歸一化變為 $\frac{\tilde{\mu}}{\lVert {\mathbf{x}}(n) \rVert^2}\mathbf{x}(n)e^*(n)$。

需要注意的是，NLMS有一個源自自身的問題——當抽頭輸入向量 $\mathbf{x}(n)$ 很小時，位於分母的$\lVert {\mathbf{x}}(n) \rVert^2$也會很小。這裡的解法是再加上一個大於零的$\delta$，因此最終整理出公式如下：$$\hat{\mathbf{w}}(n+1)=\hat{\mathbf{w}}(n)+\frac{\tilde{\mu}}{\delta+\lVert {\mathbf{x}}(n) \rVert^2}\mathbf{x}(n)e^*(n)$$

## 最佳步長取值

若沒有干擾（$v(n)=0$），歸一化最小均方演演算法的最佳步長為 $\mu_{opt}=1$，且 $\mu_{opt}$ 獨立於尚未解出的脈衝響應$\mathbf{w}(n)$。

若干擾存在（$v(n) \ne 0$），最佳步長為： $\mu_{opt}=\frac{E\left[\left|y(n)-\hat{y}(n)\right|^2\right]}{E\left[|e(n)|^2\right]}$

上述結果是在假定訊號$v(n)$與$x(n)$互不相關的前提下推導得出的，而該假設在大部分情形下皆符合現實。

### 證明

將濾波器的錯位設為$\Lambda(n) = \left| \mathbf{w}(n) - \hat{\mathbf{w}}(n) \right|^2$，我們能得到下一個錯位期望值：

$E\left[ \Lambda(n+1) \right] = E\left[ \left| \hat{\mathbf{w}}(n) + \frac{\mu\,e^{*}(n)\mathbf{x}(n)}{\mathbf{x}^H(n)\mathbf{x}(n)} - \mathbf{w}(n) \right|^2 \right]$

$E\left[ \Lambda(n+1) \right] = E\left[ \left| \hat{\mathbf{w}}(n) + \frac{\mu\, \left( v^*(n)+y^*(n)-\hat{y}^*(n) \right) \mathbf{x}(n)}{\mathbf{x}^H(n)\mathbf{x}(n)} - \mathbf{w}(n) \right|^2 \right]$

設$\mathbf{\delta}(n)=\hat{\mathbf{w}}(n)-\mathbf{w}(n)$、$r(n) = \hat{y}(n)-y(n)$

$E\left[ \Lambda(n+1) \right] = E\left[ \left| \mathbf{\delta}(n) - \frac{\mu\, \left( v(n)+r(n) \right) \mathbf{x}(n)}{\mathbf{x}^H(n)\mathbf{x}(n)} \right|^2 \right]$

$E\left[ \Lambda(n+1) \right] = E\left[ \left( \mathbf{\delta}(n) - \frac{\mu\, \left( v(n)+r(n) \right) \mathbf{x}(n)}{\mathbf{x}^H(n)\mathbf{x}(n)} \right)^H \left( \mathbf{\delta}(n) - \frac{\mu\, \left( v(n)+r(n) \right) \mathbf{x}(n)}{\mathbf{x}^H(n)\mathbf{x}(n)} \right) \right]$

假設獨立，取出變數整理：

$E\left[ \Lambda(n+1) \right] = \Lambda(n) + E\left[ \left( \frac{\mu\, \left( v(n)+r(n) \right) \mathbf{x}(n)}{\mathbf{x}^H(n)\mathbf{x}(n)} \right)^H \left( \frac{\mu\, \left( v(n)+r(n) \right) \mathbf{x}(n)}{\mathbf{x}^H(n)\mathbf{x}(n)} \right) \right] - 2 E\left[\frac{\mu|r(n)|^2}{\mathbf{x}^H(n)\mathbf{x}(n)}\right]$

$E\left[ \Lambda(n+1) \right] = \Lambda(n) + \frac{\mu^2 E\left[|e(n)|^2\right]}{\mathbf{x}^H(n)\mathbf{x}(n)} - \frac{2 \mu E\left[|r(n)|^2\right]}{\mathbf{x}^H(n)\mathbf{x}(n)}$

最佳的步階函數出現在 $\frac{dE\left[ \Lambda(n+1) \right]}{d\mu} = 0$，這時能得到

$2 \mu E\left[|e(n)|^2\right] - 2 E\left[|r(n)|^2\right] = 0$

因此，得 $\mu = \frac{E\left[|r(n)|^2\right]}{E\left[|e(n)|^2\right]}=\frac{E\left[\left|y(n)-\hat{y}(n)\right|^2\right]}{E\left[|e(n)|^2\right]}$

## 優缺點

歸一化最小均方濾波器最大的優點就是避免因輸入振幅太大而難以選擇適合步階函數的問題。跟傳統 LMS 比較，NLMS的穩定性與自適應性都好，無論對於相關或是非相關輸入訊號，收斂速度也都較快，且收斂速度是由輸入訊號的相關性所決定。

NLMS需要較多的運算量，其中一個是過程中需要求出$\lVert {\mathbf{x}}(n) \rVert^2$，若長度為Ｍ，則多出 2M 個實數乘法和 2M-1 個實數加法。且，一個$\frac{\tilde{\mu}}{\delta+\lVert {\mathbf{x}}(n) \rVert^2}$也需要一個實數加法及一個實數乘法。

## 應用

NLMS因著其對於輸入訊號功率變化的穩定性而被廣泛運用，對於即時回聲消除，如線上即時會議的收音、適應性雜訊消除，如降噪耳機、生物訊號處理，如心電圖的雜訊，以及通道均衡、系統辨識、主動雜訊控制等都有非常廣泛的應用。