归一化最小均方滤波器

归一化最小均方滤波器（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因着其对于输入讯号功率变化的稳定性而被广泛运用，对于即时回声消除，如线上即时会议的收音、适应性噪声消除，如降噪耳机、生物讯号处理，如心电图的噪声，以及通道均衡、系统辨识、主动噪声控制等都有非常广泛的应用。