主要内容

关于辨识线性模型

什么是IDLTI模型?

系统识别工具箱™软件使用对象来表示各种线性和非线性模型结构。这些线性模型对象统称为确定线性定常(IDLTI)模型。

IDLTI模型包含两个不同的动态组件:

  • 测量组件-描述测量输入和测量输出之间的关系(G)

  • 噪声组件-描述输出处的扰动与测量输出之间的关系(H)

只有噪声成分的模型H称为时间序列或信号模型。通常,您使用由一个或多个输出组成的时间序列数据创建这样的模型y (t)没有相应的输入。

总输出是测量输入和干扰的贡献之和:y = ug + H,在那里u表示测量的输入和e干扰。e (t)模型为方差为Λ的零均值高斯白噪声。下图说明了一个IDLTI模型。

在模拟IDLTI模型时,将研究输入的效果u (t)(可能还有初始条件)y (t).噪音e (t)不考虑。然而,对于输出的有限水平预测,模型的测量和噪声分量都有助于(预测)响应的计算。

线性辨识模型(y = Gu+He)对应的一步超前预测模型

测量和噪声分量参数化

不同的线性模型结构提供了不同的传递函数参数化方法G而且H.当您直接使用输入输出数据构造一个IDLTI模型或估计一个模型时,您可以配置两者的结构G而且H,详见下表:

模型类型 传递函数G和H 配置方法
状态空间模型(中的难点

表示一个已识别的状态空间模型结构,由以下方程控制:

x ˙ 一个 x + B u + K e y C x + D u + e

被测输入之间的传递函数在哪里u和输出y G 年代 C 年代 一个 1 B + D 噪声传递函数是 H 年代 C 年代 一个 1 K +

建设:使用中的难点要创建模型,请指定状态空间矩阵的值一个BCD而且K作为输入参数(使用nan表示未知项)。

估计:使用党卫军n4sid,为各种配置指定名称-值对,例如,被测动态的规范参数化(“形式”/“规范”),表示没有固定馈通D为零(“引线”/假的),以及通过固定缺少噪声动态K为零(“DisturbanceModel”/“没有”).

多项式模型(idpoly

表示一个多项式模型,如ARX, ARMAX和BJ。例如,一个ARMAX模型使用了输入-输出方程布鲁里溃疡Ay (t) = (t) + Ce (t),使所测传递函数G G 年代 一个 1 B ,噪声传递函数为 H 年代 一个 1 C

ARMAX模型是一般多项式模型的特殊配置,其控制方程为:

一个 y t B F u t + C D e t

自回归组件,一个,在被测分量和噪声分量之间是常见的。的多项式B而且F构成被测分量,而多项式C而且D构成噪音成分。

建设:使用idpoly使用活动多项式的值作为输入参数来创建模型。例如,要创建一个Output-Error模型,该模型使用G = B / F为被测分量,且有微小噪声分量(H = 1).输入:

y = idpoly (B [], [], [], F)

估计:使用armaxarx,或bj,指定多项式的阶数作为输入参数。例如,bj的顺序BCD,F用多项式构造具有控制方程的模型

y t B F u t + C D e t

传递函数模型(idtf

表示已识别的传递函数模型,该模型没有用于建模噪声行为的动态元素。该对象使用琐碎噪声模型H =我.控制方程是

y t n u d e n u t + e t

建设:使用idtf要创建一个模型,指定分子和分母系数的值作为输入参数。分子和分母向量构成被测分量G = num (s) /穴(s).噪声组件被固定到H = 1

估计:使用特遣部队,指定被测分量的极点数和零点数G

过程模型(idproc

表示一个流程模型,该模型提供了将噪声动态表示为一阶或二阶ARMA流程的选项(即,H (s) = C (s) / (s),在那里C (s)而且(年代)都是等次的一多项式)。测量组件,G (s),用极点零形式表示的传递函数表示。

对于流程(和灰盒)模型,噪声组件通常被视为按需扩展到以其他方式度量的组件为中心的表示。对于这些模型,您可以使用DisturbanceModel估计的选择。例如:

模型=过程(数据、“P1D”)

估计一个模型,其方程为:

y 年代 K p 1 T p 1 年代 + 1 e 年代 T d u 年代 + e 年代

要向模型中添加二阶噪声成分,使用:

选择= procestOptions(“DisturbanceModel”、“ARMA1”);模型=过程(数据、“P1D”选项);

该模型有如下方程:

y 年代 K p 1 T p 1 年代 + 1 e 年代 T d u 年代 + 1 + c 1 年代 1 + d 1 年代 e 年代

的系数c1而且d1参数化模型的噪声成分。方法构造流程模型idproc命令,指定被测组件的结构类型参数和噪声组件NoiseTF名称-值对。例如,

模型= idproc(“P1”,“金伯利进程”,1、Tp1, 1,“NoiseTF”,…0.1结构(“num”,[1],“窝”,0.5 [1]))

创建流程模型Y (s) = 1/(s+1) u(s) + (s+ 0.1)/(s + 0.5) e(s)

有时,固定系数或指定参数边界是不够的。例如,您可能在模型中有不相关的参数依赖关系,或者参数可能是您想要专门标识的一组不同参数的函数。例如,在质量-弹簧-阻尼系统中一个而且B参数都取决于系统的质量。为了实现线性模型的这种参数化,您可以使用灰盒建模,通过编写一个ODE文件在实际参数和模型系数之间建立链接。要了解更多,请参见灰色矩形模型估计

线性模型估计

您通常使用估计在系统标识工具箱中创建模型。您执行一个估计命令,指定测量数据作为输入参数,以及定义模型结构所需的其他输入。为了说明这一点,下面的示例使用状态空间估计命令,党卫军,以创建状态空间模型。第一个输入参数数据指定测量的输入输出数据。第二个输入参数指定模型的顺序。

sys = ss(数据,4)

估计函数处理噪声变量e (t)作为预测误差-不能归因于测量输入的输出的剩余部分。的加权范数最小化是所有估计算法的工作原理e (t)在可用的测量范围内。权重函数由噪声传递函数的性质来定义H并重点进行估计,如模拟或预测误差最小化。

黑箱(“冷启动”)估计

在黑盒估计中,您只需指定配置模型结构的顺序。

sys =估计量(数据、订单)

在哪里估计量用于所需模型类型的估计命令的名称。

例如,你用特遣部队为了估计传递函数模型,arx对于arx结构多项式模型,和过程对于流程模型。

第一个参数,数据表示的时间或频域数据iddataidfrd对象。第二个参数,订单,表示一个或多个数字,其定义取决于模型类型:

  • 转帐功能,订单指极点和零的数量。

  • 为状态空间模型,订单指状态的数量。

  • 对于流程模型,订单表示过程模型的结构元素,例如极点的数量以及延迟和积分器的存在。

在使用应用程序时,您可以在相应的模型估计对话框的适当编辑字段中指定顺序。

结构化的估计

在某些情况下,您希望更紧密地配置所需模型的结构,而不是通过简单地指定顺序来实现。在这种情况下,您可以构造一个模板模型并配置它的属性。然后将该模板模型作为输入参数传递给评估命令订单

为了说明这一点,下面的示例为传递函数模型的分子和分母多项式分配初始猜测值,对其估计值施加最小和最大边界,然后将对象传递给估计函数。

分子的初始猜测Num = [1 2];Den = [1 2 1 1];分母的初始猜测sys = idtf (num穴);将den系数的最小界限设置为0.1sys.Structure.Denominator.Minimum = [1 0.1 0.1 0.1];sysEstimated =特遣部队(数据、系统);

估计算法使用提供的初始猜测启动估计,并交付符合指定边界的模型。

您可以使用这样的模型模板来配置辅助模型属性,例如输入/输出名称和单元。如果模型的一些参数的值最初是未知的,您可以使用nan在模板中。

估计选项

与模型的估计算法相关的选项有很多,其中包括配置估计目标函数、初始条件和数值搜索算法等。对于每个估计命令,估计量,有一个对应的选项命令名为估计量选项.为特定的估计器命令指定选项,例如特遣部队,使用与估计命令相对应的options命令,在本例中,tfestOptions.options命令返回一个选项集,然后将该选项集作为输入参数传递给相应的估计命令。

例如,要估计输出-误差结构多项式模型,您可以使用oe.指定模拟作为焦点lsqnonlin作为搜索方法,您使用oeOptions

负载iddata1z1选择= oeOptions (“焦点”“模拟”“SearchMethod”“lsqnonlin”);sys= oe(z1,[2 2 1],Options);

关于用于创建估计模型的选项的信息存储在OptionsUsed模型的场报告财产。有关更多信息,请参见评估报告

相关的话题

Baidu
map