数学模型:传递函数与状态空间模型

大家好,我是老张。今天咱们聊聊控制系统的数学模型。

说实话,搞控制这么多年,我最大的体会就是:模型是控制的基础。你模型建得准,控制器设计就成功了一半。模型建得稀里糊涂,后面再怎么调参也是白费力气。

这一章,我带你吃透两种最常用的模型——传递函数状态空间模型。它们就像控制工程师的左膀右臂,缺一不可。

2.1 传递函数:从时域到频域的桥梁

传递函数这东西,说白了就是输出拉氏变换除以输入拉氏变换。你想想看,一个线性时不变系统,输入是 \( u(t) \),输出是 \( y(t) \),那它的传递函数就是:

\[ G(s) = \frac{Y(s)}{U(s)} \]

这里有个前提——初始条件必须为零。我记得刚入行那会儿,有个项目死活调不通,查了半天才发现是初始条件没清零。嗯,这个坑我替你们踩过了。

2.1.1 传递函数的标准形式

实际工程中,我们通常把传递函数写成有理分式:

\[ G(s) = \frac{b_m s^m + b_{m-1} s^{m-1} + \cdots + b_0}{a_n s^n + a_{n-1} s^{n-1} + \cdots + a_0} \]

这里 \( n \geq m \),也就是分母阶次不低于分子阶次。为什么?因为物理可实现系统的因果性约束。我在做电机控制时,经常遇到分子阶次比分母高的情况,那多半是模型简化出了问题。

重要概念:
  • 极点:分母多项式的根,决定系统稳定性
  • 零点:分子多项式的根,影响系统动态响应
  • 增益:系统稳态时的放大倍数

2.1.2 典型环节的传递函数

我习惯把复杂系统拆成几个典型环节来分析。你想想看,再复杂的系统,无非就是这些基本单元的串联和并联:

环节名称 传递函数 典型应用
比例环节 \( G(s) = K \) 放大器、传感器
积分环节 \( G(s) = \frac{K}{s} \) 电机转速、液位控制
微分环节 \( G(s) = Ks \) 速度反馈、超前校正
一阶惯性 \( G(s) = \frac{K}{Ts+1} \) RC电路、热系统
二阶振荡 \( G(s) = \frac{\omega_n^2}{s^2 + 2\zeta\omega_n s + \omega_n^2} \) 弹簧-质量-阻尼系统
我的经验: 实际项目中,90%以上的被控对象都可以用一阶或二阶惯性环节近似。别一上来就搞高阶模型,先试试简单的,往往更管用。

2.2 状态空间模型:现代控制理论的基石

传递函数虽然好用,但它有个硬伤——只能描述单输入单输出系统。你想想看,现在的工业系统哪个不是多变量耦合的?这时候就得请出状态空间模型了。

状态空间模型的核心思想是:用一阶微分方程组描述系统。标准形式如下:

\[ \begin{cases} \dot{\mathbf{x}}(t) = \mathbf{A}\mathbf{x}(t) + \mathbf{B}\mathbf{u}(t) \\ \mathbf{y}(t) = \mathbf{C}\mathbf{x}(t) + \mathbf{D}\mathbf{u}(t) \end{cases} \]

其中:

  • \( \mathbf{x}(t) \):状态向量,描述系统内部状态
  • \( \mathbf{u}(t) \):输入向量
  • \( \mathbf{y}(t) \):输出向量
  • \( \mathbf{A} \):系统矩阵,决定系统动态特性
  • \( \mathbf{B} \):输入矩阵
  • \( \mathbf{C} \):输出矩阵
  • \( \mathbf{D} \):直接传递矩阵(通常为零)
注意: 状态变量的选择不是唯一的。我曾经在飞行器控制项目中,因为状态变量选得不好,导致控制器设计极其复杂。后来换了组状态变量,问题迎刃而解。选状态变量时,尽量选物理意义明确的量。

2.2.1 从传递函数到状态空间

这两者之间可以互相转换。我给大家展示一个最简单的例子——可控标准型

假设传递函数为:

\[ G(s) = \frac{b_1 s + b_0}{s^2 + a_1 s + a_0} \]

对应的状态空间模型为:

A = [0   1; 
     -a0 -a1]
B = [0; 
     1]
C = [b0 b1]
D = 0

为什么会这样?你想想看,状态变量 \( x_1 \) 和 \( x_2 \) 其实对应的是系统内部的两个积分环节。这种结构在MATLAB里直接用 tf2ss 函数就能搞定。

2.3 线性系统的基本性质

搞清楚了模型,咱们还得聊聊线性系统的基本性质。说白了,就是叠加性和齐次性

  • 叠加性:多个输入同时作用,总输出等于各输入单独作用时输出之和
  • 齐次性:输入放大 \( k \) 倍,输出也放大 \( k \) 倍

这两个性质看似简单,但实际工程中经常被忽略。我记得有一次做温度控制系统,明明输入是线性的,输出却非线性。查了半天,原来是加热器的电阻随温度变化了——系统本身就不是线性的。

线性系统的判定条件:
  1. 满足叠加性和齐次性
  2. 参数不随时间变化(时不变)
  3. 微分方程系数为常数

2.4 知识体系总览

下面这张图,是我自己总结的数学模型知识框架。你把它记在心里,后面学起来会轻松很多。

控制系统数学模型知识体系 传递函数模型 状态空间模型 极点/零点分析 频率响应 可控性/可观性 极点配置 线性系统基本性质 叠加性 齐次性 时不变性 稳定性分析与控制器设计 图:控制系统数学模型知识体系总览

2.5 模型选择:什么时候用哪个?

很多新手会问:到底用传递函数还是状态空间?我的建议是:

  • 单输入单输出、频域分析:用传递函数,直观方便
  • 多输入多输出、时域分析:用状态空间,灵活强大
  • 现代控制方法(LQR、卡尔曼滤波):必须用状态空间
小技巧: 实际项目中,我经常先用传递函数做初步分析,再用状态空间做详细设计。两者结合,效率最高。

好了,这一章的内容就到这里。数学模型是控制系统的灵魂,你把它吃透了,后面的稳定性分析、控制器设计都会顺风顺水。


公众号:蓝海资料掘金营,微信deep3321