RLS和LMS自适应算法分析 - 图文

更新时间:2023-12-03 08:20:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

RLS和LMS自适应算法分析

摘要:本文主要介绍了自适应滤波的两种算法:最小均方(LMS, Least

Mean Squares)和递推最小二乘(RLS, Recursive Least Squares)两种基本自适应算法。我们对这两种基本的算法进行了原理介绍,并进行了Matlab仿真。通过仿真结果,我们对两种自适应算法进行了性能分析,并对其进行了比较。用Matlab求出了LMS自适应算法的权系数,及其学习过程曲线,和RLS自适应权系数算法的学习过程。

关键词:自适应滤波、LMS、RLS、Matlab

仿真

Abstract: this article mainly introduces two kinds 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 two 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 Matlab simulation

课题简介:零均值、单位方差的白噪声通过一个二阶自回归模型产

生的AR过程。AR模型的系统函数为:

1?1?2 H(Z)=1?1.6Z?0.8Z

假设a1=-1.6,a2=0.8将系统函数转化为差分方程为:

x(n)??a1x(n?1)?a2(n?2)?w(n)

其中w(n)为白噪声,参数a1=-1.6,a2=0.8。激励源是白噪声w(n)。 本文用Matlab仿真做出了模型系数的收敛过程及平均的学习曲线。分别用LMS算法和RLS算法,分别做出了模型系数的收敛过程及学

1

习曲线,还对两种算法的特性进行了对比。

引言:由于随机信号的未知性和随时间变化的统计特性,需要设计

参数随时间变化的滤波器算法,即所谓的自适应滤波。它是利用前一时刻以获得的滤波器参数的结果,自动的调节现时刻的滤波器参数,以适应信号和噪声未知的或随时间变化的统计特性,从而实现最优滤波。 自适应滤波器的特性变化是由自适应算法通过调整滤波器系数来实现的。不同的自适应滤波器算法,具有不同的收敛速度、稳态失调和算法复杂度。

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

LMS原理分析:

LMS算法是自适应滤波器中常用的一种算法与维纳算法不同的是其系统的系数随输入序列而改变。维纳算法中截取输入序列自相关函数的一段构造系统的最佳系数。而LMS算法则是对初始化的滤波器系数依据最小均方误差准则进行不断修正来实现的。因此理论上讲LMS算法的性能在同等条件下要优于维纳

LMS

?的控制

??的最大取值为R的迹。LMS采用平方误差最小的原则代替均方误差最小的原则,信号基本关系如下:

2

y(n)??wi(n)x(n?i)0N?1

e(n)?d(n)?y(n)

wi(n?1)?wi(n)?2?e(n)x(n?i) 写成矩阵形式为:

T y(n)?W(n)X(n)

e(n)?d(n)?y(n)

W(n?1)?W(n)?2?e(n)X(n) 式中

W(n)为

n

时刻自适应滤波器的权矢量,

W(n)?[w0(n),w1(n),w2(n)........wN?1(n)]T

N为自适应滤波器的阶数。X(n)为n时刻自适应滤波器的参考输入矢量

N

X(n)?[x(n),x(n?1)......x(n?N?1)]T。d(n)是期望的输出值;e(n)为自适应滤波器的输出误差调节信号;μ是控制自适应速度与稳定性的增益常数。

3

LMS的算法流程图:

初始化w(n) 读取x(n)和d(n)

N?1y(n)?i(n)x(n?i) ?w0

计算误差e(n)=d(n)-y(n)

计算因子?e(n)

更新权W(n?1)?W(n)?2?e(n)X(n)

RLS算法原理分析:

?为遗忘因子,它是小于1的正数

d(n):参考信号或期望信号 w(n)第n次迭代的权值

?(n)均方误差

4

按照如下准则:

?(n)???n?ke2(k)?mink?0n

越旧的数据对?(n)的影响越小。对滤波器的系数w求偏导,并令结果等于0知

??(n)n?w??2??n?ke(k)x(k)?0k?0

整理得到标准方程为:

n[??n?kx(k)xTn(k)]w?k)k?0??n?kd(k)x(k?0

定义:

nR(n)???n?kd(k)x(k)k?0

nP(n)???n?kd(k)x(k)k?0

标准方程可以简化为:

R(n)w?P(n)

经求解可以得到迭代形式:

R(n?1)??R(n)?x(n?1)xT(n?1)

P(n?1)??P(n)?d(n?1)x(n?1)

定义:

T(n)?R?1(n),则可知T的迭代方程为: T(n)?[?T?1(n?1)?x(n)xT(n)]?1

系数的迭代方程为

w(n)?w(n?1)?k(n)e(n|n?1)

5

本文来源:https://www.bwwdw.com/article/cnxt.html

Top