主要内容

参数化扰动离散灰盒模型的估计

这个例子展示了当您知道测量噪声的方差时,如何创建单输入和单输出灰盒模型结构。本例中的代码使用Control System Toolbox™命令卡尔曼(控制系统工具箱)用于从已知和估计的噪声方差中计算卡尔曼增益。

SISO系统的描述

本例基于一个离散的单输入单输出(SISO)系统,由以下状态空间方程表示:

x k T + T p 一个 r 1 p 一个 r 2 1 0 x k T + 1 0 u k T + w k T y k T p 一个 r 3. p 一个 r 4 x k T + e k T x 0 x 0

在哪里w而且e是否具有协方差矩阵的独立白噪声项R1而且R2,分别。R1=E{ww'}是一个2 × 2矩阵,并且R2=E{ee'}是一个标量。par1par2par3,标准杆4杆表示待估计的未知参数值。

假设你知道测量噪声的方差R2是1。R1(1,1)是未知的,被视为一个附加参数par5.剩下的元素R1已知为零。

idgrey模型的参数估计

可以表示中描述的系统SISO系统的描述作为一个idgrey(灰盒)模型使用函数。然后,您可以使用此文件和感动的命令,根据初始参数猜测估计模型参数。

要运行此示例,必须加载一个输入输出数据集并将其表示为iddataidfrd对象被称为数据.有关此操作的更多信息,请参见使用iddata对象表示时频域数据使用idfrd对象表示频率响应数据

估算灰盒模型的参数:

  1. 创建文件mynoise它计算状态空间矩阵作为5个未知参数和表示已知方差的辅助变量的函数R2.初始条件未参数化;在这个估计过程中,它们被假设为零。

    请注意

    R2将作为辅助变量处理,而不是在文件中为其赋值,以便您可以在命令行中直接更改该值,从而避免编辑文件。

    函数[A,B,C,D,K] = mynoise(par,T,aux) R2 = aux(1);已知测量噪声方差A = [par(1) par(2);1 0];B = (1, 0);C = [par(3) par(4)];D = 0;R1 = [par(5) 0;0 0];(~ K) =卡尔曼(ss(眼(2)C, 0, T), R1, R2);
  2. 指定未知参数值和辅助参数值的初始猜测R2

    par1 = 0.1;A(1,1)的初始猜测par2 = 2;A(1,2)的初始猜测%par3 = 1;% C(1,1)的初始猜测标准杆4杆= 3;% C(1,2)的初始猜测par5 = 0.2;R1(1,1)的初始猜测Pvec = [par1;par2;par3;标准杆4杆;par5] auxVal = 1;% R2 = 1
  3. 构造一个idgrey模型使用mynoise文件:

    Minit = idgrey (“mynoise”Pvec,' d ', auxVal);

    第三个输入参数' d '指定一个离散时间系统。

  4. 根据数据估计模型参数值:

    选择= greyestOptions;opt.InitialState =“零”;opt.Display =“全部”;模型=老龄化最严重的(数据、Minit选择)

另请参阅

(控制系统工具箱)||

相关的例子

更多关于

Baidu
map