# Linear system stability

1. Feb 24, 2014

### Number2Pencil

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. Feb 24, 2014

### donpacino

Can you post the matrix block for us?

3. Feb 24, 2014

### Number2Pencil

The inputs of the system are i_t and v_t, and the output is the output of the integrator.

#### Attached Files:

• ###### image001.png
File size:
6.9 KB
Views:
77
4. Feb 25, 2014

### rude man

Those blocks are matrices? You sure they're not just gains? If they are matrices, what are the elements of each?

5. Feb 25, 2014

### Number2Pencil

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?

6. Feb 25, 2014

### donpacino

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

$\dot{X}$=A*X+B*U
Y=C*X+D*U

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

!!!HOWEVER!!!

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
7. Feb 25, 2014

### donpacino

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

8. Feb 25, 2014

### donpacino

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

9. Feb 27, 2014

### Number2Pencil

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:

• ###### SystemAnalysis.png
File size:
43 KB
Views:
62
10. Feb 28, 2014

### donpacino

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

11. Feb 28, 2014

### donpacino

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.

ex=
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