线性定常连续系统离散化实战:从状态空间模型到能控性分析

1次阅读
没有评论

共计 1489 个字符,预计需要花费 4 分钟才能阅读完成。

image.webp

背景介绍

在控制工程中,我们经常需要处理连续时间系统,但现代控制系统多采用数字计算机实现控制算法,这就需要将连续系统离散化。离散化不仅关乎理论分析,更直接影响实际控制效果。例如,在无人机飞行控制、工业过程控制等领域,合理的离散化能确保数字控制器有效跟踪连续系统的动态特性。

线性定常连续系统离散化实战:从状态空间模型到能控性分析

数学基础

状态空间模型回顾

连续时间线性定常系统的状态空间模型表示为:

ẋ(t) = A x(t) + B u(t)
y(t) = C x(t) + D u(t)

其中,A、B、C、D 为系统矩阵,x(t) 为状态向量,u(t) 为控制输入,y(t) 为系统输出。

能控性定义

能控性是指系统在有限时间内,通过合适的控制输入 u(t),能否将系统从任意初始状态转移到任意目标状态。对于连续系统,能控性矩阵为:

Q_c = [B AB A²B ... A^(n-1)B]

若 rank(Q_c)=n(n 为状态维度),则系统完全能控。

离散化方法

精确离散化的数学推导

给定采样周期 T,离散化后的状态空间模型为:

x[k+1] = A_d x[k] + B_d u[k]
y[k] = C_d x[k] + D_d u[k]

其中:

A_d = e^(A T)
B_d = (∫_0^T e^(A τ) dτ) B
C_d = C
D_d = D

采样周期 T 的选择原则

  • 奈奎斯特采样定理 :T ≤ π/ω_max,其中 ω_max 为系统带宽
  • 经验法则 :T ≈ (1/10 ~ 1/20) * 系统最小时间常数
  • 控制性能考量 :更小的 T 通常意味着更好的控制效果,但会增加计算负担

MATLAB 实现代码

% 给定连续系统矩阵
A = [0 1; -2 -3];
B = [0; 1];
C = [1 0];
D = 0;

% 采样周期选择
T = 0.1; % 示例值

% 计算离散化矩阵
A_d = expm(A*T);
B_d = integral(@(tau) expm(A*tau), 0, T, 'ArrayValued', true) * B;
C_d = C;
D_d = D;

能控性分析

离散系统能控性判据

离散系统的能控性矩阵为:

Q_cd = [B_d A_d B_d A_d² B_d ... A_d^(n-1) B_d]

若 rank(Q_cd)=n,则离散系统完全能控。

与连续系统能控性的对比

  • 理论联系 :若连续系统能控且采样周期 T 选择适当,离散系统通常也能控
  • 特殊现象 :在某些 T 值下,原本能控的连续系统离散后可能失去能控性

避坑指南

常见离散化错误及后果

  1. 采样周期过大 :导致混叠效应,系统动态特性失真
  2. 数值计算误差 :特别是计算矩阵指数时精度不足
  3. 忽略能控性验证 :离散后未检查能控性,可能导致控制失效

采样周期选择的经验法则

  • 初始选择:T = 1/10 ~ 1/20 * 系统最小时间常数
  • 逐步调整:通过仿真验证控制效果
  • 特殊注意:对于欠阻尼系统,需要更小的 T 捕捉振荡特性

实践建议

验证离散化结果的仿真案例

% 连续系统响应
t_cont = 0:0.01:5;
sys_cont = ss(A,B,C,D);
[y_cont,t_cont] = step(sys_cont, t_cont);

% 离散系统响应
sys_disc = ss(A_d, B_d, C_d, D_d, T);
t_disc = 0:T:5;
[y_disc,t_disc] = step(sys_disc, t_disc);

% 绘制对比图
plot(t_cont, y_cont, 'b', t_disc, y_disc, 'ro');
legend('连续系统', '离散系统');

不同采样周期下的能控性分析

建议读者尝试:
1. 固定系统参数,改变 T 值观察能控性变化
2. 寻找使得系统失去能控性的临界 T 值
3. 分析能控性丢失时的系统动态特性

思考题

  1. 给定一个二阶振荡系统,如何通过离散化后的能控性矩阵判断合适的采样周期范围?
  2. 当离散化导致能控性丢失时,有哪些可能的补救措施?
  3. 对于非线性系统,离散化过程中需要注意哪些额外因素?
正文完
 0
评论(没有评论)