1. NLMS 最小化的目标
NLMS/LMS 的理论目标是最小化均方误差:
\[J(\mathbf w)=E[e^2(n)]\]
即:
\[J(\mathbf w)=E[(d(n)-\mathbf x^T(n)\mathbf w)^2]\]
展开:
\[\begin{aligned}
J(\mathbf w)
&=
E[d^2(n)]
-2E[d(n)\mathbf x^T(n)]\mathbf w
+\mathbf w^T E[\mathbf x(n)\mathbf x^T(n)]\mathbf w
\end{aligned}\]
J(\mathbf w)
&=
E[d^2(n)]
-2E[d(n)\mathbf x^T(n)]\mathbf w
+\mathbf w^T E[\mathbf x(n)\mathbf x^T(n)]\mathbf w
\end{aligned}\]
定义:
\[R=E[\mathbf x(n)\mathbf x^T(n)]\]
\[\mathbf p=E[d(n)\mathbf x(n)]\]
则:
\[J(\mathbf w)=E[d^2(n)]-2\mathbf p^T\mathbf w+\mathbf w^TR\mathbf w\]
对 \(\mathbf w\) 求梯度:
\[\nabla_{\mathbf w}J
=
-2\mathbf p+2R\mathbf w\]
=
-2\mathbf p+2R\mathbf w\]
令梯度为零:
\[2R\mathbf w-2\mathbf p=0\]
所以最优解满足:
\[R\mathbf w_{\text{opt}}=\mathbf p\]
也就是 Wiener 解:
\[\mathbf w_{\text{opt}}=R^{-1}\mathbf p\]
2. 关键:\(\mathbf p\) 里面到底有什么?
因为:
\[d(n)=s(n)+v(n)\]
所以:
\[\mathbf p=E[d(n)\mathbf x(n)]\]
代入:
\[\mathbf p=E[(s(n)+v(n))\mathbf x(n)]\]
展开:
\[\mathbf p=E[s(n)\mathbf x(n)]+E[v(n)\mathbf x(n)]\]
现在引入噪声消除的核心假设:
\[E[s(n)\mathbf x(n)]=0\]
也就是:
于是:
\[\mathbf p=E[v(n)\mathbf x(n)]\]
所以最优权值变成:
\[\mathbf w_{\text{opt}}
=
R^{-1}E[v(n)\mathbf x(n)]\]
=
R^{-1}E[v(n)\mathbf x(n)]\]
这说明:
权值 \(\mathbf w\) 学到的是“如何用参考输入 \(\mathbf x(n)\) 预测主通道噪声 \(v(n)\)”。
3. 当有用信号与参考噪声相关时会怎样?
如果:
\[E[s(n)\mathbf x(n)]\ne 0\]
那么 NLMS 的最优权值不再只学习噪声路径,而会变成:
\[\mathbf w_{\text{opt}}=\mathbf w_v+\mathbf w_s\]
其中:
\[\mathbf w_v=R^{-1}E[v(n)\mathbf x(n)]\]
\[\mathbf w_s=R^{-1}E[s(n)\mathbf x(n)]\]
于是滤波器输出:
\[y(n)=\mathbf x^T(n)\mathbf w_{\text{opt}}\]
会变成:
\[y(n)
=
\underbrace{\mathbf x^T(n)\mathbf w_v}_{\text{噪声估计}}
+
\underbrace{\mathbf x^T(n)\mathbf w_s}_{\text{被误拟合的有用信号}}\]
=
\underbrace{\mathbf x^T(n)\mathbf w_v}_{\text{噪声估计}}
+
\underbrace{\mathbf x^T(n)\mathbf w_s}_{\text{被误拟合的有用信号}}\]
所以误差输出:
\[e(n)=d(n)-y(n)\]
变成:
\[e(n)=s(n)+v(n)-\hat v(n)-\hat s_x(n)\]
如果噪声估计很好:
\[\hat v(n)\approx v(n)\]
则:
\[e(n)\approx s(n)-\hat s_x(n)\]
也就是:
NLMS 输出的不再是完整原信号,而是“原信号减去其中能被参考输入预测的那部分”。
4. 当有用信号与参考噪声相关时的补救措施1:限制滤波器阶数 \(L\)
阶数越高,\(\mathbf x(n)\) 张成的空间越大。
也就是说,滤波器越有能力拟合复杂成分。
如果 \(L\) 太大,NLMS 不只拟合噪声路径,也更容易拟合有用信号中的相关部分。
工程上:
- \(L\) 只需要覆盖噪声路径延迟和相位差;
- 不要无限加长。
5. 当有用信号与参考噪声相关时的补救措施2:使用泄漏 NLMS
更新:
\[\mathbf w(n+1)
=
(1-\mu\lambda)\mathbf w(n)
+
\mu\frac{e(n)\mathbf x(n)}{\mathbf x^T(n)\mathbf x(n)+\epsilon}\]
=
(1-\mu\lambda)\mathbf w(n)
+
\mu\frac{e(n)\mathbf x(n)}{\mathbf x^T(n)\mathbf x(n)+\epsilon}\]
其中:
\[\lambda>0\]
作用是抑制权值过度增长,减少对弱相关有用信号的追踪。
6. 小结
NLMS 的核心是让滤波器输出 \(y(n)\) 尽量逼近主通道中的噪声分量,使误差输出 \(e(n)\) 尽量保留有用信号。
但这个结论依赖一个关键条件:有用信号 \(s(n)\) 与参考输入 \(\mathbf x(n)\) 不相关。
如果两者相关,NLMS 会把有用信号中能被参考输入预测的部分也一起抵消,因此需要通过限制滤波器阶数、使用泄漏项等方式降低误伤。
