LMS 与 RLS

最小均方(LMS, Least Mean Squares)和 递归最小二乘(RLS, Recursive Least Squares)是两种最基本的自适应滤波算法。

1、LMS
LMS算法是自适应滤波器中常用的一种算法与维纳算法不同的是其系统的系数随输入序列而改变。维纳算法中截取输入序列自相关函数的一段构造系统的最佳系数。而LMS算法则是对初始化的滤波器系数依据最小均方误差准则进行不断修正来实现的。因此理论上讲LMS算法的性能在同等条件下要优于维纳。但是LMS是在初始值下逐步调整的,因此在系统稳定前,会有一段调整时间,调整时间受步长因子的控制,一定范围内,步长因子越大,调整时间越小,步长因子的最大取值为R的迹。LMS采用平方误差最小的原则代替均方误差最小的原则,信号基本关系如下:
在这里插入图片描述
在这里插入图片描述

2、RLS

在这里插入图片描述
在这里插入图片描述
参数递推估计,每取得一次新的观测数据后,就在前次估计结果的基础上,利用新引入的观测数据对前次估计的结果,根据递推算法进行修正,减少估计误差,从而递推地得出新的参数估计值。这样,随着新观测数据的逐次引入,一次接一次地进行参数估计,直到参数估计值达到满意的精确程度为止。

LMS与RLS对比程序:

clear; 
close all; 
clc; 
a1=-1.6;
a2=0.8; 
n=1000; 
x=zeros(1,n)';
w=randn(1,n)';
x(1)=w(1); x(2)=-a1*x(1)+w(2);
for i=3:n
    x(i)=-a1*x(i-1)-a2*x(i-2)+w(i);
end;
%LMS滤波 
L=2; 
u=0.001;
wL=zeros(L,n);
for i=(L+1):n 
    X=x(i-1:-1:(i-L)); 
    y(i)=X'*wL(:,i); 
    e(i)=x(i)-y(i); 
    wL(:,(i+1))=wL(:,i)+2*u*e(i)*X; 
end; 
a1L=-wL(1,1:n);
a2L=-wL(2,1:n); 
%RLS滤波 
L=2; 
namuta=0.98; 
wR=zeros(L,n); 
T=eye(L,L)*10;% %RLS算法下T参数的初始化,T初始值为10 
for i=(L+1):n 
    X=x(i-1:-1:(i-L)); 
    K=(T*X)/(namuta+X'*T*X);%i时刻增益值 
    e1=x(i)-wR(:,i-1)'*X; 
    wR(:,i)=wR(:,i-1)+K*e1; %i时刻权值 
    y(i)=wR(:,i)'*X; 
    e(i)=x(i)-y(i); 
    T=(T-K*X'*T)/namuta; %i时刻的维纳解 
end; 
a1R=-wR(1,1:n); 
a2R=-wR(2,1:n); 
%画图 
subplot(2,1,1); plot(1:n,a1L,'r-',1:n,a1R,'g-',1:n,a1,'k-'); title('LMS与RLS算法a1权系数收敛过程对比'); subplot(2,1,2); plot(1:n,a2L,'r-',1:n,a2R,'g-',1:n,a2,'k-'); title('LMS与RLS算法a2权系数收敛过程对比');

在这里插入图片描述
RLS算法与LMS对比:
由于LMS算法只是用以前各时刻的抽头参量等作该时刻数据块估计时的平方误差均方最小的准则,而未用现时刻的抽头参量等来对以往各时刻的数据块作重新估计后的累计平方误差最小的准则,所以 15 LMS算法对非平稳信号的适应性差。RLS算法的基本思想是力图使在每个时刻对所有已输入信号而言重估的平方误差的加权和最小,这使得RLS算法对非平稳信号的适应性要好。与LMS算法相比,RLS算法采用时间平均,因此,所得出的最优滤波器依赖于用于计算平均值的样本数,而LMS算法是基于集平均而设计的,因此稳定环境下LMS算法在不同计算条件下的结果是一致的。在性能方面,RLS的收敛速率比LMS要快得多,因此,RLS在收敛速率方面有很大优势。 图6分别为RLS算法和LMS算法在处理过程中的误差曲线,它指出了在迭代过程中的误差减少过程。由图可见,RLS算法在迭代过程中产生的误差明显小于LMS算法。由此可见,RLS在提取信号时,收敛速度快,估计精度高而且稳定性好,可以明显抑制振动加速度收敛过程,故对非平稳信号的适应性强,而LMS算法收敛速度慢,估计精度低而且权系数估计值因瞬时梯度估计围绕精确值波动较大,权噪声大,不稳定。

lms滤波器是采用瞬时值对相关矩阵、梯度等进行估计的方法,而rls则是将目标函数固定为最小二乘意义下的指数加权和的形式。换句话说,lms算法的最小化目标函数是瞬时误差信号的平方,而rls算法最小化的目标函数是从0时刻到k时刻为之所有信号在当前系数下的误差信号的加权平方和。由于都使用了当前时刻的系数,因此也可以说是后验误差的加权平方和。

  • 13
    点赞
  • 146
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值