当前位置: 首页 > news >正文

广义状态平均法功率变换器建模分析

两种状态平均法在功率变换器建模的应用比较

[!info] Bibliography
[1] 高朝晖, 林辉张晓斌 & 吴小华, “两种状态平均法在功率变换器建模的应用比较,” 计算机仿真, no. 241-244+248, 2008.

[!note]

状态空间平均法采用直流量近似(线性系统模型),广义状态空间平均采用直流量和基波分量近似。也即状态空间平均法采用0阶傅里叶级数近似,广义状态空间平均采用0阶和1阶傅里叶级数近似

应用状态空间平均法分析 Buck变换器

广义状态平均法(GSSA)

广义状态平均采用傅里叶级数拟合系统状态:
x(t)=∑n=−∞∞⟨x⟩n(t)ejnωtx(t) = \sum_{n = -\infty}^\infty \langle x \rangle_n(t) e^{j n \omega t} x(t)=n=xn(t)ejnωt

  • ω=2π/T\omega = 2\pi / Tω=2π/T
    ⟨x⟩n(t)\langle x \rangle_n(t)xn(t) 代表傅里叶系数:

⟨x⟩n(t)=1T∫t−Ttx(τ)e−jnωτdτ\langle x \rangle_n(t) = \frac 1T \int_{t-T}^t x(\tau) e^{-j n \omega \tau}d\tau xn(t)=T1tTtx(τ)ejnωτdτ

  • nnn is AKA index-k average
    三角形式傅里叶级数:

x(τ)=⟨x⟩0+2∑n=1∞(a1cos⁡(nωτ)+b1sin⁡(nωτ))x(\tau)=\langle x\rangle_0+2 \sum_{n=1}^{\infty}\left(a_1 \cos (n \omega \tau) + b_1 \sin (n \omega \tau)\right) x(τ)=x0+2n=1(a1cos(τ)+b1sin(τ))

  • ⟨x⟩n(t)=an−jbn\langle x\rangle_n(t) = a_n - j b_nxn(t)=anjbn

an=12π∫02πx(ωτ)cos⁡(ωτ)d(ωτ)bn=12π∫02πx(ωτ)sin⁡(ωτ)d(ωτ)⟨x⟩0=1T∫t−Ttx(τ)dτ\begin{aligned} {a}_n &=\frac{1}{2 \pi} \int_0^{2 \pi} {x}(\omega \tau) \cos (\omega \tau) \mathrm{d}(\omega \tau) \\ {b}_n &=\frac{1}{2 \pi} \int_0^{2 \pi} {x}(\omega \tau) \sin (\omega \tau) \mathrm{d}(\omega \tau) \\ \langle{x}\rangle_0 &=\frac{1}{{T}} \int_{t-{T}}^t {x}(\tau) \mathrm{d} \tau \end{aligned} anbnx0=2π102πx(ωτ)cos(ωτ)d(ωτ)=2π102πx(ωτ)sin(ωτ)d(ωτ)=T1tTtx(τ)dτ

性质:

  • d⟨x⟩n(t)dt=⟨dxdt⟩n(t)−jnω⟨x⟩n(t)\frac{d \langle x\rangle_n(t)}{d t}=\left\langle\frac{d x}{d t}\right\rangle_n(t)-j n \omega\langle x\rangle_n(t)dtdxn(t)=dtdxn(t)jnωxn(t)

    [!note] Proof

    ⟨x⟩n(t)=1T∫0Tx(t−T+s)e−jnω(t−T+s)ds\langle x \rangle_n(t) = \frac1T \int_0^T x(t - T + s) e^{-j n \omega(t-T+s)}dsxn(t)=T10Tx(tT+s)ejnω(tT+s)ds

  • ⟨qx⟩n=∑i=−∞∞⟨q⟩n−i⟨x⟩i\langle qx \rangle_n = \sum_{i = -\infty}^\infty \langle q \rangle_{n -i} \langle x \rangle_iqxn=i=qnixi

Suppose that x(t)x(t)x(t) and q(t)q(t)q(t) can be approximated by 0- and 1-order Fourier series (即直流和基波量):
q(t)≈⟨q⟩0+⟨q⟩−1e−jωt+⟨q⟩1ejωtx(t)≈⟨x⟩0+⟨x⟩−1e−jωt+⟨x⟩1ejωt\begin{aligned} q(t) &\approx \langle q \rangle_0 + \langle q \rangle_{-1} e^{- j \omega t} + \langle q \rangle_1 e^{j \omega t} \\ x(t) &\approx \langle x \rangle_0 + \langle x \rangle_{-1} e^{- j \omega t} + \langle x \rangle_1 e^{j \omega t} \end{aligned} q(t)x(t)q0+q1et+q1etx0+x1et+x1et

[!note]

这里注意,三角形式傅里叶级数中的直流和基波项(a0/2+a1cos⁡(ωt)+b1sin⁡(ωt)a_0/2 + a_1 \cos(\omega t) + b_1 \sin(\omega t)a0/2+a1cos(ωt)+b1sin(ωt))对应于复数形式的傅立叶级数中 000±1±1±1次项(c0+c−1e−iωt+c1eiωtc_0 + c_{-1}e^{-i \omega t}+ c_{1} e^{i\omega t}c0+c1et+c1et)

xxxqqq 乘积可表示为:
⟨qx⟩0=⟨q⟩0⟨x⟩0+⟨q⟩−1⟨x⟩1+⟨q⟩1⟨x⟩−1⟨qx⟩1=⟨q⟩0⟨x⟩1+⟨q⟩1⟨x⟩0⟨qx⟩−1=⟨q⟩0⟨x⟩−1+⟨q⟩−1⟨x⟩0\begin{aligned} \langle qx \rangle_0 &= \langle q \rangle_0 \langle x \rangle_0 + \langle q \rangle_{-1} \langle x \rangle_1 + \langle q \rangle_1 \langle x \rangle_{-1} \\ \langle qx \rangle_1 &= \langle q \rangle_0 \langle x \rangle_1 + \langle q \rangle_{1} \langle x \rangle_0\\ \langle qx \rangle_{-1} &= \langle q \rangle_0 \langle x \rangle_{-1} + \langle q \rangle_{-1} \langle x \rangle_0 \end{aligned} qx0qx1qx1=q0x0+q1x1+q1x1=q0x1+q1x0=q0x1+q1x0
正负平均指数互为共轭⟨x⟩1=⟨x⟩−1∗\langle x \rangle_1 = \langle x \rangle_{-1}^*x1=x1

  • ⟨q⟩1=⟨q⟩1R+j⟨q⟩1I=⟨q⟩−1∗=(⟨q⟩−1R+⟨q⟩−1I)∗\langle q \rangle_1 = \langle q \rangle_1^R + j \langle q \rangle_1^I = \langle q \rangle_{-1}^* = \left(\langle q \rangle_{-1}^R + \langle q \rangle_{-1}^I\right)^*q1=q1R+jq1I=q1=(q1R+q1I)
  • ⟨x⟩1=⟨x⟩1R+j⟨x⟩1I=⟨x⟩−1∗=(⟨x⟩−1R+⟨x⟩−1I)∗\langle x \rangle_1 = \langle x \rangle_1^R + j \langle x \rangle_1^I = \langle x \rangle_{-1}^* = \left(\langle x \rangle_{-1}^R + \langle x \rangle_{-1}^I\right)^*x1=x1R+jx1I=x1=(x1R+x1I)

于是
⟨qx⟩0=⟨q⟩0⟨x⟩0+2(⟨q⟩1R⟨x⟩1R+⟨q⟩1I⟨x⟩1I)⟨qx⟩1R=⟨q⟩0⟨x⟩1R+⟨q⟩1R⟨x⟩0⟨qx⟩1I=⟨q⟩0⟨x⟩1I+⟨q⟩1I⟨x⟩0\begin{aligned} \langle qx \rangle_0 &= \langle q \rangle_0 \langle x \rangle_0 + 2\left(\langle q \rangle_{1}^R \langle x \rangle_1^R + \langle q \rangle_1^I \langle x \rangle_{1}^I\right) \\ \langle qx \rangle_1^R &= \langle q \rangle_0 \langle x \rangle_1^R + \langle q \rangle_{1}^R \langle x \rangle_0\\ \langle qx \rangle_{1}^I &= \langle q \rangle_0 \langle x \rangle_{1}^I + \langle q \rangle_{1}^I \langle x \rangle_0 \end{aligned} qx0qx1Rqx1I=q0x0+2(q1Rx1R+q1Ix1I)=q0x1R+q1Rx0=q0x1I+q1Ix0

GSSA 建模 BUCK

定义开关函数
q(t)={0关1开q(t) =\left\{ \begin{matrix} 0 & 关 \\ 1 & 开 \end{matrix} \right. q(t)={01
BUCK system model:
LdiLdt=vinq(t)−voCdvodt=iL−voR\begin{aligned} & L \frac{d {i_L}}{d t}=v_{i n} q(t)-v_o \\ & C \frac{d v_o}{d t}=i_L-\frac{v_o}{R} \end{aligned} LdtdiL=vinq(t)voCdtdvo=iLRvo
0 平均指数模型:
Ld⟨iL⟩0dt=Vin⟨q⟩0−⟨vo⟩0Cd⟨vo⟩0dt=⟨iL⟩0−⟨vo⟩0R\begin{aligned} & L\frac{d\langle i_L\rangle_0}{dt}=V_{in} \langle q \rangle_0 - \langle v_o \rangle_0 \\ & C\frac{d\langle v_o\rangle_0}{dt}=\langle{i_L}\rangle_0-\frac{\left\langle\mathrm{v}_o\right\rangle_0}{{R}} \end{aligned} LdtdiL0=Vinq0vo0Cdtdvo0=iL0Rvo0
1平均指数模型:
d⟨iL⟩1dt=−jω⟨iL⟩1+1L(Vin⟨q⟩1−⟨vo⟩1)d⟨vo⟩1dt=−jω⟨vo⟩1+1C(⟨iL⟩0−⟨vo⟩0R)\begin{aligned} \frac{d\langle i_L\rangle_1}{dt} &= -j\omega \langle i_L\rangle_1 + \frac1L \left( V_{in} \langle q \rangle_1 - \langle v_o \rangle_1 \right)\\ \frac{d\langle v_o\rangle_1}{dt} &= -j\omega \langle v_o \rangle_1 + \frac 1C \left( \langle{i_L}\rangle_0-\frac{\left\langle\mathrm{v}_o\right\rangle_0}{{R}} \right) \end{aligned} dtdiL1dtdvo1=iL1+L1(Vinq1vo1)=vo1+C1(iL0Rvo0)
考虑共轭关系,1平均指数模型的实部虚部分别可以写作:
d⟨iL⟩1Rdt=ω⟨iL⟩1I+1L(Vin⟨q⟩1R−⟨vo⟩1R)d⟨iL⟩1Idt=−ω⟨iL⟩1R+1L(Vin⟨q⟩1I−⟨vo⟩1I)d⟨vo⟩1Rdt=ω⟨vo⟩1I+1C(⟨iL⟩1R−⟨vo⟩1RR)d⟨vo⟩1Idt=−ω⟨vo⟩1R+1C(⟨iL⟩1I−⟨vo⟩1IR)\begin{aligned} \frac{d\langle i_L\rangle_1^R}{dt} &= \omega \langle i_L\rangle_1^I + \frac1L \left( V_{in} \langle q \rangle_1^R - \langle v_o \rangle_1^R \right)\\ \frac{d\langle i_L\rangle_1^I}{dt} &= -\omega \langle i_L\rangle_1^R + \frac1L \left( V_{in} \langle q \rangle_1^I - \langle v_o \rangle_1^I \right)\\ \frac{d\langle v_o\rangle_1^R}{dt} &= \omega \langle v_o \rangle_1^I + \frac 1C \left( \langle{i_L}\rangle_1^R-\frac{\left\langle\mathrm{v}_o\right\rangle_1^R}{{R}} \right)\\ \frac{d\langle v_o\rangle_1^I}{dt} &= -\omega \langle v_o \rangle_1^R + \frac 1C \left( \langle{i_L}\rangle_1^I -\frac{\left\langle\mathrm{v}_o\right\rangle_1^I}{{R}} \right) \end{aligned} dtdiL1RdtdiL1Idtdvo1Rdtdvo1I=ωiL1I+L1(Vinq1Rvo1R)=ωiL1R+L1(Vinq1Ivo1I)=ωvo1I+C1(iL1RRvo1R)=ωvo1R+C1(iL1IRvo1I)
选取状态变量x=[⟨iL⟩1R,⟨iL⟩1I,⟨vo⟩1R,⟨vo⟩1I,⟨iL⟩0R,⟨vo⟩0R]Tx = [\langle i_L\rangle_1^R, \langle i_L\rangle_1^I, \langle v_o \rangle_1^R, \langle v_o \rangle_1^I,\langle i_L \rangle_0^R, \langle v_o \rangle_0^R]^Tx=[⟨iL1R,iL1I,vo1R,vo1I,iL0R,vo0R]T, 可以得到状态空间方程:
x˙=Ax+Bu\begin{aligned} \dot x &= Ax + Bu\\ \end{aligned} x˙=Ax+Bu

  • A=[0ω−1/L000−ω00−1/L001/C0−1/(RC)ω0001/C−ω−1/(RC)0000000−1/L00001/C−1/(RC)]A = \left[\begin{matrix} 0 & \omega & -1/L &0 & 0&0 \\ -\omega & 0 & 0 & -1/L & 0 & 0\\ 1/C & 0 & -1/(RC) & \omega & 0 & 0\\ 0 & 1/C & -\omega & -1/(RC) & 0 & 0\\ 0 & 0 & 0 & 0 & 0 & -1/L \\ 0 & 0 & 0 & 0 & 1/C & -1 / (RC) \end{matrix}\right]A=0ω1/C000ω001/C001/L01/(RC)ω0001/Lω1/(RC)00000001/C00001/L1/(RC)
  • B=[⟨q⟩1RL,⟨q⟩1IL,0,0,⟨q⟩0L,0]TB = \left[\frac{\langle q \rangle_1^R}L, \frac{\langle q \rangle_1^I}L, 0, 0, \frac{\langle q \rangle_0}L,0 \right]^TB=[Lq1R,Lq1I,0,0,Lq0,0]T
  • u=Vinu = V_{in}u=Vin

开关函数 q(t)q(t)q(t) 的 0 阶和 1 阶傅里叶系数:
⟨q⟩1R=12π∫02πDcos⁡(ωτ)d(ωτ)=12πsin⁡(2πD)⟨q⟩1I=−12π∫02πDsin⁡(ωτ)d(ωτ)=12π[cos⁡(2πD)−1]⟨q⟩0=D\begin{aligned} \langle q \rangle_1^R &= \frac 1{2\pi} \int_0^{2\pi D} \cos (\omega \tau ) d(\omega \tau) = \frac1{2\pi} \sin (2\pi D)\\\langle q \rangle_1^I &= -\frac 1{2\pi} \int_0^{2\pi D} \sin (\omega \tau ) d(\omega \tau) = \frac1{2\pi} [\cos (2\pi D) - 1]\\ \langle q \rangle_0 &= D\\ \end{aligned} q1Rq1Iq0=2π102πDcos(ωτ)d(ωτ)=2π1sin(2πD)=2π102πDsin(ωτ)d(ωτ)=2π1[cos(2πD)1]=D
根据广义状态模型的解 xxx,可以得到系统输出为
iL=2x1cos⁡(ωt)−2x2sin⁡(ωt)+x5vo=2x3cos⁡(ωt)−2x4sin⁡(ωt)+x6\begin{aligned} i_L &= 2x_1 \cos (\omega t) - 2x_2 \sin (\omega t) + x_5\\ v_o &= 2x_3 \cos (\omega t) - 2x_4 \sin (\omega t) + x_6\\ \end{aligned} iLvo=2x1cos(ωt)2x2sin(ωt)+x5=2x3cos(ωt)2x4sin(ωt)+x6
namely:
iL=2⟨iL⟩1Rcos⁡(ωt)−2⟨iL⟩1Isin⁡(ωt)+⟨iL⟩0vo=2⟨vo⟩1Rcos⁡(ωt)−2⟨vo⟩1Isin⁡(ωt)+⟨vo⟩0\begin{aligned} i_L &= 2\langle i_L \rangle_1^R \cos (\omega t) - 2\langle i _L\rangle_1^I \sin (\omega t) + \langle i_L\rangle_0\\ v_o &= 2\langle v_o \rangle_1^R \cos (\omega t) - 2\langle v_o \rangle_1^I \sin (\omega t) + \langle v_o \rangle_0\\ \end{aligned} iLvo=2iL1Rcos(ωt)2iL1Isin(ωt)+iL0=2vo1Rcos(ωt)2vo1Isin(ωt)+vo0
另外,普通状态平均的解其实是
iLSSA=x5,voSSA=x6i_{L_{SSA}} = x_5, v_{o_{SSA}} = x_6 iLSSA=x5,voSSA=x6

仿真研究

MATLAB Code:

 %---------------------------------------
% This is the simulation from  
% 两种状态平均法在功率变换器建模的应用比较
%
% hu 2023-03-03
%---------------------------------------clc,clear,close allVin = 20;
R   = 10;
L   = 1e-3;
C   = 1e-6;
f   = 40e3;
w   = 2 * pi * f;
T   = 1 / f;
sim my_power_BuckConverter
D   = .5;
q1R = 1 / 2 / pi * sin(2 * pi * D);
q1I = 1 / 2 / pi * (cos(2 * pi * D) - 1);
q0  = D;A = [0   w   -1/L     0        0   0-w  0   0        -1/L     0   01/C 0   -1/(R*C) w        0   00   1/C -w       -1/(R*C) 0   00   0   0        0        0   -1/L0   0   0        0        1/C -1/(R*C)];
B = [q1R / L, q1I / L, 0, 0, q0 / L, 0]';
x = zeros(6,1);
u = Vin;ts = 0;
h  = T/500;
tf = 1e-3;iLGSSAout = [];
voGSSAout = [];
iLSSAout  = [];
voSSAout  = [];for t=ts:h:tfxdot      = A * x + B * u;x         = x + xdot * h;iLGSSA    = 2 * x(1) * cos(w * t) - 2 * x(2) * sin(w * t) + x(5);voGSSA    = 2 * x(3) * cos(w * t) - 2 * x(4) * sin(w * t) + x(6);iLSSA     = x(5);voSSA     = x(6);iLGSSAout = [iLGSSAout;iLGSSA];voGSSAout = [voGSSAout;voGSSA];iLSSAout  = [iLSSAout;iLSSA];voSSAout  = [voSSAout;voSSA];
endt = ts:h:tf;
pos = mypos(8);
i   = 1;
linewidth = 1.5;
fontsize  = 12;
tSIM      = iLSIMout.Time;
iLGSSAout_interp = interp1(t,iLGSSAout,tSIM);
iLSSAout_interp  = interp1(t,iLSSAout,tSIM);
voGSSAout_interp = interp1(t,voGSSAout,tSIM);
voSSAout_interp  = interp1(t,voSSAout,tSIM);figure
plot(tSIM,iLGSSAout_interp,tSIM,iLSSAout_interp,tSIM,iLSIMout.Data,'linewidth',linewidth);
h = legend('$i_{L_{GSSA}}$','$i_{L_{SSA}}$','$i_{L_{SIM}}$');
h.Interpreter = 'latex';
h.FontSize    = fontsize;
h.Location    = 'southeast';
h.Orientation = 'horizon';
set(gcf,'position',pos{i});
i = i + 1;
grid onfigure
plot(tSIM,voGSSAout_interp,tSIM,voSSAout_interp,tSIM,voSIMout.Data,'linewidth',linewidth);
h = legend('$v_{o_{GSSA}}$', '$v_{o_{SSA}}$', '$v_{o_{SIM}}$');
h.Interpreter = 'latex';
h.FontSize    = fontsize;
h.Location    = 'southeast';
h.Orientation = 'horizon';
set(gcf,'position',pos{i});
i = i + 1;
grid on

mypos function:

function pos = mypos(i,figs1,figs2)
% mypos.m                    给定 figure 对象个数求解合适的摆放位置向量以防止图片堆叠
% i                          figure 个数
% figs1,figs2                figure 对象的长和高
% pos = mypos(i,figs1,figs2) 求出 i 个 figure 对象的合理摆放位置,且大小设置为[figs1,figs2]
%                            输出 pos 是元胞数组,使用规范(已生成figure对象后):set(gcf,'position',pos{i})
% Remark                     更方便的绘图程序见 myplot.m% hu 2018-6-11
% hu 2018-8-8  Modified Remark is added
% hu 2018-11-3 Modified Description is updatedif nargin ~= 3figs = [400,300]; %default size is 560*420, 500*280 is suitable for paper shows
elsefigs = [figs1,figs2];
end
if i > 8disp('too many figures! The maximum number is 8')
end
scr = get(0,'screensize');
for k = 1:iif k <= 4pos{k} = [scr(1) + (k - 1) * figs(1),scr(2) + scr(4) / 2,figs];endif k > 4pos{k} = [scr(1) + (k - 5) * scr(3) / 4,scr(2) + 30,figs];end
end
end

真实数据用 SIMULINK 2018a 得到,PWM 频率 f=40kHzf = 40kHzf=40kHz,可以看到 GSSA 基本和 SIMULINK 数据重合,SSA 仅代表了其直流分量

电感电流比较
电容电压比较

仿真文件: 链接: https://pan.baidu.com/s/1ftQQ68H0nHVZ3LQkPNEObw?pwd=mgf4 提取码: mgf4

http://www.lryc.cn/news/31946.html

相关文章:

  • 基于Spring Boot的快递管理系统
  • nerdctl不完全使用指南(开发者)
  • 【独家】华为OD机试 - 分糖果(C 语言解题)
  • 八股总结(二)计算机网络与网络编程
  • ChatGPT  一本正经的胡说八道 那也看看原理吧
  • ChatGPT:一个人机环境系统交互的初级产品
  • PaddlePaddle本地环境安装(windows11系统)
  • DBeaver 超级详细的安装与使用
  • 计算机网络的166个概念 你知道几个第七部分
  • 海尔三翼鸟:生态聚拢的密度,决定场景落地速度
  • 前端基础知识
  • LiveData 面试题库、解答、源码分析
  • kotlin用object实现单例模式,companion object与java静态
  • 智慧楼宇中的“黑科技”
  • 炫云渲染质量功能测试
  • SpringBoot入门
  • D. Constant Palindrome Sum(差分数组维护)
  • 【C++】30h速成C++从入门到精通(IO流)
  • 文件变成chk如何恢复正常
  • Meta最新模型LLaMA细节与代码详解
  • 3/6考试总结
  • 产品经理必读书单
  • UEFI移植LVGL
  • RK356x U-Boot研究所(命令篇)3.8 test命令的用法
  • LCD液晶段码驱动IC/LCD液晶驱动芯片VK2C22高抗干扰/抗噪,适用于汽车仪表/单相智能电表
  • OpenMMLab 目标检测
  • Jenkins部署angular11自动打包
  • 【状态管理】zustand 中文文档,它来了!!!
  • 【时序】特征工程-时间序列特征构造
  • 【独家】华为OD机试 - 环中最长子串(C 语言解题)