2.1 系统的状态空间描述
一般来说,一个控制系统中的变量可以分为三类,第一类是外部环境对系统的作用,称为输入变量,包括环境变化对系统造成的影响和扰动,以及人们为了达到目标对系统施加的影响。输入变量有时也称为控制变量。第二类是系统对外部世界的作用,称为输出变量,又称为观测变量。输入变量和输出变量是系统的外部变量。第三类是描述系统内部动态的变量,称为状态变量。
定义 2.1.1 控制方程
设系统的状态变量为 z(t):[0,∞)→Z⊂Rn,输入变量为 u(t):[0,∞)→U⊂Rm,输出变量为 y(t):[0,∞)→Z⊂Rr,其中 m,n,r 是自然数。分别称 Z,U,Y 为状态空间、输出空间(控制空间)和输出空间(观测空间)。用以下方程描述受控对象的动态过程:
ddtz(t)=f(t,z(t),u(t)),z(t0)=z0y(t)=g(t,z(t),u(t)),t∈[t0,te](2.1.1)(2.1.2)
其中 0⩽t0⩽te⩽∞,函数解释 f:[t0,te]×Rn×Rm→Rn 和 g:[t0,te]×Rn×Rm→Rr。 z0∈Z 是初始状态。方程 (2.1.1) 描述了输入引起的状态的变化,称为系统的状态方程;方程 (2.1.2) 表达系统的输出由输入和状态所决定的过程,称为系统的输出方程或观测方程。称状态空间的维数为系统的阶数或维数。
下面给出线性系统的定义。
定义 2.1.2 线性系统
若映射 f,g 是 z,u 的线性函数,则称该系统是线性系统。有限维线性系统的状态方程和输出方程为如下形式:
ddtz(t)=A(t)z(t)+B(t)u(t),z(t0)=z0y(t)=C(t)z(t)+D(t)u(t),t∈[t0,te](2.1.3)
线性系统的重要特征之一是叠加原理:
-
当输入变量为 u1(⋅) 和 u2(⋅) 时,系统的状态分别为 z1(⋅)=z(⋅;t0,z0,u1) 和 z2(⋅)=z(⋅;t0,z0,u2)。
-
若输入变量为 c1u1(⋅)+c2u2(⋅),简单计算后得到,系统的状态为 z(⋅)=c1z1(⋅)+c2z2(⋅)。即有下式
z(⋅;t0,z0,c1u1+c2u2)=c1z(⋅;t0,z0,u1)+c2z(⋅;t0,z0,u2)
这表明,两个外作用同时加于系统所产生输出综合,等于各个外作用单独作用时分别产生的输出之和,且外作用增大若干倍时,其输出也增大同样倍数。
定义 2.1.3 有限维线性时不变系统
假设 A(t)≡A,B(t)≡B,C(t)≡C,D(t)≡D,输入和输出之间无直接关系,即 D=0,得到有限维线性时不变系统。
ddtz(t)=Az(t)+Bu(t),t⩾0,z(t0)=z0y(t)=Cz(t),t∈[t0,te](2.1.4)
下面定义单输入单输出系统。
定义 2.1.4 单输入单输出系统
若系统的输入变量或输出变量是标量值函数,即 u(⋅)∈R 或 y(⋅)∈R,则称该系统为单输入系统或单输出系统。
给出一个单输入单输出系统的例子。
dndtny(t)+a1dn−1dtn−1y(t)+⋯+an−1ddty(t)+any(t)=u(t)(2.1.5)
常系数 a1,⋯,an ∈R,若定义
z(t)=[y(t)ddty(t)⋯dn−1dtn−1y(t)]T
则该控制系统的状态方程为
ddtz(t)=Az(t)+Bu(t)=⎡⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢⎣01⋯00000⋯000⋮⋮⋱⋮⋮⋮00⋯01000⋯001−an−an−1⋯−a3−a2−a1⎤⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥⎦z(t)+⎡⎢
⎢
⎢
⎢⎣0⋮01⎤⎥
⎥
⎥
⎥⎦u(t)y(t)=Cz(t)=[10⋯0]z(t),t∈[t0,te](2.1.6)
我们可以得到系统 (2.1.6) 的状态矩阵 A 的特征多项式。
|λI−A|=λn+a1λn−1+⋯+an(2.1.7)
2.2 自由系统
给出自由系统的定义。
定义 2.2.1 自由系统
若一个有限维线性时不变系统 (2.1.4) 无输入和输出,即 u(⋅)=y(⋅)≡0,则称相应的系统为自由系统。表示如下:
ddtz(t)=Az(t),t∈(t0,te),z(t0)=z0(2.2.1)
为方便,定义矩阵指数函数。
定义 2.2.2 矩阵指数函数
A 是 n 阶实矩阵,t∈R。定义矩阵指数函数 eAt 为
eAt≐∞∑k=0tkk!Ak(2.2.2)
并称
ωg(A)≐limt→∞ln∥eAt∥t
为矩阵指数函数的增长阶。
设 β 是任意有限的正实数,则对于 t∈[−β,β],有
∥∥∥tkk!Ak∥∥∥=|t|kk!∥∥Ak∥∥⩽βkk!∥A∥k≐Mk
容易验证 ∑∞i=0Mk 收敛。因此,级数 (2.2.2) 绝对一致收敛(此处指对每个矩阵 eAt 中的元素都绝对一致收敛),由绝对一致收敛的性质
ddteAt=A+tA2+t22!A3+⋯+tkk!Ak+1+⋯=AeAt
因此,eAt 是微分方程 ˙z=Az 的唯一矩阵解。得到关于自由系统的一个基本结论。
定理 2.2.1
令 z0∈Rn,对任意 t∈[t0,te],问题 (2.1.8) 存在唯一解,该解为 z(t)=eA(t−t0)z0。
此外,可以证明矩阵指数有下列性质:
定理 2.2.2
设 A∈Rn×n,则矩阵指数 eAt 满足:
-
若 AB=BA,则对任意 t∈R,有 e(A+B)t=eAteBt
-
对任意 t∈R,eAt 可逆,且 (eAt)−1=e−At
-
若 S 可逆,则对任意 t∈R,S−1eAtS=e(S−1AS)t
利用矩阵指数函数,我们可以方便地得出有限维线性时不变系统 (2.1.4) 的解为:
z(t)=eA(t−t0)z0+∫tt0eA(t−s)Bu(s)dsy(t)=CeA(t−t0)z0+C∫tt0eA(t−s)Bu(s)ds(2.2.3)(2.2.4)
2.3 输入输出映射
根据上式,我们定义有限维线性时不变系统的两个重要函数。
定义 2.3.1
有限维线性时不变系统 Σ(A,B,C) 的脉冲响应函数定义为
G(t)=CeAtB
该系统的输入输出映射为 Ψ:L2([t0,te];Rm)→L2([t0,te];Rr),且有
(Ψu)(t)=∫tt0CeA(t−s)Bu(s)ds
脉冲响应函数与输入输出映射描述了系统输入与输出之间的关系,事实上,有
y(t)=CeA(t−t0)z0+(Ψu)(t)=CeA(t−t0)z0+(G∗u)(t)(2.3.1)
下面给出传递函数的定义。
定义 2.3.2 传递函数
定义 G(s)=C(sI−A)−1B 为系统 Σ(A,B,C) 的传递函数。
传递函数有几点重要的性质:
^y(s)=G(s)^u(s)
- 传递函数 G(s) 是脉冲响应函数 G(t) 的拉普拉斯变换,即
G(s)=(LG)(t),∀s∈C∖σ(A)(2.3.2)
例 2.3.1 弹簧-质量-阻尼器系统
弹簧-质量-阻尼器系统是由弹簧、阻尼器以及它们连接的物体构成的,根据牛顿第二定律,系统的动力学模型为
md2dt2x(t)+bddtx(t)+kx(t)=u(t)(2.3.3)
设系统的输出 y(t) 是系统的位移,令
z=[z1z2]T=[xddtx]T
系统 (2.3.3) 的状态空间表示为:
ddtz(t)=Az(t)+Bu(t)=[01−km−bm]z(t)+[01m]u(t)y(t)=Cz(t)=[10]z(t),t∈[t0,te](2.3.4)
下面我们求解该系统的脉冲响应函数。
该系统是单输入单输出系统,因此其脉冲响应函数是变量值函数,设 m=1,此时系统的状态矩阵、输入矩阵、输出矩阵分别为:
A=[01−k−b],B=[01],C=[01]
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现