PK×i‰LñB–Hmimetypetext/x-wxmathmlPK×i‰L¯0@{¤£¤£ content.xml Boost Converter, cmc state 1 matrices A1: matrix([0, 0], [0, 0]); (%o1) 0000 B1: matrix([1/L, 0], [0, -1/c]); (%o2) 1L00−1c C1: matrix([0, 1], [1, 0]); (%o3) 0110 D1: matrix([0, 0], [0, 0]); (%o4) 0000 state 2 matrices A2: matrix([0, -1/L], [1/c, 0]); (%o5) 0−1L1c0 B2: matrix([1/L, 0], [0, -1/c]); (%o6) 1L00−1c C2: matrix([0, 1], [1, 0]); (%o7) 0110 D2: matrix([0, 0], [0, 0]); (%o8) 0000 state variables, dc X0: matrix([Il], [Vc]); (%o9) IlVc input variables, dc U0: matrix([Vin], [Iout]); (%o10) VinIout basic computation; keep it as it is A: D0 * A1 + (1 - D0) * A2; (%o11) 0−1−D0L1−D0c0 A: ratsimp(A); (%o12) 0D0−1L−D0−1c0 B: D0 * B1 + (1 - D0) * B2; (%o13) D0L+1−D0L00−D0c−1−D0c B: ratsimp(B); (%o14) 1L00−1c C: D0 * C1 + (1 - D0) * C2; (%o15) 0110 C: ratsimp(C); (%o16) 0110 D: D0 * D1 + (1 - D0) * D2; (%o17) 0000 D: ratsimp(D); (%o18) 0000 dc computation, still without d hat, keep it as it is iA: invert(A); (%o19) 0−cD0−1LD0−10 iA: ratsimp(iA); (%o20) 0−cD0−1LD0−10 x0: -iA . B . U0; (%o21) −IoutD0−1−VinD0−1 x0: ratsimp(x0); (%o22) −IoutD0−1−VinD0−1 y0: (D - C . iA . B) . U0; (%o23) −VinD0−1−IoutD0−1 y0: ratsimp(y0); (%o24) −VinD0−1−IoutD0−1 ac computation, keep it as it is E: (A1 - A2) . X0 + (B1 - B2) . U0; (%o25) VcL−Ilc E: ratsimp(E); (%o26) VcL−Ilc F: (C1 - C2) . X0 + (D1 - D2) . U0; (%o27) 00 F: ratsimp(F); (%o28) 00 merging E and F; keep it as it is B: addcol(B, E); (%o29) 1L0VcL0−1c−Ilc D: addcol(D, F); (%o30) 000000 computing transfer functions; keep it as it is S0: s * diagmatrix(2, 1) - A; (%o31) s−D0−1LD0−1cs S: invert(S0); (%o32) s

D0−1

2
c*L
+s2
D0−1

D0−1

2c*L
+s2

*L
−D0−1c*

D0−1

2c*L
+s2

s

D0−1

2
c*L
+s2
S: ratsimp(S); (%o33) c*s*Lc*s2*L+D02−2*D0+1c*D0−cc*s2*L+D02−2*D0+1−

D0−1

*L
c*s2*L+D02−2*D0+1
c*s*Lc*s2*L+D02−2*D0+1
S: facsum(S, s); (%o34) c*s*Lc*s2*L+

D0−1

2
c*

D0−1

c*s2*L+

D0−1

2
−

D0−1

*L
c*s2*L+

D0−1

2
c*s*Lc*s2*L+

D0−1

2
tox: S . B; (%o35) c*sc*s2*L+

D0−1

2
−D0−1c*s2*L+

D0−1

2
c*s*Vcc*s2*L+

D0−1

2
−Il*

D0−1

c*s2*L+

D0−1

2
−D0−1c*s2*L+

D0−1

2
−s*Lc*s2*L+

D0−1

2
−Il*s*Lc*s2*L+

D0−1

2
−Vc*

D0−1

c*s2*L+

D0−1

2
tox: ratsimp(tox); (%o36) c*sc*s2*L+D02−2*D0+1−D0−1c*s2*L+D02−2*D0+1−−Il−c*s*Vc+Il*D0c*s2*L+D02−2*D0+1−D0−1c*s2*L+D02−2*D0+1−s*Lc*s2*L+D02−2*D0+1−−Vc+Vc*D0+Il*s*Lc*s2*L+D02−2*D0+1 tox: ev(tox, Il=x0[1, 1], Vc=x0[2, 1]); (%o37) c*sc*s2*L+D02−2*D0+1−D0−1c*s2*L+D02−2*D0+1−IoutD0−1+c*s*VinD0−1−Iout*D0D0−1c*s2*L+D02−2*D0+1−D0−1c*s2*L+D02−2*D0+1−s*Lc*s2*L+D02−2*D0+1−VinD0−1−Vin*D0D0−1−Iout*s*LD0−1c*s2*L+D02−2*D0+1 tox: ratsimp(tox); (%o38) c*sc*s2*L+D02−2*D0+1−D0−1c*s2*L+D02−2*D0+1−Iout−c*s*Vin+Iout*D0

c*s2*D0−c*s2

*L+D03−3*D02+3*D0−1
−D0−1c*s2*L+D02−2*D0+1−s*Lc*s2*L+D02−2*D0+1−Vin+Vin*D0+Iout*s*L

c*s2*D0−c*s2

*L+D03−3*D02+3*D0−1
tox: facsum(tox, s); (%o39) c*sc*s2*L+

D0−1

2
1−D0c*s2*L+

D0−1

2
Iout*

D0−1

−c*s*Vin
c*s2*

D0−1

*L+

D0−1

3
1−D0c*s2*L+

D0−1

2
−s*Lc*s2*L+

D0−1

2
Vin*

D0−1

+Iout*s*L
c*s2*

D0−1

*L+

D0−1

3
toy: C . S . B + D; (%o40) −D0−1c*s2*L+

D0−1

2
−s*Lc*s2*L+

D0−1

2
−Il*s*Lc*s2*L+

D0−1

2
−Vc*

D0−1

c*s2*L+

D0−1

2
c*sc*s2*L+

D0−1

2
−D0−1c*s2*L+

D0−1

2
c*s*Vcc*s2*L+

D0−1

2
−Il*

D0−1

c*s2*L+

D0−1

2
toy: ratsimp(toy); (%o41) −D0−1c*s2*L+D02−2*D0+1−s*Lc*s2*L+D02−2*D0+1−−Vc+Vc*D0+Il*s*Lc*s2*L+D02−2*D0+1c*sc*s2*L+D02−2*D0+1−D0−1c*s2*L+D02−2*D0+1−−Il−c*s*Vc+Il*D0c*s2*L+D02−2*D0+1 toy: ev(toy, Il=x0[1, 1], Vc=x0[2, 1]); (%o42) −D0−1c*s2*L+D02−2*D0+1−s*Lc*s2*L+D02−2*D0+1−VinD0−1−Vin*D0D0−1−Iout*s*LD0−1c*s2*L+D02−2*D0+1c*sc*s2*L+D02−2*D0+1−D0−1c*s2*L+D02−2*D0+1−IoutD0−1+c*s*VinD0−1−Iout*D0D0−1c*s2*L+D02−2*D0+1 toy: ratsimp(toy); (%o43) −D0−1c*s2*L+D02−2*D0+1−s*Lc*s2*L+D02−2*D0+1−Vin+Vin*D0+Iout*s*L

c*s2*D0−c*s2

*L+D03−3*D02+3*D0−1
c*sc*s2*L+D02−2*D0+1−D0−1c*s2*L+D02−2*D0+1−Iout−c*s*Vin+Iout*D0

c*s2*D0−c*s2

*L+D03−3*D02+3*D0−1
toy: facsum(toy, s); (%o44) 1−D0c*s2*L+

D0−1

2
−s*Lc*s2*L+

D0−1

2
Vin*

D0−1

+Iout*s*L
c*s2*

D0−1

*L+

D0−1

3
c*sc*s2*L+

D0−1

2
1−D0c*s2*L+

D0−1

2
Iout*

D0−1

−c*s*Vin
c*s2*

D0−1

*L+

D0−1

3
current mode control Hiv: tox[1, 1]; (%o45) c*sc*s2*L+

D0−1

2
Hii: tox[1, 2]; (%o46) 1−D0c*s2*L+

D0−1

2
Hid: tox[1, 3]; (%o47) Iout*

D0−1

−c*s*Vin
c*s2*

D0−1

*L+

D0−1

3
Hvv: toy[1, 1]; (%o48) 1−D0c*s2*L+

D0−1

2
Hvi: toy[1, 2]; (%o49) −s*Lc*s2*L+

D0−1

2
Hvd: toy[1, 3]; (%o50) Vin*

D0−1

+Iout*s*L
c*s2*

D0−1

*L+

D0−1

3
Gvv Gvv: Hvv - Hvd * Hiv / Hid; (%o51) 1−D0c*s2*L+

D0−1

2
−c*s*

Vin*

D0−1

+Iout*s*L

Iout*

D0−1

−c*s*Vin

*

c*s2*L+

D0−1

2

Gvv:ratsimp(Gvv); (%o52) −IoutIout*D0−c*s*Vin−Iout Gvv: facsum(Gvv, s); (%o53) Ioutc*s*Vin−Iout*

D0−1

Gvi Gvi: Hvi - Hvd * Hii / Hid; (%o54) −

1−D0

*

Vin*

D0−1

+Iout*s*L

Iout*

D0−1

−c*s*Vin

*

c*s2*L+

D0−1

2

−s*Lc*s2*L+

D0−1

2
Gvi: ratsimp(Gvi); (%o55) VinIout*D0−c*s*Vin−Iout Gvi: facsum(Gvi, s); (%o56) −Vinc*s*Vin−Iout*

D0−1

Gvc Gvc: Hvd / Hid; (%o57) Vin*

D0−1

+Iout*s*L
Iout*

D0−1

−c*s*Vin
Gvc: ratsimp(Gvc); (%o58) −Vin+Vin*D0+Iout*s*LIout*D0−c*s*Vin−Iout Gvc: facsum(Gvc, s); (%o59) −Vin*

D0−1

−Iout*s*L
c*s*Vin−Iout*

D0−1

numerical values Hvvn: ev(Hvv, Vin=10, Vout=20, Iout=0.5, D0=0.5, L=10e-6, c=0.5e-3); (%o60) 0.55.0*10−9*s2+0.25 Hvin: ev(Hvi, Vin=10, Vout=20, Iout=0.5, D0=0.5, L=10e-6, c=0.5e-3); (%o61) −1.0*10−5*s5.0*10−9*s2+0.25 Hvdn: ev(Hvd, Vin=10, Vout=20, Iout=0.5, D0=0.5, L=10e-6, c=0.5e-3); (%o62) 5.0*10−6*s−5.0−2.5*10−9*s2−0.125 Gvvn: ev(Gvv, Vin=10, Vout=20, Iout=0.5, D0=0.5, L=10e-6, c=0.5e-3); (%o63) 0.50.005*s+0.25 Gvin: ev(Gvi, Vin=10, Vout=20, Iout=0.5, D0=0.5, L=10e-6, c=0.5e-3); (%o64) −100.005*s+0.25 Gvcn: ev(Gvc, Vin=10, Vout=20, Iout=0.5, D0=0.5, L=10e-6, c=0.5e-3); (%o65) 5.0−5.0*10−6*s0.005*s+0.25
PK×i‰LñB–HmimetypePK×i‰L¯0@{¤£¤£ 5content.xmlPKo¤