基于Matlab系统辨识工具箱的参数辨识

更新时间:2023-05-18 15:22:01 阅读量: 实用文档 文档下载

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

基于Matlab系统辨识工具箱的参数辨识

第20卷第4期2008年8月军械工程学院学报JournalofOrdnanceEngineeringCollegeVol120No14Aug.,2008

文章编号:1008-2956(2008)04-0075-04

基于Matlab系统辨识工具箱的参数辨识

王向东,魏明,赵建文,陈翔

1

1

2

1

(1.军械工程学院弹药工程系,河北石家庄 050003;2.辽阳地区军代室,辽宁辽阳 111000)

摘要:论述了系统辨识的基本理论,针对最小二乘法参数辨识的缺陷引入了辅助变量法参数辨识。根据Matlab系统辨识工具箱中的一些基本函数,结合实例对最小二乘法参数辨识和辅助变量法参数辨识进行了对比分析,结果表明基于辅助变量法模型的输出与原系统输出相吻合。关键词:Matlab;参数辨识;最小二乘法;辅助变量法中图分类号:TP273        文献标识码:A

ParameterIdentificationBasedToolboxinWANGXiang2,E,ian2wen,CHENXiang

.RepOfficeinLiaoyang,Liaoyang 111000,China)

1

1

2

1

(1.DepartmentofOEngineeringCollege,Shijiazhuang050003,China;

Abstract:introducesthebasictheoryofsystemidentification.Thenaccordingtothedefectoftheleastsquaremethod,itintroducestheprincipleofsupplementaryvariableinparameteridentification.ThispaperalsolistssomebasicparameteridentificationfunctionsinMatlabsystemidentificationtoolbox.Finally,thepapercontraststhetwoparameteridentificationmethodsthroughoneexample.Theexampleshowsthatthesupplementaryvariablemethodsuitstheoriginallysystem’soutputdatabetter.Keywords:Matlab;parameteridentification;theleastsquaremethod;supplementaryvariablemethod

在实际工程领域存在着大量的对象,为了研究其行为特性需要建立其数学模型。按照建模时对系

统先验知识了解多少,可以将模型分为3类:白箱模型、灰箱模型和黑箱模型。系统辨识理论是在先验知识不完备的情况下,根据系统的输入输出数据提

[1]

取模型信息,从而构建系统模型,属于黑箱模型。随着计算机技术的发展,出现了一些计算机辅助辨识软件。笔者研究了如何利用Matlab系统辨识工具箱对系统进行模型参数辨识,并运用最小二乘法(LS)及辅助变量法(IV)对模型参数进行辨识。

1)L1A1Zadeh定义:辨识是在输入输出数据的基础上,从给定的模型类中,确定与系统等价的模

型。

2)P1Eykhoff定义:辨识问题可以归结为用某个模型来辨识客观系统(或将要构造的系统)本质特征的演算,并用这个模型把对客观系统的理解表示成有用的形式。

3)L1Ljung定义:辨识有3个要素———数据、模型类和准则。辨识就是按照某个准则在模型类中选择与数据拟合最好的模型。

从上面的定义可以看出,辨识就是利用所观测到的系统输入输出数据(往往含有噪声),根据所选择的原则,从模型类中确定与所测系统拟合的最好的模型。

系统辨识的方法和步骤如图1所示

1 系统辨识基本理论

很多学者都曾给辨识下过定义,下面介绍几个比较典型适用的定义

[2-3]

收稿日期:2008204230;修回日期:2008206215作者简介:王向东(1984—),男,硕士研究生.

基于Matlab系统辨识工具箱的参数辨识

67

军械工程学院学报                    2008 

取准则函数

2

θ)=J(

k=1

∑[e(k)]

=

k=1

∑[z(k)

-h(k)θ],(5)

^

T2

使J(θ)为最小值时θ估计值记作θLS,称作参数θ的最小二乘估计值。

式(5)表明,未知模型参数θ最可能的值是在实际观测值与计算值之累次误差的平方和达到最小值处,所得到的这种模型输出能最接近实际系统的输出。

212 辅助变量法辨识

[4]

当e(k)为有色噪声时,利用最小二乘法进行参数辨识时得不到无偏一致的参数估计量θ。这时可以引入变量,再利用最小二乘法进行辨识便可得到无偏一致的参数估计量θ。

,,其过程模)所示。令

T

L[z)…,z(L)]

L=[e(1),e(2),…,e(L)]

T图1 系统辨识步骤方法示意图

,(6)

2 ,笔者只讨论参数辨识二乘法、辅助变量法、极大似然法和时变参数法等,其基本思想都来源于最小二乘法211 最小二乘法辨识

[3-4]

HL=[h(1),h(2),…,h(L)将式(6)代入式(3)可得

zL=HLθ+eL,

(7)

对于SISO离散随机系统,其描述方程为

z(k)+a1z(k-1)+…+anaz(k-na)=

b1u(k-1)+b2u(k-2)+…+

bnbu(k-nb)+e(k),

(1)

根据最小二乘法可得其参数估计为

^T-1Tθ(HLeL/L),(8)LS=θ+(HLHL/L)

即^T-1θ→θ+[h(k)h(k)]h(k)e(k),(9)LS

L→∞

^^

θ式中:W1P11表示θ的无偏一致估计,定义为LSLS→θ。

^

显然,若e(k)为白噪声,则θLS是无偏一致估计,但当e(k)不是白噪声时,一般h(k)e(k)≠0,那

^3

θ么若使θ→,则要定义辅助矩阵HL=[hLS

L→∞33T

(1),h(2),…,h(L)],使之满足如下条件:

3T3T1)HLHL→h(k)h(k)是非奇异矩LL→∞

阵;

3T332)HLeL→h(k)e(k)=0,即hLL→∞

3

(k)与e(k)独立,h(k)称为辅助变量。

如果所用的辅助向量满足上述条件,则有

^3

T-13θIV=(HL(10)HL)HLzL=θ,式中:θIV为辅助变量参数估计值。由此可见,只要

适当选择辅助变量,使之满足上述2个条件,参数估

^

计θIV就是无偏一致估计。

^

L→∞

式中:z(k)为系统输出量的第k次观测值;z(k-1)为系统输出量的第(k-1)次观测值,依次类推;u(k)为系统的第k次输入值;u(k-1)为系统的第(k-1)次输入值,依次类推;e(k)是均值为零的随机

噪声。将式(1)改写为

z(k)=-a1z(k-1)-…-anaz(k-na)+

b1u(k-1)+b2u(k-2)+…+

bnbu(k-nb)+e(k),

(2)(3)

可得系统输入输出的最小二乘格式为

T

z(k)=h(k)θ+e(k),式中:h为样本集合;θ为被辨识的参数集合。

h(k)=[-z(k-1),…,-z(k-na),u(k-1),…,u(k-nb)]

T

。(4)

θ=[a1,a2,…,ana,b1,b2,…,bnb]T

基于Matlab系统辨识工具箱的参数辨识

 第4期            王向东等:基于Matlab系统辨识工具箱的参数辨识

[5-6]

77

3 Matlab系统辨识工具箱介绍

311 数据预处理

系统输入输出数据如表1所示。

表1 系统输入输出数据一览表

编号

1234

系统建模时,要求输入输出数据的统计特性与统计时间起点无关,且均值为0。然而实际测量直接得到的数据是随机事件序列,需进行数据预处理,主要包括消除数据的趋势项、对测量数据进行滤波和重采样。在Matlab系统辨识工具箱中,函数dtrend用来去除输入输出数据中的趋势项,函数id2filt利用Butterworth滤波器对数据进行滤波,利用idresamp函数对输入输出数据进行重采样来插值或

输入/V

001840114-0196

输出/V

00119501513-01272

编号

5678

输入/V

-0128019301990141

输出/V

-014201058012630145

412 模型参数辨识

删减数据。这3个函数的调用基本格式分别为:

Zd=dtrend(z,o,brkp),Zf=idfilt(z,ord,Wn),

Zr=idresamp(data,P,Q),

针对以上模型分别采用最小二乘法(LS)与近似最优4阶辅助变量法(IV4)进行了模型参数辨识,其Matlab程序清单如下:

clear0]1195,01513,-01272,-0142,01058,

%式中:z=[yu]为系统输入输出数据矩阵;o是趋势

项的阶次;brkp用于指定分段线性回归的分段点;ord指滤波器的阶次;Wn围;data指用于重采样的iddata;Q。312 ,支持参数模型包括AR、ARX、ARMAX、BJ、状态空间和输出误差等模型。这里介绍ARX模型和IV4模型,它们的调用格式分别为

m=arx(data,orders),m=iv4(data,orders),

01,,1,-0128,0193,

,0145]′;

%赋系统输入输出初始值m=iddata(Z,U);

%标准包含系统输入输出数据对象V=arx(m,[111])

%基于最小二乘法的系统参数辨识

present(V)

%显示最小二乘辨识对象的信息V1=iv4(m,[111])

%基于近似4阶最优辅助变量模型参数辨识

式中:data指包含输入输出数据的iddata对象,or2ders用于指定模型的阶次和纯时延大小。

present(V1)

%显示辅助变量辨识。

4 应用实例

411建模对象及实验数据

由运行程序可得最小二乘辨识结果为A(q)=

-1-1

1+015185q,B(q)=015466q,从而可得系

建模对象为一阶系统,如图2所示,采用正弦信号作为输入信号

统的传递函数为

G(s)=。-1=s+0151851+015185s

-1

近似4阶最优辅助变量法模型辨识结果为A

(q)=1+014645q

-1

,B(q)=015229q

-1

-1

,从而

可得系统的传递函数为

G(s)=。-1=s+0146451+014645s413 模型验证

笔者采用的模型验证方法是分别对实验对象和

图2 建模对象示意图

模型采用相同输入信号,然后观察其输出信号的大小对比情况,如果模型输出幅度与实际输出幅度拟

基于Matlab系统辨识工具箱的参数辨识

87

军械工程学院学报                    2008

 

合很好,说明模型是正确的。图3、4为实际输出信号曲线和模型输出信号曲线

从图3、4可以得到如下结论:

1)LS法和IV4法均较好地完成模型参数辨识。

2)IV4法估计精度要比LS法估计精度稍高,能

够更好的与实际输出曲线相吻合。

5 结论

系统辨识理论是一种不需要对系统机理了解太多就可以建立系统模型的简单有效方法。通过仿真举例可以看出,IV4参数辨识法精度要高于LS参数辨识法,更为突出的是IV4法可以实现对于有色噪声情况下的无偏一致估计。

参考文献:

[1]倪博溢,萧德云.Matlab[J].,2006,:21496.

[2].,

.

[3[M].北京:国防工

,2006.

4]郑征,田书.基于Matlab的辅助变量法参数辨识与仿真

[J].计算机应用与软件,2004,21(7):1272129.[5]侯媛彬,汪海,王立琦.系统辨识及其Matlab仿真[M].

北京:科学出版社,2004.

[6]齐晓慧,田庆民,董海瑞.基于Matlab系统辨识工具箱的

系统建模[J].兵工自动化,2006,25(10):88290.

(责任编辑:韩红艳)

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

Top