7.4. State Space Averaging: Fundamentals of Power Electronics Chapter 7: AC Equivalent Circuit Modeling
7.4. State Space Averaging: Fundamentals of Power Electronics Chapter 7: AC Equivalent Circuit Modeling
dx(t)
A canonical matrix form: K = A x(t) + B u(t)
dt
y(t) = C x(t) + E u(t)
d x1(t)
State vector x(t) contains
x1(t) dt
inductor currents, capacitor dx(t) d x2(t)
voltages, etc.: x(t) = x2(t) , =
dt dt
i(t) L
State vector + + v (t) – +
iR1(t) iC1(t) L iC2(t)
R2
v1(t) iin(t) R1 C1 v1(t) C2 v2(t)
x(t) = v2(t) +
i(t) R3 vout(t)
– – –
Matrix K
Input vector Choose output vector as
C1 0 0
K = 0 C2 0 u(t) = iin(t) vout(t)
y(t) =
0 0 L iR1(t)
To write the state equations of this circuit, we must express the inductor
voltages and capacitor currents as linear combinations of the elements of
the x(t) and u( t) vectors.
Fundamentals of Power Electronics 66 Chapter 7: AC equivalent circuit modeling
Circuit equations
i(t) L
+ + v (t) – +
iR1(t) iC1(t) L iC2(t)
R2
iin(t) R1 C1 v1(t) C2 v2(t)
+
R3 vout(t)
– – –
dv1(t) v (t)
Find iC1 via node equation: iC1(t) = C1 = iin(t) – 1 – i(t)
dt R
dv2(t) v (t)
Find iC2 via node equation: iC2(t) = C2 = i(t) – 2
dt R2 + R3
di(t)
Find vL via loop equation: vL(t) = L = v1(t) – v2(t)
dt
dv1(t) v (t)
The same equations: iC1(t) = C1 = iin(t) – 1 – i(t)
dt R
dv (t) v (t)
iC2(t) = C2 2 = i(t) – 2
dt R2 + R3
di(t)
vL(t) = L = v1(t) – v2(t)
dt
Express in matrix form:
dv1(t)
– 1 0 –1
C1 0 0 dt R1 v1(t)
dv2(t) 1
0 C2 0 = 0 – 1 1 v2(t) + 0 iin(t)
dt R2 + R3 0
0 0 L di(t) i(t)
1 –1 0
dt
dx(t)
K = A x(t) + B u(t)
dt
i(t) L
vout(t) + + v (t) – +
y(t) = iR1(t) iC1(t) L iC2(t)
iR1(t) R2
iin(t) R1 C1 v1(t) C2 v2(t)
+
R3 vout(t)
– – –
v1(t)
iR1(t) =
R1
R3
The same equations: vout(t) = v2(t)
R2 + R3
v1(t)
iR1(t) =
R1
R3 v1(t)
vout(t) 0 0
= R2 + R3 v2(t) + 0 iin(t)
iR1(t) 1 0
0 0 i(t)
R1
0=AX+BU
Y=CX+EU
Solution for X and Y:
X = – A– 1 B U
Y = – C A– 1 B + E U
dx(t)
K = A x(t) + B u(t) + A 1 – A 2 X + B 1 – B 2 U d(t)
dt
where
x(t) = small – signal (ac) perturbation in state vector
u(t) = small – signal (ac) perturbation in input vector
y(t) = small – signal (ac) perturbation in output vector
d(t) = small – signal (ac) perturbation in duty cycle
x(t) T = 1 x(τ) dτ
s Ts t
d x(t) Ts
K = d(t) A 1 + d'(t) A 2 x(t) + d(t) B 1 + d'(t) B 2 u(t)
dt Ts Ts
Small ripple assumption: the elements of x(t) and u(t) do not change
significantly during the subinterval. Hence the slopes are essentially
constant and are equal to
dx(t)
= K – 1 A 1 x(t) + B 1 u(t)
dt Ts Ts
dx(t) x(t) K –1 A 1 x Ts
+ B1 u Ts
= K – 1 A 1 x(t) + B 1 u(t)
dt Ts Ts
x(0)
K –1 dA 1 + d'A 2 x Ts
+ dB
dx(t)
= K – 1 A 2 x(t) + B 2 u(t)
dt Ts Ts
The value of the state vector at the end of the second subinterval is
therefore
We have:
Collect terms:
x(t) K –1 A 1 x Ts
+ B1 u Ts
K –1 A 2 x Ts
+ B2 u Ts
x(t) Ts
x(Ts)
x(0)
K –1 dA 1 + d'A 2 x + dB 1 + d'B 2 u Ts
Ts
0 dTs Ts t
Use Euler approximation:
d x(t) x(Ts) – x(0)
≈
Ts
dt Ts
We obtain:
d x(t) Ts
K = d(t) A 1 + d'(t) A 2 x(t) + d(t) B 1 + d'(t) B 2 u(t)
dt Ts Ts
y(t) C 1 x(t) Ts
+ E 1 u(t) Ts
y(t) Ts
C 2 x(t) Ts
+ E 2 u(t) Ts
0
0 dTs Ts t
y(t) Ts
= d(t) C 1 x(t) Ts
+ E 1 u(t) Ts
+ d'(t) C 2 x(t) Ts
+ E 2 u(t) Ts
Collect terms:
y(t) Ts
= d(t) C 1 + d'(t) C 2 x(t) Ts
+ d(t) E 1 + d'(t) E 2 u(t) Ts
d x(t) Ts
K = d(t) A 1 + d'(t) A 2 x(t) + d(t) B 1 + d'(t) B 2 u(t)
dt Ts Ts
y(t) Ts
= d(t) C 1 + d'(t) C 2 x(t) Ts
+ d(t) E 1 + d'(t) E 2 u(t) Ts
Let x(t) Ts
= X + x(t) with U >> u(t)
u(t) Ts
= U + u(t) D >> d(t)
y(t) Ts
= Y + y(t) X >> x(t)
d(t) = D + d(t) ⇒ d'(t) = D' – d(t) Y >> y(t)
dx(t)
K = AX + BU + Ax(t) + Bu(t) + A 1 – A 2 X + B 1 – B 2 U d(t)
dt
dx(t)
K = A x(t) + B u(t) + A 1 – A 2 X + B 1 – B 2 U d(t)
dt
ig(t) Q1 D1
Model nonidealities:
+
i(t) • MOSFET on-
+ resistance Ron
vg(t) L C R v(t)
–
• Diode forward voltage
– drop VD
i(t) vg(t)
x(t) = u(t) = y(t) = ig(t)
v(t) VD
ig(t) Ron
di(t)
L = vg(t) – i(t) Ron +
dt i(t)
dv(t) v(t)
C =– + L C R v(t)
dt R vg(t) –
ig(t) = i(t)
–
– Ron 0 vg(t)
L 0 d i(t) = i(t)
+ 10
0C dt v(t) 0 – 1 v(t) 00 VD
R
dx(t)
K A1 x(t) B1 u(t)
dt
i(t) vg(t)
ig(t) = 10 + 00
v(t) VD
VD
di(t)
L = v(t) – VD
+
–
dt ig(t) +
dv(t) v(t)
C =– – i(t)
dt R vg(t) + L C R v(t)
–
ig(t) = 0
i(t)
–
i(t) vg(t)
ig(t) = 00 + 00
v(t) VD
In a similar manner,
B = DB 1 + D'B 2 = D – D'
0 0
C = DC 1 + D'C 2 = D 0
E = DE 1 + D'E 2 = 0 0
– DRon D' Vg
0 = I + D – D'
0=AX+BU 0 – D' –1 V 0 0 VD
or, R
Y=CX+EU
I + Vg
Ig = D0 00
V VD
D 1
DC solution: D' R D' R
2 Vg
I = 1
V R – D 1 VD
1 + D2 on D'
D' R
1 D2 D Vg
Ig =
R D' 2R D'R VD
1 + D2 on
D' R
+
–
Ig I +
Vg + V R
–
C1 – C2 X + E1 – E2 U = I
i(t) vg(t)
i g(t) = D 0 + 00 0 + 0 d(t)
v(t) 00 v➚
D(t)
I
Small-signal ac d i(t)
L = D' v(t) – DRon i(t) + D vg(t) + Vg – V – IRon + VD d(t)
equations, in dt
scalar form: dv(t) v(t)
C = –D' i(t) – + I d(t)
dt R
i g(t) = D i(t) + I d(t)
Corresponding equivalent circuits: i g(t)
input
eqn
inductor equation vg(t) +
d(t) Vg – V + V D – IRon – I d(t) D i(t)
L DRon
+
–
+ d i(t) –
L
dt –
D vg(t) +
–
+ D' v(t) capacitor
i(t) eqn dv(t) v(t)
C +
dt R
D' i(t) I d(t) C v(t) R
d(t) Vg – V + V D – IRon
i g(t) L
1:D D' : 1
+
–
i(t) DRon +
tr Q
i g = di L + iL + r
Ts Ts
Averaging the inductor voltage
Averaging the capacitor current:
vL(t) For both intervals,
i C = i – i Load
Integration of state
variables
Outputs
Independent
inputs
(used in current
Embedded MATLAB mode control)
code block:
• Load inputs from u
vector
• Set circuit parameters
• Calculate state
equations and outputs
• Place results in output
y vector
Time-domain simulation
Synchronous buck example, Simulink
Simulink model
employing
synchronous buck
model, with voltage
mode control
• Save this as a script (“.m file”) and run it whenever you want to
generate a Bode plot
• This script finds the steady-state operating point and linearizes the
model
• The last line opens the LTI Viewer tool, which generates various
small-signal plots including Bode, step response, pole/zero, Nyquist,
etc.
Control-to-output transfer function Gvd
Generated by Simulink
iL(t)
ipk
dTs d2Ts Ts t
In DCM, the average inductor current Treat the average inductor current
can be expressed as: as an independent state, and solve
for d2:
Note that d2 = 1 – d in CCM, and
d2 < 1 – d in DCM
Combined CCM-DCM model
Buck converter
Simulink model
State equations:
Buck control-to-output transfer function
CCM vs. DCM
R = 3Ω: CCM
R = 24Ω: DCM
9.5.4. Design example
L
50 µH
+
iload
vg(t) + C R
v(t)
28 V – 500 µF 3Ω
Sensor
– H(s) gain
fs = 100 kHz
Transistor Error
gate driver signal
δ Pulse-width vc G (s) ve –+ Hv
modulator c
VM = 4 V Compensator vref
5V
fc
ϕm
Closed loop