4、状态空间表达式(二):微分方程与传递函数向状态空间的转换,能控标准型与能观标准型

好,我们接着往下聊。

上一章我们把状态空间表达式的基本概念捋了一遍。这一章,咱们要干点实际活儿——怎么把一个现成的微分方程或者传递函数,变成状态空间表达式。

说白了,就是“翻译”工作。把一种语言(微分方程/传递函数)翻译成另一种语言(状态空间)。翻译得好不好,直接决定了你后续能不能方便地做控制设计。

我个人习惯,拿到一个系统,先看能不能写成能控标准型或能观标准型。为什么?因为这两种形式,能让你一眼看出系统的能控性和能观性。这在工程上太重要了。

4.1 从微分方程到状态空间

先看最简单的场景:一个单输入单输出(SISO)系统,用微分方程描述。

假设我们有这样一个微分方程:

y''' + 3y'' + 2y' + y = u

嗯,三阶系统。怎么变成状态空间?

我教你一个最直接的方法——选状态变量。

选法很简单:

  • 令 x₁ = y
  • 令 x₂ = y'
  • 令 x₃ = y''

那么,x₁' = x₂,x₂' = x₃,x₃' = y'''。

而根据原方程,y''' = -3y'' - 2y' - y + u = -3x₃ - 2x₂ - x₁ + u。

写成矩阵形式:

⎡x₁'⎤   ⎡ 0   1   0⎤ ⎡x₁⎤   ⎡0⎤
⎢x₂'⎥ = ⎢ 0   0   1⎥ ⎢x₂⎥ + ⎢0⎥ u
⎣x₃'⎦   ⎣-1  -2  -3⎦ ⎣x₃⎦   ⎣1⎦

y = [1 0 0] ⎡x₁⎤
            ⎢x₂⎥
            ⎣x₃⎦

你看,A矩阵的最后一行,就是微分方程系数的负值,顺序是反的。B矩阵最后一个是1,C矩阵第一个是1。

我的小技巧: 这种选法叫“相变量法”。我在做电机控制时,经常用这种方法把机械方程转成状态空间。简单、直观、不容易出错。

4.2 从传递函数到状态空间

实际工作中,我们更多时候拿到的是传递函数。比如:

G(s) = (s + 2) / (s³ + 3s² + 2s + 1)

怎么转?

这里有个关键点:传递函数分两种情况——分母阶次高于分子阶次(严格真有理函数),和分母阶次等于分子阶次(真有理函数)。

大多数物理系统都是前者。如果是后者,需要先做一步多项式除法,分离出直接传递项D。

对于严格真有理函数,我推荐两种标准型:

4.3 能控标准型

能控标准型,说白了就是让A矩阵和B矩阵呈现出一种特殊结构,让你一眼就能判断系统是否能控。

对于上面的传递函数:

G(s) = (s + 2) / (s³ + 3s² + 2s + 1)

能控标准型是这样的:

A = ⎡ 0   1   0⎤
    ⎢ 0   0   1⎥
    ⎣-1  -2  -3⎦

B = ⎡0⎤
    ⎢0⎥
    ⎣1⎦

C = [2  1  0]

D = 0

注意看:A矩阵是“友矩阵”形式,最后一行是分母系数的负值。B矩阵是[0 0 1]ᵀ。C矩阵是分子系数的顺序排列。

为什么叫能控标准型? 因为这种形式下,能控性矩阵的秩一定是满的。换句话说,只要系统是能控的,你一定能把它写成这种形式。我在做飞行器控制时,就靠这个判断舵面是否有效。

4.4 能观标准型

能观标准型,是能控标准型的“对偶”。

同一个传递函数,能观标准型长这样:

A = ⎡ 0   0  -1⎤
    ⎢ 1   0  -2⎥
    ⎣ 0   1  -3⎦

B = ⎡2⎤
    ⎢1⎥
    ⎣0⎦

C = [0  0  1]

D = 0

你看,A矩阵是能控标准型A矩阵的转置。B和C也互换了角色。

能观标准型的好处是:能观性矩阵的秩一定是满的。如果你需要设计状态观测器,用这种形式最方便。

我曾经踩过的坑: 有一次我把传递函数的分子分母搞反了顺序,结果算出来的状态空间模型完全不对。后来我养成了一个习惯——写完之后,一定要验证一下:用状态空间算出来的传递函数,和原传递函数是否一致。这一步花不了几分钟,但能避免大麻烦。

4.5 两种标准型的对比

特性 能控标准型 能观标准型
A矩阵结构 友矩阵(最后一行有系数) 友矩阵的转置(最后一列有系数)
B矩阵 [0 ... 0 1]ᵀ 分子系数列向量
C矩阵 分子系数行向量 [0 ... 0 1]
主要用途 极点配置、控制器设计 状态观测器设计
能控性 必然能控 不一定
能观性 不一定 必然能观

你想想看,有了这个表,你拿到一个系统后,就能根据你的设计目标,选择合适的形式。

4.6 实际工程中的选择

我在实际项目中,一般这样选:

  • 要做控制器设计(极点配置) → 用能控标准型。因为B矩阵简单,设计反馈增益K很方便。
  • 要做状态观测器 → 用能观标准型。因为C矩阵简单,设计观测器增益L很方便。
  • 系统阶次高,需要降阶 → 两种都不合适,用平衡实现(以后会讲)。

嗯,这里要注意:能控标准型和能观标准型,并不是唯一的转换方式。你完全可以用相似变换,把一种形式变成另一种。但既然有现成的标准型,何必自己折腾呢?

我的建议: 刚开始学的时候,先死记硬背这两种标准型的结构。用多了,自然就理解了。就像学骑自行车,先学会怎么骑,再理解为什么不会倒。

4.7 小结

这一章我们干了三件事:

  1. 从微分方程直接写出状态空间表达式(相变量法)
  2. 从传递函数写出能控标准型
  3. 从传递函数写出能观标准型

说白了,就是学会了“翻译”。

下一章,我们会讲状态空间的解——也就是给定初始状态和输入,怎么算出系统的响应。这是状态空间法的核心计算,也是后续设计的基础。

准备好了吗?我们继续。