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

数学基础
状态空间模型回顾
连续时间线性定常系统的状态空间模型表示为:
ẋ(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 值下,原本能控的连续系统离散后可能失去能控性
避坑指南
常见离散化错误及后果
- 采样周期过大 :导致混叠效应,系统动态特性失真
- 数值计算误差 :特别是计算矩阵指数时精度不足
- 忽略能控性验证 :离散后未检查能控性,可能导致控制失效
采样周期选择的经验法则
- 初始选择: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. 分析能控性丢失时的系统动态特性
思考题
- 给定一个二阶振荡系统,如何通过离散化后的能控性矩阵判断合适的采样周期范围?
- 当离散化导致能控性丢失时,有哪些可能的补救措施?
- 对于非线性系统,离散化过程中需要注意哪些额外因素?
正文完
发表至: 未分类
近一天内
