多变量系统的辨识与闭环控制及相应matlab程序

时间:2025-05-01

使用子模型与子子模型法辨识多变量系统的结构与参数。

多变量系统的辨识与控制

一 摘要:实际的工业对象大都为多变量系统,多变量系统控制效果的好坏,很大程度上取决于对象的模型建立是否准确。由于一般的辨识方法在辨识多变量系统时要处理的数据量非常大,而且当各个子子模型之间动态特性相差很大时,用统一采样时间的模型来描述,普通的辨识方法很难给出参数的精确估计。本文采用对多变量系统分解的方法,将多变量系统划分为子模型及子子模型,辨识出各个变量之间的传递关系。事实证明这种辨识方法精度高,由于采用分块矩阵求逆的方法,数据运算量也相对较小。这种辨识结果的另一个好处是可以灵活选用子子模型来对对象进行控制。 二 原理

模型分解的方法是将多输入多输出系统划分为多个多输入单输出的P规范对象,这样多个输出间就不存在相互影响,可以独立的辨识。对于多输入多输出的系统只需辨识多个多输入单输出的系统即可,原理完全相同。基于此,本文选用的对象为二输入一输出系统,即可代表多输入多输出系统的辨识过程。

本文选取一个三阶的CARMA多变量系统,将工作重点放在系统结构及参数的辨识及在控制的运用中,以求通过对一个较为普遍的多变量系统的辨识更好的理解、掌握系统辨识的基本原理、方法及其应用。

为了能够获得好的辨识效果,输入信号选为两个不相关的PRBS,将激励信号与噪声一起输入到CARMA对象,即得到系统的输出。由于系统输出只有一个,因而系统输出即是子模型的输出。

有了输入与输出数据,就可以辨识系统的子模型。由于CARMA模型中含有噪声的多部滞后影响,而噪声的结构及其参数均未知,因而用普通的最小二乘无法辨识。在这里我们使用增广的最小二乘方法,用一个足够高阶的CAR模型去逼近CARMA模型(这里CAR模型是通过基于模型阶次递增的方法及F检验得到的),当CAR模型的阶次达到一定值后系统的噪声序列即可认为是白噪声,以此噪声来代替CARMA模型的噪声序列,将噪声序列加到辨识的H矩阵中构成增广矩阵,然后用增广的最小二乘方法辨识对象及噪声的阶次与相应参数,按模型阶次递增的方式以及F检验就可以得到子模型的最佳参数。

依据所得的子模型的参数以及已知的输入(PRBS)就可以得到子子模型的输出数据,然后同样按照基于模型阶次递增的方法及AIC检验就能分别得到子子模型的结构与相应参数。由于AIC检验是一种节省参数的方法,因而得到的参数个数相对较少。系统较为简单。

上述思路反映为流程图,即如图1所示。

使用子模型与子子模型法辨识多变量系统的结构与参数。

图1 辨识过程流程图

使用子模型与子子模型法辨识多变量系统的结构与参数。

三 分析

1 选取一个二输入一输出的三阶CARMA多输入输出模型,模型如下:

y(t) 0.05129u1(t-1)+0.0418u2(t-1)+0.6386y(t-1)+0.06268u1(t-1)+0.0346u2(t-2)-0.1179y(t-2)-0.004184u1(t-3)-0.00218u2(t-3)+0.006738y(t-3)+0.091e(t-1)-0.114 e(t-2)+0.0509e(t-3)2

产生辨识输入信号u1,u2及白噪声r。由于伪随机信号具有近似白噪声的特性,

被广泛应用于系统的模型辨识中,本实验选用的伪随机信号周期为127,由七个寄存器移位产生,第4,7级寄存器按模二求和,第7级输出并返回第一级。本程序中采用产生的前120组数据激励对象。另外,为使系统能更好的被激励起来,两个输入信号选为不相关,这可通过寄存器的初始状态赋不同值来实现。白噪声为零均值,方差为0.01的序列。程序分别见附录1,2,3。 3

将产生的输入信号及噪声对对象进行激励,获得系统输出,亦即子模型的输出,

程序见4。 4

由子模型产生的输出及已有的输入,用高阶CAR模型逼近对象,CAR的结构及

参数通过按模型阶次递增的最小二乘辨识得到,用F检验辨识随模型阶次变化的效果,结果如图2所示。可见用6阶的CAR模型即可近似CARMA模型。程序见5。

图2 F统计值随系统阶次的变化

使用子模型与子子模型法辨识多变量系统的结构与参数。

6 由得到的残差及已有子模型的输入输出,用基于模型阶次递增的最小二乘方法辨

识CARMA模型的阶次及参数,用F检验。结果如图3所示,即CARMA模型的阶次应取4。程序见7。

图3 F统计值随系统阶次的变化

7 8

用得到的最佳结构及相应参数及已有输入获得两个子子模型的输出,程序见8。 用得到的子子模型的输出及已有的输入分别辨识其CAR模型最佳结构和参数,用

AIC法检验。结果如图4、5所示,显然子子模型的阶次应选为4。程序见9,10。 四 讨论

1 到此我们获得了系统的子模型及子子模型,分别如下。 辨识所得子模型:

y(t)=0.0507u1(t-1)+0.0426u2(t-1)-0.8329y(t-1)+0.2335e(t-1)+0.1383u1(t-2)+0.0974u2(t-2)

-0.2791y(t-2)-0.1006e(t-2)+0.1437u1(t-3)+0.0956u2(t-3)+0.4623y(t-3)-0.7050e(t-3)+0.0654 u1(t-4)+0.0400u2(t-4)-0.0736y(t-4)-0.0502e(t-4);

真实子模型:

y(t) 0.05129u1(t-1)+0.0418u2(t-1)+0.6386y(t-1)+0.06268u1(t-1)+0.0346u2(t-2)-0.1179y(t-2)-0.004184u1(t-3)-0.00218u2(t-3)+0.006738y(t-3)+0.091e(t-1)-0.114 e(t-2)+0.0509e(t-3);

使用子模型与子子模型法辨识多变量系统的结构与参数。

图4 子子系统1的 …… 此处隐藏:9219字,全部文档内容请下载后查看。喜欢就下载吧 ……

多变量系统的辨识与闭环控制及相应matlab程序.doc 将本文的Word文档下载到电脑

    精彩图片

    热门精选

    大家正在看

    × 游客快捷下载通道(下载后可以自由复制和排版)

    限时特价:7 元/份 原价:20元

    支付方式:

    开通VIP包月会员 特价:29元/月

    注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
    微信:fanwen365 QQ:370150219