0
\$\begingroup\$

Im trying to extract the State-Space-Model for an cascaded Buck/Boost-Converter from an set of Transfer-functions \$ G(s)\$ (which I generated with Plecs/Matlab).

Topology

First of all I want to analyse the Buck-Modus (Sboost=0).

The State-Space-Model should look like this:

\$ \begin{align} \dot{\vec{\Delta\mathrm{x}}} = \begin{bmatrix} \dot{\Delta \mathrm{uC1}} \\[0.5em] \dot{\Delta\mathrm{iL}} \\[0.5em] \dot{\Delta\mathrm{uC2}}\\ \end{bmatrix} = \begin{bmatrix} \mathrm{A_{11}} & \mathrm{A_{12}} & \mathrm{A_{13}} \\[0.5em] \mathrm{A_{21}} & \mathrm{A_{22}} & \mathrm{A_{23}} \\[0.5em] \mathrm{A_{31}} & \mathrm{A_{32}} & \mathrm{A_{33}} \\ \end{bmatrix} \cdot \begin{bmatrix} \Delta\mathrm{uC1} \\[0.5em] \Delta\mathrm{iL} \\[0.5em] \Delta\mathrm{uC2} \\ \end{bmatrix} + \begin{bmatrix} \mathrm{B_{11}} & \mathrm{B_{12}} & \mathrm{B_{13}} \\[0.5em] \mathrm{B_{21}} & \mathrm{B_{22}} & \mathrm{B_{23}} \\[0.5em] \mathrm{B_{31}} & \mathrm{B_{32}} & \mathrm{B_{33}} \\ \end{bmatrix} \cdot \begin{bmatrix} \Delta\mathrm{Uin} \\[0.5em] \Delta\mathrm{Uac} \\[0.5em] \Delta\delta \end{bmatrix} \end{align}\$

As you can see, my Buck/Boost-Converter contains 3 State-Variables. I did an Impulse-Response Analysis in PLECS (Simulation) to obtain the Bode-Plot from the perturbation in an equilibrium Point.

After that I used \$\mathrm{tfest}()\$ in Matlab to generate \$G(s)\$ for the Bode-Plot.

I have following Transfer-Functions:

For \$\mathrm{uC1}\$: \$ \dfrac{\mathrm{uC1}}{\mathrm{Uin}}(s),\dfrac{\mathrm{uC1}}{\mathrm{Uac}}(s),\dfrac{\mathrm{uC1}}{\delta}(s) \$

For \$\mathrm{iL}\$: \$ \dfrac{\mathrm{iL}}{\mathrm{Uin}}(s),\dfrac{\mathrm{iL}}{\mathrm{Uac}}(s),\dfrac{\mathrm{iL}}{\delta}(s) \$

For \$\mathrm{uC2}\$: \$ \dfrac{\mathrm{uC2}}{\mathrm{Uin}}(s),\dfrac{\mathrm{uC2}}{\mathrm{Uac}}(s),\dfrac{\mathrm{uC1}}{\delta}(s) \$

and want to convert them into an State-Space-Model. How can I achieve that?

\$\endgroup\$
0
1
\$\begingroup\$

In Matlab, you could just apply ss() to your matrix of Transfer-functions and that should do it.

For example,

G = [tf(rand(1,1),rand(1,2)), tf(rand(1,1),rand(1,2)); tf(rand(1,1),rand(1,2)), tf(rand(1,1),rand(1,2))];

ss(G)

and you get

G

Transfer function 'G' from input 'u1' to output ...

           0.1182
 y1:  -----------------
      0.1398 s + 0.1585

           0.2366
 y2:  -----------------
      0.4479 s + 0.7206

Transfer function 'G' from input 'u2' to output ...

           0.8437
 y1:  ----------------
      0.446 s + 0.4288

           0.8192
 y2:  -----------------
      0.7782 s + 0.0429


ss(G)

ans.a =
               x1          x2          x3          x4
   x1   3.781e-17   5.228e-17  -6.661e-16     0.08869
   x2   6.074e-16   3.508e-16        1.09   9.021e-17
   x3           0          -1      -2.095   9.714e-17
   x4          -1  -5.551e-16           0      -1.664

ans.b =
             u1        u2
   x1  -0.01015   -0.5903
   x2   -0.5066    -1.337
   x3     0.527      1.18
   x4    0.1841    0.3669

ans.c =
          x1     x2     x3     x4
   y1      0      0  1.604      0
   y2      0      0      0  2.869

ans.d =
       u1  u2
   y1   0   0
   y2   0   0

Continuous-time model.

\$\endgroup\$
4
  • \$\begingroup\$ I already thought of that and tried it out, but i dont know how to arrange the tf-Matrix to achieve exactly that State-Space form like i need it. I also got an very high-order state-space Model instead of an 3x3.. maybe you can provide an example? \$\endgroup\$ – adaptive Feb 16 '20 at 18:51
  • \$\begingroup\$ Ok, but shouldn’t be the A-Matrix an 2x2 and B also? Assuming 2 State-Variables and 2 Inputs? \$\endgroup\$ – adaptive Feb 16 '20 at 21:05
  • \$\begingroup\$ No, that is not how it goes. If we have \$p\$ output and \$m\$ inputs we can say \$C \in \mathbb{R}^{p \times n}\$ and \$B \in \mathbb{R}^{n \times m}\$. But the dimentions of \$A \in \mathbb{R}^{n \times n}\$ are not so easy to determine, it depends on how many (different valued) poles the transfer functions have and how each inputs affects each state. I suggest you look for it online or ask a new question just on how to write MIMO Transfer function matrices into state space equations. \$\endgroup\$ – jDAQ Feb 17 '20 at 3:58
  • \$\begingroup\$ I there any reason you have not up voted or closed this question? is this not the answer to your question? Any problems/suggestions? \$\endgroup\$ – jDAQ Feb 18 '20 at 0:10

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.