State-Space Representation

(Uses Matlab): State-Space Representation
Matlab ver 5 makes it very easy to express system in State-Space Matrix Form. The Control System Toolbox possess rich M-files utilities to convert it back and forth between the Transfer Function form and State-Space representation. The LTI objects, Linear-Time-Invariant objects and the symbolic features of Matlab is worth looking into.
State-Space Representation
x' = A x + B u
x = C x + D u

(Sample 1):


(Ref: Modern Control Systems, by Dorf & Bishop, chapter 3, 8th ed 1998)
Let state variables be: v1, v2 & i
The following nodal equations apply to the circuit,

0.25e-3 v1' + i + 0.25e-3 v1 - 0.25e-3 vi = 0
0.5e-3 v2' - i + 1e-3 v2 - is = 0
2e-3 i' = v1 - v2

Denote state column vector: x = transpose of the row vector [ v1, v2, i] and let output column vector y = x, It is now possible to rewrite the above equations into the following form,

v1' = - v1 - 4000 i + vi
v2' = -2 v2 + 2000 i + 2000 is
i' = 0.5 v1 - 0.5 v2

If we let column vector u to represent inputs, vi and is, then the State-Space Representation,

x' = A x + B u
y = C x + D u

holds true for the circuit.

where:

A = [-1,0,-4000; 0,-2,2000; 0.5,-0.5,0]

B = [1,0; 0,2000; 0,0]

C = [1,0,0; 0,1,0; 0,0,1]

D = [0,0; 0,0; 0,0]


(Sample 2): Mountain Bike Front Suspension System Model
Photo of a commercial suspension system.

REF: (1)Modern Control Systems, by Dorf & Bishop, chapter 3, 8th ed 1998
(2)Mountain Bike Suspension Allows Easy Adjustment, by W. Leventon, Design News, July 19, 1993, pp.75-77.

Mountain bike front suspension that permit multiple settings that are adjustable while the bike is in motion. One air and coil spring with an oil damper, which allow adjustment of the damping constant to the terrain as well as to the rider weight.

DERIVATION:

Althought the required system of equations can be derive directly off the model, we elect to first create an equivalent mechanical diagram as follow. We will use Laplace Transform with no initial conditions.


node Y: [ m s2 + (k1+k2) ] Y - k1 Q - F = 0
node Q: [ b s + k1 ] Q - k1 Y = 0

Introduce state variables:

x1 = y
x2 = y'
x3 = q

The equations may now be rewritten as,

m y'' + (k1 + k2) y - k1 q - f = 0
b q' + k1 q - k1 y = 0

Better yet as,

x1' = x2
x2' = -((k1+k2)/m) x1 + (k1/m) x3 + (1/m) f
x3' = (k1/b) x1 - (k1/b) x3

Form the column state vector z = [x1, x2, x3]', the corresponding state space representation is,

z' = A z + B u
y = C z + D u

where:
A = [ 0,1,0; -(k1+k2)/m, 0, k1/m; k1/b,0,-k1/b]
B = [0;1;0]
C = [1,0,0]
D = [0]