3. 采样与量化基础
做数字电源控制,绕不开一个核心问题:连续世界的控制器,怎么搬到数字芯片里?
模拟控制器用运放、电阻、电容搭电路,天然工作在连续时间域。但数字控制器不一样——它只在每个采样时刻算一次,中间的时间它「看不见」。这就引出了s域到z域的变换问题。
我个人习惯把这件事分成三步:先搞清楚拉普拉斯变换在干嘛,再理解z变换的本质,最后掌握几种映射方法。咱们一步步来。
3.1 拉普拉斯变换回顾
拉普拉斯变换,说白了就是把时域信号变成复频域信号。公式长这样:
F(s) = ∫₀^∞ f(t) · e^(-st) dt
其中 s = σ + jω。σ 控制衰减,ω 控制振荡。
为什么电源工程师要关心这个?因为控制环路的稳定性,在s域里看得最清楚。极点位置、零点位置、增益裕量、相位裕量——这些概念全建立在s域分析上。
关键记忆点:
- s平面的左半平面 → 稳定系统(极点实部 < 0)
- s平面的右半平面 → 不稳定系统(极点实部 > 0)
- 虚轴上的极点 → 临界稳定(振荡)
我在做第一个数字电源项目时,犯过一个低级错误:模拟环路补偿器在s域设计得好好的,直接离散化后却振荡了。后来才明白——映射方法没选对。所以这块基础一定要打牢。
3.2 z变换基础
z变换是离散时间系统的「拉普拉斯变换」。定义式:
X(z) = Σ_{n=0}^∞ x[n] · z^(-n)
这里 z = e^(sT),T是采样周期。你看,z和s天然通过指数函数关联。
z变换有几个常用性质,做数字电源设计时经常用到:
| 性质 | 时域 | z域 |
|---|---|---|
| 线性 | a·x[n] + b·y[n] | a·X(z) + b·Y(z) |
| 时移(延迟) | x[n-k] | z^(-k)·X(z) |
| 卷积 | x[n] * y[n] | X(z)·Y(z) |
| 初值定理 | x[0] | lim_{z→∞} X(z) |
| 终值定理 | lim_{n→∞} x[n] | lim_{z→1} (1-z^(-1))·X(z) |
这里我想特别提一下终值定理。做数字电源时,我们经常用这个定理来验证稳态误差。比如,一个Buck变换器在负载跳变后,输出电压最终能不能回到设定值?用终值定理算一下就知道。
实用技巧:
z变换的延迟算子 z^(-1) 对应数字控制器里的「一拍延迟」。你在写代码时,z^(-1) 就是一个移位寄存器。理解这个对应关系,写数字滤波器代码会顺手很多。
3.3 从连续域到离散域的映射方法
好,现在到了最核心的部分。s域的传递函数 H(s),怎么变成z域的 H(z)?
常用的映射方法有四种。我按推荐程度排个序:
3.3.1 双线性变换(Tustin变换)
这是我最推荐的方法。公式:
s = (2/T) · (1 - z^(-1)) / (1 + z^(-1))
为什么推荐它?因为它把s平面的整个左半平面映射到z平面的单位圆内。这意味着:模拟域稳定的系统,离散化后一定稳定。没有歧义。
我在项目中用过很多次双线性变换。有一次设计一个48V转12V的DC-DC,开关频率200kHz,采样频率也是200kHz(单周期控制)。用双线性变换离散化后,环路响应和模拟仿真几乎完全吻合。
注意:
双线性变换会引入频率翘曲(frequency warping)。高频段的频率响应会被压缩。如果你的补偿器零点在接近奈奎斯特频率的位置,需要做预翘曲校正(pre-warping)。
3.3.2 前向欧拉法
公式:
s = (1 - z^(-1)) / T
这个方法简单,但有个大坑:稳定的模拟系统,离散化后可能不稳定。s平面的稳定区域映射到z平面是一个偏移的圆,不是整个单位圆。
我曾经在一个学生项目里用过前向欧拉法,结果环路在轻载时振荡。查了半天才发现是映射方法的问题。后来换成双线性变换,问题立刻解决。
3.3.3 后向欧拉法
公式:
s = (1 - z^(-1)) / (T · z^(-1))
这个方法比前向欧拉法稳定一些,但精度不如双线性变换。我一般只在采样频率远高于系统带宽时用它。
3.3.4 零极点匹配法
这个方法比较直观:把s域的零极点直接映射到z域。
z = e^(sT)
每个极点 p_s 映射到 z = e^(p_s · T)。零点也一样。然后调整增益使低频响应匹配。
这个方法在谐振控制器(PR控制器)的离散化中特别有用。因为PR控制器在特定频率有谐振极点,用零极点匹配法能精确保持谐振频率。
3.4 四种映射方法对比
| 方法 | 稳定性 | 精度 | 计算量 | 推荐场景 |
|---|---|---|---|---|
| 双线性变换 | ★★★★★ | ★★★★☆ | ★★★☆☆ | 通用,最推荐 |
| 前向欧拉 | ★★☆☆☆ | ★★★☆☆ | ★★★★★ | 不推荐,除非采样率极高 |
| 后向欧拉 | ★★★★☆ | ★★★☆☆ | ★★★★★ | 低精度快速原型 |
| 零极点匹配 | ★★★★★ | ★★★★★ | ★★☆☆☆ | 谐振控制器、精确频率控制 |
3.5 知识体系总览
下面这张图把本章的核心逻辑串起来了。你想想看,从连续域的微分方程,到s域的传递函数,再到z域的差分方程——每一步都有明确的数学工具和物理意义。
3.6 实际设计中的选择建议
说了这么多理论,最后给点实际建议。你设计数字电源时,怎么选映射方法?
- 默认选双线性变换。90%的场景它都够用,而且稳定可靠。
- 如果补偿器有谐振极点(比如PR控制器、LLC谐振变换器),用零极点匹配法。它能精确保持谐振频率。
- 如果采样频率远高于控制带宽(比如10倍以上),后向欧拉法也能用,计算量小。
- 前向欧拉法——我个人建议你直接忘掉它。除非你非常清楚自己在做什么。
一个小技巧:
做完离散化后,一定要做一步验证:把H(z)的频率响应画出来,和H(s)的频率响应叠在一起看。如果低频段(DC到1/10采样频率)的增益和相位匹配良好,那这个离散化就是成功的。我每次设计完都会做这个检查,能提前发现很多问题。