滤波器归一化LMS自适应滤波器

Posted Zhi Zhao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了滤波器归一化LMS自适应滤波器相关的知识,希望对你有一定的参考价值。

目录

一、NLMS自适应滤波器

1、简介

在自适应滤波算法中,稳态误差和收敛速度是其中2个最重要的性能指标。对于传统的固定步长自适应滤波器,在满足稳态误差和收敛速度上存在很大的矛盾:较小的步长能获得很小的稳态误差,但是收敛速度比较慢;另一方面,如果步长增大,则滤波器的收敛速度得以提高,但是以较大的稳态误差作为代价。
为此,人们提出了一种变步长的自适应滤波算法,即 归一化最小均方(Normalized Least Mean Square,NLMS)自适应滤波算法。该滤波算法在滤波初始阶段时的步长较大,收敛速度较快;当算法收敛后,通过减小步长,以保证较高的收敛精度。

看到这里大家是不是有一个疑问,NLMS算法只是在LMS算法的基础上做了归一化,它为什么是一种变步长的LMS算法?这个问题会在算法公式推导的最后面解释,请耐心看完。

2、原理推导

在LMS滤波器的权向量更新公式中, X ( n ) X(n) X(n)是含有噪声的信号,当 X ( n ) X(n) X(n)较大时,LMS算法会出现梯度噪声放大的问题,为了解决这个问题,可采用归一化LMS算法。
W ( n ) W(n) W(n) W ( n + 1 ) W(n+1) W(n+1) 分别表示第 n n n 时刻和 n + 1 n+1 n+1 时刻的权向量,则归一化LMS滤波器的设计准则可表述为下面的约束优化问题:
给定输入向量 X ( n ) X(n) X(n) 和期望输出 d ( n ) d(n) d(n),确定更新的权向量为 W ( n + 1 ) W(n+1) W(n+1),以使增量向量 δ W ( n + 1 ) = W ( n + 1 ) − W ( n ) δW(n+1)=W(n+1)-W(n) δW(n+1)=W(n+1)W(n) 的欧式范数最小化,即
m i n ∣ ∣ δ W ( n + 1 ) ∣ ∣ min||δW(n+1)|| min∣∣δW(n+1)∣∣
上式受限于约束条件 W ( n + 1 ) H ⋅ X ( n ) = d ( n ) W(n+1)^H·X(n)=d(n) W(n+1)HX(n)=d(n)
使用拉格朗日乘数法将约束优化问题转换为无约束优化问题,并构建实值二次代价函数:
J ( n ) = ∣ ∣ δ W ( n + 1 ) ∣ ∣ 2 + R e [ λ ∗ ( d ( n ) − W ( n + 1 ) H ⋅ X ( n ) ) ] J(n)=||δW(n+1)||²+Re[λ^*(d(n)-W(n+1)^H·X(n))] J(n)=∣∣δW(n+1)2+Re[λ(d(n)W(n+1)HX(n))]
其中, λ λ λ 为复数拉格朗日乘子, ∗ * 表示复共轭, R e Re Re 表示取实部运算。
进一步,有:
J ( n ) = [ W ( n + 1 ) − W ( n ) ] H ⋅ [ W ( n + 1 ) − W ( n ) ] + λ [ d ( n ) − W ( n + 1 ) H ⋅ X ( n ) ] J(n)=[W(n+1)-W(n)]^H·[W(n+1)-W(n)]+λ[d(n)-W(n+1)^H·X(n)] J(n)=[W(n+1)W(n)]H[W(n+1)W(n)]+λ[d(n)W(n+1)HX(n)]
为使得代价函数 J ( n ) J(n) J(n) 有最小值,其对 W ( n + 1 ) W(n+1) W(n+1)进行求导:
∂ J ( n ) ∂ W ( n + 1 ) = 2 [ W ( n + 1 ) − W ( n ) ] − λ ⋅ X ( n ) \\frac∂J(n)∂W(n+1)=2[W(n+1)-W(n)]-λ·X(n) W(n+1)J(n)=2[W(n+1)W(n)]λX(n)
∂ J ( n ) ∂ W ( n + 1 ) = 0 \\frac∂J(n)∂W(n+1)=0 W(n+1)J(n)=0,则 W ( n + 1 ) = W ( n ) + 1 2 λ ⋅ X ( n ) W(n+1)=W(n)+\\frac12λ·X(n) W(n+1)=W(n)+21λX(n),将其代入约束条件可得:
d ( n ) = [ W ( n ) + 1 2 λ ⋅ X ( n ) ] H ⋅ X ( n ) = W H ( n ) ⋅ X ( n ) + 1 2 λ ⋅ X H ( n ) ⋅ X ( n ) = W H ( n ) ⋅ X ( n ) + 1 2 λ ⋅ ∣ ∣ X ( n ) ∣ ∣ 2 d(n)=[W(n)+\\frac12λ·X(n)]^H·X(n)=W^H(n)·X(n)+\\frac12λ·X^H(n)·X(n)=W^H(n)·X(n)+\\frac12λ·||X(n)||² d(n)=[W(n)+21λX(n)]HX(n)=WH(n)X(n)+21λXH(n)X(n)=WH(n)X(n)+21λ∣∣X(n)2
又因为 d ( n ) − W H ( n ) ⋅ X ( n ) = e ( n ) d(n)-W^H(n)·X(n)=e(n) d(n)WH(n)X(n)=e(n),将其代入上式可得:
λ = 2 e ( n ) ∣ ∣ X ( n ) ∣ ∣ 2 λ=\\frac2e(n)||X(n)||² λ=∣∣X(n)22e(n)
综合上述的几个式子,可得:
δ W ( n + 1 ) = W ( n + 1 ) − W ( n ) = 1 2 λ ⋅ X ( n ) = X ( n ) ∣ ∣ X ( n ) ∣ ∣ 2 ⋅ e ( n ) δW(n+1)=W(n+1)-W(n)=\\frac12λ·X(n)=\\fracX(n)||X(n)||²·e(n) δW(n+1)=W(n+1)W(n)=21λX(n)=∣∣X(n)2X(n)e(n)
为了对一次迭代到下一次迭代抽头权向量的增量变化进行控制而不改变向量的方向,引入一个正的实数标量因子 μ μ μ, 可得:
μ ⋅ δ W ( n + 1 ) = μ ⋅ [ W ( n + 1 ) − W ( n ) ] = μ ⋅ 1 2 λ

以上是关于滤波器归一化LMS自适应滤波器的主要内容,如果未能解决你的问题,请参考以下文章

滤波器归一化LMS自适应滤波器

语音去噪最小二乘法(LMS)自适应滤波器matlab源码

现代信号处理 10 - 自适应应用与LMS变种

自适应滤波:最小均方误差滤波器(LMSNLMS)

滤波器最小均方(LMS)自适应滤波器

滤波器最小均方(LMS)自适应滤波器