本文关注的是死区对逆变器桥臂输出节点电压的影响,而不是仅对 PWM 门极信号边沿的影响。关键结论是:死区期间上下功率管都关断,桥臂中点由负载电流方向通过续流路径钳位到上母线或下母线,因此平均电压误差随电流极性翻转。
本文讨论的公式 (3) 来自 Ji 等人在 Electronics 发表的综述论文 Control Strategies of Mitigating Dead-time Effect on Power Converters: An Overview 中第 2.1 节 “Effect of Dead Time on Output Voltage” [1]。该式将 A 相理想输出电压与死区造成的平均误差电压相加,并把误差项展开为基波及 次奇次谐波。
对应论文中公式 (3) 的核心形式是:
而不是:
1. 归一化模型
考虑一个两电平单桥臂。令桥臂节点电压用下母线到上母线归一化:
其中 0 表示桥臂节点接近下母线,1 表示桥臂节点接近上母线。若需要恢复物理电压,可乘以直流母线电压 :
理想 PWM 的载波周期平均值等于占空比:
本文使用单相归一化调制波:
其中:
因此:
载波周期为:
死区时间为:
定义死区比例:
2. 单个载波周期内的平均误差
对称采样、up-down 计数的 center-aligned PWM 可等效为:在第 个载波周期内,占空比 保持不变,并形成一个关于周期中心对称的高电平脉冲。
理想情况下,单个周期内有两个开关边沿:
- 上升沿:桥臂节点理想状态从
0变为1 - 下降沿:桥臂节点理想状态从
1变为0
加入死区后,每个换流边沿后都有一段长度为 的区间。在该区间内,上下管均关断,桥臂节点电压不是由门极命令直接决定,而是由电流方向决定。
设死区期间的钳位状态为:
则一个载波周期内,由两个死区区间造成的平均误差为:
整理得:
由于 由电流极性决定,所以定义:
并用 表示符号约定,则:
于是得到死区平均误差模型:
这里的 只表示误差方向的定义。例如可选择 ,也可选择补偿意义下的相反符号。论文中的符号约定和不同教材中的定义可能相反,因此验证代码中保留 polarity 参数。
该推导默认:
- 每个 PWM 周期内电流极性不变;
- 死区时间远小于高电平和低电平宽度;
- 暂不考虑零电流钳位、器件压降、开关延迟、寄生电容和最小脉宽限制。
3. 引入功率因数角
死区误差由电流方向决定,因此必须知道电流相对调制波或输出电压基波的相位。
定义:
其中功率因数为:
所以:
若负载为感性负载,电流滞后电压,则 。若电流超前,则可令 。
死区平均误差因此写成:
4. 傅里叶展开
方波函数的傅里叶展开为:
令:
则:
这就是论文公式 (3) 中死区误差项的来源。若恢复为节点电压物理单位:
因此第 次奇次谐波的归一化幅值为:
物理电压幅值为:
功率因数不会改变这些奇次谐波的理论幅值,但会改变它们相对调制波的相位:
如果 polarity = -1,则所有谐波额外增加 相位。
5. 与论文公式 (3) 的关系
论文先给出单相电压误差的平均值:
由于:
这等价于:
再把 展开为傅里叶级数,就得到基波、三次、五次、七次等奇次谐波误差。论文公式 (3) 将该误差叠加到理想输出电压基波上:
若采用本文的归一化节点电压模型,则对应为:
不同电压定义会带来比例因子差异。例如如果使用以母线中点为参考的极点电压:
则误差仍为:
如果分析的是全桥线电压,需要分别建立两个桥臂的误差并相减,幅值可能变为两倍,也可能因调制和电流定义而部分抵消。
6. 为什么“下降沿滞后”不是最终节点电压模型
如果只从数字 PWM 门极命令看,并假设上升沿不变、下降沿滞后,那么高电平时间会近似增加 ,平均占空比会变成:
这个模型描述的是门极时序变化,而不是死区期间功率级桥臂节点的实际电压。
实际节点电压在死区期间由电流续流路径决定,因此误差是:
这会形成随基波电流极性翻转的方波误差,并自然产生 次谐波。这也是论文公式 (3) 中谐波项出现的原因。
7. 验证脚本与测试场景
配套 MATLAB 脚本为:
| |
完整脚本下载:
脚本包含两层验证。
第一层是平均模型验证:
对该信号做谐波投影,验证奇次谐波幅值:
第二层是开关模型验证:
- 生成 up-down、center-aligned、symmetrical sampling PWM;
- 在每个理想换流边沿后插入长度为 的死区;
- 死区期间按电流极性决定桥臂节点钳位状态;
- 对每个载波周期积分,得到周期平均误差;
- 与 对比。
脚本主要输入参数包括:
| |
本次脚本内置了两个测试场景:
| 场景 | PF | ||||||
|---|---|---|---|---|---|---|---|
| 基准测试 | 50 Hz | 10 kHz | 100 us | 2 us | 0.02 | 200 | 0.8 |
| 激进测试 | 1000 Hz | 20 kHz | 50 us | 2 us | 0.04 | 20 | 0.8 |
两组测试都使用:
| |
功率因数角为:
7.1 基准测试
基准测试参数为 、、。此时:
基波误差幅值理论值为:
三次误差幅值理论值为:
MATLAB 谐波投影结果中,1 到 15 次奇次谐波的最大幅值误差为:
| |
相位最大误差为:
| |
开关模型中,电流极性按载波周期中心保持不变,用于验证平均模型的基本推导。周期平均误差的 RMS/max 误差均为:
| |
基准测试验证图如下:

7.2 激进测试:1000 Hz 基波、20 kHz 载波、2 us 死区
激进测试参数为 、、。此时:
这组参数比基准测试更激进,原因有两个:
- 死区比例从 增大到 ,死区误差幅值翻倍;
- 载波比从 降到 ,电流极性在一个载波周期内变化的影响更容易显现。
基波误差幅值理论值变为:
三次误差幅值理论值变为:
MATLAB 谐波投影结果中,1 到 15 次奇次谐波的最大幅值误差为:
| |
相位最大误差为:
| |
激进测试的开关模型使用瞬时电流极性来决定死区期间的钳位状态。对于当前 PF=0.8 的相位设置,死区窗口没有跨过电流零交越点,因此周期平均误差仍然与 对齐,RMS/max 误差为:
| |
这不表示所有相位下都必然为零;它说明在当前参数和相位下,死区窗口内的电流极性没有发生翻转。如果把电流相位移动到零交越正好落入死区窗口,则开关周期平均值会在零交越附近出现局部偏差,这属于公式 (3) 平均模型的边界情况。
激进测试验证图如下:

为了更直观看到死区造成的平均输出畸变,下图直接比较理想平均节点电压 与死区后的平均节点电压:
其中:
可以看到,死区并不是把整条正弦波连续地“拧弯”,而是在电流为正的半周整体上移 ,在电流为负的半周整体下移 。真正显眼的畸变出现在电流零交越附近,即 翻转导致的台阶突变。

运行脚本后会输出:
- 两个场景的奇次谐波幅值与理论值对比表;
- 每个场景的开关模型周期平均 RMS/max 误差;
- 图像文件
deadtime_formula3_verification.png、deadtime_formula3_verification_aggressive.png、deadtime_formula3_avg_waveform_baseline.png和deadtime_formula3_avg_waveform_aggressive.png; - 谐波表格
deadtime_formula3_harmonics.csv和deadtime_formula3_harmonics_aggressive.csv; - 场景汇总表
deadtime_formula3_summary.csv。
8. 参考文献
[1] Yi Ji, Yong Yang, Jiale Zhou, Hao Ding, Xiaoqiang Guo, and Sanjeevikumar Padmanaban, “Control Strategies of Mitigating Dead-time Effect on Power Converters: An Overview,” Electronics, vol. 8, no. 2, article 196, 2019. DOI: 10.3390/electronics8020196. MDPI 页面:https://www.mdpi.com/2079-9292/8/2/196.