线性系统的非奇异变换和标准型

  • 3)掌握空间表达式向可控、可观测标准形、对角形、约当形等规范形式变换的基本方法;

9)理解线性系统规范分解的作用和意义,了解规范分解的一般方法;

数学里,谈到矩阵了,变换一定少不了。数学上有可逆变换的概念,满秩。

控制系统里建立起状态空间的系统矩阵,巧的是,一个系统可以有多个矩阵对应,一时间不知道该惊叹于数学的预见性还是自己的后知后觉。一方面是数学应用于控制工程,另一方面是数学随着工程发展而发展。

这变换就来了,只不过可逆变换这里被叫做了非奇异变换。

再来回顾一下线性代数里的矩阵变换,最经典的

\[P^{-1}AP = \Lambda\]

即系统的某个状态\(x\)

\[P^{-1}APx = \Lambda x\]

这个式子的含义是:状态x是在以特征向量为基的坐标系下的坐标,

这个坐标等于,先把状态x向量用标准坐标E描述出来就是Px,然后做A变换,最后在变回用特征基描述

补充

奇异这个词挺奇妙的。实际上线性代数也有奇异矩阵的说法,指的只不满秩的矩阵。我猜是因为在这个矩阵变换的作用下,空间降维了,三维变成二维甚至一维了,很奇妙,所以这种降维变换就被叫做了奇异变换,不降维的变换就是不奇异的变换。以上纯属个人瞎猜。

既然系统矩阵不唯一,也可以进行变换,那么为了研究的方便,总要拎出来几种统一的形式好分析。这个就是标准型变换的问题。

非奇异变换

因为状态变量选取不一样,矩阵可能会不一样,但是这个系统是客观的,总有一些内在的一样的东西。线性代数里相似矩阵,可逆变换的问题。

这个东西有什么用呢?对角阵,更容易分析,变换后还是这个系统,只不过是选取的坐标系不同,但是系统的性质都是一样的,所以,复杂的理论是为了分析上简单。数学上的复杂不是为了出难题,是为了用强悍更有力的手段去分析。在分析计算出结果后,再反变换到原来的状态空间选的基里。实际上线性代数里\(P^{-1}AP = \Lambda\)就是再描述两次变换的过程。详细含义可以参考线性代数矩阵变换的内容

显然变换后可观可控性不变,因为一开始就是为了分析才做的变换,就是为了更简单的研究系统性质,完全没有必要去证明我们一开始去做个变换的出发点。

但是,作为考试,"为什么是这样的",这可以是个考点。这就是数学的严谨,和工程算个大概差不多的思维是不一样的。

系统方程为

\[\begin{array}{l} \left\{ \begin{align} \boldsymbol{\dot{x}=Ax+Bu} \\ \boldsymbol{y=Cx+Du} \end{align} \right. \end{array} \tag{1}\]

令\(\boldsymbol{x = P\bar{x}}\)把状态\(\boldsymbol{x}\)变为\(\boldsymbol{\bar{x}}\)

\[\begin{array}{l} \left\{ \begin{align} \boldsymbol{\dot{\bar x} = \bar A \bar x + \bar B u} \\ \boldsymbol{y = \bar C \bar x + \bar D u} \end{align} \right. \end{array} \tag{2}\]

对比一下,这就是带进去左乘了个\(P^{-1}\)

非奇异变换后,系统还是那个系统,但是数学表示不一样了,我甚至觉得系统性质不变这个事情都不需要证明,这不是在为不会做题而狡辩,仔细想想确实就是这么个事情。

但是,还是要执着的证明一下。

首先传递函数矩阵

\[\boldsymbol{\bar G} = \boldsymbol{CP}(s\boldsymbol{I-P^{-1}AP})^{-1}\boldsymbol{P^{-1}B + D} \\ = \boldsymbol{C}(s\boldsymbol{I-A})^{-1}\boldsymbol{B + D} = \boldsymbol{G}\]

这个非常好证明。

同理特征值也是,变换后两个矩阵相似,能不变的都不变。

至于可控性可观性,因为变换矩阵是满秩的,所以变换后可控性矩阵和可观性矩阵的秩由原来的矩阵决定。

有一个特殊的状态转移矩阵,因为由指数矩阵,背后的证明先不看,但是形式上是统一的,即

\[\boldsymbol{\bar \Phi}(t) = e^{\boldsymbol{\bar A}t} = \boldsymbol{P^{-1}}e^{\boldsymbol{ A}t}\boldsymbol{P} = \boldsymbol{P^{-1}}\boldsymbol{\Phi}(t)\boldsymbol{P}\]

常用线性变换

前面提到过,选取不同的状态变量,可以列写出不同的状态方程,一个系统有多个描述形式。我们希望能够找到一个标准形式,多个描述形式都能够化成这种形式,不同系统的标准形式不同。

这就是矩阵的标准型问题。

提示

One set of state variables may be related to other set of state variables by linear transformation, such as \(A' = XA\) , \(X\) is invertible matrix.

变换为对角矩阵

Diagonal canonical form

  • n个互异特征值有n个无关特征向量,变为对角型
\[\boldsymbol{\bar A = P^{-1}AP} = \left [ \begin{array} {c} \lambda_1 \\ & \lambda_2 \\ & & \ddots \\ & & & \lambda_n \\ \end{array} \right ]\] \[\boldsymbol{P} = \left[\begin{array}{c} \boldsymbol{p}_1 & \boldsymbol{p}_2 & \cdots & \boldsymbol{p}_n \end{array}\right]\]
  • A是可控标准型,n个互异特征值,变为对角型
\[\boldsymbol{A} = \left [ \begin{array} {c} 0 & 1 & 0 & \cdots & 0\\ 0 & 0 & 1 & \cdots & 0\\ \vdots & \vdots & \vdots & & \vdots\\ 0 & 0 & 0 &\cdots & 1\\ -a_0 & -a_1 & -a_2 &\cdots &-a_{n-1} \\ \end{array} \right ]\] \[\boldsymbol{P} = \left [ \begin{array} {c} 1 & 1 & \cdots & 1 \\ \lambda_1 & \lambda_2 & \cdots & \lambda_n \\ \lambda_1^2 & \lambda_2^2 & \cdots & \lambda_n^2 \\ \vdots & \vdots & & \vdots\\ \lambda_1^{n-1} & \lambda_2^{n-1} & \cdots & \lambda_n^{n-1} \\ \end{array} \right ]\] \[\boldsymbol{\bar A = P^{-1}AP}\]

变换为约当阵

Jordan canonical form

有重特征值,但是重特征值只有一个独立特征向量。

\[\boldsymbol{J = P^{-1}AP} = \left [ \begin{array} {ccc:cc} \lambda_1 & 1\\ & \ddots & 1 \\ & & \lambda_1 \\\hdashline & & &\lambda_{m+1} \\ & & & &\ddots \\ & & & & & &\lambda_{n} \\ \end{array} \right ]\]

这里组成P的向量里有广义特征向量。

用广义特征向量做变换

\[\boldsymbol{A} \left [ \begin{array} {c} \boldsymbol{p_1} & \boldsymbol{p_2} & \dots & \boldsymbol{p_m} \end{array} \right ] = \begin{bmatrix} \boldsymbol{p_1} & \boldsymbol{p_2} & \dots & \boldsymbol{p_m} \end{bmatrix} \left [ \begin{array} {c} \lambda_1 & 1\\ & \lambda_1 & \ddots \\ & & \ddots&1 \\ & & &\lambda_1 \\ \end{array} \right ]\]

变为可控标准型

相变量标准型、能控标准型,Phase variable canonical form。

前面单入单出系统,由微分方程建立了状态空间表达式。

\[\left [ \begin{array}{c} \dot{x_1} \\ \dot{x_2} \\ \vdots \\ \dot{x_{n-1}} \\ \dot{x_n} \\ \end{array} \right ] = \left [ \begin{array} {c} 0 & 1 & 0 & \cdots & 0\\ 0 & 0 & 1 & \cdots & 0\\ \vdots & \vdots & \vdots & & \vdots\\ 0 & 0 & 0 &\cdots & 1\\ -a_0 & -a_1 & -a_2 &\cdots &-a_{n-1} \\ \end{array} \right ] \left [ \begin{array}{c} x_1 \\ x_2 \\ \vdots \\ x_{n-1} \\ x_n \\ \end{array} \right ] + \left [ \begin{array}{c} 0 \\ 0 \\ \vdots \\ 0 \\ 1 \\ \end{array} \right ]u\]

前面讲可控可观概念的时候,说到了经典单入单出一般不考虑可控可观的问题,因为输出就是要控制的量,直观感受这个系统就是可控又可观的,现在我们写出了这个状态空间表达式,就把他叫做可控标准型。

数学上

\[\boldsymbol{S} = \begin{bmatrix} \boldsymbol{b} & \boldsymbol{Ab} & \cdots & \boldsymbol{A^{n-1}b} \end{bmatrix} = \left [ \begin{array} {c} 0 & 0 & 0 & \cdots & 0 & 1 \\ 0 & 0 & 0 & \cdots & 1 & -a_{n-1} \\ \vdots & \vdots & \vdots & & \vdots & \vdots\\ 0 & 0 & 1 &\cdots & \times & \times \\ 0 & 1 & -a_{n-1} &\cdots & \times & \times \\ 1 & -a_{n-1} & -a_{n-2} &\cdots & \times & \times \\ \end{array} \right ]\]

这行列式必不等于0,因此可控性矩阵满秩。

怎么找P呢?

①计算\(\boldsymbol{S}\)

②计算\(\boldsymbol{S}^{-1}\)

②取\(\boldsymbol{S}^{-1}\)的最后一行为\(\boldsymbol{p}\)

\[\boldsymbol{P} = \left [ \begin{array} {c} \boldsymbol{p} \\ \boldsymbol{pA} \\ \vdots \\ \boldsymbol{pA^{n-1}} \\ \end{array} \right ]\]

计算可控性矩阵的逆矩阵,取出最后一行作为p行向量。

\[\boldsymbol{ P^{-1}A_cP = A}\]
补充

注意矩阵的位置

对偶原理

上面有了可控标标准型的变换,至于变换为可观标准型,对偶原理可以解决这个问题。

对偶原理可以把求可观测标准型的问题转化为可控标准型的问题。

规范分解

对于一个系统,如果系统是完全能控或者完全能观测的自然是好,但有些时候遇到一些系统含有可控、不可控两种状态变量,状态空间相应分为可控子空间和不可控子空间,话讲成这样实际上已经分解完了。思路是这么个思路,我们要怎么用数学工具操作呢?工具还是上面的非奇异变换,所以把规范分解放在了系统变换这里。

用一种特殊的线性变换,把乱起八糟混杂在一起的状态向量\(\boldsymbol{ x }\)

变换成

\[\left [ \begin{array} {c} \boldsymbol{x_{co}} \\ \boldsymbol{x_{c\bar o}} \\ \boldsymbol{x_{\bar co}} \\ \boldsymbol{x_{\bar{co}}} \\ \end{array} \right ]\]

相应的系统矩阵就跟着变了。

补充

这里也可以联系一下传递函数与可控可观的联系。把系统拆成被约分的和没被约分的两块。拆开来对于不可以控制的状态,我们看看稳不稳;对于可以控制的我们控制一下,让他变得稳。

可控性结构分解

一个可可控系统的动态方程

\[\begin{array}{l} \left\{ \begin{align} \boldsymbol{\dot{x}} &= \boldsymbol{Ax + B u} \\ \boldsymbol{y} &= \boldsymbol{Cx} \end{align} \right. \end{array}\]

可控性矩阵

\[\boldsymbol{S} = \begin{bmatrix} \boldsymbol{b} & \boldsymbol{Ab} & \cdots & \boldsymbol{A^{n-1}b} \end{bmatrix}\]

有 \(rank \boldsymbol{S} = r < n\)

从可控性矩阵里拿出r个无关向量,再随便加上n-r个向量,就是个变换矩阵。

\[\boldsymbol{P^{-1}} = \left[\begin{array}{ccc:cc} \boldsymbol{s}_1 & \cdots & \boldsymbol{s}_r & \boldsymbol{s}_{r+1} & \cdots & \boldsymbol{s}_n \end{array}\right]\]

\[\boldsymbol{P}\boldsymbol{x} = \left [ \begin{array} {c} \boldsymbol{\dot{x}_c} \\ \boldsymbol{\dot{x}_{\bar{c}}} \\ \end{array} \right ]\]

分解后的状态坐标实际上是用可控性矩阵里的无关向量当作基,为了直观的表达是对x做的变换,所以取成了P-1

动态方程(3)可以变换为

\[\begin{array}{l} \left\{ \begin{align} \left [ \begin{array} {c} \boldsymbol{\dot{x}_c} \\ \boldsymbol{\dot{x}_{\bar{c}}} \\ \end{array} \right ] &= \boldsymbol{PAP^{-1}} \left [ \begin{array} {c} \boldsymbol{x_c} \\ \boldsymbol{x_{\bar{c}}} \\ \end{array} \right ] + \boldsymbol{PBu} \\ \boldsymbol{y} &= \boldsymbol{CP^{-1}} \left [ \begin{array} {c} \boldsymbol{x_c} \\ \boldsymbol{x_{\bar{c}}} \\ \end{array} \right ] \end{align} \right. \end{array}\]

这样就可以把一个不可控的系统分解成一个可控的和一个不可控的。

\[\begin{array}{l} \left\{ \begin{align} \left [ \begin{array} {c} \boldsymbol{\dot{x}_c} \\ \boldsymbol{\dot{x}_{\bar{c}}} \\ \end{array} \right ] &= \left [ \begin{array} {c:c} \boldsymbol{A_{11}} & \boldsymbol{A_{12}}\\ \hdashline \boldsymbol{0} & \boldsymbol{A_{22}}\\ \end{array} \right ] \left [ \begin{array} {c} \boldsymbol{x_c} \\ \boldsymbol{x_{\bar{c}}} \\ \end{array} \right ] + \left [ \begin{array} {c} \boldsymbol{B_{1}} \\ \hdashline \boldsymbol{0} \\ \end{array} \right ] \boldsymbol{u} \\ \boldsymbol{y} &= \left [ \begin{array} {c:c} \boldsymbol{C_{1}} & \boldsymbol{C_{2}}\\ \end{array} \right ] \left [ \begin{array} {c} \boldsymbol{x_c} \\ \boldsymbol{x_{\bar{c}}} \\ \end{array} \right ] \end{align} \right. \end{array}\]

对于按照可观性的结构分解,思路差不多。数学操作上略微有区别。

\[\begin{array}{l} \left\{ \begin{align} \boldsymbol{\dot{x}_c} &= \boldsymbol{A_{11}}\boldsymbol{x_c} + \boldsymbol{A_{12}}\boldsymbol{x_{\bar{c}}} + \boldsymbol{B_{1}}\boldsymbol{u} \\ \boldsymbol{\dot{x}_{\bar{c}}} &= \boldsymbol{A_{22}}\boldsymbol{x_{\bar{c}}} \\ \boldsymbol{y} &= \boldsymbol{C_{1}}\boldsymbol{x_c} + \boldsymbol{C_{2}}\boldsymbol{x_{\bar{c}}}\\ \end{align} \right. \end{array}\]

举个例子

\[\boldsymbol{A} = \left [ \begin{array} {c} 1 & 2 & -1 \\ 0 & 1 & 0 \\ 1 & -4 & 3 \\ \end{array} \right ], \ \ \boldsymbol{B} = \left [ \begin{array} {c} 0 \\ 0 \\ 1 \\ \end{array} \right ] , \ \ \boldsymbol{C} = \left [ \begin{array} {c} 1 & -1 & 1 \\ \end{array} \right ]\]

进行规范分解

\[\boldsymbol{S} = \begin{bmatrix} \boldsymbol{b} & \boldsymbol{Ab} & \boldsymbol{A^{2}b} \end{bmatrix} = \left [ \begin{array} {c} 0 & -1 & -4 \\ 0 & 0 & 0 \\ 1 & 3 & 8 \\ \end{array} \right ]\] \[rank\boldsymbol{S} = 2\] \[\boldsymbol{P^{-1}} = \left [ \begin{array} {cc:c} 0 & -1 & 0 \\ 0 & 0 & 1 \\ 1 & 3 & 0 \\ \end{array} \right ]\]

\[\boldsymbol{P}\boldsymbol{A}\boldsymbol{P^{-1}} = \left [ \begin{array} {cc:c} 0 & -4 & 2 \\ 1 & 4 & -2 \\ \hdashline 0 & 0 & 1 \\ \end{array} \right ] \ \ ,\ \ \boldsymbol{P}\boldsymbol{b} = \left [ \begin{array} {cc:c} 1 \\ 0 \\ \hdashline 0 \\ \end{array} \right ] \ \ ,\ \ \boldsymbol{c}\boldsymbol{P^{-1}} = \left [ \begin{array} {cc:c} 1 & 0 & 0 \\ \end{array} \right ]\]
\[\boldsymbol{A} = \left [ \begin{array} {c} 1 & -1 \\ 0 & 2 \\ \end{array} \right ], \ \ \boldsymbol{b} = \left [ \begin{array} {c} 1 \\ 1 \\ \end{array} \right ] , \ \ \boldsymbol{c} = \left [ \begin{array} {c} 1 & 1 \\ \end{array} \right ]\]

进行规范分解

\[\boldsymbol{S} = \begin{bmatrix} \boldsymbol{b} & \boldsymbol{Ab} \end{bmatrix} = \left [ \begin{array} {c} 1 & 0 \\ 1 & 2 \\ \end{array} \right ]\] \[rank\boldsymbol{S} = 1\] \[\boldsymbol{P^{-1}} = \left [ \begin{array} {cc:c} 0 & 1 \\ 1 & 0 \\ \end{array} \right ]\]

\[\boldsymbol{P}\boldsymbol{A}\boldsymbol{P^{-1}} = \left [ \begin{array} {c:c} 2 & 0 \\ \hdashline 0 & 1 \\ \end{array} \right ] \ \ ,\ \ \boldsymbol{P}\boldsymbol{b} = \left [ \begin{array} {c} 1 \\ \hdashline 0 \\ \end{array} \right ] \ \ ,\ \ \boldsymbol{c}\boldsymbol{P^{-1}} = \left [ \begin{array} {c:c} 1 & 1 \\ \end{array} \right ]\]

变换后的不变特性

  • 特征值不变

  • 系统传递矩阵不变

  • 可控性、可观性不变