递推最小二乘辨识

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

常规最小二乘辨识的递推算法主要内容1.思想及原理2.matlab仿真3.应用1.递推最小二乘法的思想及原理1.1递推最小二乘法的引入*最小二乘一次完成算法的缺陷(1)数据量越多,系统参数估计的精度就越高,为了获得满意的辨识结果,矩阵的阶数常常取得相当大。这样矩阵求逆的计算量很大,存储量也很大。(2)每增加一次观测量,都必须重新计算,()-1。(3)如果出现列相关,既不满秩的情况,为病态矩阵,则不能得到最小二乘估计值。TTT1.2递推算法的思想*递推辨识算法的思想可以概括成新的参数估计值=旧的参数估计值+修正项即新的递推参数估计值是在旧的递推估计值的基础上而成,这就是递推的概念.递推算法不仅可减少计算量和存储量,而且能实现在线实时辨识.*递推算法是依时间顺序,每获得一次新的观测数据就修正一次参数估计值,随着时间的推移,便能获得满意的辨识结果.RLS法即为成批型LS算法的递推化,即将成批型LS算法化成依时间顺序递推计算即可。该工作是1950年由Plackett完成的。*下面讨论无加权因素时的一般LS法的递推算法的推导.即将成批型算法化等效变换成如下所示的随时间演变递推算法.时不变SISO系统数学模型:A(z-1)y(k)=B(z-1)u(k)+e(k)baniiiniiizbzzaz1111)(1)(BALLLLYΦ)ΦΦ(θ1LS已知系统的输入u(k)和输出y(k),求参数ai,bi的估计值。可以得到向量形式的线性方程组:Y=+eY=[y(1),y(2),...,y(L)]T=[(0),(1),...,(L-1)]T,],,-,,-[θ)]-(,),1-()-(,),1-([)1-(11bannbabbaankukunkykyk设在k-1时刻和k时刻,系统的参数估计结果为和)(θˆk)1-(θˆk首先,假定在第k-1次递推中,我们已计算好参数估计值在第k次递推时,我们已获得新的观测数据向量(k-1)和y(k),则记Φk-1=[(0),(1),...,(k-2)]TYk-1=[y(1),y(2),...,y(k-1)]TΦk=[(0),(1),...,(k-1)]T=[φ(k-1)Tφ(k-1)]TYk=[y(1),y(2),...,y(k)]T=[y(k)]T1kY仔细考察上述LS法,可以知道,该算法进行递推化的关键是算法中的矩阵求逆的递推计算问题.因此,下面先讨论该逆矩阵的递推计算.)2()ΦΦ()(1-kkkP将Φk展开,故有1-1-1-))](Φ)][(Φ([)(kkkkkP1-1-1-)]()(ΦΦ[kkkk)3()]()()1-([1-1-kkkP为便于逆矩阵递推算式的推导,下面引入如下矩阵反演公式(设A和C为可逆方阵)(A+BCD)-1=A-1-A-1B(C-1+DA-1B)-1DA-1(4)该公式可以证明如下:由于(A+BCD)[A-1-A-1B(C-1+DA-1B)-1DA-1]=I-B(C-1+DA-1B)-1DA-1+BCDA-1-BCDA-1B(C-1+DA-1B)-1DA-1=I-B[I-C(C-1+DA-1B)+CDA-1B](C-1+DA-1B)-1DA-1=I因此,矩阵反演公式(4)成立.下面讨论参数估计值的递推计算.由上一讲的一般LS估计式由式(3)和矩阵反演公式(4),可得P(k)的如下递推计算式1)-()()](1)-()(1)[(1)-(-1)-()(1kkkkkkkkkPPPPPkkkkkkkkYPYΦ)(Φ)ΦΦ()(θˆ1-有)(Φ)(θˆ)(1-kkkkYP(5)1)-()(1)-()(1)()(1)-(-kkkkkkkPPPI该乘积为标量)3()]()()1-([)(1-1-kkkkPP)(θˆk(A+BCD)-1=A-1-A-1B(C-1+DA-1B)-1DA-1即)]()1-()][1-(Φ)[()(θˆ1kykkkkkYP)]()1-()1-(Φ)[(1kykkkkYP)]()1-()1-(θˆ)1-()[(1kykkkkPP)}()1-()1-(θˆ)]1-()1-(-)(){[(1kykkkkkkPP)6()]1-(θˆ)1-(-)()[1-()()1-(θˆkkkykkkP利用公式)(Φ)(θˆ)(1-kkkkYP利用公式P(k)=[P-1(k-1)+(k-1)T(k-1)]-1G(k)称为增益向量;令上述算法的计算顺序为先计算G(k-1),然后再分别计算P(k-1)和.)(θˆk,)1(θˆ)1()(ˆkkky表示基于k-1时刻的历史数据对y(k)的预报值。将式(5)和(6)整理可得如下RLS估计算法表示ˆˆˆθ()θ(-1)()[()-()θ(-1)](7)()-G(k)()(-1)(8)kkGkykkkkkkPIP(-1)()()1()(-1)()kkGkkkkPP其中综上所述,RLS法的基本计算步骤可总结如下:1.确定被辨识系统模型的结构,以及多项式A(z-1)和B(z-1)的阶次;2.设定递推参数初值,P(0);3.采样获取新的观测数据y(k)和u(k),并组成观测数据向量(k-1);4.用式(7)~(8)的RLS法计算当前参数递推估计值;5.采样次数k加1,然后转回到第3步骤继续循环.0)(ˆ)(ˆk递推初始值选取在递推辨识中,如何选取递推计算中的和P(k)的初值是一个相当重要的问题.一般来说,有如下两种选取方法:(1)=0,P(0)=I,其中为充分大的实数(105~1010);(2)对m组数据,用LS成批算法,得和,再从m+1开始递推)(ˆk)0(ˆmmP1[]TTmmmmmY1[]TmmmP递推最小二乘参数估计算法息信有原ˆNNP1ˆN1NP1Ny1N息信出输产生输入数据u和输出数据z结束开始初始化P(0)、θ(0)、w和ε计算P(k),θ(k)和K(k))1(ˆ)1(ˆ)(ˆmaxkkkiiiiLk)()1()()1(kPkPkk是是否否3.仿真程序inputs.m%产生输入数据,以待辨识function[u,y]=inputs()%第一步,产生M序列,1000个数产生a1=1;a2=1;a3=1;a4=1;fori=1:1000u(i)=bitxor(a1,a2);a1=a2;a2=a3;a3=a4;a4=u(i);endplot(u)%M序列的波形figure%第二步,产生白噪声%产生1000个白噪声数据x(1)=1;k=12;M=2^k;A=11;fori=1:1012c(i)=x(i)/M;x(i+1)=mod(A*x(i),M);endfori=1:1000e(i)=0.5*(sum(c(i:i+12))-6);end%plot(e)%白噪声的波形figure%第三步,产生在M序列下的输出y,同时加入噪声y(1)=0;y(2)=2;fori=3:length(u)y(i)=1.5*y(i-1)-0.7*y(i-2)+u(i-1)+0.5*u(i-2)+0.1*e(i);endplot(y)%输出y的波形enddtzxec.m%递推最小二乘法%u,y为已知的输入输出,N为观测组数,X为辨识结果%使用方式:现在matlab命令窗口输入[u,y]=inputs();%再输入X=dtzxec(u,y,50)functionX=dtzxec(u,y,N)%初值选取Yo=y(3:N+2)';Zo=[-y(2),-y(1),u(2),u(1)];fori=2:Nz=[-y(i+1),-y(i),u(i+1),u(i)]';%具体依据系统模型Zo=cat(1,Zo,z');end%----计算初值-----Po=inv(Zo'*Zo);Xo=Po*Zo'*Yo;PN=Po;XN=Xo;X=Xo;%得出初值,供递推式使用%一般的递推算法fori=N+1:length(u)-2znext=[-y(i+1),-y(i),u(i+1),u(i)]';%加数据y(i+N),使用递推式GN1=(PN*znext)*inv(1+znext'*PN*znext);PN1=PN-GN1*znext'*PN;XN1=XN+GN1*(y(i+2)-znext'*XN);%修改数据,等待下一次辨识PN=PN1;XN=XN1;X=cat(2,X,XN);end%显示辨识的4个参数x=1:length(u)-N-2;plot(x,X(1,x),x,X(2,x),x,X(3,x),x,X(4,x))endM序列系统输出白噪声辨识参数2.递推最小二乘法的应用基于相关函数的递推最小二乘算法在回波消除中的应用更新系统模型变压器微机差动保护中的应用研究感应电动机参数的离线辨识1.基于相关函数的递推最小二乘算法在回波消除中的应用克服了常规自适应滤波算法在出现双方对讲的情况下需要停止调节自适应滤波器系数这一不足。该算法在双方对讲的情况下,可以继续更新自适应滤波器的系数,具有良好的收敛性能。2.更新系统模型该算法利用遗忘因子法对旧参数矩阵进行加权,再和新数据矩阵组合构成输入输出的数据矩阵,然后利用PLS核算法得到模型。可以有效的更新模型,使模型适应过程的变化,并能提高模型的预测功能。该算法可以根据新的数据和旧的PLS模型参数更新模型而无需采用全部数据。然而,在建立模型时所确定的特征向量个数不一定是最优的。因此,在线更新模型时,如何确定用于预测的最优特征向量数,还有待进一步研究。3.在变压器微机差动保护中的应用研究变压器差动保护主要解决的问题是如何区分变压器内部故障和外部故障以及如何鉴定励磁涌流和内部故障。可以利用递推最小二乘进行估计计算,其数据窗的大小能跟随采样点的增多而自动加长,,完全利用故障后的信息,使算法的计算精度随采样值得增加而不断提高,并且收敛速度快,收敛过程稳定4.感应电动机参数的离线辨识递推最小二乘算法简化了离线辨识电机模型,减少了计算量。

1 / 24
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功