共计 1658 个字符,预计需要花费 5 分钟才能阅读完成。
引言:为什么需要状态空间平均法?
当你在调试一个 buck 电路时,是否遇到过这样的问题:尽管输入电压和负载电流都稳定,但输出电压的纹波却始终超出设计预期?传统的时域仿真虽然能复现现象,却难以揭示纹波背后的动态特性本质。这正是状态空间平均法(State-Space Averaging, SSA)的用武之地——它将开关电路的断续行为转化为连续模型,让我们能像分析线性系统一样研究变换器的动态响应。

方法论选择:SSA vs 开关周期平均法
在电力电子建模中,常用的平均化方法有两种:
- 开关周期平均法 :直接对波形取开关周期内的平均值,适合稳态分析但无法描述动态过程
- 状态空间平均法 :通过状态方程的加权平均,保留系统动态特性,特别适合小信号稳定性分析
对于需要研究闭环动态响应(如补偿器设计)的场景,SSA 是更合适的选择。
理论推导:三步建立平均模型
1. 分段状态方程推导
考虑理想 buck 电路,在开关管导通($0<t<dT_s$)和关断($dT_s<t<T_s$)期间分别建立状态方程:
\text{导通阶段:}
\begin{cases}
L\frac{di_L}{dt} = V_{in} - v_C \\
C\frac{dv_C}{dt} = i_L - \frac{v_C}{R}
\end{cases}
\text{关断阶段:}
\begin{cases}
L\frac{di_L}{dt} = -v_C \\
C\frac{dv_C}{dt} = i_L - \frac{v_C}{R}
\end{cases}
2. 状态空间平均化
对两个阶段的状态方程进行占空比 $d$ 加权平均,得到平均状态方程:
\begin{cases}
L\frac{d\langle i_L \rangle}{dt} = dV_{in} - \langle v_C \rangle \\
C\frac{d\langle v_C \rangle}{dt} = \langle i_L \rangle - \frac{\langle v_C \rangle}{R}
\end{cases}
3. 小信号线性化
将变量分解为直流分量(大写)与小信号扰动(带 ^ 符号):
d = D + \hat{d}, \quad \langle i_L \rangle = I_L + \hat{i}_L, \quad \langle v_C \rangle = V_C + \hat{v}_C
忽略二阶小量后,得到线性化小信号模型:
\begin{cases}
L\frac{d\hat{i}_L}{dt} = V_{in}\hat{d} - \hat{v}_C \\
C\frac{d\hat{v}_C}{dt} = \hat{i}_L - \frac{\hat{v}_C}{R}
\end{cases}
MATLAB 实现与验证
状态矩阵构建
% 电路参数
L = 100e-6; % 电感影响动态响应速度
C = 470e-6; % 电容决定输出电压纹波
R = 5; % 负载电阻
Vin = 24; % 输入电压
D = 0.5; % 标称占空比
% 状态矩阵推导
A = [0 -1/L; 1/C -1/(R*C)];
B = [Vin/L; 0];
C_mat = [0 1]; % 输出为电容电压
D_mat = 0;
频域分析
sys = ss(A,B,C_mat,D_mat);
% 特征值分析
disp('系统极点:');
eig(A)
% 绘制 Bode 图
figure;
bode(sys);
grid on;
工程实践避坑指南
-
占空比扰动幅度 :通常取标称值的 5 -10%,过大会导致线性假设失效
-
寄生参数影响 :
- 电感 ESR 会引入额外的零点
- 开关管导通电阻影响直流增益
-
建议在模型中添加 Rs=0.1Ω 的等效串联电阻
-
模型验证要点 :
- 仿真与实测对比时,需确保工作点一致
- 重点关注穿越频率附近的相位裕度
- 时域验证建议使用阶跃负载扰动
延伸思考
- 拓扑扩展性 :
- Boost 电路需考虑右半平面零点
-
Buck-Boost 需要处理极性反转
-
导通模式差异 :
- DCM 模式下需引入额外状态变量
- 电流断续时模型阶数会发生变化
通过本教程的系统性实践,你应该已经掌握了用状态空间平均法分析 buck 电路动态特性的完整流程。建议尝试修改电路参数(如将 L 减小到 50μH),观察系统极点位置和频响曲线的变化,这将深化你对参数影响的理解。
正文完
