共计 2736 个字符,预计需要花费 7 分钟才能阅读完成。
传统开关模型的局限性
在电力电子电路设计中,Buck 电路是最基础的降压型 DC-DC 转换器。传统的开关模型通过精确模拟 MOSFET 的开关过程来分析电路行为,这种方法虽然直观,但存在两个主要问题:

- 仿真效率极低:由于开关频率通常在几十 kHz 到几 MHz,仿真时需要极小的步长才能捕捉开关瞬态,导致仿真时间过长
- 无法直接用于控制器设计:开关模型是非线性的,而控制理论通常基于线性系统,直接设计控制器非常困难
状态空间平均法简介
状态空间平均法(State Space Averaging)是一种将开关电源的周期性行为 ” 平均化 ” 的建模方法,它通过以下方式解决了传统模型的问题:
- 将开关周期内的两种状态(开关导通和关断)分别建模
- 根据占空比将两种状态加权平均
- 通过小信号扰动法线性化处理
与开关周期平均法相比,状态空间平均法不仅能得到直流特性,还能分析动态响应,特别适合控制器设计。
Buck 电路状态方程推导
基本假设条件
在开始推导前,我们需要明确几个关键假设:
- 电路工作在连续导通模式(CCM)
- 开关器件是理想的(无导通压降、无开关损耗)
- 输出电压纹波远小于直流分量
开关导通状态方程(0 < t < dT)
当开关导通时,Buck 电路的等效电路如图 1 所示(此处应有电路图)。根据基尔霍夫电压定律和电流定律:
$$
\begin{cases}
L\frac{di_L}{dt} = V_{in} – v_o \
C\frac{dv_o}{dt} = i_L – \frac{v_o}{R}
\end{cases}
$$
可以写成矩阵形式:
$$
\frac{d}{dt}\begin{bmatrix} i_L \ v_o \end{bmatrix} =
\begin{bmatrix}
0 & -\frac{1}{L} \
\frac{1}{C} & -\frac{1}{RC}
\end{bmatrix}
\begin{bmatrix} i_L \ v_o \end{bmatrix} +
\begin{bmatrix} \frac{V_{in}}{L} \ 0 \end{bmatrix}
$$
开关关断状态方程(dT < t < T)
当开关关断时,二极管导通,等效电路变化。状态方程为:
$$
\frac{d}{dt}\begin{bmatrix} i_L \ v_o \end{bmatrix} =
\begin{bmatrix}
0 & -\frac{1}{L} \
\frac{1}{C} & -\frac{1}{RC}
\end{bmatrix}
\begin{bmatrix} i_L \ v_o \end{bmatrix}
$$
平均化处理
将两个状态按照占空比 d 加权平均,得到平均状态方程:
$$
\frac{d}{dt}\begin{bmatrix} i_L \ v_o \end{bmatrix} =
\begin{bmatrix}
0 & -\frac{1}{L} \
\frac{1}{C} & -\frac{1}{RC}
\end{bmatrix}
\begin{bmatrix} i_L \ v_o \end{bmatrix} +
\begin{bmatrix} \frac{dV_{in}}{L} \ 0 \end{bmatrix}
$$
小信号线性化
为了分析电路的动态响应,我们需要在静态工作点附近引入小信号扰动:
$$
\begin{cases}
d = D + \hat{d} \
i_L = I_L + \hat{i}_L \
v_o = V_o + \hat{v}_o
\end{cases}
$$
其中大写字母表示直流分量,带帽符号表示交流小信号。将这些表达式代入平均状态方程并忽略二阶小量,可以得到小信号模型:
$$
\frac{d}{dt}\begin{bmatrix} \hat{i}L \ \hat{v}_o \end{bmatrix} =
\begin{bmatrix}
0 & -\frac{1}{L} \
\frac{1}{C} & -\frac{1}{RC}
\end{bmatrix}
\begin{bmatrix} \hat{i}_L \\hat{v}_o \end{bmatrix} +
\begin{bmatrix} \frac{V
$$}}{L} \ 0 \end{bmatrix}\hat{d
传递函数推导
对上述小信号模型进行拉普拉斯变换,可以解出输出电压对占空比的传递函数:
$$
G_{vd}(s) = \frac{\hat{v}o(s)}{\hat{d}(s)} = \frac{V
$$}}{LCs^2 + \frac{L}{R}s + 1
同样,电感电流对占空比的传递函数为:
$$
G_{id}(s) = \frac{\hat{i}L(s)}{\hat{d}(s)} = \frac{V
$$}(1 + RCs)}{L(RCs^2 + \frac{L}{R}s + 1)
Matlab 仿真验证
下面通过 Matlab 代码验证我们的推导结果。首先建立状态空间平均模型,并与实际开关电路仿真结果对比。
% Buck 电路参数
Vin = 12; % 输入电压 [V]
L = 100e-6; % 电感 [H]
C = 100e-6; % 电容 [F]
R = 5; % 负载电阻 [Ω]
D = 0.5; % 占空比
fs = 100e3; % 开关频率 [Hz]
% 状态空间平均模型
A = [0 -1/L; 1/C -1/(R*C)];
B = [Vin/L; 0];
C_mat = [0 1]; % 输出为输出电压
D_mat = 0;
sys_avg = ss(A, B, C_mat, D_mat);
% 实际开关模型仿真(使用 Simulink,这里简化表示)% 需要搭建包含 MOSFET 和二极管的详细电路
% 这里省略具体实现
% 频域分析
figure;
bode(sys_avg);
grid on;
title('Buck 电路频域响应(状态空间平均模型)');
% 时域阶跃响应
figure;
step(sys_avg);
grid on;
title('Buck 电路阶跃响应(状态空间平均模型)');
实际应用中的注意事项
占空比扰动幅度的选择
在进行小信号分析时,扰动幅度应满足:
- 足够小以保证线性近似有效(通常 <10% 静态值)
- 足够大以避免数值噪声淹没信号
高频段模型失效原因
状态空间平均模型在以下情况下精度会下降:
- 接近开关频率一半时(Nyquist 频率限制)
- 电路工作在断续导通模式(DCM)
- 寄生参数影响显著时
参数补偿方法
为提高模型精度,可以:
- 在控制器设计中预留足够相位裕度
- 考虑 ESR 的影响
- 对高频段进行实验修正
方法推广到其他拓扑
状态空间平均法可以类似地应用于 Boost、Buck-Boost 等基本拓扑:
- 分别建立开关导通和关断状态方程
- 按照占空比加权平均
- 小信号线性化
不同拓扑的主要区别在于状态矩阵 A 和输入矩阵 B 的具体形式。
总结
通过本文的详细推导和仿真验证,我们掌握了 Buck 电路状态空间平均模型的建立方法。这种方法大大简化了开关电源的分析和控制器设计过程,是电力电子工程师必备的核心技能。建议读者尝试将这种方法应用到其他拓扑,并比较不同工作模式下的模型差异。
