主要内容

getEstimator

得到卡尔曼增益和用于估计器设计的模型

描述

例子

l= getEstimator(MPCobj提取模型预测控制器中状态估计器使用的卡尔曼增益。估计器在每个控制器区间开始时更新内部植物、扰动和噪声模型的状态。

例子

l厘米,布鲁里溃疡、Bv、数字式电压表= getEstimator(MPCobj还返回用于计算估计器增益的系统矩阵。

l模型指数= getEstimator(MPCobj、“sys”)返回用于状态估计器设计的系统的LTI状态空间表示,以及总结系统I/O信号类型的结构。

例子

全部折叠

该设备是一个稳定的、离散的LTI状态空间模型,具有四个状态、三个输入和三个输出。被操作的变量是输入1和2。输入3是一个不可测量的扰动。测量输出1和3。输出2是未测量的。

创建一个工厂模型,并指定MPC的信号。

rng (1253)%用于可重复的结果植物= drss(4,3,3);工厂。Ts = 0.25;植物= setmpcsignals(植物,“MV”(1、2),“UD”3,“莫”3 [1],“UO”2);Plant.d(:,[1,2]) = 0;

最后一个命令迫使电厂满足无直接馈通的假设。

计算该装置的默认模型预测控制器。

MPCobj = mpc(植物);
——>“PredictionHorizon”属性为空。假设默认为10。“ControlHorizon”属性为空。假设默认2。- - - >“权重。米一个nipulatedVariables" property is empty. Assuming default 0.00000. -->The "Weights.ManipulatedVariablesRate" property is empty. Assuming default 0.10000. -->The "Weights.OutputVariables" property is empty. Assuming default 1.00000. for output(s) y1 y3 and zero weight for output(s) y2

获取用于状态估计的参数。

[L,M,A,Cm,Bu,Bv,Dvm] = getEstimator(MPCobj);
——>”模式。Disturbance" property is empty: Assuming unmeasured input disturbance #3 is integrated white noise. -->Assuming output disturbance added to measured output channel #1 is integrated white noise. Assuming no disturbance added to measured output channel #3. -->The "Model.Noise" property is empty. Assuming white noise on each measured output.

在估计量状态方程的基础上,由的特征值给出估计量极点A - L*Cm.计算并显示极点。

极点= eig(A - L*Cm)
波兰人=6×1-0.7467 -0.5019 0.0769 0.4850 0.8825 0.8291

确认默认估计量是渐近稳定的。

马克斯(abs(波兰))
Ans = 0.8825

这个值小于1,所以估计量是渐近稳定的。

在这种情况下验证,L = a * m

L - a * m
ans =6×210-15年× -0.0555 -0.1249 -0.0278 -0.0555 -0.1665 -0.0139 0.0139 0.0069 -0.0139 0.0833 0.0555 0.2220

输入参数

全部折叠

MPC控制器,指定为MPC控制器对象。使用货币政策委员会命令,创建MPC控制器。

输出参数

全部折叠

卡尔曼增益矩阵为时间更新,以矩阵形式返回。的维度lnx——- - - - - -nym,在那里nx控制器状态的总数,和nym是测量输出的数量。

卡尔曼增益矩阵用于测量更新,以矩阵形式返回。的维度lnx——- - - - - -nym,在那里nx控制器状态的总数,和nym是测量输出的数量。

用于计算估计器增益的系统矩阵,作为不同维度的矩阵返回。有关这些系统矩阵的定义,请参见状态估计方程

用于状态估计器设计的系统,作为状态空间返回(党卫军)模型。的输入模型是一个矢量信号,由以下组件组成,按以下顺序连接:

  • 被操纵的变量

  • 实测扰动变量

  • 1

  • 干扰模型的噪声输入

  • 噪声输入测量噪声模型

噪声输入的数量取决于内部的扰动和测量噪声模型MPCobj.对于扰动模型的噪声类输入,输入扰动模型的输入(如果有)先于进入输出扰动模型的输入(如果有)。常数输入,1,说明非平衡标称值(见MPC预测模型).

进行收益计算l而且更稳健的,加性白噪声输入被假定影响操纵变量和测量扰动(见控制器状态估计).这些白噪声输入不包括在模型

的输入和输出中变量的位置模型.该结构用以下字段和值总结了这些位置。

字段名 价值
ManipulatedVariables 的输入向量中被操纵变量的索引模型
MeasuredDisturbances 的输入矢量内测量的输入扰动的指数模型
抵消 的输入向量内常数输入1的索引模型
WhiteNoise 的输入向量内未测量扰动输入的指数模型
MeasuredOutputs 的输出向量内的测量输出的指标模型
UmeasuredOutputs 的输出向量内未测量输出的指标模型

算法

全部折叠

状态估计方程

一般来说,控制器状态是不可测量的,必须进行估计。默认情况下,控制器使用来自状态观测器的稳态卡尔曼滤波器。有关更多信息,请参见控制器状态估计

开始的时候k在控制区间内,按以下步骤估计控制器状态:

  1. 准备以下数据:

    • xck|k- 1) -控制器状态估计从以前的控制间隔,k1

    • u行为k- 1) -实际用于工厂的操纵变量(MV)k1到k(假定常数)

    • u选择k- 1) - MPC推荐的最佳MV,假定用于工厂k1到k

    • vk) -电流测量扰动

    • yk) -电流测量装置输出

    • BuBv—观察者参数列B对应于uk),vk)输入

    • C-观测器参数C行对应测量的工厂输出

    • Dmv—观察器参数行和列D与测量的植物输出和测量的干扰输入相对应

    • l-常数卡尔曼增益矩阵

    在计算中使用之前,植物输入和输出信号被缩放到无量纲。

  2. 修改xck|k1)当u行为k1)和u选择k-1)是不同的。

    x c r e v k | k 1 x c k | k 1 + B u u 一个 c t k 1 u o p t k 1

  3. 计算创新。

    e k y k C x c r e v k | k 1 + D v v k

  4. 更新控制器状态估计,以考虑最新的测量结果。

    x c k | k x c r e v k | k 1 + e k

    然后,软件使用当前状态估计xck|k)求解区间二次规划k.解决办法是u选择k),即mpc建议在控制间隔之间使用的操纵变量值k而且k+ 1。

    最后,软件为下一个控制区间做准备,假设未知输入,widk),wodk),wnk)假设它们在时间之间的平均值(零)k而且k+ 1。该软件预测已知输入和创新的影响如下:

    x c k + 1 | k 一个 x c r e v k | k 1 + B u u o p t k + B v v k + l e k

版本历史

在R2014b中引入