RLS算法的收敛性分析

合集下载

回声消除几种常用的算法比较

回声消除几种常用的算法比较

回声消除几种常用的算法比较(1)LMS与RLS自适应滤波算法性能比较最小均方(LMS, Least Mean Squares)和递推最小二乘(RLS, Recursive Least Squares)两种基本自适应算法进行了算法原理、算法性能分析。

计算机模拟仿真结果表明,这两种算法都能通过有效抑制各种干扰来提高强噪声背景中的信号。

检测特性相比之下,RLS算法具有良好的收敛性能,除收敛速度快于LMS 算法和NLMS算法以及稳定性强外,而且具有更高的起始收敛速率、更小的权噪声和更大的抑噪能力。

基于自适应噪声抵消系统,对比研究了两类自适应滤波算法在噪声抵消应用中的滤波性能。

计算机仿真实验结果表明,两种算法都能从高背景噪声中提取有用信号。

相比之下,RLS算法具有比LMS好得多的启动速度和收敛速度,对非平稳信号适应性强,其滤波性能明显好于LMS算法,但其计算复杂度高,不便于实时处理。

而LMS算法相对存在收敛速度不够快和抵抗突出值干扰能力不够强。

值得深入研究的是降低RLS算法的计算复杂度,进一步提高LMS算法的收敛速度并减少其残余(失调)误差。

(2)LMS与NLMS的比较通过理论分析和实验对比得出NLMS算法的复杂度最小且鲁棒性最好,但是遇到相关信号时,收敛速率最慢。

在实际应用中,NLMS算法便可以基本满足要求,但是NLMS算法步长选择一种收敛速度和收敛精度的折衷。

(3) NLMS算法与NBLMS算法的比较由于回声消除的效果除了与算法有关外,还与滤波器系数的个数、采样率、削波处理、近端语音信号检测等因素相关,因此对两个算法进行比较时,这些因素都取相同值.两种算法在代码大小和所需指令周期上的比较两种算法在代码大小和所需指令周期上的比较见表1.由此可见:两种算法在性能上的差异与滤波器系数的个数N 和滤波器系数块大小M有关.上述的几种算法各有特点。

(1)RLS算法即使是在输入信号相关矩阵的特征值扩展比较大的情况都能实现快速收敛,且对输入参考信号特征值散布不敏感,但其实现都以增加计算复杂度和稳定性问题为代价,而这些问题对于基于LMS准则的算法来说却并不重要,因此实际应用中很少采用。

RLS和LMS自适应算法分析

RLS和LMS自适应算法分析

RLS和LMS自适应算法分析RLS(Recursive Least Squares)自适应算法和LMS(Least Mean Squares)自适应算法是常见的自适应滤波算法,在信号处理、通信系统等领域有广泛应用。

本文将对这两种算法进行详细分析比较,并对它们的优缺点进行评价。

首先,我们先介绍一下这两种算法的基本原理。

RLS算法是一种递归估计算法,通过估计系统的权值并逐步修正的方式逼近期望响应。

根据最小二乘估计准则,RLS算法通过最小化滤波器输出与期望响应之间的均方误差来更新权值。

该算法以过去的输入和期望响应作为参考,通过不断修正权值,逼近最佳解。

常用的RLS算法有全选信号算法、选择性部分信号退化算法等。

LMS算法则是一种基于梯度下降的迭代算法,通过不断修正权值,使得滤波器输出的均方误差逐渐减小。

该算法的优势在于计算简单、适合实时应用。

LMS算法通过使用当前输入和期望响应对滤波器权值进行更新,更新步长由算法的学习速率参数确定,步长过大会导致算法发散,步长过小会降低收敛速度。

接下来,我们以几方面来分析比较这两种算法。

1.性能比较:在滤波效果方面,RLS算法由于基于历史输入和期望响应进行计算,能够更好地估计权值,提高滤波性能。

而LMS算法则在计算简单、实现容易的基础上,性能相对较差。

在噪声较大的环境下,RLS算法的性能相对更为优秀。

2.计算复杂度:RLS算法需要存储历史输入和期望响应,并进行矩阵运算,因此计算复杂度较高。

而LMS算法只需要存储当前输入和期望响应,并进行简单的乘法和加法运算,计算复杂度较低。

在资源受限的环境下,LMS算法更加适用。

3.收敛速度:RLS算法在每次迭代时都通过递归方式重新计算权值,因此收敛速度较快。

而LMS算法只通过当前输入和期望响应更新权值,因此收敛速度较慢。

在需要快速适应的应用场景下,RLS算法更为适合。

4.算法稳定性:由于RLS算法需要存储历史输入和期望响应,内存消耗较大。

生物医学信号处理-10.4 RLS算法

生物医学信号处理-10.4 RLS算法

W

R
P 1
xx xd
RLS 自适应滤波器
n
nie2 (i) min
i0
n
nke2 (k) min
k 0
无论用正交法或微分法,可得:
wn Rn1 r n
wn w1 n, , wM nT
X(k) x(k), x(k 1), , x(k M 1)T
(n) Rx 1 (n) X T (n)e0 (n)
V(n)的相关矩阵(M×M 维)
K(n) E{ (n) T (n)} E{Rx1(n)X T (n)e0 (n)e0T (n)X (n)[Rx1(n)]T }
由于 e0 (n) 为零均值白噪声,再因 Rx1(n) 为对称矩阵,上式可表示为
(式中 Rx E{x(n)xT (n)} ,为输入矢量的统计相关矩阵,与时间无 关。)
后验误差与先验之比称为变换因子
(n) e后(n)
e先(n) (20) 代入式(19)并根据式(6 )和(4 )有
(n) 1 gT (n)x(n)

1


1
xT
1 (n)C
(n

1)
x(n)
(21)
RLS 算法
(1)算法初始化W (0) 0; C(0) 1I 其中I为单位矩阵, 为很小的正调整参数。
(n)
g(n) 称为增益系数。
(3) (4) (5)
(6)
利用式(5)和(6),递推式(3)成为
C(n) 1[C(n 1) g(n)xTC(n 1)]
(7)
利用式(7),我们就可以用递推方式求 M M 维矩阵 Rx (n) 的逆,

毕业设计(论文)-lms及rls自适应干扰抵消算法的比较[管理资料]

毕业设计(论文)-lms及rls自适应干扰抵消算法的比较[管理资料]

前言自适应信号处理的理论和技术经过40 多年的发展和完善,已逐渐成为人们常用的语音去噪技术。

我们知道, 在目前的移动通信领域中, 克服多径干扰, 提高通信质量是一个非常重要的问题, 特别是当信道特性不固定时, 这个问题就尤为突出, 而自适应滤波器的出现, 则完美的解决了这个问题。

另外语音识别技术很难从实验室走向真正应用很大程度上受制于应用环境下的噪声。

自适应滤波的原理就是利用前一时刻己获得的滤波参数等结果, 自动地调节现时刻的滤波参数, 从而达到最优化滤波。

自适应滤波具有很强的自学习、自跟踪能力, 适用于平稳和非平稳随机信号的检测和估计。

自适应滤波一般包括3个模块:滤波结构、性能判据和自适应算法。

其中, 自适应滤波算法一直是人们的研究热点, 包括线性自适应算法和非线性自适应算法, 非线性自适应算法具有更强的信号处理能力, 但计算比较复杂, 实际应用最多的仍然是线性自适应滤波算法。

线性自适应滤波算法的种类很多, 有RLS自适应滤波算法、LMS自适应滤波算法、变换域自适应滤波算法、仿射投影算法、共扼梯度算法等[1]。

其中最小均方(Least Mean Square,LMS)算法和递归最小二乘(Recursive Least Square,RLS)算法就是两种典型的自适应滤波算法, 它们都具有很高的工程应有价值。

本文正是想通过这一与我们生活相关的问题, 对简单的噪声进行消除, 更加深刻地了解这两种算法。

我们主要分析了下LMS算法和RLS算法的基本原理, 以及用程序实现了用两种算法自适应消除信号中的噪声。

通过对这两种典型自适应滤波算法的性能特点进行分析及仿真实现, 给出了这两种算法性能的综合评价。

1 绪论自适应噪声抵消( Adaptive Noise Cancelling, ANC) 技术是自适应信号处理的一个应用分支, 年提出, 经过三十多年的丰富和扩充, 现在已经应用到了很多领域, 比如车载免提通话设备, 房间或无线通讯中的回声抵消( AdaptiveEcho Cancelling, AEC) , 在母体上检测胎儿心音, 机载电子干扰机收发隔离等, 都是用自适应干扰抵消的办法消除混入接收信号中的其他声音信号。

LMS和RLS算法应用及仿真分析

LMS和RLS算法应用及仿真分析

LMS和RLS算法应用及仿真分析
LMS算法(Least Mean Squares)是一种基于梯度下降策略的机器学
习算法,它主要应用于解决系统辨识、信号分类和数据拟合等问题。

LMS
算法是一种收敛率较高的优化算法,由于其算法简单、快速,因此在工业
中被广泛应用。

基本原理:LMS算法的基本原理是进行参数更新,以最小化残差平方
和(RSS)作为目标函数,从而改善结果的稳定性和准确性。

LMS算法的
另一个重要思想是,在学习过程中每次迭代都仅使用当前一个输入和相应
的输出。

因此,该算法不需要获得训练样本数据的完整集合,可以仅仅从
一个训练样本中获得有限的信息,并通过这种限定的信息进行迭代。

LMS算法的算法步骤:
(1)初始化参数θ;
(2)给定一个输入样本xn,根据当前的参数θ计算出预测输出ŷn;
(3)根据已知的真实输出dn,计算出当前的残差en;
(4)根据梯度下降法更新参数θ;
(5)重复2~4步,直到达到目标函数的收敛性。

仿真分析:
首先,使用Matlab仿真模拟LMS算法,以模拟实际的系统辨识任务。

RLS自适应算法分析及仿真

RLS自适应算法分析及仿真

RLS 自适应算法分析及仿真RLS 自适应算法是为了设计自适应的横向滤波器把最小二乘法推广为一种自适应算法。

使得在已知n-1时刻横向滤波器抽头系数的情况吓,能够通过简单的更新,求出n 时刻的滤波器抽头权系数。

这样一种自适应的最小二乘法称为递推最小二乘法,简称RLS 算法。

RLS 自适应算法使用的确定性线性回归模型Kalman 滤波算法的一种特殊的无激励的状态空间模型。

一、RLS 算法步骤:步骤一:初始化:(0)0w =,1(0)P I δ-=,其中δ是一个很小的值。

步骤二:更新: n=1,2,……()()(1)()H e n d n w n u n =--(1)()()()(1)()H P n u n k n u n P n u n λ-=+- 1()[(1)()()(1)]H P n P n k n u n P n λ=---*()(1)()()w n w n k n e n =-+其中,11(0)(0)P R I δ--==,δ是一个很小的正数。

二、仿真结果:从上图可以看出RLS滤波的跟踪性能是比较好的,滤波器的输入与输出在初始值之后几乎重合。

由于RLS存在自适应更新过程,因此其效果比LMS更好。

由下图可以看出,其RLS算法误差是具有收敛性的,收敛结果与δ密切相关,δ在取值为1的时候严重影响RLS算法的收敛速度及结果。

三、仿真程序:clear allclcM=5;%权系数个数N=100;%数据点数n=1:N;wn=0.36*randn(1,N);vn=randn(1,N);d(1)=0;for n=2:Nd(n)=0.8*d(n-1)+wn(n); %期望响应enduu=d+vn;w=zeros(M,1);P=0.05*eye(M,M);q=0.1; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%for n=M:N;u=uu(n:-1:n-M+1)' ;e(n)=d(n)-w'*u;k=P*u*inv(q+u'*P*u);P=(1/q)*(P-k*u'*P);w=w+k*e(n);out(n)=w'*u;end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%subplot(211)t=1:N;hold on;plot(d(t));hold on;plot(out(t),'r');grid onlegend('滤波器输入','滤波器输出')subplot(212)semilogy(abs(out-d));title('误差值')。

MIMO均衡算法(CMALMSRLS)原理介绍

MIMO均衡算法(CMALMSRLS)原理介绍

MIMO均衡算法(CMALMSRLS)原理介绍MIMO(Multiple Input Multiple Output)均衡算法是用来解决多输入多输出通信系统中的信号干扰问题的一种方法。

MIMO系统是一种通过在发送和接收端使用多个天线来提高通信性能的技术,它可以同时传输多个信号流,从而提高了系统的传输容量和可靠性。

MIMO均衡算法主要有三种:CMA(Constant Modulus Algorithm)、LMS(Least Mean Square Algorithm)和RLS(Recursive Least Square Algorithm)。

下面将对这三种算法的原理进行详细介绍。

1.CMA算法原理:CMA算法是一种基于判决反馈的盲均衡算法,主要用于消除通信系统中的多径干扰。

其原理基于一种常数模型,即假设接收信号的样本具有常数模量。

CMA算法通过最小化误差信号的功率来估计多径信道,从而实现均衡。

算法的核心思想是根据判决反馈,通过调整均衡器的参数来最小化误差信号的功率。

2.LMS算法原理:LMS算法是一种基于梯度下降法的自适应均衡算法,其主要特点是简单易理解、计算速度快。

LMS算法通过最小化接收信号与期望信号之间的误差来更新均衡器的权重。

算法的核心思想是根据误差信号和输入信号之间的相关性来更新均衡器的参数,从而逐步优化均衡器的性能。

3.RLS算法原理:RLS算法是一种基于递推最小二乘法的自适应均衡算法,其主要特点是收敛速度快、抗干扰性能好。

RLS算法通过最小化误差的均方值来更新均衡器的权重。

算法的核心思想是根据输入信号和误差信号之间的相关性来更新均衡器的参数,从而实现均衡。

相比于LMS算法,RLS算法的计算复杂度较高,但是收敛速度更快,适用于信道条件变化频繁的情况。

总而言之,MIMO均衡算法通过调整均衡器的权重来消除多输入多输出通信系统中的信号干扰,从而提高通信系统的性能。

CMA算法是一种基于判决反馈的盲均衡算法,LMS算法是一种基于梯度下降法的自适应均衡算法,RLS算法是一种基于递推最小二乘法的自适应均衡算法。

基于RLS算法自适应滤波器

基于RLS算法自适应滤波器

基于RLS算法自适应滤波器
1. 介绍
RLS(Recursive Least Squares)算法是一种常用的自适应滤波器算法,它的主要目的是在不断变化的环境下跟踪复杂的输入/输出关系,实现最小误差估计。

它具有良好的追踪能力和稳定性,因此在许多场合中被广泛采用。

RLS算法通过对滤波器的状态变量应用递归的最小二乘算法,从而使得滤波器具有自适应能力,以追踪输入/输出关系的变化。

RLS算法不仅可以改善滤波器的收敛特性,而且可以有效地减少滤波器的噪声抑制性能,使其获得优良的性能。

2. RLS算法
RLS算法是一种迭代式算法,用于更新滤波器参数,使滤波器能够跟踪系统的动态变化。

RLS算法的基本步骤如下:
(1)对低阶系统的响应曲线进行拟合,并得到不同参数的初始估计值;
(2)计算输入/输出残差并进行加权和;
(3)更新滤波器参数以最小化输入/输出残差;
(4)根据更新的滤波器参数重新计算输入/输出残差;
(5)重复执行以上步骤,直至滤波器参数收敛。

3. RLS算法的优点
RLS算法具有很多优点:
(1)收敛速度快:RLS算法可以迅速收敛,不会因为系统模型变化而陷入局部极小值,并且可以很快适应新的环境。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

RLS与LMS算法的收敛性比较分析学号:S120101057姓名:贾雪婷摘要:介绍了自适应滤波器的基本原理,对最小均方(LMS, Least Mean Squares)和递归最小二乘(RLS, RecursiveL east Squares)自适应算法进行仿真分析及对比研究。

仿真结果及实例均表明,两种算法都能有效抑制和抵消各种干扰,但相比之下,RLS算法具有更好的收敛性能及稳定性,除收敛速度快于LMS算法和NLMS 算法以及稳定性强外,而且具有更高的起始收敛速率、更小的权噪声和更大的抑噪能力。

关键词:自适应滤波;最小均方;递归最小二乘;收敛性;对比研究Abstract: Introducing the basic principle of adaptive filter,as for the minimum mean square(LMS, Least Mean Squares)and Recursive Least Squares(RLS, RecursiveL east Squares) adaptive algorithm is applied to the simulation analysis and comparative study. The simulation results and examples indicate that the, two kinds of algorithm can effectively restrain and offset all kinds of interference, but in contrast, RLS algorithm has better convergence performance and stability, In addition to convergence speed faster than LMS algorithm and NLMS algorithm and the stability, but also have higher initial rate of convergence、smaller right noise and more noise suppression ability.Key words: adaptive filtering;LMS;RLS; astringency; Comparative study一、 自适应滤波的原理自适应滤波的原理如图一所示:输入信号x(n)通过参数可调数字滤波后产生输出信号y(n),将其与参考信号d(n)进行比较,形成误差信号e(n),e(n)通过某种自适应算法对滤波器参数进行调整,最终使e(n)的均方值最小。

如何提高收敛速度、增强稳定性以满足信号处理的高效性、实时性,一直是人们研究的重点和热点。

二、 自适应算法(1) LMS 算法自适应滤波器在时刻n 的向量定义:抽头权向量:011()[(),(),...,()]TM W n b n b n b n -= 参考输入向量:()[(),(1),...,(1)]TX n x n x n x n M =--+()d n 是主输入信号,()y n 是期望输出值,()e n 是误差信号,也是系统输出值,M 是滤波器长度。

由维纳-霍夫方程可知,最小均方误差为:22*min ([])[]j j E e E d W P τ=-实际上,该方程与维纳滤波器结果完全一样。

自适应滤波器与维纳滤波器相比,其差别在于它增加了一个识别控制环节,将输出与期望值进行比较,利用误差()e n 去控制()W n ,使2[]j E e =最小值,从而得到()W n 的估计*()W n 。

根据最优的数学算法最陡下降法,下一个权矢量1()j W n +等于现在的权矢量()j W n 加一个正比于梯度j ∇的负值变化量,即有:1j j j W W μ+=-∇ 通过梯度下降法:21[]|j j j j W W dE e W W dW μ+==-推导可知:12j j j j W W e X μ+=+其中j j j j e d W X τ=-算法步骤: 步骤一:初始化: 步骤二:更新:1,2,3,...n =滤波:()()()Ty n W n X n =; 误差估计:()()()e n d n y n =-;权向量更新:*(1)()2()()W n W n e n X n μ+=+;其中μ是用来控制稳定性和收敛速度的步长参数。

为确保自适应过程的稳定性,μ必须满足02/in MP μ<<,其中2[()]in P E X n =为输入功率。

(2) RLS 算法SISO 系统动态过程的数学模型:11()()()()()A z z k B z u k n k --=+ (1) 其中()u k ,()z k 为输入输出量,()n k 为噪声。

式中11212()1...aa n n A z a z a z a z ----=++++11212()...b bn n B z b z b z b z ----=+++展开后得到:1212()(1)(2)...(1)(2)...()a b n n b z k a z k a z k a bu k b u k b u k n =------+-+-++-模型(1)可化为最小二乘格式:()()()z k h k n k τθ=+ (2)记1212[,,...,,,...,]a b n n a a a b b b τθ=为待估计的参数。

()[(1),...,(),(1),...,()]a b h k z k z k n u k u k n τ=------,对于1,2,...k L =(L 为数据长度)。

方程(2)构成一个线性方程组,写成()()()LL L z k H k n k θ=+; (1)(2)()L z z Z z L ⎡⎤⎢⎥⎢⎥=⎢⎥⎢⎥⎣⎦,(1)(2)()L h h H h L τττ⎡⎤⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎣⎦,(1)(2)()L n n n n L ⎡⎤⎢⎥⎢⎥=⎢⎥⎢⎥⎣⎦ 根据最小二乘法一次完成算法,其参数估计为:1ˆ()L L L L LS H H H Z ττθ-=。

参数递推估计,每取得一次新的观测数据后,就在前次估计结果的基础上,利用新引入的观测数据对前次估计的结果,根据递推算法进行修正,减少估计误差,从而递推地得出新的参数估计值。

这样,随着新观测数据的逐次引入,一次接一次地进行参数估计,直到参数估计值达到满意的精确程度为止。

算法步骤:步骤一:初始化(0)0W =;1(0)P I σ-=,其中I 为单位矩阵; 步骤二:更新1,2,...n =计算更新增益矢量:()(1)()/[()(1)()]Tg n P n X n X n P n X n λ=-+-;滤波:()(1)()Ty n W n X n =-; 误差估计:()()()e n d n y n =-;更新权向量:()(1)()()W n W n g n e n =-+;更新逆矩阵:1()[(1)()()(1)]TP n P n g n X n P n λ-=---;其中,()P n 为自相关矩阵()xx P n 的逆矩阵,常数λ是遗忘因子,且01λ<<。

总上所述:算法实现的主要步骤为:(1)数据采集与生成,取()d n ,()X n ;(2)对参数的初始化;(3)自适应的滤波处理;(4)滤波器系数更新三、 仿真(1) 仿真过程简介仿真过程按照如下过程进行(1)信号产生:首先产生高斯白噪声序列w(n),然后将此通过一个简单的二阶自回归 滤波器生成信号()x n ,该滤波器的参数为.7.0,4.121-==a a(2)将步骤一生成的信号通过LMS 和RLS 自适应滤波器进行处理(3)通过改变u 值对1a 收敛速度的影响来分析LMS 算法的性能以及通过改变λ值对1a 收敛速度的影响来分析RLS 算法的性能。

(4)绘制各种图形曲线 (5)源代码如下:%(1)信号序列与高斯白噪声的产生 %参数初始化a1=1.4; %生成信号所用AR (2)滤波器的参数 a2=-0.7;n=2000; %信号点数%信号及白噪声信号序列的初始化 x=zeros(1,n)'; %信号的初始化w=randn(1,n)'; %高斯白噪声的初始化,均值为0,方差为1 x(1)=w(1); %信号前两点的初始赋值 x(2)=a1*x(1)+w(2); %信号序列的产生 for i=3:nx(i)=a1*x(i-1)+a2*x(i-2)+w(i);%信号由AR (2)产生 end%绘制信号和高斯白噪声波形 figure(1)plot(1:n,x,'b:',1:n,w,'r-');legend('信号序列','高斯白噪声') % 图例title('基于AR (2)模型产生的信号x 和高斯白噪声w'); xlabel('信号点数n'); ylabel('x(n)/w(n)');%(2)LMS 和RLS 算法下的参数a1、a2的收敛曲线 %LMS 滤波L=2; %滤波器长度u=0.001; %LMS 算法下自适应增益常数初始化 wL=zeros(L,n);%LMS 滤波器的权值初始化 for i=(L+1):nX=x(i-1:-1:(i-L));y(i)=X'*wL(:,i); %i 时刻输出信号 e(i)=x(i)-y(i); %i 时刻误差信号wL(:,(i+1))=wL(:,i)+2*u*e(i)*X; %i 时刻滤波器的权值 end;a1L=wL(1,1:n); % a1在LMS算法下值的变化a2L=wL(2,1:n); % a2在LMS算法下值的变化%RLS滤波L=2; %滤波器长度lam=0.98; %RLS算法下lambda取值wR=zeros(L,n);%权系数,初值为0T=eye(L,L)*10;% %RLS算法下T参数的初始化,T初始值为10for i=(L+1):nX=x(i-1:-1:(i-L));K=(T*X)/(lam+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)/lam; %i时刻的维纳解end;a1R=wR(1,1:n); % a1在RLS算法下值的变化a2R=wR(2,1:n); % a2在RLS算法下值的变化%绘制LMS与RLS算法下a1、a2收敛曲线figure(2)plot(1:n,a1L,'r-',1:n,a1R,'b:',1:n,a2L,'g--',1:n,a2R,'m-.',1:n,a2,'k-',1:n,a1,' k-');legend('LMS-a1变化','RLS-a1变化','LMS-a2变化','RLS-a2变化','a1收敛值','a2收敛值',0); % 图例title('LMS与RLS算法对比');xlabel('信号点数n');ylabel('对应a1、a2的值');%(3)LMS算法下不同u值的参数收敛曲线wL=zeros(L,n,3);eL=zeros(n,3); % LMS算法下误差初始化yL=zeros(n,3); % LMS算法下滤波器输出初始化u=[0.001,0.003,0.006]; %不同的u值for j=1:3for i=(L+1):nyL(i,j)=x(i-1:-1:i-2)'*wL(1:L,i-1,j);eL(i,j)=x(i)-yL(i,j);wL(1:L,i,j)=wL(1:L,i-1,j)+2*u(j)*eL(i,j)*x(i-1:-1:i-L);endenda1L1=wL(1,1:n,1);a1L2=wL(1,1:n,2);a1L3=wL(1,1:n,3);figure(3)plot(1:n,a1L1,'b-',1:n,a1L2,'r:',1:n,a1L3,'c-.',,1:n,a1,'k') % 画图显示不同u值下LMS算法性能差别legend('u=0.001','u=0.003','u=0.006','a1收敛值',0) % 图例title('LMS算法下不同的u值对a1收敛速度影响')xlabel('信号点数 n')ylabel('对应a1的值')%(4)RLS算法下不同lambda值的参数收敛曲线wR=zeros(2,n,3); % RLS算法下自适应滤波器参数初始化eR=zeros(n,3); % RLS算法下误差项初始化yR=zeros(n,3); % RLS算法下滤波器输出初始化lam=[1,0.98,0.94];for j=1:3for i=(L+1):nxR=x(i-1:-1:i-2);k=(T*xR)/(lam(j)+xR'*T*xR);T=(T-k*xR'*T)/lam(j);eR=x(i)-xR'*wR(1:2,i-1,j);yR(i,j)=xR'*wR(1:2,i-1,j);wR(1:2,i,j)=wR(1:2,i-1,j)+k*eR;endenda1R1=wR(1,1:n,1);a1R2=wR(1,1:n,2);a1R3=wR(1,1:n,3);figure(4)plot(1:n,a1R1,'b-',1:n,a1R2,'r:',1:n,a1R3,'c-.',1:n,1:n,a1,'k') % 画图显示不同lamda值下RLS算法性能差别legend('lam=1','lam=0.98','lam=0.94','a1收敛值',0) % 图例title('RLS算法下不同的lam值对a1收敛速度影响')xlabel('信号点数 n')ylabel('对应a1的值')(2)仿真结果信号和高斯白噪声波形如图(1)所示:图1 信号和高斯白噪声波形图2 LMS算法和RLS算法收敛曲线对比图3 u对LMS收敛速度的影响图4 λ对RLS收敛速度的影响(3)结果分析(1)由(图2)可以看到在u和 值相当的情况下,RLS比LMS具有更快的收敛速度,但是RLS权系数收敛后出现了较大的噪声,是因为RLS中有效记忆长度只有49.(2)由(图3)可知u越小,LMS算法的收敛速度越慢,但权系数收敛后噪声越小。

相关文档
最新文档