PK…6ƒLñB–Hmimetypetext/x-wxmathmlPK…6ƒL,Öì§n`n` content.xml Buck-Boost Converter 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]); (%o3) 01 D1: matrix([0, 0]); (%o4) 00 state 2 matrices A2: matrix([0, 1/L], [-1/c, 0]); (%o5) 01L−1c0 B2: matrix([0, 0], [0, -1/c]); (%o6) 000−1c C2: matrix([0, 1]); (%o7) 01 D2: matrix([0, 0]); (%o8) 00 basic computation; keep it as it is A: D0 * A1 + (1 - D0) * A2; (%o9) 01−D0L−1−D0c0 A: ratsimp(A); (%o10) 0−D0−1LD0−1c0 B: D0 * B1 + (1 - D0) * B2; (%o11) D0L00−D0c−1−D0c B: ratsimp(B); (%o12) D0L00−1c C: D0 * C1 + (1 - D0) * C2; (%o13) 01 C: ratsimp(C); (%o14) 01 D: D0 * D1 + (1 - D0) * D2; (%o15) 00 D: ratsimp(D); (%o16) 00 X0: matrix([Il], [Vc]); (%o17) IlVc U0: matrix([Vin], [Iout]); (%o18) VinIout E: (A1 - A2) . X0 + (B1 - B2) . U0; (%o19) VinL−VcLIlc E: ratsimp(E); (%o20) Vin−VcLIlc F: (C1 - C2) . X0 + (D1 - D2) . U0; (%o21) 0 merging E and F; keep it as it is B: addcol(B, E); (%o22) D0L0Vin−VcL0−1cIlc D: addcol(D, matrix([F])); (%o23) 000 computing transfer functions; keep it as it is S0: s * diagmatrix(2, 1) - A; (%o24) sD0−1L−D0−1cs S: invert(S0); (%o25) 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); (%o26) c*s*Lc*s2*L+D02−2*D0+1−c*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
tox: S . B; (%o27) c*s*D0c*s2*L+D02−2*D0+1c*D0−cc*

c*s2*L+D02−2*D0+1

c*s*

Vin−Vc

c*s2*L+D02−2*D0+1
−Il*

c*D0−c

c*

c*s2*L+D02−2*D0+1

D0−1

*D0
c*s2*L+D02−2*D0+1
−s*Lc*s2*L+D02−2*D0+1Il*s*Lc*s2*L+D02−2*D0+1+

Vin−Vc

*

D0−1

c*s2*L+D02−2*D0+1
tox: ratsimp(tox); (%o28) c*s*D0c*s2*L+D02−2*D0+1D0−1c*s2*L+D02−2*D0+1−−Il+c*s*Vc−c*s*Vin+Il*D0c*s2*L+D02−2*D0+1D02−D0c*s2*L+D02−2*D0+1−s*Lc*s2*L+D02−2*D0+1Vc−Vin+

Vin−Vc

*D0+Il*s*L
c*s2*L+D02−2*D0+1
toy: C . S . B + D; (%o29)

D0−1

*D0
c*s2*L+D02−2*D0+1
−s*Lc*s2*L+D02−2*D0+1Il*s*Lc*s2*L+D02−2*D0+1+

Vin−Vc

*

D0−1

c*s2*L+D02−2*D0+1
toy: ratsimp(toy); (%o30) D02−D0c*s2*L+D02−2*D0+1−s*Lc*s2*L+D02−2*D0+1Vc−Vin+

Vin−Vc

*D0+Il*s*L
c*s2*L+D02−2*D0+1
substituting values tox1: ev(tox, D0 = 0.5, Vin = 10, Iout = -1, Il = 2, Vc = -10, L = 100e-6, c = 1e-3); (%o31) 5.0*10−4*s1.0*10−7*s2+0.25−0.51.0*10−7*s2+0.25−−1.0−0.02*s1.0*10−7*s2+0.25−0.251.0*10−7*s2+0.25−1.0*10−4*s1.0*10−7*s2+0.252.0*10−4*s−10.01.0*10−7*s2+0.25 tox1: ratsimp(tox1); rat: replaced 5.0E-4 by 1/2000 = 5.0E-4rat: replaced 0.25 by 1/4 = 0.25rat: replaced 1.0E-7 by 1/10000000 = 1.0E-7rat: replaced -0.5 by -1/2 = -0.5rat: replaced 0.25 by 1/4 = 0.25rat: replaced 1.0E-7 by 1/10000000 = 1.0E-7rat: replaced -1.0 by -1/1 = -1.0rat: replaced -0.02 by -1/50 = -0.02rat: replaced 0.25 by 1/4 = 0.25rat: replaced 1.0E-7 by 1/10000000 = 1.0E-7rat: replaced -0.25 by -1/4 = -0.25rat: replaced 0.25 by 1/4 = 0.25rat: replaced 1.0E-7 by 1/10000000 = 1.0E-7rat: replaced -1.0E-4 by -1/10000 = -1.0E-4rat: replaced 0.25 by 1/4 = 0.25rat: replaced 1.0E-7 by 1/10000000 = 1.0E-7rat: replaced -10.0 by -10/1 = -10.0rat: replaced 2.0E-4 by 1/5000 = 2.0E-4rat: replaced 0.25 by 1/4 = 0.25rat: replaced 1.0E-7 by 1/10000000 = 1.0E-7(%o32) 5000*ss2+2500000−5000000s2+250000010000000+200000*ss2+2500000−2500000s2+2500000−1000*ss2+25000002000*s−100000000s2+2500000 tox1: factor(tox1); (%o33) 5000*ss2+2500000−5000000s2+2500000200000*

50+s

s2+2500000
−2500000s2+2500000−1000*ss2+25000002000*

s−50000

s2+2500000
tox2: ev(tox, D0 = 0.5, Vin = 10, Iout = -1, Il = 2, Vc = -10, L = 100e-6, c = 1e-3); (%o34) 5.0*10−4*s1.0*10−7*s2+0.25−0.51.0*10−7*s2+0.25−−1.0−0.02*s1.0*10−7*s2+0.25−0.251.0*10−7*s2+0.25−1.0*10−4*s1.0*10−7*s2+0.252.0*10−4*s−10.01.0*10−7*s2+0.25 toy1: ev(toy, D0 = 0.5, Vin = 10, Iout = -1, Il = 2, Vc = -10, L = 100e-6, c = 1e-3); (%o35) −0.251.0*10−7*s2+0.25−1.0*10−4*s1.0*10−7*s2+0.252.0*10−4*s−10.01.0*10−7*s2+0.25 toy1: ratsimp(toy1); rat: replaced -0.25 by -1/4 = -0.25rat: replaced 0.25 by 1/4 = 0.25rat: replaced 1.0E-7 by 1/10000000 = 1.0E-7rat: replaced -1.0E-4 by -1/10000 = -1.0E-4rat: replaced 0.25 by 1/4 = 0.25rat: replaced 1.0E-7 by 1/10000000 = 1.0E-7rat: replaced -10.0 by -10/1 = -10.0rat: replaced 2.0E-4 by 1/5000 = 2.0E-4rat: replaced 0.25 by 1/4 = 0.25rat: replaced 1.0E-7 by 1/10000000 = 1.0E-7(%o36) −2500000s2+2500000−1000*ss2+25000002000*s−100000000s2+2500000 toy1: factor(toy1); (%o37) −2500000s2+2500000−1000*ss2+25000002000*

s−50000

s2+2500000
PK…6ƒLñB–HmimetypePK…6ƒL,Öì§n`n` 5content.xmlPKoÌ`