第4章 Z变换与离散系统:从连续到离散的桥梁
各位同学,欢迎来到第四章。说实话,这一章是导弹控制系统数字化的核心。你想想看,我们导弹上现在用的基本都是数字计算机,信号必须离散化处理。Z变换,就是连接连续世界和离散世界的数学工具。
4.1 Z变换的定义与性质
Z变换是什么?说白了,它是拉普拉斯变换在离散时间域的对应版本。我们处理的是采样后的信号序列 x(nT),其中 T 是采样周期。
定义式很简单:
X(z) = Σ x(n) · z^(-n) (n从0到∞)
这里 z = e^(sT),是个复变量。我个人习惯把 z^(-1) 看作一个单位延迟算子——你乘一个 z^(-1),信号就往后挪一个采样周期。
几个常用性质
- 线性性:Z[ax(n)+by(n)] = aX(z)+bY(z)。这个不用多说,基本操作。
- 时移性质:Z[x(n-k)] = z^(-k)X(z)。我在项目中经常用这个来建模延迟环节。
- 卷积定理:时域卷积对应Z域乘积。这是离散系统分析的核心。
- 初值定理:x(0) = lim(z→∞) X(z)。检查系统初始响应很方便。
- 终值定理:x(∞) = lim(z→1) (1-z^(-1))X(z)。判断稳态误差时必用。
重点提醒:终值定理只适用于系统稳定的情况。如果系统不稳定,算出来的终值没有意义。我曾经在这个坑里摔过一次——仿真结果看起来挺好,实际系统却发散。
4.2 离散系统传递函数
连续系统我们用传递函数 G(s),离散系统就用脉冲传递函数 G(z)。定义是:在零初始条件下,输出Z变换与输入Z变换之比。
举个例子,一个一阶惯性环节:
连续域:G(s) = 1/(τs+1)
离散域(零阶保持器法):G(z) = (1-e^(-T/τ)) / (z - e^(-T/τ))
嗯,这里要注意,离散化方法不止一种。我常用的有:
| 方法 | 映射关系 | 适用场景 |
|---|---|---|
| 前向差分 | s = (z-1)/T | 简单,但可能不稳定 |
| 后向差分 | s = (1-z^(-1))/T | 稳定,但精度一般 |
| 双线性变换 | s = (2/T)·(z-1)/(z+1) | 精度高,我最常用 |
| 零阶保持器法 | 精确匹配阶跃响应 | 实际系统建模首选 |
个人经验:在导弹制导控制系统中,我建议优先用零阶保持器法。因为D/A转换器本质上就是零阶保持器,这样离散化模型和实际硬件最匹配。
4.3 采样定理——别让信号失真
采样定理,也叫香农定理。核心就一句话:采样频率必须大于信号最高频率的两倍。
为什么会这样?你想想看,如果采样太慢,高频信号会被误认为低频信号——这就是混叠现象。在导弹系统中,混叠意味着你看到的角速度可能是假的,那后果...你懂的。
fs > 2·fmax
实际工程中,我一般取 fs = (5~10)·fmax。为什么留余量?因为:
- 实际信号不是理想带限的
- 抗混叠滤波器也不是理想低通
- 系统噪声会引入高频分量
避坑指南:我曾经在一个项目中,采样频率只取了3倍信号带宽。结果飞行试验时,弹体弹性振动频率刚好被混叠到低频段,控制系统误以为是姿态偏差,拼命纠正...嗯,那次试验数据很难看。从那以后,我采样频率至少取5倍。
4.4 数字控制器设计基础
数字控制器设计,本质上就是把连续域的PID、超前滞后等补偿器,搬到离散域来。
设计流程
- 先设计连续域控制器 D(s)
- 选择合适的离散化方法
- 得到 D(z)
- 用差分方程实现
举个例子,连续PID:
D(s) = Kp + Ki/s + Kd·s
用后向差分离散化后:
u(k) = u(k-1) + Kp·[e(k)-e(k-1)] + Ki·T·e(k) + (Kd/T)·[e(k)-2e(k-1)+e(k-2)]
这就是位置式PID的离散形式。实际代码实现时,我习惯用增量式:
Δu(k) = Kp·[e(k)-e(k-1)] + Ki·T·e(k) + (Kd/T)·[e(k)-2e(k-1)+e(k-2)]
u(k) = u(k-1) + Δu(k)
关键点:数字控制器的采样周期选择直接影响性能。周期太短,计算负担重;周期太长,控制品质下降。我一般根据系统带宽来定:T ≈ 1/(10·ωc),其中ωc是系统穿越频率。
知识体系框架
下面这张图,是我梳理的本章知识脉络。你顺着这个逻辑走,思路会清晰很多。
我的建议:学Z变换,别死记公式。你把它理解成「把差分方程变成代数方程」的工具,就通了。我在调试导弹数字控制系统时,90%的问题都能在Z域找到根源——极点位置、稳定性边界,一目了然。
好了,这一章的内容就到这里。记住:Z变换不是目的,它是我们设计数字控制器的工具。工具趁手,活才能干得漂亮。