4. 离散化与采样:连续系统离散化方法及采样周期选择对算法性能的影响
数字控制器与模拟被控对象之间必然存在一个“翻译”过程:将连续时间域中的微分方程、传递函数或状态空间模型,转换为数字处理器能够逐拍执行的差分方程。这一过程称为离散化,而离散化的质量直接决定了数字控制系统的稳定性、动态响应与稳态精度。本章围绕三种经典离散化方法——前向欧拉、后向欧拉与双线性变换(Tustin变换),深入剖析其数学原理、适用边界与工程代价,并系统讨论采样周期选择对控制算法性能的深层影响。理解这些内容,是后续进行代码实现、参数整定与算法优化的前提。
4.1 离散化的本质与数学基础
离散化的本质,是用一个差分方程去逼近微分方程的行为。连续系统通常以拉普拉斯变换传递函数 G(s) 或状态空间方程描述,而数字控制器只能处理离散序列。从数学角度看,离散化是在“给定采样周期 T”的前提下,寻找一个脉冲传递函数 G(z),使得在采样时刻 kT 处,G(z) 的输出序列尽可能逼近 G(s) 在相同采样时刻的响应。
这一逼近过程并非唯一。不同的数值积分方法对应不同的 s 域到 z 域的映射关系,从而产生不同的离散模型。三种最常用的映射关系如下表所示:
| 方法 | 映射关系 | 稳定性保持 | 频率响应保真度 | 典型应用场景 |
|---|---|---|---|---|
| 前向欧拉 | s = (z-1)/T | 不保证(可能将稳定连续系统映射为不稳定离散系统) | 低频近似,高频畸变严重 | 快速原型、教学演示、对稳定性要求不高的场合 |
| 后向欧拉 | s = (z-1)/(T·z) | 保证(s 左半平面映射到 z 平面单位圆内) | 频率压缩,高频段畸变明显 | 积分环节离散化、鲁棒性优先的场合 |
| 双线性变换 | s = 2(z-1)/(T(z+1)) | 保证(s 左半平面映射到 z 平面单位圆内) | 全频段非线性压缩,但可通过预畸变校正 | 工业控制、滤波器设计、绝大多数工程场景 |
从数值积分的视角理解更为直观:前向欧拉相当于用矩形面积近似积分(显式方法),后向欧拉也是矩形近似但取右端点(隐式方法),双线性变换则等价于梯形面积近似(隐式方法)。梯形法在几何上更接近真实积分,因此精度更高。这一几何直觉在后续分析频率畸变时非常有用。
4.2 三种离散化方法的详细推导与代码实现
4.2.1 前向欧拉法
前向欧拉法基于一阶导数的前向差分近似。对于连续传递函数中的 s,直接用 (z-1)/T 替换。例如,一个一阶惯性环节 G(s) = 1/(τs+1),替换后得到:
G(z) = 1 / (τ·(z-1)/T + 1) = T / (τ(z-1) + T)
对应的差分方程为:
y[k] = (T/(τ+T))·u[k] + (τ/(τ+T))·y[k-1]
前向欧拉的主要问题在于稳定性。连续系统的稳定条件是极点位于 s 左半平面,而映射 z = 1 + sT 将 s 左半平面映射到 z 平面上以 (1,0) 为圆心、半径为 1 的圆内。这意味着,如果连续系统的极点实部值较大(即系统响应较快),离散化后极点可能落在单位圆外,导致数字系统不稳定。实际使用中,前向欧拉要求采样周期 T 足够小,使得所有极点都落在稳定圆内。
4.2.2 后向欧拉法
后向欧拉法使用后向差分近似,映射关系为 s = (z-1)/(T·z)。同样对一阶惯性环节:
G(z) = 1 / (τ·(z-1)/(T·z) + 1) = T·z / (τ(z-1) + T·z)
差分方程为:
y[k] = (T/(τ+T))·u[k] + (τ/(τ+T))·y[k-1]
有趣的是,对于一阶系统,前向和后向欧拉得到的差分方程形式相同,但系数含义不同。后向欧拉的稳定性映射保证:s 左半平面映射到 z 平面单位圆内,因此稳定的连续系统离散化后必然稳定。然而,后向欧拉会压缩频率轴,导致离散模型的频率响应在高频段与连续系统偏差较大。例如,连续积分器 1/s 经后向欧拉离散化为 T·z/(z-1),其频率响应在接近奈奎斯特频率时幅值衰减比连续积分器更快。
4.2.3 双线性变换(Tustin 变换)
双线性变换采用梯形积分近似,映射关系为 s = 2(z-1)/(T(z+1))。这是工程中最常用的方法。对一阶惯性环节:
G(z) = 1 / (τ·2(z-1)/(T(z+1)) + 1) = T(z+1) / (2τ(z-1) + T(z+1))
整理后得到差分方程:
y[k] = (T/(2τ+T))·(u[k] + u[k-1]) + ((2τ-T)/(2τ+T))·y[k-1]
双线性变换的优点是:
- 稳定性保持:s 左半平面精确映射到 z 平面单位圆内,连续稳定系统离散化后必然稳定。
- 频率响应保真度较高:虽然存在频率压缩(s = jω 映射到 z = e^(jωT) 时,实际数字频率 ω_d 与连续频率 ω 满足 ω_d = (2/T)·arctan(ωT/2)),但在低频段(ωT << 1)近似线性。
- 代数精度高:梯形积分对一阶系统精确,对高阶系统也有较好的逼近效果。
双线性变换的代价是频率畸变。如果需要在某个特定频率点(如谐振频率、截止频率)精确匹配,可以使用频率预畸变技术:先对连续频率进行预畸变处理,再进行双线性变换。具体做法是将连续传递函数中的 s 替换为 (ω_actual/ω_prewarp)·s,其中 ω_prewarp = (2/T)·tan(ω_actual·T/2)。
4.3 采样周期选择对算法性能的影响
采样周期 T 是数字控制系统中最关键的“超参数”之一。它同时影响系统的稳定性、动态响应、抗干扰能力和计算负载。采样周期的选择需要遵循以下原则:
- 香农采样定理:采样频率 f_s = 1/T 必须大于信号最高频率分量的两倍。对于控制系统,这里的“信号”指的是闭环系统的带宽频率,而非被控对象的自然频率。工程上通常取 f_s 为闭环带宽的 10~20 倍。
- 相位裕度约束:采样保持器(ZOH)引入的相位滞后为 ωT/2。当 T 增大时,相位滞后增加,系统的相位裕度下降,可能导致系统振荡甚至不稳定。
- 计算负载约束:T 过小意味着单位时间内需要执行更多次控制算法,对处理器性能、ADC/DAC 转换速度、通信带宽都提出更高要求。
- 数值精度约束:T 过小时,差分方程中的系数可能变得非常接近 1 或 0,导致数值灵敏度增加,量化误差被放大。
| 采样周期 T 的变化 | 对系统性能的影响 | 典型问题 | 应对策略 |
|---|---|---|---|
| T 过大(f_s < 10×带宽) | 相位滞后显著,稳定裕度下降;信息丢失,无法响应快速扰动 | 系统振荡、超调增大、甚至不稳定 | 增大采样频率;或降低闭环带宽要求 |
| T 适中(f_s = 10~20×带宽) | 性能良好,相位滞后可接受,计算负载合理 | 无明显问题 | 保持当前设计 |
| T 过小(f_s > 50×带宽) | 计算负担增加;差分方程系数接近边界值;量化误差影响增大 | 控制量抖动、执行器磨损、数值不稳定 | 适当增大 T;或改用更高精度数据类型(如 double) |
从频域角度理解,采样周期 T 决定了数字控制器的“有效频率范围”。当 T 较大时,奈奎斯特频率 f_N = 1/(2T) 较低,控制器无法有效处理高于 f_N 的频率分量。这会导致高频噪声混叠到低频段,污染控制信号。因此,在采样之前通常需要模拟抗混叠滤波器(低通滤波器),其截止频率应设置为 f_N 附近。
4.4 案例拆解:伺服电机速度环的离散化与采样周期优化
下面通过一个完整的工程案例,展示离散化方法选择和采样周期调整对实际系统性能的影响。
背景与约束:某直流伺服电机速度环,被控对象传递函数为 G(s) = 2 / (0.5s + 1)(0.05s + 1),即一个双惯性环节。控制器采用 PI 控制,连续域设计参数为 Kp = 3.5,Ki = 12。目标闭环带宽约为 20 rad/s。处理器为 32 位定点 MCU,ADC 采样精度 12 位,控制周期可配置为 1ms、2ms、5ms、10ms。
初始现象:工程师最初选择采样周期 T = 10ms(f_s = 100Hz),并使用前向欧拉法离散化 PI 控制器。调试时发现系统在转速 1500rpm 附近出现持续振荡,振荡频率约为 8Hz,且控制量输出存在明显抖动。
分析过程:
- 首先检查采样周期:闭环带宽 20 rad/s ≈ 3.2Hz,f_s = 100Hz 约为带宽的 31 倍,理论上满足采样定理。但考虑到速度环中存在机械谐振(约 25Hz),10ms 采样周期对应的奈奎斯特频率为 50Hz,谐振频率虽未混叠,但相位滞后已较明显。
- 检查离散化方法:前向欧拉法将 PI 控制器中的积分项 1/s 离散化为 T·z/(z-1),微分项(此处无)不涉及。前向欧拉对积分项的离散化在 T 较大时会产生较大相位误差。
- 计算相位裕度:连续 PI 控制器在穿越频率处提供约 55° 相位裕度。采样保持器引入的相位滞后为 ω_c·T/2 = 20 × 0.01 / 2 = 0.1 rad ≈ 5.7°。前向欧拉离散化额外引入约 3° 相位滞后。合计约 8.7°,理论上不应导致振荡。
- 进一步检查发现,前向欧拉法离散化后的积分器极点位于 z = 1,但零点位置偏移导致积分增益在高频段被放大,实际等效的相位裕度下降更多。通过仿真对比,前向欧拉离散化后的系统相位裕度实际只有约 38°,接近临界稳定。
解决方案:
- 将离散化方法改为双线性变换,PI 控制器的离散化公式为:
积分项: I(z) = (T/2)·(z+1)/(z-1)·Ki
比例项: P(z) = Kp
数字 PI 输出: u[k] = Kp·e[k] + Ki·(T/2)·(e[k] + e[k-1]) + I[k-1]
- 将采样周期从 10ms 缩短至 2ms(f_s = 500Hz),此时采样保持器相位滞后仅为 20 × 0.002 / 2 = 0.02 rad ≈ 1.1°。
- 在 ADC 前端增加一阶 RC 低通滤波器,截止频率 100Hz,抑制高频噪声混叠。
结果对比:
| 配置 | 相位裕度 | 超调量 | 调节时间 | 控制量抖动 |
|---|---|---|---|---|
| 前向欧拉 + T=10ms | 38° | 32% | 0.8s | 明显 |
| 双线性 + T=10ms | 49° | 18% | 0.5s | 轻微 |
| 双线性 + T=2ms | 54° | 8% | 0.3s | 无 |
风险与代价:缩短采样周期至 2ms 后,MCU 的中断负载从 10% 上升至 45%,但仍在可接受范围内。如果进一步缩短至 0.5ms,则中断负载将超过 80%,且 12 位 ADC 的量化噪声在高速采样下会引入新的抖动。因此,2ms 是本系统的最优折中。
复盘经验:
- 前向欧拉法在采样周期较大时,其相位误差不可忽略,应避免在工程产品中使用。
- 采样周期的选择不应仅满足香农定理,还要考虑相位裕度预算和计算负载。
- 离散化方法改变后,控制器的增益可能需要重新微调,因为等效的连续频率响应发生了变化。
4.5 常见误区与总结复盘
总结复盘:离散化方法的选择本质上是“精度 vs 复杂度”的权衡。双线性变换在精度和稳定性之间取得了最佳平衡,是工程首选。采样周期的选择则应遵循“带宽匹配”原则:f_s = 10~20 × 闭环带宽,同时兼顾计算负载和数值精度。在实际项目中,建议通过仿真对比不同离散化方法和采样周期组合下的相位裕度、超调量和调节时间,以数据驱动的方式确定最优参数。
最后需要强调的是,离散化并非一劳永逸的步骤。当系统参数变化、采样周期调整或处理器升级时,应重新审视离散化模型的准确性。在代码实现层面,建议将离散化系数作为可配置参数,便于在线调整和优化。