1. 首页
  2. 文档大全

RLS和LMS自适应算法分析

上传者:8**** 2022-05-26 03:26:20上传 DOC文件 1.04MB
RLS和LMS自适应算法分析_第1页 RLS和LMS自适应算法分析_第2页 RLS和LMS自适应算法分析_第3页

《RLS和LMS自适应算法分析》由会员分享,可在线阅读,更多相关《RLS和LMS自适应算法分析(15页珍藏版)》请在文档大全上搜索。

1、RLS和LMS自适应算法分析摘要:本文主要介绍了自适应滤波的两种算法:最小均方(LMS, Least Mean Squares)和递推最小二乘(RLS, Recursive Least Squares)两种基本自适应算法。我们对这两种基本的算法进行了原理介绍,并进行了Matlab仿真。通过仿真结果,我们对两种自适应算法进行了性能分析,并对其进行了比较。用Matlab求出了LMS自适应算法的权系数,及其学习过程曲线,和RLS自适应权系数算法的学习过程。关键词:自适应滤波、LMS、RLS、Matlab仿真Abstract: this article mainly introduces two ki

2、nds of adaptive filtering algorithms: Least Mean square (LMS), further Mean Squares) and Recursive Least Squares (RLS, Recursive further Squares) two basic adaptive algorithm. Our algorithms of these two basic principle is introduced, and Matlab simulation. Through the simulation results, we have tw

3、o kinds of adaptive algorithm performance analysis, and carries on the comparison. Matlab calculate the weight coefficient of the LMS adaptive algorithm, and its learning curve, and the RLS adaptive weight coefficient algorithm of the learning process.Keywords:, LMS and RLS adaptive filter, the Matl

4、ab simulation课题简介:零均值、单位方差的白噪声通过一个二阶自回归模型产生的AR过程。AR模型的系统函数为: H(Z)=假设=-1.6,=0.8将系统函数转化为差分方程为: 其中w(n)为白噪声,参数=-1.6,=0.8。激励源是白噪声w(n)。本文用Matlab仿真做出了模型系数的收敛过程及平均的学习曲线。分别用LMS算法和RLS算法,分别做出了模型系数的收敛过程及学习曲线,还对两种算法的特性进行了对比。引言:由于随机信号的未知性和随时间变化的统计特性,需要设计参数随时间变化的滤波器算法,即所谓的自适应滤波。它是利用前一时刻以获得的滤波器参数的结果,自动的调节现时刻的滤波器参数,

5、以适应信号和噪声未知的或随时间变化的统计特性,从而实现最优滤波。 自适应滤波器的特性变化是由自适应算法通过调整滤波器系数来实现的。不同的自适应滤波器算法,具有不同的收敛速度、稳态失调和算法复杂度。自适应滤波算法中利用了输出反馈,属于闭环算法。其优点是能在滤波器输入变化时保持最佳的输出,而且还能在某种程度上补偿滤波器元件参数的变化和误差以及运算误差。但其缺点是存在稳定性问题以及收敛速度不高。所以探讨如何提高收敛速度、增强稳定性以满足信号处理的高效性、实时性,一直是人们研究的重点和热点。本文基对比研究了两类基本的自适应算法LMS和RLS,并对它们权系数的收敛过程及学习过程进行了分析。 LMS原理分

6、析:LMS算法是自适应滤波器中常用的一种算法与维纳算法不同的是其系统的系数随输入序列而改变。维纳算法中截取输入序列自相关函数的一段构造系统的最佳系数。而LMS算法则是对初始化的滤波器系数依据最小均方误差准则进行不断修正来实现的。因此理论上讲LMS算法的性能在同等条件下要优于维纳算法但是LMS算法是在一个初始化值得基础上进行逐步调整得到的因此在系统进入稳定之前有一个调整的时间这个时间受到算法步长因子的控制在一定值范围内增大会减小调整时间但超过这个值范围时系统不再收敛的最大取值为R的迹。LMS采用平方误差最小的原则代替均方误差最小的原则,信号基本关系如下: 写成矩阵形式为: 式中W(n)为n时刻自

7、适应滤波器的权矢量,N为自适应滤波器的阶数。X(n)为n时刻自适应滤波器的参考输入矢量,由最近的N个信号的采样值构成,。d(n)是期望的输出值;e(n)为自适应滤波器的输出误差调节信号;是控制自适应速度与稳定性的增益常数。LMS的算法流程图:读取x(n)和d(n)初始化w(n) 计算误差e(n)=d(n)-y(n) 计算因子更新权RLS算法原理分析:为遗忘因子,它是小于1的正数:参考信号或期望信号第n次迭代的权值均方误差按照如下准则:越旧的数据对的影响越小。对滤波器的系数w求偏导,并令结果等于0知整理得到标准方程为:定义:标准方程可以简化为:经求解可以得到迭代形式:定义:,则可知T的迭代方程为

8、:系数的迭代方程为其中增益和误差的定义分别为:参数递推估计,每取得一次新的观测数据后,就在前次估计结果的基础上,利用新引入的观测数据对前次估计的结果,根据递推算法进行修正,减少估计误差,从而递推地得出新的参数估计值。这样,随着新观测数据的逐次引入,一次接一次地进行参数估计,直到参数估计值达到满意的精确程度为止。RLS算法流程图:初始化;计算T(n),w(n),k(n),e(n|n-1) 计算误差e(n)=d(n)-y(n)更新权LMS算法程序:clearclose allclca1=-1.6; a2=0.8; n=1000; P=50;e=zeros(1,n);ep=zeros(1,n);ee

9、=zeros(1,n);x=zeros(1,n)' w=randn(1,n)' %算法for p=1:P 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 L=2; u=0.0005; wL=zeros(L,n);for i=(L+1):n X=x(i-L:1:(i-1); y(i)=X'*wL(:,i); %i时刻输出信号 e(i)=x(i)-y(i); %i时刻误差信号 wL(:,(i+1)=wL(:,i)+2*u*e(i)*X; %i时刻滤波器的权值 ee(i)=

10、e(i)2;end ep=ep+ee; endeq=ep/P;a1L=-wL(2,1:n); % a1在LMS算法下值的变化,wL矩阵中第一行的1到n个数 a2L=-wL(1,1:n); % a2在LMS算法下值的变化 ,wL矩阵中第二行的1到n个数 %画图subplot(2,2,1);plot(1:n,x); title('高斯白噪声w');subplot(2,2,2); plot(1:n,a1L,'r-',1:n,a1,'k-'); title('a1的学习过程');subplot(2,2,3); plot(1:n,a2L,&

11、#39;r-',1:n,a2,'k-'); title('a2的学习过程');subplot(2,2,4);plot(1:n,eq);title('50次平均后的学习过程'); 图1:步长因子=0.0005时LMS仿真图形 图2:步长因子=0.001时LMS仿真图形 图3:步长因子=0.005时LMS仿真图形结果分析:1. 在仿真过程中可以看到,图形的收敛时间随着步长因子的增大而减小。说明步长因子与收敛时间成反比,其决定了LMS算法学习过程的快慢。2. 由上图对比可知,当步长因子增大时,收敛时间减少,但会使失调增大,当等于0.0005与0

12、.001时图形没有失调,但当等于0.005时,就会发现图形失调严重。3. 综上所述可得出结论:控制失调与加快收敛速度矛盾。 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

13、); 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*

14、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,'

15、;g-',1:n,a2,'k-'); title('LMS与RLS算法a2权系数收敛过程对比'); 图4:LMS与RLS仿真图形对比结果分析:1. RLS算法在算法的稳态阶段即算法的后期收敛阶段其性能和LMS算法相差不明显但在算法的前期收敛段RLS算法的收敛速度要明显高于LMS算法。但是RLS算法复杂度高计算量比较大。RLS算法与LMS对比:由于LMS算法只是用以前各时刻的抽头参量等作该时刻数据块估计时的平方误差均方最小的准则,而未用现时刻的抽头参量等来对以往各时刻的数据块作重新估计后的累计平方误差最小的准则,所以LMS算法对非平稳信号的适应性差。RLS

16、算法的基本思想是力图使在每个时刻对所有已输入信号而言重估的平方误差的加权和最小,这使得RLS算法对非平稳信号的适应性要好。与LMS算法相比,RLS算法采用时间平均,因此,所得出的最优滤波器依赖于用于计算平均值的样本数,而LMS算法是基于集平均而设计的,因此稳定环境下LMS算法在不同计算条件下的结果是一致的。在性能方面,RLS的收敛速率比LMS要快得多,因此,RLS在收敛速率方面有很大优势。图6分别为RLS算法和LMS算法在处理过程中的误差曲线,它指出了在迭代过程中的误差减少过程。由图可见,RLS算法在迭代过程中产生的误差明显小于LMS算法。由此可见,RLS在提取信号时,收敛速度快,估计精度高而且稳定性好,可以明显抑制振动加速度收敛过程,故对非平稳信号的适应性强,而LMS算法收敛速度慢,估计精度低而且权系数估计值因瞬时梯度估计围绕精确值波动较大,权噪声大,不稳定。结束语:这一次的大作业通过查找资料、向同学请教,基本上弄明白的自适应滤波两种算法的原理,在编写程序过程中参考了许多前辈们的经典写法,然后自己完成了程序的编写。通过这次仿真作业,我看到了自己在算法实现上和优秀的程序员还有很大的差距,自己还有很长的路要走。以后要多动手更加努力,才能使自己的编程水平得到提高。参考文献:1 张玲华 郑宝玉. 随机信号处理 清华大学出版社15


文档来源:https://www.renrendoc.com/paper/212419885.html

文档标签:

下载地址