主要内容

状态空间实现

R2026b

状态空间实现是对给定输入输出行为的一种具体实现形式。如果一个系统是由传递矩阵 H(s) 建模的,那么实现就是一组矩阵 A、B、C、D,使 H(s)=C(sI−A)−1B+D。换句话说,如果系统具有状态向量 x,则系统行为可通过以下状态方程来描述:

x˙=Ax+Buy=Cx+Du.

任何系统都有无限多种可能的实现。最小实现是指矩阵 A 具有可能的最小维度的任何实现。也就是说,如果没有另一种实现 A'、B'、C'、D'(其中 A' 的维度小于 A 的维度),那么给定实现 A、B、C、D 就是最小实现。

状态变换是指通过可逆矩阵 T 对状态向量进行旋转变换,使 x^=Tx。状态变换可得到系统的等效状态空间表示,其变换关系为:

A^=TAT−1B^=TBC^=CT−1D^=D.

某些称为典型形式的最小实现对于一些类型的动态系统理论与分析具有实用价值。本主题概述了其中几种典型形式及相关变换。

模态形式

模态形式是一种对角化形式,可将系统特征值分离。在模态形式中,A 或 (A,E) 为块对角矩阵。对于实数特征值,块大小通常为 1×1;对于复数特征值,块大小通常为 2×2。然而,如果存在重复特征值或邻近特征值簇,则块大小可能更大。

例如,对于具有特征值 (λ1,σ±jω,λ2) 的系统,模态 A 矩阵的形式为:

Am=[λ10000σω00−ωσ0000λ2].

获得模态形式

要获得模态形式,请使用 modalreal 命令 [msys,blks] = modalreal(sys)。

使用 ssest (System Identification Toolbox) 执行系统辨识时,可通过将 Form 设置为 modal 来获得模态形式。

可控制的伴随形式

在伴随实现中,系统的特征多项式会显式出现在 A 矩阵中。对于具有如下特征多项式的 SISO 系统:

P(s)=sn+αn−1sn−1+αn−2sn−2+…+α1s+α0,

其对应的可控制的伴随形式具有:

Accom=[0100⋮00010⋮00001⋮0…………⋱…0000⋮1−α0−α1−α2−α3  ⋮−αn−1], Bccom=[10⋮0].

对于多输入系统,Accom 具有相同的形式,且 Bccom 的第一列如上所示。这种形式并未对 Bccom 的其余部分或 Cccom 和 Dccom 施加特定结构约束。

获得可控制的伴随形式

命令 csys = compreal(H,"c") 通过使用状态变换 T = ctrb(H.A,H.B) 将 A 矩阵转换为伴随形式,从而计算出 H 的可控制的伴随形式的实现。

使用 ssest (System Identification Toolbox) 或 n4sid (System Identification Toolbox) 等命令执行系统辨识时,可通过将 Form 设置为 companion 来获得伴随形式。

伴随变换要求系统能够从第一个输入实现可控。向伴随形式的变换基于可控性矩阵,对于中等阶数的系统,该矩阵在数值上几乎始终是奇异值。因此,应尽可能避免在计算中使用它。

可观测的伴随形式

通过使用可观测性状态变换 T = obsv(H.A,H.B) 来代替 T = ctrb(H.A,H.B),可以得到一种相关形式。这种形式是可控制的伴随形式的对偶(转置)形式,如下所示:

Aocom=AccomTBocom=CccomTCocom=BccomTDocom=DccomT.

具体而言,

Aocom=[000⋮0−α0100⋮0−α1010⋮0−α2001⋮0−α3………⋱……000⋮1−αn−1], Cocom=[10…0].

这种形式有时被称为可观测性典型形式 [1],但它与可观测的典型形式不同。

获得可观测的伴随形式

命令 csys = compreal(H,"o") 通过使用状态变换 T = ctrb(H.A,H.B) 将 A 矩阵转换为伴随形式,从而计算出 H 的可观测的伴随形式的实现。

使用 ssest (System Identification Toolbox) 或 n4sid (System Identification Toolbox) 等命令执行系统辨识时,可通过将 Form 设置为 canonical 来获得这种形式。

可控制的典型形式

对于具有以下传递函数的严格本征系统:

H(s)=βn−1sn−1+…+β1s+β0sn+αn−1sn−1+…+α1s+α0+d0,

可控制的典型形式 [2] 由下式给出:

Acont=[000⋮0−α0100⋮0−α1010⋮0−α2001⋮0−α3………⋱……000⋮1−αn−1], Bcont=[00⋮01],Ccont=[β0β1…βn−1],         Dcont=d0.

这种形式也被称为相变量典型形式。在这种形式中,特征多项式的系数出现在 Acont 的最后一行。可控制的典型形式是一种最小实现,其中所有模型状态都是可控制的。与伴随形式和可观测的典型形式类似,它在计算中可能表现出病态。

获得可控制的典型形式

没有直接计算可控制的典型形式的 MATLAB® 命令。但是,如果您能以传递函数形式 H(s) 获得系统,则可以使用系数 ɑ0,…,ɑn–1、β0,…,βn–1 和 d0 在 MATLAB 中构造可控制的典型形式的矩阵。然后,使用 ss 命令创建系统。

可观测的典型形式

系统的可观测的典型形式是其可控制的典型形式的对偶(转置)形式。在这种形式中,系统的特征多项式将显式地出现在 A 矩阵的最后一列。可按如下方式从可控制的典型形式获得可观测的典型形式:

Aobs=AcontTBobs=CcontTCobs=BcontTDobs=DcontT.

因此,对于具有以下传递函数的系统:

H(s)=βn−1sn−1+…+β1s+β0sn+αn−1sn−1+…+α1s+α0+d0,

可观测的典型形式 [2] 由下式给出:

Aobs=[0100⋮00010⋮00001⋮0…………⋱…0000⋮1−α0−α1−α2−α3  ⋮−αn−1], Bobs=[β0β1β2  ⋮βn−1],Cobs=[00…01],     Dobs=d0.

与伴随形式类似,在这种形式中,特征多项式的系数出现在 Aobs 的最后一列。可观测的典型形式是一种最小实现,其中所有模型状态都是可观测的。

获得可观测的典型形式

与可控制的典型形式一样,没有直接计算可观测的典型形式的 MATLAB 命令。但是,如果您能以传递函数形式 H(s) 获得系统,则可以使用系数 ɑ0,…,ɑn–1、β0,…,βn–1 和 d0 在 MATLAB 中构造可观测的典型形式的矩阵。然后,使用 ss 命令创建系统。

参考

[1] Baillieul, John, "Observability Canonical Form and the Theory of Observers," lecture notes, November 15, 2012, accessed June 10, 2022, https://people.bu.edu/johnb/501Lecture19.pdf.

[2] Gillis, James T., "State Space." In Control System Fundamentals., edited by William S. Levine, 2d ed. The Electrical Engineering Handbook Series. Boca Raton: CRC Press, 2011.

另请参阅

| | | (System Identification Toolbox) | (System Identification Toolbox)

主题