什么是多项式模型?
多项式模型结构
多项式模型采用广义的传递函数概念,通过以下方程来描述输入 u(t)、输出 y(t) 以及噪声 e(t) 之间的关系:
变量 A、B、C、D 和 F 是用时移算子 q^-1 表示的多项式。u i 是第 i 个输入,nu 是输入总数,而 nk i 是表征传输延迟的 i 号输入延迟。假设白噪声 e(t) 的方差为 。有关时间偏移运算符的信息,请参阅理解时移算子 q。
实际上,并非所有多项式都同时有效。通常会采用更简单的模型形式,例如 ARX、ARMAX、输出误差模型和 Box-Jenkins 模型。您还可以选择在噪声源中引入一个积分器,这样通用模型就呈现为以下形式:
有关详细信息,请参阅多项式模型的不同配置。
您可以利用时域或频域数据对多项式模型进行估计。
进行估计时,必须将模型阶数 指定为一组整数,该数值代表所选结构中每个多项式的系数个数 - A 对应 na,B 对应 nb,C 对应 nc,D 对应 nd,F 对应 nf。您还必须指定与输入延迟(死区时间)相对应的采样数 nk,该延迟由输出对输入作出响应之前所需的采样数决定。
分母多项式中的系数个数等于极点个数,分子多项式中的系数个数等于零点个数加 1。当从 u(t) 到 y(t) 的动态过程包含 nk 个采样点的延迟时,B 的前 nk 个系数均为零。
有关传递函数模型系列的更多信息,请参阅以下书目中的相应章节:System Identification: Theory for the User, Second Edition, by Lennart Ljung, Prentice Hall PTR, 1999.
理解时移算子 q
一般多项式方程是用时间平移算子 q–1 表示的。为了理解这个时移算子,请考虑以下离散时间差分方程:
其中 y(t) 为输出,u(t) 为输入,T 为采样时间。q-1 是一个时间平移运算符,它使用 紧凑地表示此类差分方程:
在这种情况下,是 和 。
注意
该 q 表达式与 Z 变换形式完全等价:q 对应于 z。
多项式模型的不同配置
这些模型结构是以下一般多项式方程的子集:
模型结构的区别在于该结构中包含了多少个此类多项式。因此,不同的模型结构在建模动态特性和噪声特性方面提供了不同程度的灵活性。
下表总结了 System Identification Toolbox™ 产品支持的常见线性多项式模型结构。如果您对应用程序有具体的结构构想,就可以判断动态特性和噪声的极点是相同的还是不同的。A(q) 对应于动态模型和噪声模型共有的极点。当扰动从输入端进入系统时,将动态特性和噪声的共极点结合起来是很有用的。F i 确定了系统动态特性特有的极点,而 D 确定了扰动特有的极点。
| 模型结构 | 方程 | 描述 |
|---|---|---|
| ARX | | 噪声模型为 ,且该噪声与动态特性模型耦合。ARX 不允许您对噪声和动态特性进行独立建模。对 ARX 模型进行估计,以在良好的信噪比条件下获得一个简单的模型。 |
| ARIX | | 通过在噪声源 e(t) 中加入一个积分器,扩展了 ARX 结构。当扰动非平稳时,这非常有用。 |
| ARMAX | | 通过提供 C 参数(白噪声的移动平均值),扩展了 ARX 结构,从而为噪声建模提供了更大的灵活性。当输入端出现主导扰动时,请使用 ARMAX。此类扰动被称为负载扰动。 |
| ARIMAX | | 通过在噪声源 e(t) 中加入一个积分器,扩展了 ARMAX 结构。当扰动非平稳时,这非常有用。 |
| Box-Jenkins (BJ) | | 利用有理多项式函数,为动态特性和噪声提供了完全独立的参数化。 当噪声未从输入端进入,而主要是测量干扰时,应使用 BJ 模型。该结构为噪声建模提供了更大的灵活性。 |
| 输出错误 (OE) | | 当您希望对动态特性进行参数化,但又不希望估计噪声模型时,请使用此方法。 注意 在这种情况下,噪声模型在通用方程中为 ,而白噪声源 e(t) 仅影响输出。 |
多项式模型可以包含一个或多个输出变量,以及零个或多个输入变量。
“系统辨识”App 支持直接估计 ARX、ARMAX、OE 和 BJ 模型。您可以在 ARX、ARMAX 和 BJ 形式中添加噪声积分器。不过,您可以使用 polyest 来估计一般方程中的全部五个多项式,或其中的任意子集。有关使用 pem 的更多信息,请参阅Using polyest to Estimate Polynomial Models。
多项式模型的连续时间表示
在连续时间下,一般的频域方程是用拉普拉斯变换变量 s 表示的,该变量对应于一个求导运算:
在连续时间情况下,基础时域模型是一个微分方程,而模型阶数表示待估计的分子和分母系数的个数。例如,n a=3 和 n b=2 对应于以下模型:
只有使用连续时间频域数据,才能直接对连续时间多项式模型进行估计。在这种情况下,您必须将 Ts 数据属性设置为 0,以表明您拥有连续时间频域数据,并使用 oe 命令来估计一个输出误差多项式模型。其他结构(如 ARMAX 或 BJ)的连续时间模型无法进行估计。您只能通过直接构建(使用 idpoly)、从其他模型类型转换,或者将离散时间模型转换为连续时间模型 (d2c) 来获得这些形式。请注意,OE 形式表示一种传递函数,该函数以分子多项式 (B) 与分母多项式 (F) 的比值形式表示。对于此类形式,建议使用由 idtf 模型表示的传递函数模型。您可以利用时域和频域数据来估计传递函数模型。除了分子和分母多项式外,您还可以估计传输延误时间。有关详细信息,请参阅 idtf 和 tfest。
多输出多项式模型
对于一个具有 ny 个输出和 nu 个输入的 MIMO 多项式模型,第 l 个输出与输入之间的关系可表示为:
A 多项式数组(Aij;i=1:ny,j=1:ny)存储在 idpoly 对象的 A 属性中。对角多项式(Aii;i=1:ny)是首项系数为 1 的多项式,即首项系数均为 1。非对角多项式(Aij;i ≠ j )包含至少一个采样的延迟,也就是说,它们以零开头。有关多输出模型阶数的详细信息,请参阅Polynomial Sizes and Orders of Multi-Output Polynomial Models。
您可以使用 idpoly 命令创建多输出多项式模型,或使用 ar、arx、bj、oe、armax 和 polyest 命令对其进行估计。在该 App 中,您可以通过选择一个多输出数据集,并在 Polynomial Models 对话框中适当设置阶数,来估计此类模型。
另请参阅
idpoly | ar | arx | bj | oe | armax | polyest