3.4 Linearization of Nonlinear State Space Models: 1 F X Op 1 F X Op 2 F U Op 1 F U Op 2

Download as pdf or txt
Download as pdf or txt
You are on page 1of 3

F. Haugen: Kompendium for Kyb.

2 ved Høgskolen i Oslo 21

3.4 Linearization of nonlinear state space models

The formulas for linearizing nonlinear discrete-time state space models are
presented without derivation below. They can be derived in the same way
as for linearizing nonlinear continuous-time models [1]. In the formulas
below it assumed a second order system. I guess it is clear how the
formulas can be generalized to higher orders.

Given the following discrete-time nonlinear state space model

x1 (k + 1) = f1 [x1 (k), x2 (k), u1 (k), u2 (k)]


(3.9)
x2 (k + 1) = f2 [x1 (k), x2 (k), u1 (k), u2 (k)]

y1 (k) = g1 [x1 (k), x2 (k), u1 (k), u2 (k)]


(3.10)
y2 (k) = g2 [x1 (k), x2 (k), u1 (k), u2 (k)]
where f1 and f2 are nonlinear functions. The corresponding linear model,
which defines the system’s dynamic behaviour about a specific operating
point, is
¯ ¯ ¯ ¯
∂f1 ¯ ∂f1 ¯ ∂f1 ¯ ∂f1 ¯
∆x1 (k + 1) = ∂x1 ¯ ∆x1 (k) + ∂x2 ¯ ∆x2 (k) + ∂u1 ¯ ∆u1 (k) + ∂u2 ¯ ∆u2 (k)
op op op op
¯ ¯ ¯ ¯
∂f2 ¯ ∂f2 ¯ ∂f2 ¯ ∂f2 ¯
∆x2 (k + 1) = ∂x1 ¯ ∆x1 (k) + ∂x2 ¯ ∆x2 (k) + ∂u1 ¯ ∆u1 (k) + ∂u2 ¯ ∆u2 (k)
op op op op
(3.11)

¯ ¯ ¯ ¯
∂g1 ¯ ∂g1 ¯ ∂g1 ¯ ∂g1 ¯
∆y1 (k) = ∂x1 ¯ ∆x1 (k) + ∂x2 ¯ ∆x2 (k) + ∂u1 ¯ ∆u1 (k) + ∂u2 ¯ ∆u2 (k)
op op op op
¯ ¯ ¯ ¯
∂g2 ¯ ∂g2 ¯ ∂g2 ¯ ∂g2 ¯
∆y2 (k) = ∂x1 ¯ ∆x1 (k) + ∂x2 ¯ ∆x2 (k) + ∂u1 ¯ ∆u1 (k) + ∂u2 ¯ ∆u2 (k)
op op op op
(3.12)
or
∆x(k + 1) = A∆x(k) + B∆u(k) (3.13)
∆y(k) = C∆x(k) + D∆u(k) (3.14)
where  
∆x1 (k)
 .. 
∆x(k) =  .  (3.15)
∆x2 (k)
F. Haugen: Kompendium for Kyb. 2 ved Høgskolen i Oslo 22

and similarly for ∆u(k) and ∆y(k). The system matrices are1
 ¯
∂f1 ∂f1 ¯ ¯
¯ ∂f ¯¯
 ∂x1 ∂x2
¯
A=  ¯ = (3.16)
∂f2 ∂f2 ¯ ∂xT ¯op
∂x ∂x
¯
1 2 op
 ¯
∂f1 ∂f1 ¯ ¯
∂u1 ∂u2 ¯ ∂f ¯¯
 ¯
B= ¯ = (3.17)
∂f2 ∂f2 ¯ ∂uT ¯op
∂u1 ∂u2
¯
op
 ¯
∂g1 ∂g1 ¯ ¯
∂x1 ∂x2 ¯ ∂g ¯¯
 ¯
C= ¯ = (3.18)
∂g2 ∂g2 ¯ ∂xT ¯op
∂x1 ∂x2
¯
op
 ¯
∂g1 ∂g1 ¯ ¯
∂u1 ∂u2 ¯ ∂g ¯¯
 ¯
D= ¯ = (3.19)
∂g2 ∂g2 ¯ ∂uT ¯op
∂u1 ∂u2
¯
op

In the formulas above the subindex op is for operating point, which is a


particular set of values of the variables. Often, the operating point is
assumed to be an equilibrium (or static) operating point, which means
that all variables have constant values there.

Example 1 Linearization

Given the following non-linear state-space model:

x1 (k + 1) = ax1 (k) + bx1 (k)x2 (k) + cx1 (k)u1 (k) (3.20)


| {z }
f1
x2 (k + 1) = dx2 (k) (3.21)
| {z }
f2
y1 (k) = x1 (k) (3.22)
| {z }
g1

The system matrices of the corresponding linear model are


 ¯  ¯
∂f1 ∂f1 ¯
∂x1 ∂x2 ¯ a + bx2 (k) + cu1 (k) bx1 (k) ¯¯
 ¯ ¯
A=  ¯ =  ¯ (3.23)
∂f2 ∂f2 ¯ ¯
∂x ∂x
¯ 0 d op
1 2 op
1
Partial derivative matrices are denoted Jacobians.
F. Haugen: Kompendium for Kyb. 2 ved Høgskolen i Oslo 23
 ¯  ¯
∂f1 ¯ ¯
∂u1 ¯ cx1 (k) ¯
 ¯ ¯
B= ¯ = ¯ (3.24)
∂f2 ¯ ¯
∂u1
¯ 0 op
op
h i¯ £ ¤
∂g1 ∂g1 ¯
C = ∂x 1 ∂x2 ¯ = 1 0 (3.25)
op
h i¯ £ ¤
∂g1 ¯
D = ∂u 1
¯ = 0 (3.26)
op

[End of Example 1]

3.5 Calculating responses in discrete-time state


space models

3.5.1 Calculating dynamic responses

Calculating responses in discrete-time state space models is quite easy.


The reason is that the model is the algorithm! For example, assume that
Euler’s forward method has been used to get the following discrete-time
state space model:
x(k) = x(k − 1) + hf (k − 1) (3.27)
This model constitutes the algorithm for calculating the response x(k).

3.5.2 Calculating static responses

The static response is the response when all input variables have constant
values and all output variables have converged to constant values. Assume
the following possibly nonlinear state space model:

x(k + 1) = f1 [x(k), u(k)] (3.28)

where f1 is a possibly nonlinear function of x and u. Let us write xs and


us for static values. Under static conditions (3.28) becomes

xs = f1 [xs , us ] (3.29)

which is an algebraic equation from which we can try to solve for unknown
variables.

If the model is linear:

x(k + 1) = Ax(k) + Bu(k) (3.30)

You might also like