最小均方算法(LMS)

1.LMS算法及思想

LMS算法是自适应滤波器中常用的一种算法,与维纳算法不同的是,其系统的系数随输入序列而改变。维纳算法中截取输入序列自相关函数的一段构造系统的最佳系数。而LMS算法则是对初始化的滤波器系数依据最小均方误差准则进行不断修正来实现的。因此,理论上讲LMS算法的性能在同等条件下要优于维纳算法,但是LMS算法是在一个初始化值得基础上进行逐步调整得到的,因此,在系统进入稳定之前有一个调整的时间,这个时间受到算法步长因子u的控制,在一定值范围内,增大u会减小调整时间,但超过这个值范围时系统不再收敛,u的最大取值为R的迹。权系数更新公式为:Wi+1=Wi+2ueiXi
依据上述算式,制定LMS滤波器设计实现方法为:
(1) 设计滤波器的初始化权系数W(0)=0,收敛因子u;
(2) 计算输入序列经过滤波器后的实际输出值:out(n)=WT(n)*X(n);
(3) 计算估计误差e(n)=xd(n)-out(n); 

LMS算法思想:主要在增加很少运算量的情况下能够加快其收敛速度,这样在自适应均衡的时候可以很快的跟踪到信道的参数,减少了训练序列的发送时间,从而提高了信道的利用率。

其基本思路与梯度下降法一致,不同之处在于梯度的估计值代替真实的梯度,既不需要求相关矩阵,又不涉及矩阵求逆。

LMS算法的目标就是找到一组权值向量,使其输出响应跟期望相应最接近。

LMS算法稳态解存在随机波动,是将期望值近似为瞬时值的最速梯度法。

2.LMS算法步骤

(1)设置变量和参量:
X(n)为输入向量,或称为训练样本
W(n)为权值向量
b(n)为偏差
d(n)为期望输出
y(n)为实际输出
η为学习速率
n为迭代次数
(2)初始化,赋给w(0)各一个较小的随机非零值,令n=0
(3)对于一组输入样本x(n)和对应的期望输出d,计算
e(n)=d(n)-X^T(n)W(n)
W(n+1)=W(n)+ηX(n)e(n)
(4)判断是否满足条件,若满足算法结束,若否n增加1,转入第(3)步继续执行

你可能感兴趣的:(最小均方算法(LMS))