两种状态平均法在功率变换器建模的应用比较
[!info] Bibliography
[1] 高朝晖, 林辉张晓斌 & 吴小华, “两种状态平均法在功率变换器建模的应用比较,” 计算机仿真, no. 241-244+248, 2008.
[!note]
状态空间平均法采用直流量近似(线性系统模型),广义状态空间平均采用直流量和基波分量近似。也即状态空间平均法采用0阶傅里叶级数近似,广义状态空间平均采用0阶和1阶傅里叶级数近似
应用状态空间平均法分析 Buck变换器
广义状态平均法(GSSA)
广义状态平均采用傅里叶级数拟合系统状态:
x
(
t
)
=
∑
n
=
−
∞
∞
⟨
x
⟩
n
(
t
)
e
j
n
ω
t
x(t) = \sum_{n = -\infty}^\infty \langle x \rangle_n(t) e^{j n \omega t}
x(t)=n=−∞∑∞⟨x⟩n(t)ejnωt
-
ω
=
2
π
/
T
\omega = 2\pi / T
ω=2π/T
⟨ x ⟩ n ( t ) \langle x \rangle_n(t) ⟨x⟩n(t) 代表傅里叶系数:
⟨ x ⟩ n ( t ) = 1 T ∫ t − T t x ( τ ) e − j n ω τ d τ \langle x \rangle_n(t) = \frac 1T \int_{t-T}^t x(\tau) e^{-j n \omega \tau}d\tau ⟨x⟩n(t)=T1∫t−Ttx(τ)e−jnωτdτ
-
n
n
n is AKA index-k average
三角形式傅里叶级数:
x ( τ ) = ⟨ x ⟩ 0 + 2 ∑ n = 1 ∞ ( a 1 cos ( n ω τ ) + b 1 sin ( 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(τ)=⟨x⟩0+2n=1∑∞(a1cos(nωτ)+b1sin(nωτ))
- ⟨ x ⟩ n ( t ) = a n − j b n \langle x\rangle_n(t) = a_n - j b_n ⟨x⟩n(t)=an−jbn
a n = 1 2 π ∫ 0 2 π x ( ω τ ) cos ( ω τ ) d ( ω τ ) b n = 1 2 π ∫ 0 2 π x ( ω τ ) sin ( ω τ ) d ( ω τ ) ⟨ x ⟩ 0 = 1 T ∫ t − T t x ( τ ) 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} anbn⟨x⟩0=2π1∫02πx(ωτ)cos(ωτ)d(ωτ)=2π1∫02πx(ωτ)sin(ωτ)d(ωτ)=T1∫t−Ttx(τ)dτ
性质:
-
d ⟨ x ⟩ n ( t ) d t = ⟨ d x d t ⟩ n ( t ) − j n ω ⟨ 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) dtd⟨x⟩n(t)=⟨dtdx⟩n(t)−jnω⟨x⟩n(t)
[!note] Proof
⟨ x ⟩ n ( t ) = 1 T ∫ 0 T x ( t − T + s ) e − j n ω ( t − T + s ) d s \langle x \rangle_n(t) = \frac1T \int_0^T x(t - T + s) e^{-j n \omega(t-T+s)}ds ⟨x⟩n(t)=T1∫0Tx(t−T+s)e−jnω(t−T+s)ds
-
⟨ q x ⟩ n = ∑ i = − ∞ ∞ ⟨ q ⟩ n − i ⟨ x ⟩ i \langle qx \rangle_n = \sum_{i = -\infty}^\infty \langle q \rangle_{n -i} \langle x \rangle_i ⟨qx⟩n=∑i=−∞∞⟨q⟩n−i⟨x⟩i
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
⟩
−
1
e
−
j
ω
t
+
⟨
q
⟩
1
e
j
ω
t
x
(
t
)
≈
⟨
x
⟩
0
+
⟨
x
⟩
−
1
e
−
j
ω
t
+
⟨
x
⟩
1
e
j
ω
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)≈⟨q⟩0+⟨q⟩−1e−jωt+⟨q⟩1ejωt≈⟨x⟩0+⟨x⟩−1e−jωt+⟨x⟩1ejωt
[!note]
这里注意,三角形式傅里叶级数中的直流和基波项( a 0 / 2 + a 1 cos ( ω t ) + b 1 sin ( ω t ) a_0/2 + a_1 \cos(\omega t) + b_1 \sin(\omega t) a0/2+a1cos(ωt)+b1sin(ωt))对应于复数形式的傅立叶级数中 0 0 0、 ± 1 ±1 ±1次项( c 0 + c − 1 e − i ω t + c 1 e i ω t c_0 + c_{-1}e^{-i \omega t}+ c_{1} e^{i\omega t} c0+c−1e−iωt+c1eiωt)
x
x
x 和
q
q
q 乘积可表示为:
⟨
q
x
⟩
0
=
⟨
q
⟩
0
⟨
x
⟩
0
+
⟨
q
⟩
−
1
⟨
x
⟩
1
+
⟨
q
⟩
1
⟨
x
⟩
−
1
⟨
q
x
⟩
1
=
⟨
q
⟩
0
⟨
x
⟩
1
+
⟨
q
⟩
1
⟨
x
⟩
0
⟨
q
x
⟩
−
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}
⟨qx⟩0⟨qx⟩1⟨qx⟩−1=⟨q⟩0⟨x⟩0+⟨q⟩−1⟨x⟩1+⟨q⟩1⟨x⟩−1=⟨q⟩0⟨x⟩1+⟨q⟩1⟨x⟩0=⟨q⟩0⟨x⟩−1+⟨q⟩−1⟨x⟩0
正负平均指数互为共轭
⟨
x
⟩
1
=
⟨
x
⟩
−
1
∗
\langle x \rangle_1 = \langle x \rangle_{-1}^*
⟨x⟩1=⟨x⟩−1∗
- ⟨ q ⟩ 1 = ⟨ q ⟩ 1 R + j ⟨ q ⟩ 1 I = ⟨ q ⟩ − 1 ∗ = ( ⟨ q ⟩ − 1 R + ⟨ q ⟩ − 1 I ) ∗ \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)^* ⟨q⟩1=⟨q⟩1R+j⟨q⟩1I=⟨q⟩−1∗=(⟨q⟩−1R+⟨q⟩−1I)∗
- ⟨ x ⟩ 1 = ⟨ x ⟩ 1 R + j ⟨ x ⟩ 1 I = ⟨ x ⟩ − 1 ∗ = ( ⟨ x ⟩ − 1 R + ⟨ x ⟩ − 1 I ) ∗ \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)^* ⟨x⟩1=⟨x⟩1R+j⟨x⟩1I=⟨x⟩−1∗=(⟨x⟩−1R+⟨x⟩−1I)∗
于是
⟨
q
x
⟩
0
=
⟨
q
⟩
0
⟨
x
⟩
0
+
2
(
⟨
q
⟩
1
R
⟨
x
⟩
1
R
+
⟨
q
⟩
1
I
⟨
x
⟩
1
I
)
⟨
q
x
⟩
1
R
=
⟨
q
⟩
0
⟨
x
⟩
1
R
+
⟨
q
⟩
1
R
⟨
x
⟩
0
⟨
q
x
⟩
1
I
=
⟨
q
⟩
0
⟨
x
⟩
1
I
+
⟨
q
⟩
1
I
⟨
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}
⟨qx⟩0⟨qx⟩1R⟨qx⟩1I=⟨q⟩0⟨x⟩0+2(⟨q⟩1R⟨x⟩1R+⟨q⟩1I⟨x⟩1I)=⟨q⟩0⟨x⟩1R+⟨q⟩1R⟨x⟩0=⟨q⟩0⟨x⟩1I+⟨q⟩1I⟨x⟩0
GSSA 建模 BUCK
定义开关函数
q
(
t
)
=
{
0
关
1
开
q(t) =\left\{ \begin{matrix} 0 & 关 \\ 1 & 开 \end{matrix} \right.
q(t)={01关开
BUCK system model:
L
d
i
L
d
t
=
v
i
n
q
(
t
)
−
v
o
C
d
v
o
d
t
=
i
L
−
v
o
R
\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=iL−Rvo
0 平均指数模型:
L
d
⟨
i
L
⟩
0
d
t
=
V
i
n
⟨
q
⟩
0
−
⟨
v
o
⟩
0
C
d
⟨
v
o
⟩
0
d
t
=
⟨
i
L
⟩
0
−
⟨
v
o
⟩
0
R
\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}
Ldtd⟨iL⟩0=Vin⟨q⟩0−⟨vo⟩0Cdtd⟨vo⟩0=⟨iL⟩0−R⟨vo⟩0
1平均指数模型:
d
⟨
i
L
⟩
1
d
t
=
−
j
ω
⟨
i
L
⟩
1
+
1
L
(
V
i
n
⟨
q
⟩
1
−
⟨
v
o
⟩
1
)
d
⟨
v
o
⟩
1
d
t
=
−
j
ω
⟨
v
o
⟩
1
+
1
C
(
⟨
i
L
⟩
0
−
⟨
v
o
⟩
0
R
)
\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}
dtd⟨iL⟩1dtd⟨vo⟩1=−jω⟨iL⟩1+L1(Vin⟨q⟩1−⟨vo⟩1)=−jω⟨vo⟩1+C1(⟨iL⟩0−R⟨vo⟩0)
考虑共轭关系,1平均指数模型的实部虚部分别可以写作:
d
⟨
i
L
⟩
1
R
d
t
=
ω
⟨
i
L
⟩
1
I
+
1
L
(
V
i
n
⟨
q
⟩
1
R
−
⟨
v
o
⟩
1
R
)
d
⟨
i
L
⟩
1
I
d
t
=
−
ω
⟨
i
L
⟩
1
R
+
1
L
(
V
i
n
⟨
q
⟩
1
I
−
⟨
v
o
⟩
1
I
)
d
⟨
v
o
⟩
1
R
d
t
=
ω
⟨
v
o
⟩
1
I
+
1
C
(
⟨
i
L
⟩
1
R
−
⟨
v
o
⟩
1
R
R
)
d
⟨
v
o
⟩
1
I
d
t
=
−
ω
⟨
v
o
⟩
1
R
+
1
C
(
⟨
i
L
⟩
1
I
−
⟨
v
o
⟩
1
I
R
)
\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}
dtd⟨iL⟩1Rdtd⟨iL⟩1Idtd⟨vo⟩1Rdtd⟨vo⟩1I=ω⟨iL⟩1I+L1(Vin⟨q⟩1R−⟨vo⟩1R)=−ω⟨iL⟩1R+L1(Vin⟨q⟩1I−⟨vo⟩1I)=ω⟨vo⟩1I+C1(⟨iL⟩1R−R⟨vo⟩1R)=−ω⟨vo⟩1R+C1(⟨iL⟩1I−R⟨vo⟩1I)
选取状态变量
x
=
[
⟨
i
L
⟩
1
R
,
⟨
i
L
⟩
1
I
,
⟨
v
o
⟩
1
R
,
⟨
v
o
⟩
1
I
,
⟨
i
L
⟩
0
R
,
⟨
v
o
⟩
0
R
]
T
x = [\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]^T
x=[⟨iL⟩1R,⟨iL⟩1I,⟨vo⟩1R,⟨vo⟩1I,⟨iL⟩0R,⟨vo⟩0R]T, 可以得到状态空间方程:
x
˙
=
A
x
+
B
u
\begin{aligned} \dot x &= Ax + Bu\\ \end{aligned}
x˙=Ax+Bu
- A = [ 0 ω − 1 / L 0 0 0 − ω 0 0 − 1 / L 0 0 1 / C 0 − 1 / ( R C ) ω 0 0 0 1 / C − ω − 1 / ( R C ) 0 0 0 0 0 0 0 − 1 / L 0 0 0 0 1 / C − 1 / ( R C ) ] 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/C00−1/L0−1/(RC)−ω000−1/Lω−1/(RC)00000001/C0000−1/L−1/(RC)
- B = [ ⟨ q ⟩ 1 R L , ⟨ q ⟩ 1 I L , 0 , 0 , ⟨ q ⟩ 0 L , 0 ] T B = \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]^T B=[L⟨q⟩1R,L⟨q⟩1I,0,0,L⟨q⟩0,0]T
- u = V i n u = V_{in} u=Vin
开关函数
q
(
t
)
q(t)
q(t) 的 0 阶和 1 阶傅里叶系数:
⟨
q
⟩
1
R
=
1
2
π
∫
0
2
π
D
cos
(
ω
τ
)
d
(
ω
τ
)
=
1
2
π
sin
(
2
π
D
)
⟨
q
⟩
1
I
=
−
1
2
π
∫
0
2
π
D
sin
(
ω
τ
)
d
(
ω
τ
)
=
1
2
π
[
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}
⟨q⟩1R⟨q⟩1I⟨q⟩0=2π1∫02πDcos(ωτ)d(ωτ)=2π1sin(2πD)=−2π1∫02πDsin(ωτ)d(ωτ)=2π1[cos(2πD)−1]=D
根据广义状态模型的解
x
x
x,可以得到系统输出为
i
L
=
2
x
1
cos
(
ω
t
)
−
2
x
2
sin
(
ω
t
)
+
x
5
v
o
=
2
x
3
cos
(
ω
t
)
−
2
x
4
sin
(
ω
t
)
+
x
6
\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:
i
L
=
2
⟨
i
L
⟩
1
R
cos
(
ω
t
)
−
2
⟨
i
L
⟩
1
I
sin
(
ω
t
)
+
⟨
i
L
⟩
0
v
o
=
2
⟨
v
o
⟩
1
R
cos
(
ω
t
)
−
2
⟨
v
o
⟩
1
I
sin
(
ω
t
)
+
⟨
v
o
⟩
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=2⟨iL⟩1Rcos(ωt)−2⟨iL⟩1Isin(ωt)+⟨iL⟩0=2⟨vo⟩1Rcos(ωt)−2⟨vo⟩1Isin(ωt)+⟨vo⟩0
另外,普通状态平均的解其实是
i
L
S
S
A
=
x
5
,
v
o
S
S
A
=
x
6
i_{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 all
Vin = 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 0
1/C 0 -1/(R*C) w 0 0
0 1/C -w -1/(R*C) 0 0
0 0 0 0 0 -1/L
0 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:tf
xdot = 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];
end
t = 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 on
figure
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 updated
if nargin ~= 3
figs = [400,300]; %default size is 560*420, 500*280 is suitable for paper shows
else
figs = [figs1,figs2];
end
if i > 8
disp('too many figures! The maximum number is 8')
end
scr = get(0,'screensize');
for k = 1:i
if k <= 4
pos{k} = [scr(1) + (k - 1) * figs(1),scr(2) + scr(4) / 2,figs];
end
if k > 4
pos{k} = [scr(1) + (k - 5) * scr(3) / 4,scr(2) + 30,figs];
end
end
end
真实数据用 SIMULINK 2018a 得到,PWM 频率 f = 40 k H z f = 40kHz f=40kHz,可以看到 GSSA 基本和 SIMULINK 数据重合,SSA 仅代表了其直流分量
仿真文件: 链接: https://pan.baidu.com/s/1ftQQ68H0nHVZ3LQkPNEObw?pwd=mgf4 提取码: mgf4