3. 系统建模基础:状态空间方程、传递函数与状态空间的转换、线性时不变系统(LTI)特性

各位同学,欢迎来到系统建模这一章。

说实话,搞控制这么多年,我最大的体会就是:模型决定了控制的天花板。算法再花哨,模型不准,一切都是空中楼阁。今天咱们就来啃下这块硬骨头——状态空间方程、传递函数,还有它们之间的转换。

3.1 状态空间方程——控制界的“身份证”

先问大家一个问题:你凭什么说一个系统是“这个系统”而不是“那个系统”?

我个人习惯用状态空间方程来回答这个问题。它就像系统的身份证,把系统的全部动态信息都写在了里面。

标准形式长这样:

状态方程:  ẋ(t) = A x(t) + B u(t)
输出方程:  y(t) = C x(t) + D u(t)

这里面的字母,我一个个解释:

  • x(t) —— 状态向量。系统内部那些“看不见但决定一切”的量。比如电机的转速、电容的电压。
  • u(t) —— 输入向量。你给系统的指令,比如你踩油门的深度。
  • y(t) —— 输出向量。你能测量到的量,比如车速表上的读数。
  • A, B, C, D —— 系统矩阵。它们决定了系统怎么演化。

核心要点:状态空间方程是一阶微分方程组。它把高阶系统拆成了一堆一阶系统来研究,这是现代控制理论的基石。

我在项目中遇到过一件事:一个同事用传递函数调PID,怎么调都震荡。后来我让他换成状态空间建模,一看A矩阵的特征值,好家伙,有个极点就在虚轴边上。这就是状态空间的好处——你能看到系统内部的“病灶”。

3.2 传递函数——经典控制的“黑箱”

传递函数呢?它是个黑箱视角。

你不需要知道系统内部长什么样,你只需要知道:输入一个正弦波,输出是什么?输入一个阶跃,输出又是什么?

传递函数的定义很简单:

G(s) = Y(s) / U(s)   (零初始条件下)

说白了,就是输出拉氏变换除以输入拉氏变换。

举个例子,一个简单的RC低通滤波器:

G(s) = 1 / (RC·s + 1)

你看,一个分式,就把系统的频率特性全说清楚了。

我的小技巧:做频域分析时,我习惯先看传递函数的Bode图。一眼就能看出系统的带宽、谐振峰、稳定裕度。比看状态矩阵直观多了。

3.3 传递函数与状态空间的转换

这两个东西,其实是同一个系统的不同“语言”。

就像同一个人,你可以用中文介绍他,也可以用英文介绍他。信息是一样的,但表达方式不同。

3.3.1 从传递函数到状态空间

假设你有一个传递函数:

G(s) = (b₂s² + b₁s + b₀) / (s³ + a₂s² + a₁s + a₀)

怎么变成状态空间?我推荐用可控标准型

A = [0   1   0
     0   0   1
    -a₀ -a₁ -a₂]

B = [0
     0
     1]

C = [b₀  b₁  b₂]

D = [0]

嗯,这里要注意:分母系数要取负号放到A矩阵的最后一行。我曾经在这里栽过跟头,符号搞反了,仿真结果完全不对,查了半天才发现是这里的问题。

3.3.2 从状态空间到传递函数

反过来,如果你有状态空间模型:

G(s) = C(sI - A)⁻¹B + D

这个公式看起来有点吓人,但说白了就是矩阵运算。我一般直接用MATLAB的ss2tf()函数,或者Python的control.tf()。手算?除非是2阶以下的小系统,否则我建议你交给计算机。

避坑指南:我曾经在转换一个6阶系统时,手算传递函数系数,结果算错了一个符号。仿真时系统明明稳定,实际模型却发散。后来用计算机一算,发现是转换时丢了一个零点。所以,能用工具就别手算,除非你想锻炼耐心。

3.4 线性时不变系统(LTI)特性

聊了这么多,其实我们一直在讨论一个前提——系统是LTI的。

什么是LTI?两个关键词:

  • 线性(Linearity):满足叠加原理。输入加倍,输出也加倍;两个输入叠加,输出也叠加。
  • 时不变(Time-Invariance):系统的特性不随时间改变。今天给一个阶跃,和明天给一个阶跃,响应一模一样。

你想想看,现实世界哪有这么完美?

电阻会发热,阻值会变;电机用久了,轴承会磨损。这些都是时变、非线性的表现。

那为什么我们还要学LTI?

原因很简单:LTI系统有完整的数学工具链。拉氏变换、傅里叶变换、频率响应、极点配置……这些经典方法全建立在LTI假设上。对于弱非线性、慢时变系统,我们可以在工作点附近做线性化,把它近似成LTI来处理。

我记得有一次做无人机姿态控制,模型里包含了气动非线性项。我一开始想直接上非线性控制,结果调了两个月没调通。后来导师说:你先在工作点线性化,用LTI方法把基础稳住。果然,线性化后的LQR控制器一上,飞机就能飞了。之后再慢慢加非线性补偿。

这就是LTI的价值——它是你进入控制世界的第一把钥匙

3.5 本章小结

咱们这一章,其实就讲了三个事:

  1. 状态空间方程:一阶微分方程组,能看到系统内部状态。适合现代控制理论。
  2. 传递函数:输入输出关系,黑箱视角。适合经典控制理论。
  3. 两者转换:同一个系统的不同表达,用可控标准型或计算机工具。
  4. LTI特性:线性+时不变,是控制理论的基石。现实系统可以近似处理。

下一章,咱们就要拿着这些模型,开始设计控制器了。到时候你会发现,今天打下的建模基础,就是明天控制算法的底气。

好,今天就到这里。有问题随时交流。

课后练习:找一个你熟悉的物理系统(比如倒立摆、直流电机),分别写出它的状态空间方程和传递函数,然后验证两者是否等价。相信我,亲手做一遍,比看十遍书都管用。