应用最小二乘一次完成法和递推最小二乘法算法的系统辨识

1最小二乘法的理论基础

1.1最小二乘法

设单输入单输出线性定长系统的差分方程表示为:

y?k???a1y?k?1??a2y?k?2??b0u?k??b1u?k?1???any?k?n???bnu?k?n????k?其中δ(k)为服从N(0,1)的随机噪声,现分别测出n+N个输出输入值y(1),y(2),…,y(n+N),u(1),u(2),…,u(n+N),则可写出N个方程,写成向量-矩阵形式

?y?n?1????y?n????yn?2???????y?n?1???????yn?N???????y?n?N?1????y?1??y?2?u?n?1?u?n?2??y?N?u?n?N?u?1???u?2?????u?N???

?a1?????n?1???????an????n?2?????????b0???????n?N?????????bn???a1????y?n?1?????n?1??????????yn?2a?n?2????n?,????,????y??????b0????????yn?N?n?N????????????????bn???y??y?n?1 ?1?u?n?1???y?n?1??y?2?u?n?2??????(4.1.1)

u?1???u?2????

则式(1.1.1)可写为 y ? ? (4.1.2) ? ??式中:y为N维输出向量;ξ为N为维噪声向量;θ为(2n+1)维参数向量;Φ为N×(2n+1)测量矩阵。因此,式(4.1.1)是一个含有(2n+1)个未知参数,由N个方程组成的联立方程组。

????1y???1?

在给定输出向量y和测量矩阵Φ的条件下求参数θ的估计,这就是系统辨识问题。 设 ? ? 表示 式中:

? ? ? ? ? (4.1.3) ? 的估计值,?表示y的最优估计,则有 y?1??a????n?1???y??????n?y?n?2????a???y,????? ???b0??????yn?N???????????bn??设e(k)=y(k)- ?(k), e(k)称为残差,则有e=y- ?=y-Φθ 最小二乘估计要求残差的平方和最小,即按照指数函数

?J?eTe?y???求J对 ? ? 的偏导数并令其等于0可得:

???y?????T(4.1.4)

?J??0??2?Ty???????????Ty?T??由式(4.1.5)可得的

(4.1.5)

? 最小二乘估计:

????T???Ty??1(4.1.6)

J为极小值的充分条件是:

?2JT????02???即矩阵ΦTΦ为正定矩阵,或者说是非奇异的。 1.1.1最小二乘法估计中的输入信号

当矩阵ΦTΦ的逆阵存在是,式(1.1.6)才有解。一般地,如果u(k)是随机序列或伪随机二位式序列,则矩阵ΦTΦ是非奇异的,即(ΦTΦ)-1存在,式(1.1.6)有解。 现在从ΦTΦ必须正定出发,讨论对u(k)的要求。

???Tn?N?1?k?n??yy?2 ??uy?yu??uu??(4.1.7)

当N足够大时有

?Ry1TW.P.1???????N?RyuRuy??RRu??(4.1.8)

如果矩阵ΦTΦ正定,则Ru是是对称矩阵,并且各阶主子式的行列式为正。当N足够大时,矩阵Ru才是是对称的。

由此引出矩阵ΦTΦ正定的必要条件是u(k)为持续激励信号。如果序列{u(k)}的n+1阶方阵Ru是正定的,则称{u(k)}的n+1阶持续激励信号。 下列随机信号都能满足Ru正定的要求 1. 2. 3.

有色随机信号 伪随机信号 白噪声序列

1.1.2最小二乘估计的概率性质 最小二乘估计的概率性质 1) 无偏性

由于输出值y是随机的,所以?是随机的,但注意θ不是随机值。

?是?无偏估计 ??E?????,则称?如果E?2)一致性

估计误差?的方差矩阵为

?12???1????T?Var??E????????N??N????(4.1.9)

??lim?R?1?0,w.p.1limVar?N??N??N上式表明当N→∞时,?以概率1趋近于θ。

当ξ(k)为不相关随机序列时,最小二乘估计具有无偏性和一致性 3)有效性

2如果式(1.1.2)中的ξ的均值为0且服从正态分布的白噪声向量,则最小二乘参数估计值 为有效值,参数??估计偏差的方差达到Cramer-Rao不等式的下界,即

?12T?Var???E?????M?1式中M为Fisher矩阵,且

??(4.1.10)

4)渐近正态性

??????lnpy/?M?E??????????????T???lnpy/??????????????????(4.1.11)

?服从正态分布,如果式(4.1.2)中的ξ是均值为0且服从正态分布的白噪声向量,则最小二乘参数估计值?即

?N?,?2E??T???3

???1??(4.1.2)

1.2递推最小二乘法

为了实现实时控制,必须采用递推算法,这种辨识方法主要用于在线辨识 设已获得的观测数据长度为N,则

估计方差矩阵为 式中 于是

2Var???2??T???PN?NN?1YN??N???N(4.2.1)

N????T???TY?NNNN?1PN???TN?N??1??N?PN?TNYN如果再获得1组新的观测值,则又增加1个方程

得新的参数估计值 式中

TyN?1??N?1???N?1??P??TY??y??N?1N?1NNN?1N?1T????N?PN?1???T??N?1??????N???1??1T??T????PN??N?1?N?1??N?1????1应用矩阵求逆引理,可得PN?1和PN的递推关系式

矩阵求逆引理 设A为n×n矩阵,B和C为n×m矩阵,并且A,A+BCT和I+CTA-1B都是非奇异矩阵,则有矩阵恒等式

?A?BCT??A?1?A?1B?I?CTA?1B?CTA?1?1?1(4.2.2)

得到递推关系式

TTTPN?1?PN?PN?N?1?I??NPN?N?1??N?1PN?1由于?NPN?N?1是标量,因而上式可以写成

TTPN?1?PN?PN?N?1?1??NPN?N?1??N?1PN?1T?????K??N?1NN?1yN?1??N?1?N最后,得最小二乘法辨识公式

???1(4.2.3)

TKN?1?PN?N?1?1??NPN?N?1??1TTPN?1?PN?PN?N?1?1??N?1PN?N?1??N?1PN(4.2.4)

有2种给出初值的办法

(1)设N0(N0>n)为N的初始值,可算出

??P?TYPN0????N0?,?N0N0N0N0TN0?1(4.2.5)

4

??0,P?c2I,C是充分大的常数,I为(2n+1) ×(2n+1)单位矩阵,则经过若干次递推之后能得到(2)假定?00较好的参数估计。[1][2][4]

2两种算法的实现方案

2.1最小二乘法一次完成算法实现

?取好足够的输入—输出数据以后一次计算出来,那么这种算法就式最小二乘法的一如果把式(1.1.6)中的?次完成法。

2.1.1最小二乘一次完成算法程序框图

2.1.2一次完成法程序 具体程序参见附录4

2.1.3一次完成算法程序运行结果 ans =

1.5000 0.7000 1.0000 0.5000 a1 = 1.5000 a2 = 0.7000 b1 =

1.0000

赋输入信号初值u 定义输出观测值的长度并计算系统的输出值 画出输入和输出观测值的图形 给样本矩阵HL和zL赋值 计算参数?? 从??中分离出并显示出被辨识参数a1, a2, b1, b2 停机 图3.2 最小二乘一次完成算法程序框图 5

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4