1. Limited time only! Sign up for a free 30min personal tutor trial with Chegg Tutors
    Dismiss Notice
Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Linear system stability

  1. Feb 24, 2014 #1
    1. The problem statement, all variables and given/known data

    I'm having to figure out if a system is asymptotically stable, stable, or unstable. I am given the system block diagram. However, each constant block is actually a matrix. Also, there is an integral block thrown in there...

    2. Relevant equations

    3. The attempt at a solution

    In a regular, non-matrix system, I would reduce the block diagram until I arrive at the the system's equivalent transfer function in a canonical form, and then analyze the values of the roots to determine the system stability. The integral block would be a 1/s block...I believe

    Since this is a matrix system however, I'm not exactly sure what to do. Should I still reduce the block diagram as if it was not matrix-constants and then perform some kind of analysis on the Matrix-laden system transfer function.....or maybe start off by breaking up all the matrix math into individual element formulas?

    Not really sure what to do in this case...
  2. jcsd
  3. Feb 24, 2014 #2


    User Avatar
    Gold Member

    Can you post the matrix block for us?
  4. Feb 24, 2014 #3
    The inputs of the system are i_t and v_t, and the output is the output of the integrator.

    Attached Files:

  5. Feb 25, 2014 #4

    rude man

    User Avatar
    Homework Helper
    Gold Member

    Those blocks are matrices? You sure they're not just gains? If they are matrices, what are the elements of each?
  6. Feb 25, 2014 #5
    A is a 2x2, and B and L are 2x1 matrices, Ro is just a constant. The OCV/VRC block is somewhat misleading as drawn, as it actually extracts the elements out of its input (let's call it x1 and x2), and performs the following math function: output = m*x1 + b - x2. So the input of this block is a 1x2 and the output is a 1x1

    The system was modeled in Simulink, and I started questioning how A*integral_out (which would be a [2x2]*[1x2]) could output a [1x2], and the answer is apparently this formula:

    y = (A*integral_out')', where ' is Transpose. No idea why Simulink decided to do this, but that's what it decided. It also decided this on the B and L blocks, so the dimensions just magically work out....

    Exact values:

    A = [0 0; 0 -0.0833]
    B = [0.0019; 0.0167]
    Ro = 1.45
    L = [2.4147; 0.6299]

    So....is there any way to determine mathematically if these values will result in a stable or unstable system?
  7. Feb 25, 2014 #6


    User Avatar
    Gold Member

    Using matrices is a state space representation of the data. The way you are presenting the data to us is creating a good deal of confusion....

    so typically state space system are written as follows


    The B matrix controls controls the effect that the input have on any of the state variables
    The A matrix controls the effect that the state variables have on themselves and other state variables
    The C matrix controls the effect that the state variables have on the output
    The D matrix control the effect that the inputs directly have on the output

    If you find the eigen values of the system ( |λI-A| solve for λ, I=identity matrix ), the system is stable if the eigen values are all in the left half plane, aka all eigen values must have real negative parts.

    your B, C and D matricies have no effect on stability


    It looks like in your problem took a state space system (the portion of the circuit with an input of I_T, the B matrix, A matrix, and inegrator) and changed it. They added another input (V_T) and added feedback from the state variables (X*[OCV;V_RC]) and multiplied that by a gain of L.

    I included a lot of the high level theory behind this type of control analysis
    So what do you need to do...

    You need to determine the new state space format, we will call these matrices A', B', C', and D'

    Use those matrices to find your eigen values (Hint if you only need stability, you only need to find your A' matrix. All other matrices do not matter.)

    remember the A matrix controls the effect that the state variables have on themselves and other state variables.

    So you need to find A'. If you think you can't just give it a try and I'll help you out. the answer is very easy
    hint. A'=A+.....
    Last edited: Feb 25, 2014
  8. Feb 25, 2014 #7


    User Avatar
    Gold Member

    note the eigen values are essentially the poles of the system
    if you have a simulink model, you can determine stability by adding a step response into both inputs and observing the output. if it reaches a steady value, it is stable.

    also in my previous section. U=inputs, X=state variables, Y=output
    in your case (and most cases) the D matrix is zero

    and yes the integral block is equal to 1/s
  9. Feb 25, 2014 #8


    User Avatar
    Gold Member

    here is a table governing the size of the matricies. this may give you insight into your problem earlier

    x: p x 1
    x':p x 1
    u: q x 1
    y: r x 1

    A: p x p
    B: p x q
    C: r x p
    D: r x q

    you have two inputs, so q=2
    you have 2 state variables, so p=2
    you have 1 output, so r=1
  10. Feb 27, 2014 #9
    Thanks for the patience. I do understand what you were saying about state-space and that I need to simplify my system into its equivalent state-space form. I'm not sure where to begin on actually doing this.

    For starters, I tried to redraw the diagram to make it more accurate. Even doing that raised a few questions (see attached image). For one, I needed a symbol to split a 1x2 matrix into 2 1x1 signals. Not sure what the correct way to do that on a system diagram. Next, I wondered how I can represent the following formula as a transfer function block:

    y = mx +b

    I can't exactly get this into a y/x form (I end up with y/x = m + b/x), so I just moved the +b term outside the block. Now this makes me wonder if the +b is now considered another input.

    As for simplifying, I wasn't sure if I need to use system diagram simplification skills like feedback equations and moving nodes around(is that even legal in a matrix system), or if I just need to write out the equations for X', which should be the input side of the 1/S block.

    Thanks again for the help.

    Attached Files:

  11. Feb 28, 2014 #10


    User Avatar
    Gold Member

    that simplification wasn't 100% necessary, but its not a bad thing to see the system in more detail.
    like i said above system stability is not dependent on the inputs at all. So you can remove the V, Ro, B, and I blocks.

    You setup the N block correctly. And it should stay in there, due to the fact that it is a constant. By inputs to the system i mean dynamic inputs.

    that leaves you with the original A matrix and the L,X[1],and X[2],M blocks
    so your stability matrix will be A+L*( )
    fill in the blank
  12. Feb 28, 2014 #11


    User Avatar
    Gold Member

    I also want to point out a neat little trick. if all non-diagonal elements of the A matrix are zero. then the poles of the system lie on the diagonal.

    A=[1 0;0 -4]

    this means that the poles of the system are 1 and -4, so the system is unstable.

    in your problem, without the extra feedback from the L block and the output, the poles of the system are at 0 and -0.0833. So the system is marginally unstable before the extra output feedback was added
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook

Have something to add?
Draft saved Draft deleted

Similar Threads - Linear system stability Date
Linearizing a system of equations? Tuesday at 11:04 PM
[Linear System] What is the order of the system? Oct 13, 2017
Test integrator for Linearity Oct 2, 2016
Confused system stability and linearity Dec 7, 2011
Stability of a linear system Jul 26, 2011