自适应滤波器
自适应滤波器由参数可调的数字滤波器和自适应算法两部分组成。
数字滤波器可以是有限型FIR或无限型IIR。IIR滤波器有正向通路和反馈通路,可能产生不稳定信号导致滤波器振荡,而FIR只有正向通路,处理简单,在自适应滤波中,一般采用FIR滤波器。
自适应滤波器实际是一种能够跟踪输入信号的统计特性变化,按照最优滤波准则,调节自身参数的,计算最优滤波效果的特殊维纳滤波器。
最优滤波准则
最优滤波准则规定了某种准则下得到滤波器的对应的最佳参数,但这个最佳参数不能通过现有的客观存在计算得到,而是指出自适应滤波器调整参数的方向。常见的最佳滤波准则:最小均方误差准则, 最小二乘准则等, 相应的自适应算法为 最小均方算法(least mean squarse, LMS), 递推最小二乘法(recursive least squarse, RLS)。其中LMS 是最基本的,计算量小适合计算机应用, 但对于能量变化的很大的信号,稳定性较差;而RLS 性能好,但计算量大不易实现。
本文将介绍主要最小均方(LMS)自适应滤波器。
LMS
自适应横向(M阶)滤波器在第
n
n
时刻的输入信号 和滤波器权重系数
w(n)
w
(
n
)
,
x(n)
x
(
n
)
和
w(n)
w
(
n
)
都是长度为M的序列,由于滤波器输出是
w(n)
w
(
n
)
和
x(n)
x
(
n
)
卷积,即
w(n)
w
(
n
)
分别与
x(n)
x
(
n
)
的(M阶)延迟乘积组合,为方便分别定义为:
上式中,
X(n)
X
(
n
)
为以
x(n)
x
(
n
)
的M个延迟输入序列构成的矩阵,
W(n)
W
(
n
)
为以
w(n)
w
(
n
)
中M个滤波系数构成向量,则滤波器的输出信号为
y(n)
y
(
n
)
构成的对应向量
Y(n)
Y
(
n
)
:
产生的误差为:
式中, s(n) s ( n ) 为期望信号。记符号 ↔ ↔ 为将向量转化为对应序列,如 y(n)=Y(n)←→− y ( n ) = Y ( n ) ↔ 按照均方误差函数:
可以等效转化为矩阵计算:
上式中, W W 是滤波器系数矩阵; 是输入信号 x(n) x ( n ) 的自相关矩阵; P P 是期望信号和信号 x(n) x ( n ) 的互相关向量:
式(1)中,对
W
W
求导,并令导数为0,同时假设是非奇异,可得最佳滤波器系数
Wo
W
o
:
上述最佳滤波器系数 Wo W o ,即为此刻滤波器的维纳解。均方误差函数 ε(n) ε ( n ) 是滤波系数 W W 的二次方程,是一个多维的抛物曲面。
最陡梯度下降法
上述算法对一个已知道全部输入输出的系统,即第 时刻是最后时刻,那么通过整体统计量平均可以直接解出最优解 Wo W o ,或者说可以通过维纳霍夫方程直接求解维纳滤波器。然而对一个进行的系统,整体即是未知的,只能得到第 n n 时刻的部分统计量,求得此刻的最优解,因此需要某种方法根据每个时刻变化的统计量,不断跟踪更新最优解。
自适应滤波器就是以任意初始系数,即误差曲面上的某一点,经过多次自适应调节,使系数 W W 向最优值接近,实现最佳维纳滤波。
最陡梯度下降法可以用来对自适应滤波器系数寻优,根据误差曲面的梯度信息,在最陡下降的方向即梯度向量的负方向逐步调整逼近曲面极小值,获得最佳滤波。
在误差曲面
ε(n)
ε
(
n
)
第n个时刻的滤波系数
W(n)
W
(
n
)
,定义此刻的M*1 维梯度矢量为
∇(n)
∇
(
n
)
, M 是滤波系数个数。 按照最陡梯度下降法调节滤波系数,则在第n+1时刻的滤波系数可更新为:
式中, u u 是一个正实数,通常称为自适应收敛系数或步长;为M维梯度矢量,其表达式为:
定义 E[ℓ(n)X(n)] E [ ℓ ( n ) X ( n ) ] 为上述梯度方向矢量,即
可以看出,当梯度为 0 时, 误差信号序列与输入信号的各延迟序列乘积为0,也即此时误差信号 ℓ(n) ℓ ( n ) 与输入信号 x(n) x ( n ) 正交不相关。
将上面梯度矢量带入滤波系数的更新方程中,可得:
为了保证最陡下降法的收敛性,步长 u u 需满足收敛条件: , 其中 λmax λ m a x 是输入信号自相关矩阵 R R <script type="math/tex" id="MathJax-Element-61">R</script> 的最大特征值。
待续。。。。。。。