The H parameter observer for the lipase producing

PARAMETER AND STATE ESTIMATION IN THE CASE OF THE
BIOTECHNOLOGICAL PROCESSES
Authors:
Sergiu CARAMAN*, PhD
Marian BARBU*, PhD
1.
INTRODUCTION
The necessity of the state observers for biotechnological processes is imposed by the
lack of some safe and cheap biosensors, capable to achieve directly on-line measurements
of the biological and biochemical variables, used for the implementation of efficient
monitoring and control methods [Car02]. The acquisition of the biomass, substrate or other
metabolism products is done through laboratory analysis, this method making very diffcult
the bioreactor control (speacking in terms of the direct control of these variables). For the lab
analysis the specialist takes a sample from the bioreactor content and this fact assumes an
increased risk for the culture contamination. The lab methods for the determination of the
microorganism number, the substrate concentration or of the metabolism product
concentration are also rather imprecise, thus generating uncertainties in the appreciation of
the evolution of the mentioned variables. These problems become bigger in the case of the
wastewater treatment processes, especially due to the lack of the adequate equipment and a
personnel rather qualified for the achievement of some good quality measurements. For
example, a recent study shows the endowment level with hard sensors of the wastewater
treatment plants. Thus, 92% of the plants have sensors for dissolved oxygen concentration
measuring and only 36% for the nitrate and 28% for phosphate. Normally, in these
conditions, only one or two analysis within a week can be taken into account.
A possibility to avoid many drawbacks regarding the data acquisition is the state variable
estimation of the biotechnological processes that are considered in this work. The state
estimator, called in literature „software sensor” or „state observer” is an algorithm used to
determine some process variables, that cannot be measured in real time, based on other
variables, accessible from the point of view of their acquisition. Usually, classic structures of
state estimators were designed, such as: the extended Luenberger observer and the
extended Kalman filter [Bas90]. The most used structure is the extended Luenberger
observer, which although allows observer dynamics to be imposed, it doesn’t have
robustness properties in the presence of parametric uncertainties and does not offer an
adequate filtration in the presence of the measurement noise. When the biotechnological
process is not exponentially observable, Bastin and Dochain propose the use of an
asymptotic observer for the state estimation. The structure of the asymptotic observer has
the advantage that it allows the process state estimation in the case when the reaction rates
are unknown.
The work is structured as follows; section 2 contains a theoretical background, section 3
presents the Luenberger observer, section 4 presents the design of the extended Kalman
filter, section 5 presents the sliding-mode observer, section 6 is dedicated to H  observer
and the last section contains some conclusions.
2.
THEORETICAL BACKGROUND
2.1 The general form of the state observer
Let us consider a non-linear process given by the following equations:
x(t )  f  x(t ), u (t ) 
(1)
y(t )  h  x(t ), u(t ) 
(2)
where x is the state vector of the system, x  R n , u is the input vector of the system, u  R m ,
* „Dunarea de Jos” University of Galatz, ROMANIA
and y is the output vector of the system, y  R p .
A general form of the state observers for the non-linear system (1) and (2) is given by the
equation (3):
xˆ (t )  f  xˆ (t ), u (t )   K  xˆ (t ), u (t )   ( y (t )  yˆ (t ))
(3)
The state observer (3) is a copy of the process model to which a component proportional to
the observation error is added, ( y (t )  yˆ (t )) . The observation error becomes null in the case
of the perfect estimation. The vector x̂ contains all the states, including the measured ones.
The observer design consists in the proper choice of the gain matrix K  xˆ (t ), u (t )  .
The observation error is:
e(t )  x(t )  xˆ (t )
(4)
Taking into account the equations (1)-(4), the dynamics of the observation error is given
by the equation (5):
e(t )  x(t )  xˆ(t )  f  xˆ(t )  e(t ), u(t )   f  xˆ(t ), u(t )   K  xˆ(t ), u(t )    h  xˆ(t )  e(t ), u(t )   h  xˆ(t ), u(t )  
(5)
One can notice that e  0 is an equilibrium point of the model (5). Let us consider the
linear approximation around the value e  0 :
e(t )   A( xˆ, u)  K ( xˆ, u )  C ( xˆ, u )  e(t )
(6)
where:
 f ( x, u ) 
A( xˆ, u )  

 x  x  xˆ
(7)
 h( x, u ) 
C ( xˆ, u )  

 x  x  xˆ
(8)
The design of the state observer (3) means the choice of the gain matrix K ( xˆ, u) so that
the linear system has an imposed behaviour.
2.2 The non-linear process observability
If the eigen values of the linear system matrix (6) are calculated, than an exponential
convergence of the estimated state variables to the real ones could be assured. In this case
the system is exponential observable and the observer (3) is exponential observable.
Property 1. [Sel01] A necessary condition for the exponential observability is the
observability matrix O is of rank n along the process trajectories:
rang  O   n
(9)
where:
C ( x, u )


 C ( x, u )  A( x, u ) 


O   C ( x, u )  A 2 ( x, u ) 





C ( x, u )  A n 1 ( x, u )
(10)
and
2
A( x, u ) 
f ( x, u)
x
(11)
C ( x, u) 
h( x, u )
x
(12)
The property 1 allows the detection of the processes that are not exponential observable,
the condition (9) being only necessary, not sufficient.
Case study: The observability study of the wastewater treatment process with the active
sludge
Let us consider a non-linear process (the wastewater treatment process with active
sludge, proposed by [Nej99]:
It is described by the equations (13)-(17).
dX
   t  X  t   D  t 1  r  X  t   rD  t  X r t 
dt
(13)
 t 
dS

X  t   D  t 1  r  S  t   D  t  Sin
dt
Y
(14)
K  t  X t 
dDO
 0
 D  t 1  r  DO(t )  W  DOmax  DO(t )   D(t ) DOin
dt
Y
(15)
dX r
 D(t )(1  r ) X (t )  D(t )(   r ) X r (t )
dt
(16)
 (t )  max
S (t )
DO(t )
K s  S (t ) K DO  DO(t )
(17)
where: X(t) – biomass; S(t) – substrate; DO(t) – dissolved oxygen; DOmax – maximum
dissolved oxygen, Xr(t) – recycled biomass; D(t) – dilution rate; Sin and DOin – substrate and
dissolved oxygen concentrations of the influent; Y – biomass yield factor;  – biomass growth
rate; max – maximum specific growth rate; ks and KDO – saturation constants;  – oxygen
transfer rate; W – aeration rate; K0 – model constant; r and  – ratio of recycled and waste
flow to the influent.
3
200
90
80
S [mg/l]
X [mg/l]
195
190
185
70
60
180
175
0
50
50
100
0
50
100
320
100
0
Timp [h]
50
100
6
360
Xr [mg/l]
DO [mg/l]
350
5.5
5
340
330
4.5
0
50
Figure 1: The simulation results for the open loop system
The model coefficients have the following values:
Y  0.65;   0.2;   0.018; K DO  2; K o  0.5;  max  0.15; k s  100; DO max  10; r  0.6.
The initial conditions considered in the simulation are:
X(0)=200mg/l, S(0)=88mg/l, DO(0)=5mg/l, Xr(0)=320mg/l, DOin=0.5mg/l and Sin=200mg/l.
The input variables have the following values:
D  0.1 h-1 , W  80 m3/h, r =0.6, DOin  0.5 mg/l, Sin  200 mg/l .
The simulation results are presented in figure 1.
It is assumed that the variables S and DO are measured and the entire state vector is
estimated. The state and output matrices of the linearized process around the point x  xˆ are
given by the equations:

ˆ  Xˆ  K S
ˆ  Xˆ  K DO
 ˆ  D  1  r 


Sˆ  ( K S  Sˆ )

DO ( K DO  DO)

ˆ  Xˆ  K S
ˆ  Xˆ  K DO
ˆ




D

1

r






Y
Y  Sˆ  ( K S  Sˆ )
A( xˆ )  
DO ( K DO  DO)

K  ˆ  Xˆ  K S
K  ˆ  Xˆ  K DO
  K 0  ˆ
 0
 0
 D  1  r   W


ˆ
ˆ
Y
Y  S  (KS  S )
DO

(
K

DO
)

DO
 D  1  r 
0
0






0




0


 D     r  
rD
(18)
0 1 0 0 
C

0 0 1 0 
(19)
where:

ˆ (t )  max
Sˆ (t )
DO (t )


K s  Sˆ (t ) K  DO (t )
DO
(20)
4
The observability matrix, defined by the equation (10), is calculated. The rank of the
determinant of the observability matrix is equal to 4 if the condition (21) is accomplished:
max 2  S 2  DO 2  D  r
Y  ( K s  S )2  ( K DO  DO) 2
0
(21)
along the system trajectories. As max , S , DO, D, r have always strict positive values, it results
rang  O   4 and the exponential observability condition is accomplished (accordingly to the
property 1).
3. DETERMINISTIC ESTIMATION OF THE STATE AND PARAMETERS OF THE
BIOTECHNOLOGICAL PROCESSES
3.1 The Luenberger state observer
Let us consider the general model of a biotechnological process, proposed by [Bas90]:
d
 K ( , t )  D  Q( )  F
dt
(22)
where  is the state vector of the process, K is the matrix of the yield coefficients,  is the
vector of the reaction rates, D is the dilution rate, Q is the vector of the output flows and F is
the input flow. It is assumed that the kinetics of the reactions is known and it is given by the
term (). It is also assumed that the dilution rate, the input flow and the concentration of the
gaseous product Q are measured on-line. The vector of the measured state variables is 1
and it has the following form:
1  L
(23)
where L is a q x N matrix that selects the measurable components of the vector . We can
say that the vector  has been divided in two parts (1, 2), 2 being the vector of the
unmeasurable components.
A general class of the state estimators for non-linear systems is the following:
dˆ
 K (ˆ)  Dˆ  Q  F  (ˆ)(1  ˆ1 )
dt
(24)
where ˆ represents the on-line estimation of the vector  and  is a N x q matrix. The state
observer (24) could be considered a copy of the model (22) where a term proportional to the
estimation error (1  ˆ1 ) does appear. It becomes null in the case of the perfect estimation.
The estimation error is:
e    ˆ
(25)
The dynamics of the estimation error is calculated:
de
 K  (ˆ  e)   (ˆ)   De  (ˆ) Le
dt
The equation (26) can be approximated in a linear form:
5
(26)
de  ˆ
 A( )  (ˆ) L  e
dt 
(27)
  ( ) 
A(ˆ)  K 
  DI N
   ˆ
(28)
where
The problem of the observer design consists in the choice of the matrix (ˆ) , so that the
linear model (27) has desired properties.
The extended Luenberger observer
The design rule for Luenberger observers is to choose the matrix (ˆ) in such a way
that e=0 is an asymptotically stable equilibrium point. This is achieved by choosing (ˆ)
such that:
a) the matrix [ A(ˆ)  (ˆ) L] and its first order time derivatives are bounded:
|| A(ˆ)  (ˆ) L || C1 , 
||
d
[ A(ˆ)  (ˆ) L] || C2 , , C2 being sufficiently small;
dt
b) the eigen values of the matrix [ A(ˆ)  (ˆ) L] have strictly negative real parts:
Re{i [ A(ˆ)  (ˆ) L]}  C3 , , i=1,...,N.
3.2 The Luenberger state and parameter observer
Usually for the reaction rate modelling some mathematical structures (rational functions)
are adopted. In general the reaction rates are strong non-linear functions that depends on
state variables. Taking into account the uncertainties due to the measuring of the state
variables directly in the process, in many applications the modelling of the reaction rates is
abandoned and these are on-line estimated using different techniques.
The general dynamic model of a biotechnological process, given by the equation (22) is
considered. The following hypothesis are assumed:
1. the matrix K of the yield coefficients is known;
2. the dilution rate D and the input and output flows are measurable;
3. the vector  of the state variables is known (it is assumed that  can be measured
on-line or estimated through a state observer;
4. the reaction rate vector  ( ) is partially unknown and it can be written as follows:
 ( )  H ( )  ( )
(29)
where H ( ) is a matrix those elements are functions of state variables that contain known
information about the reaction kinetics and the vector  is considered as a slow variable
parameter, totally unknown. The dynamic model (22) becomes:
d
 K  H ( )    D    u
dt
(30)
A solution for the estimation of the parameter  ( ) that respects the conditions (1) – (4)
is a parametric estimator based on a state observer. The equations of the state estimation
6
are the following [Bas90]:
dˆ
 KH ( ) ˆ (t )  D  Q  F  (  ˆ)
(31)
dt
d ˆ
T
  KH ( )     (  ˆ)
(32)
dt
where ̂ is the on-line estimation of the vector  ( ) . One can notice that in equation (31)
the values of the unknown parameters  ( ) are replaced by their estimation, ̂ , given by
the equation (32). In the equation (32) the gain matrix is used for the calculus of the
estimation ̂ and it should be chosen so that the matrix T       be negative defined.
The design parameters in the case of that estimator are  and  . The usual form of those
matrices is diagonal:
  diag i  ;   diag  j  , where i ,  j  R 
i 1, n
(33)
j 1, n
Case study: Extended Luenberger observer for state estimation in the case of a
microorganism growth process on a single limitative substrate
It is considered the following model:
dX
  (S )  X  D  X
dt
dS
   ( S )  X  D  S  D  Sin
dt
 S
 (S )  m
Km  S
(34)
(35)
(36)
where: X is the biomass, S – the substrate, D – the dilution rate, Sin – the concentration of
the input substrate,  - the biomass growth rate, considered as a Monod expression,  m - the
maximum growth rate of the biomass, K m - is the Michaelis – Menten constant. It is
assumed that the substrate is measurable and both state variables are estimated.
In these conditions the vector of the measurable variables is:
L  0 1
(37)
The equations of the extended Luenberger observer are:
dXˆ
  Sˆ  Xˆ  D  Xˆ  1 Sˆ , Xˆ  S  Sˆ
dt
dSˆ
   Sˆ  Xˆ  D  Sˆ  D  Sin   2 Sˆ , Xˆ  S  Sˆ
dt
  Sˆ
 Sˆ  m
K m  Sˆ
 


 



(38)

 
(39)
(40)
The gain matrix is given by the equation (41):
1
 Sˆ , Xˆ  

 2


 Sˆ, Xˆ  
 Sˆ, Xˆ 
(41)
The linear approximation around the point e  0 checks the equation (26):
7
de  ˆ
 A( )  (ˆ) L  e
dt 
(42)
  ( ) 
A ˆ  K 
  DI 2
   ˆ
(43)
where:

The design of the extended Luenberger observer consists in the allocation of the eigen
values for the matrix A(ˆ)  (ˆ) L , obtaining the elements of the gain matrix (41). The
matrix of the linearized system of the observation error (42) is the following:
a 
a
A(ˆ)   11 12 
 a21 a22 
where: a11 
m  Sˆ
K m  Sˆ
 D ; a12 
(44)
m  Km  X

K m  Sˆ

2
; a21  
m  Sˆ
K m  Sˆ
; a12  
m  Km  X

K m  Sˆ

2
D.
The characteristic polynomial associated to the system (42) is given by the determinant:


det  s  I 2  A(ˆ)  (ˆ) L  


2
 s +s  2 -a 22 -a11  +a11  a 22 -a11  2 -a 21  a12 +a 21  1
(45)
Further on the desired dynamics for making null the observation error is imposed through
an allocation procedure. It results the following characteristic polynomial:
s2 +s  -1 -2  +1  2
(46)
where ˆ 1 , ˆ 2  C, Re( ˆ 1 )  0, Re( ˆ 2 )  0 .
Finally the condition that the characteristic polynomial of the system (45) to be identical to
the designed one (46) is imposed. The following values of the gain matrix of the observer are
obtained:
 
   -a
  Sˆ , Xˆ  
2 Sˆ , Xˆ  -1 -2  a 22 +a11
1
1
2
11
(47)
 a 22 +a11   2 +a 21  a12
a 21
(48)
Figure 2: The state variable evolution (continuous line) and their estimations (dotted line)
8
Figure 3: The state variable evolution (continuous line) and their estimations (dotted line)
when the substrate measuring is affected by noise
One can notice that the entire procedure of the calculus of the gain matrix coefficients
must be taken back at every sample step, based on the new values of the estimated state
variables. The program that implements the extended Luenberger observer is presented in
appendix 1.
Simulation results: Figure 2 presents the simulation results when the allocated poles are
1  5, 2  3 . Figure 3 shows the simulation results in the presence of the measure noise.
It can be seen that the biomass is strongly affected by the noise. This fact reaches the
conclusion that the results obtained with the extended Luenberger observer are strongly
sensitive to the measure noise.
Case study: The parameter estimation in the case of a microorganism growth process on a
single limitative substrate based on a state observer
It is assumed that the biomass X and the substrate S are measurable and the biomass
growth rate  is estimated. The model considered in the case study 1 can be brought to the
form (49):
d
 K  H ( )    D    u
dt
1 0 
X
where: K  
, H ( )  

0 1
0
(49)
0
,    , u  D  Sin .
X 
In these conditions, taking into account the equations (31) and (32), the equations of the
state and parameter estimator are the following:
dXˆ
 ˆ (t )  X  D  X  1  X  Xˆ
dt
dSˆ
   (t )  X  D  S  D  Sin   2  S  Sˆ
dt
dˆ
  1  X  X  Xˆ   2  X  S  Sˆ
dt







9
(50)

(51)
(52)
Figure 4: The evolution of the state variables and of the biomass growth rate  (continuous
line) and their estimations (dotted line)
The program for the extended Luenberger observer in the case of state and parameter
estimation is given in appendix 1. The following design parameters were considered:
1 =8,  2 =5,  1 =0.5,  2 =0.05 . Figure 4 shows the simulation results.
4. STOCHASTIC STATE AND PARAMETER ESTIMATION IN THE CASE OF
BIOTECHNOLOGICAL PROCESSES
4.1 Theoretical background
Let us consider the linear system (Lew86):
x(t )  Ax(t )  Bu(t )  G1w(t )
(53)
y(t )  C2 x(t )  G2v(t )
(54)
z (t )  C1 x(t )
(55)
where: x  Rn is the state vector, y  Rm is the vector of the measured variables and z  R p is
the vector of the estimated values; w(t) and v(t) are vectors of the process and measure
noise (white noise).
The observer equation is the following:
xˆ (t )  Axˆ (t )  Bu(t )  K  y(t )  C2 xˆ(t )
(56)
The design of the Kalman filter consists in the calculus of the gain matrix K, which
minimizes the squared average of the observation error.
t
t
E   x  xˆ d   e( ) d
2
0
2
(57)
0
The gain matrix of the filter is given by the equation 58:
K  PC2T R 1
(58)
where the symmetric squared matrix P is obtained as a solution of the differential equation
Riccati:
10
P  PAT  AP  PC2T R 1C2 P  G1Q
(59)
In the equation (59), Q represents the covariance matrix of the process noise and R is
the covariance matrix of the measure noise.
Extended Kalman filter
Let us consider the non-linear system:
x(t )  f ( x(t ), u(t ))  D1w(t )
(60)
y(t )  h( x(t ))  D2v(t )
(61)
In the case of the non-linear systems the extended Kalman filter is used. It uses the same
principle and equations as the linear filter, but the matrices A, B and C2 are obtained through
the system linearization around every functioning point:
A( xˆ ) 
f ( xˆ , u )
f ( xˆ , u )
h( xˆ )
; B ( xˆ ) 
; C2 ( xˆ ) 
xˆ
u
xˆ
(62)
The estimator equation is:
xˆ (t )  f ( xˆ (t ), u (t ))  K  y (t )  h( xˆ (t ))
(63)
4.2 Extended Kalman filter for state estimation in the case of biotechnological
processes
Let us consider the general state model of a biotechnological process:
d (t )
 K ( )  D  F  Q  G1w(t )
dt
1  C2  G2v(t )
(64)
(65)
where  is the state vector of the process, K is the matrix of the yield coefficients,  is the
vector of the reaction rates, D is the dilution rate, Q is the vector of the output flows, F is the
input flow and 1 represents the measurable state vector.
The extended Kalman filter equation is given by the equation (66) [Bar04]:
dˆ(t )
 K (ˆ)  Dˆ  F  Q  (ˆ)(1  ˆ1 )
dt
(66)
The estimation error is:
e    ˆ
(67)
The dynamics of the estimation error is given by the equation (68):
de(t )
 K  (ˆ  e)   (ˆ)   D  e  (ˆ)C2  e
dt
(68)
It can be noticed that e  0 is an equilibrium point for the model (68). The linear
approximation around the value e  0 is the following:
de(t )  ˆ
  A( )  (ˆ)C2   e
dt
(69)
  ( ) 
  D  In .
   ˆ
where: A(ˆ)  K 
Case study: State estimation in the case of lipase producing process using an extended
Kalman filter
The lipase producing process is very complex and strongly non-linear. It contains four
phases that coexist simultaneously: the liquid phase, the organic phase, the cellular phase
11
and the gaseous phase. The lipase producing process is described by the equations:
dS1
  ( S1 ) X  F
dt
dS2
  ( S1 )   ( S2 )  (Y  S2 )
dt
dX
  ( S2 ) X
dt
dLin
  p ( S1 , X ,  )  ex ( Lin )   ( S2 ) Lin
dt
dLex
  ex ( Lin ) X
dt
Cer  (a (S2 )  b) X
(70)
(71)
(72)
(73)
(74)
(75)
where S1 is the intracellular substrate consumed for the biomass growth, S2 is the
intracellular substrate that represents the substrate absorbed by the cells and used for the
growth, Lin is the intracellular enzyme and Lex is the extracellular enzyme. The equation (75)
is an algebraic equation and it expresses the output rate of CO2 that depends of the biomass.
The parameter Y is the yield coefficient biomass/substrate. The reaction rates are given by
the equations (76) – (79):

 * S1
(76)
K M 1  S1

 *S2
 ex 
p 
(77)
K M 2  S2
 ex* Lin
(78)
K ex  Lin
 *p (S1 / X )
K p  (S1 / X )  Ki (S1 / X )2
  ( S2 )
(79)
where  represents the specific absorption rate of the external substrate by the cells,  the biomass specific growth rate,  ex - the lipase evacuation rate in liquid environment and
 p is the yield rate of the internal lipase. In industrial conditions the lipase producing can be
analyzed considering a part of the external lipase (the liquid lipase – La):
La  Lex (1 
K a1  S1
)
K a 2  S1
(80)
The model parameters have the following values: *=0.21 h-1, KM1=0.11 g/l, *=0.25 h-1,
F=0 (g/l)h-1, KM2=0.25 g/l, p*=123 u/mg, KP=0.26 g/l, Ki=22.2 g/g, ex*=4.09 h-1, Kex=19.5 u/mg,
Y=1.16 g/g, a=0.018 mol/g, b=0.0002 (mol/g)h-1, Ka1=0.5 and Ka2=0.19 g/l. For the observer
implementation a reduced model is used (equations 70-72 and 76-77). It is assumed that
biomass concentration is measured and the variables S1, S2 and X are estimated. The
observer equations are the following:
dSˆ1
  ( Sˆ1 ) Xˆ  F  1 ( X  Xˆ )
dt
dSˆ2
  ( Sˆ1 )   ( Sˆ2 )  (Y  Sˆ2 )   2 ( X  Xˆ )
dt
12
(81)
(82)
dXˆ
  ( Sˆ2 ) Xˆ  3 ( X  Xˆ )
(83)
dt
where   [1 2 3 ]T are calculated using the equations (58) and (59) around every
functioning point. The matrices used for the extended Kalman filter implementation are:
P13 
1 0 0 
f ( )

  aij (ˆ) 
P22 P23  ; C2  0 0 1 ; G1   0 1 0  ; A(ˆ) 
i , j 1,3
  ˆ 
 0 0 1 
P23 P33 
*
* ˆ
 * K M 1 Xˆ
ˆ)  0 ; a (ˆ)    X ; a (ˆ)   K M 1 ;
where: a11 (ˆ)  
;
a
(

21
13
12
( K  Sˆ ) 2
( K  Sˆ )2
K  Sˆ
 P11
P   P12
 P13
P12
M1
a22 (ˆ) 
a33 (ˆ) 
1
M1
 ( K M 2Y  2 K M 2 Sˆ2  Sˆ
*
2
2
( K M 2  Sˆ2 )2
M1
1
; a23 (ˆ)  0 ; a31 (ˆ)  0 ; a32 (ˆ) 
 K M 2 Xˆ
1
*
( K M 2  Sˆ2 )2
;
 *Sˆ2
K M 2  Sˆ2
The program that implements the extended Kalman filter for the lipase producing process
is shown in appendix 1.
Simulation results:
Figure 5: Substrate S1 concentration
Figure 6: Substrate S2 concentration
Biomass X Evolution - process and -- estimator
4
3
2
1
Time [h]
0.5
0
5
10
15
20
25
Figure 7: Biomass concentration (model and estimation)
13
4.3 Extended Kalman filter for state and parameter estimation in the case of
biotechnological processes
In the case of state and parameter estimation an extended state vector is considered:
x  t    x1  t    t  
(84)
where x1  t  represents the process states and  (t ) the process parameters that will be
estimated. In these conditions it can be written (see the model (60) – (61)):
 Dx
f  x, t    f  x, u ,   0  ; D1  
0
0
D 
(85)
Taking into consideration the partition (84), the matrix A is as following:
 f ( xˆ, u, ˆ )
xˆ1
A

0

f ( xˆ, u, ˆ ) 

ˆ

0

(86)
In the case of biotechnological processes the reaction rate vector  ( ) is considered
partially unknown:
 ( )  H ( )  ( )
(87)
where H ( ) is a M  r matrix of functions of the known states and  ( ) is a vector of
unknown functions of  , with dim   ( )   r . It results the general form of the model of a
biotechnological process:
d
 KH ( ) ( )  D  F  Q
dt
(88)
The state and parameter estimator is giving by the following equation:
d ˆ   KH (ˆ) (t )  Dˆ  F  Q 
 
  (ˆ,ˆ)    ˆ 
dt ˆ  
0

(89)
Case study: State and parameter estimation in the case of lipase producing process using
an extended Kalman filter
The parameter vector (t) will be estimated:
 (t )   (t )  (t ) 
T
(90)
It is assumed that the variables S1 and X are measurable and S1, X,  and  are
estimated. It can be written the matrices:
x  t    S1 (t )
1
0
G1  
0

0
0 ˆ  Xˆ

T
0 ˆ
0
X (t )  (t )  (t )  ; C2  1 1 0 0 ; A  
0 0
0

0 0
0
0 0 0
 P11
P

1 0 0
12
; P
 P13
0 1 0


0 0 1
 P14
P12
P13
P22
P23
P23
P33
P24
P34
P14 
P24 
.
P34 

P44 
14
0

Xˆ 
;
0

0 
The simulation results:
Substrate S1 evolution: - process and -- estimator
4
3
2
1
Time [h]
0
0
5
10
15
20
25
Figure 8: the substrate S1 concentration (model and estimated variables)
Biomass X evolution: - process and -- estimator
4
3
2
1
Time [h]
0
5
10
15
20
25
Figure 9: the biomass X concentration (model and estimated variables)
Specific absorbtion rate: - process and -- estimator
0.2
0.1
Time [h]
0
0
5
10
15
20
25
Figure 10: the specific absorption rate  (model and estimated variables)
15
Specific growth rate: - process and -- estimator
0.1
0.05
0
-0.05
Time [h]
0
5
10
15
20
25
Figure 11: the specific growth rate  (model and estimated variables)
Case study: extended Kalman filter implementation for state estimation in the case of a
wastewater treatment process
Let us consider the model of the wastewater treatment process given by the equations
(13) – (17). It is assumed that the variables S and DO are measured and the entire state
vector is estimated. The linearized system is the following:
 a11
a
A   21
 a31

 a41
a12
a13
a22
a23
a32
a33
a42
a43
a14 
a24 
a34 

a44 
where
a11    D  (1  r ) , a12   
X  KS
,
S  (KS  S )
X  K DO

, a14  r  D , a21   ,
Y
DO  ( K DO  DO)
  X  KS
  X  K DO
, a24  0 ,
a22  
 D  (1  r ) , a23  
Y  S  (KS  S )
Y  DO  ( K DO  DO)
K 
K    X  KS
, a32   0
,
a31   0
Y
Y  S  (KS  S )
K0    X  K DO
a33  
 D  (1  r )    W , a34  0 , a41  D  (1  r ) ,
Y  DO  ( K DO  DO)
a42  0 , a43  0 , a44   D  (   r )
a13   
0
  X  (1  r )  r  X r

1



 S  (1  r )  Sin
0
 ; G  1
B
  DO  (1  r )  DOin
  ( DOmax  DO )  1 1



0
 X  (1  r )  X r  (   r )

1
0 1 0 0 
C2  
 ; D  0.
0 0 1 0 
16
1 1 1
1 1 1
1 1 1

1 1 1
36
Concentratie substrat [mg/l]
240
220
200
180
0
50
100
150
5
4
3
2
0
50
100
150
34
32
30
28
26
200
200
Concentratie biomasa recirculata [mg/l]
160
Concentratie oxigen dizolvat [mg/l]
Concentratie biomasa [mg/l]
Simulation results:
0
50
100
150
200
0
50
100
150
200
500
450
400
350
300
Timp [h]
Figure 12: The state estimation using extended Kalman filter
(continuous line: process variables, dotted line: estimated variables)
Concentratie substrat [mg/l]
260
240
220
200
180
0
50
100
150
200
250
Concentratie biomasa recirculata [mg/l]
Concentratie oxigen dizolvat [mg/l]
Concentratie biomasa [mg/l]
The program that implements the extended Kalman filter for the wastewater treatment
process is presented in appendix 1. The same algorithm can be used for state and
parameter estimation in the case of a wastewater treatment process. The simulation results
are presented in figure 13:
5.5
5
4.5
4
3.5
3
0
50
100
150
200
250
0.04
35
30
25
20
15
0
50
100
150
200
250
0
50
100
150
200
250
0
50
100
150
200
250
500
450
400
350
300
0.03
Alfa
Miu [1/h]
0.025
0.03
0.02
0.02
0.015
0.01
0
50
100
150
200
0.01
250
Timp [h]
Figure 13: The state and parameter estimation using extended Kalman filter
(continuous line: process variables, dotted line: estimated variables)
17
5. SLIDING-MODE OBSERVER FOR NON-LINEAR PROCESSES
5.1 Theoretical aspects
Let us consider the non-linear process:
x  f ( x)  B( x)u
(91)
y  h( x)
(92)
where x  R n , u  R m , y  R p .
A. Sliding-mode observer for non-linear systems without inputs (free running system)
Firstly the case of a system without inputs ( B( x)  0 ) and with one output ( p  1 ) is
considered. For this system the following notations are used:
H ( x)  [h1 ( x), h2 ( x),...., hn ( x)]T
(93)
where
h1 ( x)  h( x)
hi ( x) 
(94)
hi 1 ( x)
f ( x)
x
(95)
with i  2,...., n .
It can be noticed that hi 1 ( x ) is the i-order Lie derivative of the function h( x) along the
system trajectories, given by the following equation:
hi ( x)  Lif1h( x)
(96)
It is assumed that the functions f ( x) and h( x) have the properties:
1) The functions f ( x) and h( x) are continuous, the partial derivatives exist and they are
also continuous;
2) For a given domain X 0  R n of the initial conditions of the system (91), that is assumed
to be bounded, all the system solutions belong to the domain X 0  R n , for all values of t,
0  t   . It is considered that the Jacobean of H ( x) is non-singular within X :
det
H ( x)

x
(97)
for   0 and any x  X .
For a non-linear system, described by the equations (91) and (92), the following
sliding-mode observer could be written [6]:
1
 H ( x) 
xˆ (t )  
 M ( xˆ )sgn V (t )  H ( xˆ ) 
 x 
(98)
where
V (t )  [v1 (t ), v2 (t ),...., vn (t )]T
(99)
v1 (t )  y (t )
(100)
vi (t )   mi 1 ( xˆ )sgn  vi 1 (t )  hi 1 ( xˆ(t ))  ech , i  2,...., n
(101)
and M is a diagonal matrix of n  n -size, having positive elements:
M ( xˆ )  diag  m1 ( xˆ ),...., mn ( xˆ ) 
(102)
18
Theorem 1: Considering that the assumptions 1 and 2 are satisfied, than for any t1  0 there
is a diagonal matrix M ( xˆ ) so that the observer is convergent for t  t1 [6].
Demonstration: from the limitation of the initial conditions to the region X 0 it results that all
the solutions x(t ) , which start from X 0 are uniformly bounded within every interval of finite
time [0, T ] . The assumption 2 leads to the fact that there is an univocal correspondence from
the domain X in the domain of H ( x) , so that the transformation H is an injective relation. In
these conditions it is sufficient to prove that the modified error e(t )  H ( x(t ))  H ( xˆ (t ))
converges to zero in finite time.
Taking into consideration the equations (91), (92) and (98) the following relation is obtained:
dH ( x(t )) dH ( xˆ (t )) dH ( x(t )) H ( xˆ (t ))
dH ( x(t ))
e(t ) 



 xˆ 

dt
dt
dt
x
dt
(103)
1
H ( xˆ (t ))  H ( x) 
dH ( x(t ))

M ( xˆ )sgn V (t )  H ( xˆ )  
 M ( xˆ )sgn V (t )  H ( xˆ ) 
x  x 
dt
From equations (95) and (103) it results:
ei (t )  hi 1 ( x(t ))  mi ( xˆ )sgn  vi (t )  hi ( xˆ (t ))  , i  1,...., n
If a V1 
(104)
e12
Lyapunov function is chosen and taking into account that v1 (t )  h1 (t ) , it can
2
be written:
V1  e1  (h2 ( x)  m1 ( xˆ)sgn(e1 ))
(105)
If h2 ( x)  m1 ( xˆ ) , than V1  0 and the sliding-mode regime occurs. During the sliding-mode
regime e1 (t )  h1 ( x)  h1 ( xˆ )  0 . Accordingly to the equivalent control method it results e1 (t )  0 ,
that leads to the relation h2 ( x(t ))   m1 ( xˆ )sgn  v1 (t )  h1 ( xˆ (t ))  ech or accordingly to equation
(101), v2 (t )  h2 (t ) . If a V1 
e12 e22
Lyapunov function is chosen, it results

2 2
V1  e1  (h2 ( x)  m1 ( xˆ)sgn(e1 ))  e2  (h3 ( x)  m2 ( xˆ)sgn(e2 ))
(106)
As e1  0 and if h3 ( x)  m2 ( xˆ ) , than V2  0 and the sliding-mode regime occurs, that involves
e2 (t )  h2 ( x)  h2 ( xˆ )  0 .
In the same manner the occurrence of the sliding-mode regime can be proved for all the
components of the estimation error that leads to the conclusion e(t )  0 . The condition for the
occurrence of the sliding-mode regime in equation (104), for every component of the
estimation error is:
hi ( x)  mi 1 ( xˆ )
(107)
with i  2,...., n .
In these conditions through an appropriate choice of M the observer convergence in
finite time t1  T can be obtained.
B. Sliding-mode observer for non-linear systems with inputs
If B( x)  0 , the observer described by equation (108) could be modified without being
affected the convergence properties:
19
1
 H ( x) 
xˆ (t )  
 M ( xˆ )sgn V (t )  H ( xˆ )   B( xˆ )u
 x 
if the following equation is satisfied:
  H ( x)

B ( x)   0

x  x

(108)
(109)
However, the majority of systems as well as the biotechnological ones do not satisfy the
equation (109). Further on, in these conditions, a design method of a sliding-mode observer
for the general case of non-linear system class will be presented.
It is considered the general case of a non-linear system, given by the following equations:
x2  g1 ( x1 , u )
 x1  


 

 x2   x3  g 2 ( x1 , x2 , u ) 



(110)

 

 xn 1   xn  g n 1 ( x1 , , xn 1 , u ) 
 x   f ( x )   g ( x, u ) 
n
n
 n  

where x1 is the measurable state
y  x1
(111)
and gi (, u  0)  0 for any i  1,...., n .
For the non-linear system described by the equations (110) - (111) and taking into
consideration the results obtained in [Dra92a] and [Bar02a] the following sliding-mode
observer is proposed:
 xˆ1  

xˆ2  g1 ( x1 , u )  1 sgn  x1  xˆ1 

 

 xˆ2  
xˆ3  g 2 ( x1 , x2 , u )  2 sgn  x2  xˆ2 


 



 

 xˆ   xˆn  g n 1 ( x1 , x2 , , xn 1 , u )  n 1 sgn  xn 1  xˆn 1  
n 1


 xˆ   f n ( x1 , x2 , , xn )  g n ( x1 , x2 , , xn , u )  n sgn  xn  xˆn  
 n 
where:
(112)
x2  xˆ2  1 sgn  x1  xˆ1 
x3  xˆ3  2 sgn  x2  xˆ2 
xn  xˆn  n sgn  xn1  xˆn1 
and function sgn is filtered with a low pass filter, so that an equivalent command is applied.
Theorem 2: Considering the BIBS (Bounded Input Bounded State) in finite time, described
by the equation (110) and sliding-mode observer (112), than for any initial state and any
bounded input there is a choice of i so that the state of observer x̂ converges in finite time
to x [Bar02a].
The theorem leads to the following condition on the observer parameters:
i 1  ei
max
, i  2,...., n
(113)
n  0
(114)
20
where ei
max
is the value of the maximum estimation error corresponding to the component i
of the observer.
5.2 Non-linear transformation of the coordinates
The majority of non-linear systems are described through the following equations:
x  f ( x)  g ( x)u
y  h( x)
(115)
(116)
The non-linear system (115) can be transformed and brought to the equation (110)
through a non-linear change of coordinates.
Definition 1: Let us consider a change of variable described by the equation:
z  ( x )
(117)
where  ( x) is a R - function of n variables:
n
1 ( x) 
 ( x) 
 ( x)   2 




n ( x) 
(118)
The function  ( x) has the following properties:
1)  ( x) is reversible, so there is the function 1 ( x) so that:
 1 (( x))  x x  R n
(119)
2)  ( x) and 1 ( x) are smooth functions, that means the partial derivatives of any order are
continuous.
Than the equation (117) is a transformation namely diffeomorfism. If the properties 1 and 2
are accomplished in the whole space R n , than the diffeomorfism is global.
The system (115) can be brought to the equation (110) through the following transformation
of coordinates:
 h( x ) 
 L h( x ) 
f

 ( x)  


 n 1

 L f h( x) 
(120)
if the transformation  ( x) is a global diffeomorfism.
The nonlinear system described by equations (91)-(92), having the relative degree   n
can be brought to a form identical to the normal equation (110):
zi  zi 1 , i  1, ,   1


z j  z j 1  Lg Ljf1h  1 ( z )  u , j   ,



, n 1
(121)

zn  Lnf h  1 ( z )  Lg Lnf1h  1 ( z )  u
Case study: State estimation of the wastewater treatment process with activated sludge
-
The process model is determined assuming the following simplified hypothesis:
in the settler there are no reactions between the sludge and organic substances (the level
of substrate is very low in this tank, assuming that it is consumed in the aeration tank);
21
-
the system is considered in a steady-state regime;
the dissolved oxygen concentration is considered as having a much faster dynamics
compared to the other state variables and thus it will has a constant value;
- the recycled biomass is proportional to the biomass ( X r  X  (1  r ) /(   r ) ).
It is considered that the biomass is measured and the substrate is estimated. The
simplified model is described by the following state equations:
1 r
X   t  X t   D t  
X t 
(122)
 r
S 
 t 
Y
 (t )  max
X  t   D  t 1  r  S  t   D  t  Sin
(123)
S (t )
K s  S (t )
(124)
The model can be brought to the form (115)-(116) making the following notations:
 X 
f ( x)    X 


 Y 
(125)
1 r



X 

 r
g ( x) 


 (1  r ) S  Sin 
h( x)  S
(126)
(127)
The Lie derivatives Lif1h( x) , i  0,1, 2 , of the simplified model are calculated:
L0f h( x)  h( x)  S
h( x)
X
f ( x)  
x
Y
L f h( x)
 2 X 2 KS
2 X
L2f h( x) 
f ( x)  
 2
x
Y
Y S (KS  S )
L f h( x) 
They lead to the following state transformation:
 S 
 h( x )  

( x)  
   X 
L
h
(
x
)

f

 
 Y 
The Jacobean of the transformation is calculated:
h( x) 
 h( x)
 0
 X
S  
 
d   ( x)   
 L f h( x) L f h( x)   
 Y
 X
S 
and it has the determinant:
max S
det  d  ( x)   
0,
Y (KS  S )
1

 K S X 

YS ( K S  S ) 
(128)
(129)
for all situations met in practice (always  max  0 and S  0 assumes the lack of the organic
substrate, so the water would be pure). Thus the Jacobean of the transformation (128) is
non-singular and this fact leads to the conclusion that the transformation is a global
diffeomorfism.
22
The Lie derivative Lg L0f h( x) of the simplified model is:
Lg L0f h( x)  Lg h( x) 
h( x)
g ( x)  (1  r )S  Sin
x
As S in  S and taking into account the value of the parameter r , it results that in practice
Lg L0f h( x)  0 . That means the simplified model has the relative degree,  equal to 1.
Taking into account the equations (121), (128) and the Lie derivative values previously
obtained, it results that the transformed system is described by the following equations:
z1  z2  D  Sin  (1  r ) z1 
z2 
max z1 z2
K S  z1

(130)


K S z22
K S z2
1 r
 D   z2 

 Sin  (1  r ) z1  
( K S  z1 ) z1
  r ( K S  z1 ) z1


(131)
In equations (130) and (131) z1 is considered the measurable variable.
The reverse transformation of the system (130)-(131) is the following:
S



x   ( x)  Y ( K S  z1 ) z2 



max z1 
1
(132)
For the transformed system, described by equations (130) and (131), the following
sliding-mode observer is proposed:
zˆ1  zˆ2  D  Sin  (1  r ) z1   1 sgn  z1  zˆ1 
zˆ2 
max z1 z2
K S  z1

(133)


K S z22
K S z2
1 r
 D   z2 

 Sin  (1  r ) z1    2 sgn  z2  zˆ2 
( K S  z1 ) z1
  r ( K S  z1 ) z1


(134)
with: z2  zˆ2  1 sgn  z1  zˆ1  . The values of the components of the vector  are 1  5 and
2  2 . The results obtained with the sliding-mode observer are presented in Figure 14. This
figure shows a fast convergence of the estimated variables to the ones obtained from the
process.
Figure 14: The state estimation of a simplified wastewater treatment process
(continuous line: process variables, dotted line: their estimations)
23
Biomass concentration [mg/l]
Substrate concentration [mg/l]
The effect of chattering in the case of the biomass estimation can also be seen in figure
14. In these conditions the function sign (sgn) will be replaced by the smooth switching
function - hyperbolic tangent (tanh). The results obtained in Figure 15 justify the choice of the
switching function. The observer was also tested in conditions of parametric uncertainties.
Consequently, the specific growth rate of the biomass has been modified with +5%. Figure
16 shows a very good behaviour of the observer. Finally the sliding-mode observer was
tested in the presence of the measurement noise that affects the organic substrate
measurements. Figure 17 shows that the sliding-mode observer eliminates the measurement
noise only in a very small measure. It should be mentioned that the noise influence on the
estimated variable (the biomass) is rather important.
50
40
30
20
10
0
5
10
15
20
25
30
35
0
5
10
15
20
Time [h]
25
30
35
190
180
170
160
150
Biomass concentration [mg/l]
Substrate concentration [mg/l]
Figure 15: The state estimation of a simplified wastewater treatment process in the case of
tanh function use (continuous line: process variables, dotted line: their estimations)
50
40
30
20
10
0
5
10
15
20
25
30
35
0
5
10
15
20
Time [h]
25
30
35
190
180
170
160
150
Figure 16: The sliding-mode observer behaviour in the presence of the parametric
uncertainties (continuous line: process variables, dotted line: their estimations)
24
Substrate concentration [mg/l]
Biomass concentration [mg/l]
50
40
30
20
10
0
5
10
15
20
25
30
35
0
5
10
15
20
Time [h]
25
30
35
200
190
180
170
160
150
Figure 17: The sliding-mode observer behaviour in the presence of the measurement noise
(continuous line: process variables, dotted line: their estimations)
Case study: Sliding-mode observer for state estimation of the lipase producing process
The simplified model of the lipase producing process given by the equations (70) – (72)
and (76) – (77) is considered. It is assumed that the substrate S1 is measurable and all state
variables are estimated.
Observability analysis of the process
The system is linearized around the point e  0 :
    K  Xˆ
M1

 K  Sˆ 2
M1
1



   K M1

2
 K M1  Sˆ1


0



 f ( x) 
A( xˆ )  

 x  x  xˆ
C  0 0 1 .




0


   K M  Y  2  K M  Sˆ2  Sˆ22
2
K
2
M2
 Sˆ2

   K M  Xˆ
K
2
M2
 Sˆ2

2
2

   Sˆ1 
K M1  Sˆ1 



;
0
   aij ( xˆ )  i , j 1,3


   Sˆ2 

K M 2  Sˆ2 

The observability matrix is calculated:
 C
 
0
0
1 


 
O   C  A x   
0
a32  x 
a33  x  
2
C  A2  x    a32  x   a21  x  a32  x    a22  x   a33  x   a33
 x 

2
It results det  O   a32
 x   a21  x   0 , ( X  0 ). In these conditions rang O  3 , so the
system is exponential observable. The model can be brought to the form (115) – (116)
making the following notations:
25
   S1  X



f ( x)    S1     S2  (Y  S 2 ) 
   S2  X

(135)
1 
g ( x)  0 
0 
(136)
h( x)  S1
(137)
The Lie derivatives Lif1h( x) , i  1, 2,3, 4 of the simplified model are:
L0f h( x)  S1
L1f h( x)    S1  X
L2f h( x)    S1  '  S1  X 2   S1    S2  X


L3f h( x)    S1  X  '  S1   '  S1  X 2    S 2  X     S1  ''  S1  X 2 
   S1   '  S2  X   S1     S2 Y  S2      S 2  X  2  S1  '  S1  X    S1    S 2  
where  '  S1  
KM
1
( K M1  S1 ) 2
,  '  S2  
 KM
2
( K M 2  S2 )2
,  ''  S1   
2  K M1
( K M1  S1 )3
.
That leads to the following state transformation:


S1
 h( x )  

 ( x)  

  S1  X


 L f h( x)     S  '  S  X 2    S    S  X 
1
1
1
2


(138)
The Jacobean of the transformation is:
 h( x)

 S1
 L h( x)
f
d   ( x)   
 S1
 1
 L f h( x)
 S1
h( x)
S2
L f h( x)
S2
L1f h( x)
S2
h( x) 

X 
L f h( x) 

X 

L1f h( x) 
X 

1

 '  S1  X


2
2
 '  S1   '  S1  X    S2  X     S1  ''  S1  X

0
0
  S1   '  S 2  X


  S1 


2  S1  '  S1  X    S1    S 2  
(139)
0

2
And it has the determinant det d   ( x)     S1   '  S 2  X  0 , for almost all the
situations met in practice. It results the Jacobean (139) is non-singular, that means the
transformation (x) is a global diffeomorfism.
The Lie derivative Lg L0f h( x) of the simplified model is Lg L0f h( x)  1 .
26
As Lg L0f h( x)  0 , it results the simplified model has the relative degree equal to 1 (   1 ).
The Lie derivatives Lg Lif1h( x) , i  2,3 are
Lg L1f h( x)   '  S1  X
Lg L2f h( x)   '  S1   '  S1  X 2    S 2  X     S1  ''  S1  X 2
The following simplified system is obtained:
z1  z2  F
(140)
z2  z3  '  S1  X  F
(141)


z3    S1  X  '  S1   '  S1  X 2    S2  X     S1  ''  S1  X 2    S1   '  S2  X   S1     S2 Y 

 S2      S2  X  2  S1  '  S1  X    S1    S2    F  '  S1   '  S1  X 2    S2  X     S1  ''  S1  X 2

(142)
where the variables S1, S2 şi X are replaced with the equations given by the reverse
transformation of the system:




z1


2
K

(
z
)
z


'(
z
)
z




M2
1 3
1
2
x   1 ( z )  

2
 ( z1 ) z2    ( z1 ) z3   '( z1 ) z2 


z
 2


 ( z1 )


(143)
For the transformed system described by the equations (140) - (142), the sliding-mode
observer is proposed:
zˆ1  zˆ2  F  1 tanh  z1  zˆ1 
(144)
zˆ2  z3   '  S1  X  F  2 tanh  z2  zˆ2 
(145)


zˆ3    S1  X  '  S1   '  S1  X 2    S 2  X     S1  ''  S1  X 2    S1   '  S 2  X   S1     S 2 Y 

 S 2      S 2  X  2  S1  '  S1  X    S1    S 2    F  '  S1   '  S1  X 2    S 2  X     S1  ''  S1  X 2

 3 sgn  z3  zˆ3 
In which S1  z1 , S2 
and X  
K M 2  ( z1 ) z3   '( z1 ) z22 
(146)
 ( z1 ) z2     ( z1 ) z3   '( z1 ) z22
z2
, with z2  zˆ2  1 tanh  z1  zˆ1  and z3  zˆ3  2 tanh  z1  zˆ1  .
 ( z1 )
For the sliding-mode observer the following values for the parameters  were taken into
consideration: 1  5 , 2  3 and 3  3 . The results obtained through numerical simulation
are presented in Figure 18. The simulation shows that the sliding-mode observer has good
performances; it can be noticed the convergence of the estimated variables to the real ones.
27
5
4.5
4
Concentratie S1[g/l]
3.5
3
2.5
2
1.5
1
0.5
Timp [h]
0
0
5
10
15
20
25
0.3
Concentratie S2 [g/g]
0.25
0.2
0.15
0.1
0.05
0
0
5
10
15
20
25
Timp [h]
10
9
8
Concentratie biomasa [g/l]
7
6
5
4
3
2
1
0
0
5
10
15
20
25
Timp [h]
Figure 18: State estimation of the lipase producing process based on a sliding-mode
observer (continuous line: process variables, dotted line: their estimations)
28
6.
H OBSERVER
Let us consider the dynamic linear system described by the equations:
x(t )  Ax(t )  Bu (t )  D1 w(t )
(147)
y(t )  C2 x(t )  D2 v(t ) (Measurements)
(148)
z(t )  C1 x(t ) (Estimated variable)
(149)
where x  R , y  R , z  R and w(t) and v(t) are vectors of process and measurement noise.
The process noise and the measurement noise are assumed to be white, uncorrelated and
with normal probability distribution.
The filtering problem is to determine an estimation zˆ(t ) of z(t ) using the measures of
n
m
p
variable y at the moment t. The H filter must minimize the cost function [5]:
z
J  sup
wL2  0,  
w
2
2
2
  2 , x 0  0
(150)
2
for a known value of   0 and z (t )  z (t )  zˆ(t ) .
The gain of H filter is similar to the one of Kalman filter, when  has a big value. As long
as  decreases, the filter converges to the optimal H filter.
The estimator equation is:
xˆ (t )  Axˆ (t )  Bu (t )  K  y (t )  C2 xˆ (t ) 
(151)
where K is the filter gain:
K  P  C2T  R1
(152)
In (152) P is the solution of H Riccati equation:


P  P  AT  A  P  P   2  C1  C1T  C2  R 1  C2T  P  D1  Q
(153)
The extended H estimator
Let us consider the non-linear system described by the equations:
x(t )  f ( x(t ), u(t ))  D1w(t )
(154)
y(t )  h( x(t ))  D2 v(t )
(155)
In the case of the non-linear systems the extended H filter is used. It uses the equations
of the linear filter, where the matrices A, B and C2 are obtained by linearizing the non-linear
system around each functioning point [6]:
A( xˆ ) 
f ( xˆ , u )
f ( xˆ , u )
h( xˆ )
; B( xˆ ) 
; C2 ( xˆ ) 
xˆ
u
xˆ
(156)
Case study: The extended H estimator for the lipase producing process
The measured variable is the biomass X and the variables S1, S2 and X are estimated. The
matrices used for the filter implementation are:
D2  0 0 1 ; C1  1 1 1 ; C2  0 0 1 ;
1 0 0
1 
B   0  ; D1  0 1 0
0 0 1
 0 
29
    K  Xˆ
M1

 K  Sˆ 2
M1
1



   K M1
A
2
 K M  Sˆ1
1



0







0


   K M  Y  2  K M  Sˆ2  Sˆ22
2
2
K
M2
 Sˆ2

K M1  Sˆ1 



0



 ˆ
  S 2 
K M 2  Sˆ2 


2
  K M  Xˆ

K
2
M2
 Sˆ2

   Sˆ1 
2
.
The simulation results are presented in figures 19 – 21.
Substrate S1 evolution - process and - - estimation
4.5
4
3.5
3
2.5
2
1.5
1
0.5
0
0
5
10
15
20
25
Time [h]
Figure 19: The substrate S1 concentration (- process and -- estimation)
Substrate S2 evolution - process and - - estimation
0.3
0.25
0.2
0.15
0.1
0.05
0
0
5
10
15
20
25
Time [h]
Figure 20: The substrate S2 concentration (- process and -- estimation)
30
Biomass X evolution - process and - - estimation
4.5
4
3.5
3
2.5
2
1.5
1
0.5
0
0
5
10
15
20
25
Time [h]
Figure 21: The biomass (X) concentration (- process and -- estimation)
The H parameter observer for the lipase producing process
In the case of the process parameter estimation, they can be modeled as integrators
driven by the white noise and augmented to the system states. So that the parameters need
to be estimated are added to the state vector of the system [1]. The new state vector is:
x  t    x1  t    t  
(157)
where x1  t  represents the process states and   t  the process parameters which will be
estimated. The function f  x, t  becomes:
D
f  x, t    f  x, u ,  0  ; D1   x
0
0
D 
(158)
Taking into account the partition of the state vector, the matrix A has the following form:
 f ( xˆ , u ,ˆ)

A
xˆ1

0

f ( xˆ, u,ˆ) 

ˆ


0

(159)
In this case S1 and X are the measured variables and the variables S1, X,  and . are
estimated.
The matrices used for the filter implementation are:
x  t    S1 (t )
0 ˆ  Xˆ

T
0 ˆ
0
X (t )  (t )  (t )  ; A  
0
0 0
0 0
0
0
1 
1

0

ˆ
X
  ; D  0
B

;
1

0
0
0
 

0 
0
0
C1  1 1 1 1 ; C2  1 1 0 0 .
The simulation results are presented in figures 22 and 23.
31
0 0 0
1 0 0
; D2  1 1 0 0 ;
0 1 0

0 0 1
The specific absorption rate - process and - - estimated
0.25
0.2
0.15
0.1
0.05
0
0
5
10
15
20
25
Time [h]
Figure 22: The specific absorption rate () (- process and -- estimation)
The specific growth rate - process and - - estimated
0.2
0.18
0.16
0.14
0.12
0.1
0.08
0.06
0.04
0.02
0
0
5
10
15
20
25
Time [h]
Figure 23: The specific growth rate () (- process and -- estimation)
The adaptive linearized control
From the process analysis the following conclusion can be drawn: a big quantity of lipase
can be obtained if the substrate S1 is controlled to an optimal setpoint from the point of view
of the specialist in biotechnology.
As the process is strong non-linear, the authors does propose an exact linearizing control
structure [Isi89]. A part of parameters are not directly measurable and this is why a state and
parameter estimator is used. The result is an adaptive linearizing control structure.
The linearized command has been calculated according to the algorithm presented in
[Bas90] and it was modified to assure robustness performances with respect to the
parameter uncertainties. The modification consists in adding an integrator term in the
32
equation for the error cancellation. As the relative degree of the model is one, the linearized
command is given by the following equation:




u  t   ˆ  X  1  S1  S1  0   S1  S1 dt
(160)
where S1 is the setpoint for the extracellular substrate and u is the command representing
the inflow substrate (F)
The adaptive linearized control scheme is presented in figure 24:
S1* +
-
Adaptive
Linearized
Controller
u=F
S1
Process
X
State and
parameter
estimator
̂
x
z-1
Figure 24: The adaptive linearized control scheme
The command parameters have been determined by imposing the system poles (1=2 and
0=5). The simulation results of the closed loop system are presented in figures 24 – 27.
Figure 24: Extracellular substrate (process output) S1 and the setpoint (- the measured value
and - - the setpoint)
33
The specific absorption rate - process and - - estimated
0.25
0.2
0.15
0.1
0.05
0
0
2
4
6
8
10
Time [h]
12
14
16
18
20
Figure 25: The specific absorption rate () (- process and - - estimation)
The linearized command (F input flow [g/lh])
3
2.5
2
1.5
1
0.5
0
0
2
4
6
8
10
Time [h]
12
14
16
18
20
18
20
Figure 26: The process command
External lipase [u/ml]
80
70
60
50
40
30
20
10
0
0
2
4
6
8
10
Time [h]
12
14
16
Figure 27: The external lipase evolution
34
Observations:
1. The substrate supply is cancelled when the model exceeds the domain for that it was
validated.
2. Figure 25 presents a case where the specific absorption rate was disturbed.
3. The figure 27 shows that the results (the external lipase) obtained with the adaptive
linearized control strategy are better comparing to the ones from the case when the
system works without control, in batch mode.
7. CONCLUSIONS
The extended Luenberger observer uses an allocation procedure of the poles. It has the
advantage that the observer dynamics can be imposed through the allocation procedure, but
the behaviour in the presence of parametric uncertainties and measurement noise is very
weak.
The sliding-mode observer is a robust one. It is built on the basis on equivalent control
method. The sliding-mode observer rejects the parametric uncertainties and it has a very
good convergence rate. There are two drawbacks of the sliding-mode observer: a weak
behaviour in the presence of the measurement noise and the difficulty of its design (the
complexity of the calculus to bring the non-linear model of the biotechnological process to the
canonic form).
The stochastic observers have good behaviours in the presence of the process and
measurement noise. Thus the extended Kalman filter uses an algorithm for minimizing the
squared estimation error. The calculus of the gain matrix leads to a Riccati differential
equation. The extended Kalman filter has a good convergence rate and it responds well in
the presence of the parametric uncertainties.
A superior performance could be obtained using the extended H  filter. Its design
necessities the insurance of the energetic transfer from the process noise to the estimation
error, smaller then a pre-specified level. That means the solving of the Riccati modified
differential equation.
The parameter estimation is achieved through the extension of the process state,
including in the parameters in the state vector.
Comparing the four observers presented in this work it seems that the extended Kalman
filter offers the best compromise between advantages and drawbacks, regarding the
convergence rate, the behaviour in the presence of the parametric uncertainties and
measurement noise and the implementation difficulty.
35
APPENDIX 1
1. Extended Luenberger observer – State estimation
% Program Princ81.m – Observer implementation
% Extended Luenberger observer
clear all; close all;
x=[5 30 10 35]; % initial conditions of the system
global mium Km omega1 omega2 D Sin;
% the process parameters
mium=0.6; Km=10; D=0.2;Sin=100
h=0.1;% integration step
t0=0;% initial time
tf=15;% final time
t(1)=0; i=1;
% the imposed poles for the observer
lamd1=-5;lamd2=-3;
for m=0.1:h:tf,
% the calculus of the matrix A
a11=mium*x(i,4)/(Km+x(i,4))-D;
a12=mium*Km*x(i,3)/(Km+x(i,4))^2;
a21=-mium*x(i,4)/(Km+x(i,4));
a22=-mium*Km*x(i,3)/(Km+x(i,4))^2-D;
% the calculus of the gain matrix of the observer
omega2=a11+a22-(lamd1+lamd2);
omega1=(-a11*a22+a11*omega2+a21*a12+lamd1*lamd2)/a21;
% the system integration
k1=Ord81(t,x(i,:));
k2=Ord81(t+h/2,x(i,:)+h*k1/2);
k3=Ord81(t+h/2,x(i,:)+h*k2/2);
k4=Ord81(t+h,x(i,:)+h*k3);
x(i+1,:)=x(i,:)+h/6*(k1+2*k2+2*k3+k4);
t(i+1)=m; i=i+1;
end
% the results
subplot(211); hold on;
plot(t,x(:,1),'k');plot(t,x(:,3),'k--');
ylabel('biomass concentration [g/l]')
subplot(212);hold on;
plot(t,x(:,2),'k');plot(t,x(:,4),'k--');
ylabel('substrate concentration [g/l]')
xlabel('Time [h]')
% Program Ord81.m – model and observer equation
function xd=Ord81(t,x);
global mium Km omega1 omega2 D Sin;
% model equations
miu=mium*x(2)/(Km+x(2));
xd(1)=miu*x(1)-D*x(1);
xd(2)=-miu*x(1)+D*(Sin-x(2));
% observer equations
miu1=mium*x(4)/(Km+x(4));
xd(3)=miu1*x(3)-D*x(3)+omega1*(x(2)-x(4));
xd(4)=-miu1*x(3)+D*(Sf-x(4))+omega2*(x(2)-x(4));
36
2. Extended Luenberger observer – State and parameter
estimation
% Program Princ82.m – parameter observer based on a state estimator
clear all; close all;
x=[5 30 7 33 0.6];% initial conditions of the system
h=0.1;% integration step
t0=0;% initial time
tf=15;% final time
t(1)=0; i=1;
for m=0.1:h:tf,
% system integration
k1=Ord82(t,x(i,:));
k2=Ord82(t+h/2,x(i,:)+h*k1/2);
k3=Ord82(t+h/2,x(i,:)+h*k2/2);
k4=Ord82(t+h,x(i,:)+h*k3);
x(i+1,:)=x(i,:)+h/6*(k1+2*k2+2*k3+k4);
t(i+1)=m;
i=i+1;
end
% ploting the results
subplot(311); hold on;
plot(t,x(:,1),'k'); plot(t,x(:,3),'k--');
ylabel('biomass concentration [g/l]')
subplot(312);hold on;
plot(t,x(:,2),'k');plot(t,x(:,4),'k--');
ylabel('substrate concentration [g/l]')
subplot(313);hold on;
miu=mium*x(:,2)./(Km+x(:,2));
plot(t,miu,'k'); plot(t,x(:,5),'k--');
ylabel('biomass growth rate [1/h]'); xlabel('Timp [h]')
% Program Ord82.m – model and observer equations
function xd=Ord82(t,x);
% process parameters
mium=0.6; Km=10; D=0.2; Sin=100;
omega1=8;omega2=5;gama1=0.5;gama2=0.05;
% model equations
miu=mium*x(2)/(Km+x(2));
xd(1)=miu*x(1)-D*x(1);
xd(2)=-miu*x(1)+D*(Sin-x(2));
% observer equations
xd(3)=x(5)*x(3)-D*x(3)+omega1*(x(1)-x(3));
xd(4)=-x(5)*x(3)+D*(Sf-x(4))+omega2*(x(2)-x(4));
xd(5)=gama1*x(3)*(x(1)-x(3))-gama2*x(3)*(x(2)-x(4));
37
3. Extended Kalman filter
% Program Princ91.m – extended Kalman filter
% clear all;close all;
x=[4 0 0.5 0 0 0 0 0 0 4 0.1 0.7];% initial conditions
% process parameters
global Q R w v i omega1 omega2 omega3 a11 a12 a13 a21 a22 a23 a31
a32 a33 mius etas Y F Km2 Km1;
mius=0.25; etas=0.21; Y=1.16; F=0; Km2=0.25; Km1=0.11;
h=0.1;% integration step
t0=0; tf=25;% initial and final time
t(1)=0; i=1;
% process and measure noise
w=0.015*randn(1/h*tf+1,1); v=0.03*randn(1/h*tf+1,1);
Q=(std(w)^2); R=(std(v)^2);
for m=0.1:h:tf,
P=[x(i,4) x(i,5) x(i,6);x(i,5) x(i,7) x(i,8); x(i,6) x(i,8)
x(i,9)];% definire matrice P
C=[0 0 1];% the vector of mesurable variables
omega=P*C'*inv(R);
omega1=omega(1);omega2=omega(2);omega3=omega(3);
%the linearized system
a11=(-1)*((etas*Km1*x(i,12))/((Km1+x(i,10))^2));
a12=0; a13=(-1)*((etas*x(i,10))/(Km1+x(i,10)));
a21=(etas*Km1)/((Km1+x(i,10))^2);a22=-mius*(Km2*Y+
+2*Km2*x(i,11)+(x(i,11)^2))/((Km2+x(i,11))^2);
a23=0; a31=0; a32=(mius*Km2*x(i,12))/((Km2+
+x(i,11))^2); a33=(mius*x(i,11))/(Km2+x(i,11));
% system integration
k1=Ord91(t,x(i,:));
k2=Ord91(t+h/2,x(i,:)+h*k1/2);
k3=Ord91(t+h/2,x(i,:)+h*k2/2);
k4=Ord91(t+h,x(i,:)+h*k3);
x(i+1,:)=x(i,:)+h/6*(k1+2*k2+2*k3+k4);
t(i+1)=m; i=i+1;
end
% ploting the results
subplot(311);
plot(t,x(:,1),’k’);hold on; plot(t,x(:,10),'k--');xlabel('Time,[h]');
ylabel('S1 Concentration; model and estimation,[g/l]');
subplot(312);
plot(t,x(:,2),’k’);hold on; plot(t,x(:,11),'k--'); xlabel('Time,
[h]'); ylabel('S2 Concentration; model si estimat,[g/g]');
subplot(313);
plot(t,x(:,3),’k’);hold on; plot(t,x(:,12),'k--'); xlabel('Timp,
[h]'), ylabel('Concentratia biomasa model and estimation, [g/l]');
% Program Ord91.m – differential equations
function xd=Ord61(t,x);
global Q R w v i omega1 omega2 omega3 a11 a12 a13 a21 a22 a23 a31
a32 a33 mius etas Y F Km2 Km1;
% process equations
xd(1)=-(etas*x(1))/(Km1+x(1))*x(3)+F+w(i);
xd(2)=(etas*x(1))/(Km1+x(1))-(mius*x(2))/(Km2+x(2))*(Y+x(2))+w(i);
xd(3)=(mius*x(2))/(Km2+x(2))*x(3)+w(i);
38
% Riccati equation
xd(4)=2*a11*x(4)+2*a13*x(6)-Q*x(6)^2+R;
xd(5)=a11*x(5)+a13*x(8)+a21*x(4)+a22*x(5)-Q*x(6)*x(8);
xd(6)=a11*x(6)+a13*x(9)+a32*x(5)+a33*x(6)-Q*x(6)*x(9);
xd(7)=2*a21*x(5)+2*a22*x(7)-Q*x(8)^2+R;
xd(8)=a21*x(6)+a22*x(8)+a32*x(7)+a33*x(8)-Q*x(8)*x(9);
xd(9)=2*a32*x(8)+2*a33*x(9)-Q*x(9)^2+R;
%definire eroare de estimare
e=x(3)-x(12)+v(i);
% extended Kalman filter equations
xd(10)=-etas*x(10)*x(12)/(Km1+x(10))+F+omega1*e;
xd(11)=etas*x(10)/(Km1+x(10))mius*x(11)*(Y+x(11))/(Km2+x(11))+omega2*e;
xd(12)=mius*x(11)*x(12)/(Km2+x(11))+omega3*e;
% Program Princ101.m – extended Kalman filter
% state estimation in the case of a wastewater treatment process
clear all;close all;
% process parameters
global k11 k12 k21 k22 k31 k32 k41 k42 w v i Y D W r beta alfa Kdo
miumax Ks K0 DOmax Sin DOin
% initial conditions
x=[210 30 5 320 180 35 4 340];
% initial and final simulation time
t0=0; tf=200;
t(1)=0;
h=0.1;% integration time
i=1;
% noise genereting
w=0.075*randn(10*tf,1); v=.02*randn(10*tf,1);
% the calculus of the covariance matrix
Q=eye(4)*(std(w)^2); R=eye(2)*(std(v)^2);
% system matrices (G1, C2 si D)
G1=ones(4); C2=[0 1 0 0; 0 0 1 0]; D=zeros(2,6);
for m=.1:h:tf,
% define the functioning point
X_bar=x(i,5);S_bar=x(i,6);C_bar=x(i,7);Xr_bar=x(i,8);
% calculus of the matrix A in the functioning point
miu_bar=miumax*C_bar*S_bar/((Ks+S_bar)*(Kc+C_bar));
A=[miu_bar-D*(1+r)
miu_bar*X_bar*Ks/S_bar/(Ks+S_bar)
miu_bar*X_bar*Kdo/DO_bar/(Kdo+DO_bar) D*r;
-miu_bar/Y
-miu_bar*X_bar*Ks/Y/S_bar/(Ks+S_bar)-D*(1+r)
miu_bar*X_bar*Kdo/Y/(Kdo+DO_bar) 0;
-K0*miu_bar/Y
-K0*X_bar*miu_bar*Ks/Y/S_bar/(Ks+S_bar)
K0*X_bar*miu_bar*Kdo/Y*/DO_bar/(Kdo+DO_bar)-D*(1+r)-alfa*w 0;
(1+r)*D 0 0 -(beta+r)*D];
% calculus of the matrix B in the functioning point
B=[-X_bar*(1+r)+r*Xr_bar 0;
Sin-(1+r)*S_bar 0;
DOin-(1+r)*DO_bar alfa*(DOmax-DO_bar);
(1+r)*X_bar-(beta+r)*Xr_bar 0 ];
% linear system generating
sis=ss(A,[B G1],C2,D);
% call Matlab procedure - kalman
39
[Sest,K,P]=kalman(sis,Q,R);
% calculus of the gain matrix
k11=K(1,1); k12=K(1,2); k21=K(2,1); k22=K(2,2);
k31=K(3,1); k32=K(3,2); k41=K(4,1); k42=K(4,2);
% system integration
kh1=Ord101(t,x(i,:));
kh2=Ord101(t+h/2,x(i,:)+h*kh1/2);
kh3=Ord101func1(t+h/2,x(i,:)+h*kh2/2);
kh4=Ord101(t+h,x(i,:)+h*kh3);
x(i+1,:)=x(i,:)+h/6*(kh1+2*kh2+2*kh3+kh4);
t(i+1)=m;
i=i+1;
end
% ploting the results
figure(1);
subplot(221); hold on;
plot(t,x(:,1),'k'); plot(t,x(:,5),'k--'); grid;
ylabel('biomass concentration [mg/l]');
subplot(222);
plot(t,x(:,2),'k');hold on;
plot(t,x(:,6),'k--'); grid;
ylabel('substrate concentration [mg/l]')
subplot(223);
plot(t,x(:,3),'k'); hold on;
plot(t,x(:,7),'k--'); grid;
ylabel('dissolved oxygen concentration [mg/l]')
subplot(224);
plot(t,x(:,4),'k'); hold on;
plot(t,x(:,8),'k--'); grid; xlabel('Timp [h]')
ylabel('recycled biomass concentration [mg/l]')
%Program Ord101.m – differential equations
function xd=Ord101(t,x);
% parameters
global k11 k12 k21 k22 k31 k32 k41 k42 w v i Y D W r beta alfa Kdo
miumax Ks K0 DOmax Sin DOin
r=0.6;beta=0.2;alfa=0.018;Kdo=2;DOmax=10;miumax=0.15; Y=0.65;Ks=100;
K0=0.5;Sin=200;DOin=0.5;D=1/20;W=40;
% process equations
miu=miumax*(x(2)/(Ks+x(2)))*(x(3)/(Kdo+x(3)));
xd(1)=miu*x(1)-D*(1+r)*x(1)+r*D*x(4)+w(i);
xd(2)=-miu*x(1)/Y-D*(1+r)*x(2)+D*Sin+w(i);
xd(3)=-K0*miu*x(1)/Y-D*(1+r)*x(3)+alfa*W*(DOmax-x(3))+D*DOin+w(i);
xd(4)=D*(1+r)*x(1)-D*(beta+r)*x(4)+w(i);
% extended Kalman filter equations
miu11=miumax*(x(6)/(Ks+x(6)))*(x(7)/(Kdo+x(7)));
xd(5)=miu11*x(5)-D*(1+r)*x(5)+r*D*x(8)+k11*(x(2)x(6)+vv(i))+k12*(x(3)-x(7)+vv(i));
xd(6)=-miu11*x(5)/Y-D*(1+r)*x(6)+D*Sin+k21*(x(2)x(6)+v(i))+k22*(x(3)-x(7)+v(i));
xd(7)=-K0*miu11*x(5)/Y-D*(1+r)*x(7)+alfa*W*(DOmaxx(7))+D*DOin+k31*(x(2)-x(6)+v(i))+k32*(x(3)-x(7)+v(i));
xd(8)=D*(1+r)*x(5)-D*(beta+r)*x(8)+k41*(x(2)-x(6)+v(i))+k42*(x(3)x(7)+v(i));
40
APPENDIX 2
THEORETICAL ASPECTS OF THE SLIDING-MODE CONTROL
Sliding-mode control is a particular case of the variable structure systems. It is
characterized through a continuous switching with an infinity frequency theoretically
speaking. The purpose is to direct the state trajectories of the controlled system to a prespecified surface and to maintain the state trajectories on it. The design of the sliding-mode
control needs two steps [Sel01]: in the first step the switching surface is designed, so that the
system dynamics has a desired behaviour on the surface (stability, tracking etc.); the second
step a command that leads the system to the switching surface is designed. This command
must maintain the system on this surface.
Let us consider the non-linear system class:
x(t )  f  x, t   g ( x, t )u( x, t )
(A1)
Where x(t ) is the n -dimensional state vector, u is the m -dimensional command vector and
the functions f and g are continuous, with derivatives of x continuous and bounded.
A n  m dimensional switching surface is associated to the system (A1):


S  ( x, t  R n  R /  ( x, t )  0
(A2)
where:
 ( x, t )   1 ( x, t )  2 ( x, t ) ....  m ( x, t )   0
T
(A3)
If the functions  i , i  1,...., m not depends of time, than the n  m dimensional surface is
determined in the state space R n as the crossing of the m - dimensional surfaces
 i ( x, t )  0 . The surfaces are designed so that the system will have a desired behaviour on
the state trajectories constrained to  ( x, t )  0 .
After the switching surface is chosen the controller is determined as:
ui ( x, t ), for i  0
ui ( x, t )   
ui ( x, t ), for i  0
(A4)
where ui ( x, t ) is a component of the command vector
u ( x, t )  u1 ( x, t ) u2 ( x, t ) .... um ( x, t )  .
T
The command u ( x, t ) is not defined on the switching surface and outside to this surface
the values u i , u i are chosen so that the vectors of the tangents to the state trajectories to
be directed to the switching surface, so that the system states to be lead and maintained on
the switching surface [Sel01].
Sliding regimes
The command u ( x, t ) is designed so that the state trajectories are attracted by the
switching surface and they have to remain on it. As a consequence it can be considered that
the state trajectories slide on the surface and the system is in a sliding regime. If there is a
sliding regime, than S is called sliding surface [Utk99]. There is an ideal sliding regime when
the state trajectories of the controlled system satisfy the condition  ( x, t )  0 for t  t1 ,
where t1 represents the moment when the state trajectories cross for the first time the sliding
41
surface. Theoretically, the ideal regime needs a switching with an infinitely frequency. In real
cases the switching is achieved with a finite frequency due to delays, hysteresis etc. In these
conditions the state oscillates in the neighborhood of the switching surface. This oscillation
phenomenom names chattering. Figure A1 shows the sliding phenomenom and the

chattering for a sliding regime obtained in the case of a tracking problem, x  x . From any
initial condition the state trajectories cross the surface in finite time then they slide along the

surface to x .
y
chattering
x (t )
( x0 , t0 )
y
 0
Figure A1
Existence conditions of the sliding regimes
The existence of the sliding regime needs the stability of the state trajectories on the
switching surface  ( x, t )  0 . It assumes that after a finite time t1 , the system state x(t ) be
in a neighborhood of the surface S
 x(t ) /  ( x, t )
   , for   0 . From the point of view of
geometrical representation of the movement, the trajectories from the neighborhood of the
crossing of the discontinuity  i are of interest, so that if a small deviation appears the state
vector will comeback to the crossing [Sel01].
Definition A1: [Utk78] In the n - dimensional space of the system (A1), a n  m
dimensional domain  , that belongs to the crossing of the discontinuous surfaces defined by
the equations (A2)-(A3), names sliding regime domain if for   0 ,   0 so that any
trajectory initiated in the n -dimensional neighborhood -  of  can leaves the n dimensional neighborhood -  of  only through the n -dimensional neighborhood -  of
the margins of  .
The definition A1 isolates a generally time variable domain of the system coordinates, so
that for the protection of the entire movement in the m - dimensional subspace  1 , ...,  m
the origin is a point of stable equilibrium [Sel01]. Due to the fact that the stability of the
sliding-mode regime can be rewritten in classic terms of the non-linear system stability, a
stability theorem of Lyapunov type could be proposed for the determining of the domain of
the sliding regime.
Theorem A1: [Utk78] In order that the n  m dimensional domain  be a sliding regime
domain is sufficient that in any n – dimensional domain    be a continuous and
differentiable function V (t , x,  ) with respect to variables t, x and , and satisfies the
conditions:
1) V (t , x,  ) is positive defined with respect to  , that is for t and x arbitrary chosen,
V (t , x,  )  0 when   0 and V (t , x, 0)  0 ; on the sphere     0 , for all x and
t the following relations are satisfied:
42
inf V (t , x,  )  h , h  0
 
sup V (t , x,  )  H  , H   0
 
where h and H  depends only on  with h  0 when   0 .
2) The time derivative of the function V (t , x,  ) along the system trajectories (A1) has
negative supremum for all x except those from the switching surface where the
command is not defined and the derivative of the function V (t , x,  ) does not exist.
Sliding regime control structure
In the second step of the control system design in sliding-mode regime, for the
determining of the command law so that the state trajectories be directed to the sliding
surface and remain there, a Lyapunov approach is used. For the non-linear system
described by equation (A1) a squared Lyapunov function can be used:
V (t , x,  )   T ( x, t )  P   ( x, t )
(A5)
where P is a symmetric positive-defined matrix.
Theorem A2: [Utk78] A sufficient condition in order that the switching surface (A2) be
globally attractive is the command law u ( x, t ) be chosen so that the time derivative of the
Lyapunov function V  0 , that means V (t , x,  ) be negative-defined.
Theorem A2 is the start point for defining some control structures in sliding-mode regime
such as: relay command law with constant gain, relay command law with gain depending on
state, command law with state continuous linear feedback etc.
The equivalent control method
Let us consider the non-linear system (A1) rewritten in the general form:
x(t )  f  x, t   g ( x, t )u ( x, t )  f  x, t , u 
(A6)
and it assumes that there is a sliding-mode regime on a surface of (A3) type:
 ( x, t )   1 ( x, t )  2 ( x, t ) ....  m ( x, t )   0
T
(A7)
A continuous command can be defined so that for the case of an initial position of the
state vector on this surface, the time derivative of  ( x ) along the state trajectories of the
system (A6) is null:
    f  x, t , u   0
(A8)
where  is the gradient of the function  , that is a m n dimensional matrix that has as
lines the gradients of the functions  i , i  1,...., m .
Let assume that there is a solution of the equation (A8) with respect to the command.
This solution, named the equivalent command uech ( x, t ) , is used instead of the command u
in (A6) [Sel01]:
x(t )  f  x, t , uech ( x, t ) 
(A9)
It can be noticed that a movement initiated in   x(t0 )   0 , due to the condition (A8), will
43
determine the remaining on the trajectories from  ( x)  0 . This procedure of the command
design is called the equivalent control method and the equation (A9) obtained as a result of
applying this method could be considered as an equation in sliding-mode regime that
describes the movement in the crossing of the discontinuous surfaces  i ( x)  0 . The
equivalent control method involves the replacement of the discontinuous command of (A2)
type with an equivalent command that directs the tangents of the state vector to the crossing
of the discontinuity surfaces.
If the non-linear system (A1) is linear with respect to the command, the general
equivalent command (A8) could be rewritten:
    f ( x, t )    g ( x, t )  u  0
(A10)
If it is considered that the m m dimensional matrix   g ( x, t ) is non-singular for all x
and t , the equivalent command can be calculated from the equation (A10):
uech ( x, t )     g ( x, t )    f ( x, t )
1
(A11)
Replacing the command (A11) in (A1) the equivalent dynamics of the system on the
sliding surface is obtained:
x(t )  f  x, t   g ( x, t )   g ( x, t )    f ( x, t )
1
(A12)
Observation: A physical interpretation can be given to the equivalent command [Utk78],
[Dra95]. A real sliding command includes a slow component to which a fast component is
added. The behaviour of the controlled process, view as a dinamic object is determined by
the slow component, the process response to the fast component being negligible. The
equivalent control method asks for the replacement of the real command with a continuous
function uech that does not contain fast components. The equivalent command is obtained
using a low-pass filter that has a time constant small enough to allow the passing of the slow
component (that is the equivalent command), but sufficiently big to eliminate the high
frequency component.
44
APPENDIX 3
NON-LINEAR TRANSFORMATIONS OF COORDINATES
Generally, the non-linear systems are described by the following equations:
x  f ( x)  g ( x)u
(A13)
y  h( x )
(A14)
The non-linear system (A13) can be brought to the form (110) using a non-linear
transformation of coordinates.
Definition A2: Let us consider a change of variable:
z   ( x)
(A15)
where ( x) is a R n - function of n variables:
1 ( x) 
 ( x) 
 ( x)   2 




n ( x) 
(A16)
The transformation z  ( x) has the following properties:
1) ( x) is reversible, that means there is the function  1 ( x) so that:
 1 (( x))  x, x  R n
(A17)
2) ( x) and  1 ( x) are smooth applications, that is the partial derivatives of any degree are
continuous.
Thus the transformation (A15) names diffeomorfism. If the properties 1 and 2 are
achieved in the entire space R n , than the diffeomorfism is global. The system (A13) can be
brought to the form (110) through the following transformation of coordinates:
 h( x ) 
 L h( x ) 
f

 ( x)  


 n 1

 L f h( x) 
(A18)
with the condition that the transformation ( x) be a global diffeomorfism.
Definition A3: The system (A13)-(A14) has the relative degree  in a point x0 if:
1) Lg Lkf h( x)  0, x dintr-o vecinatate a lui x0 si k   1
2) Lg Lf 1h( x0 )  0
The non-linear system (A13)-(A14), having the relative degree   n can be brought to
the following form, identical to the normal form (110):
zi  zi 1 , i  1,
, 1
z j  z j 1  Lg Ljf1h   1 ( z )   u , j   ,
zn  Lnf h   1 ( z )   Lg Lnf1h   1 ( z )   u
45
, n 1
(A19)
APPENDIX 4
THEORETICAL ASPECTS REGARDING H  NORM
Definition A4: For a signal v (t ) defined for t  0 , the norm L2 of the signal is the square
root of the integral of v(t )2 :

v
2
 (  v(t ) 2 dt )1 / 2
(A20)
0
A physical interpretation of the norm L2 is the following: v
2
2
is proportional with the total
energy associated to the signal v (t ) .
Accordingly to the definition of the Laplace transformation:

V (s)   v(t )e st dt
(A21)
0
Similar to the equation (A20), the norm L2 of the signal expressed in the Laplace form on
the imaginary axis V ( s ) is:
V
2
 1
 
 2

V ( j d 

1/ 2
2
(A22)
Accordingly to the Parceval theorem, the norms L2 in the time domain and in the
frequency domain are equal [Toi98]:
v2V
(A23)
2
The norm L2 is a particular case of the norm L p , that defined by the equation (A24):
v
p


p
   v(t ) dt 
0

1/ p
, p 1
(A24)
The norm Lp can be also defined in the Laplace domain, similar to the equation (A22) but
there is not a relation corresponding to the Parceval theorem for p  2 . If p   , the norm
L p tends to the norm  or norm L , that can be defined as follows:
v

 max v(t )
(A25)
t
assuming that a maximum does exist. Generally the existence of a maximum cannot be
guaranteed in the equation (A25) so it is correct to define the norm L as the supremum of
the absolute value [Gre95]:
v

 sup v(t )
(A26)
t
Similar the norm L can be defined in the Laplace domain:
V

 sup V ( j )
(A27)

Let us consider a linear monovariable system having the transfer function G ( s ) . The
46
norm H  of the system is defined by the equation (A28):
G
 sup G ( j

(A28)

G( j ) represents the gain of frequency  of the system. The physical interpretation of
the norm H  of a system is the following: the norm H  is a measure of the biggest factor
with that the system amplifies any input sinusoidal signal.
Let us consider a signal v (t ) with the Laplace transformation V ( s ) , so that the norm L2
given by the equation given de (A20) or (A22) be bounded. In these conditions the output of
the system Y ( s )  G ( s ) V ( s) has the norm L2 , given by the equation (A22), bounded by
G  V
2
[Toi98]:
G V
2
 G  V
(A29)
2
That involves:
G


G V
V
2
, forV  0
(A30)
2
The norm H  has the following form:
G

 G V

 sup 

 V 2
2


, V  0


(A31)
Thus the norm H  gives the maximum factor through which the system amplifies the
norm L2 of any input, or, in other words, it is the maximum energy transfer from the input to
the output. Therefore G

is called the system gain.
Let us consider a multivariable system, having the transfer matrix of p  m order. The
norm H  of the transfer matrix G ( s ) is defined as follows:
G

 sup G( j
(A32)

where G( j ) is the maximum gain of G at the frequency  and it is given by the equation
(A33):
 G ( j )  v

G ( j  max 
, v  0, v  R m 
v 
v


(A33)
where v is the Euclidian norm of a complex vector v  v1 ,, vm   R m :
T

v  v1  ....  vm
2

2 1/ 2
(A34)
It can be proved that the norm of the matrix G ( j ) , G( j ) , is equal to the maximum
singular value   G( j )  of the matrix G ( j ) [Zho98]. It results that the norm H  of a
multivariable system can be written as follows:
G

 sup   G ( j ) 
(A35)

47
REFERENCES
1)
[Bar04] Barbu, M., Caraman, S., Mirea, S., Adaptive Linearizing Control Using a H
Estimator for Lipase Producing Process, 8th International Symposium on Automatic
Control and Computer Science, SACCS 2004, Romania, Proceedings CD-ROM,
2004.
2)
[Bat02] Barbot, J.P., Djemai, M. And Boukhobza, T., Sliding Mode Observers, In:
Sliding Mode Control in Engineering, Editors: W. Perruquetti and J.P. Barbot, Marcel
Dekker Inc., 2002.
3)
[Bas90] Bastin, G., Dochain, D., On-line Estimation and Adaptive Control of
Bioreactors, Elsevier, 1990.
4)
[Car02] Caraman S., Ceangă E., Frangu L., Mencinicopschi Gh., Modelling and
control of biotechnological processes, Ed. Didactică şi Pedagogică, Bucharest,
Romania, 2002.
5)
[Dra92] Drakunov, S., Sliding Mode Observers Based on Equivalent Control Method,
Proceedings of the 31st IEEE Conference on Decision and Control (CDC), Tucson,
Arizona, Pp. 2368-2369, 1992.
6)
[Dra95] Drakunov, S., Utkin, V.I., Sliding Mode Observers. Tutorial, Proceedings of
the 34th IEEE Conference on Decision and Control (CDC), New Orleans, Pp. 33763378, 1992.
[Gau92] Gauthier, J.P., Hammouri, H., Othman, S., A Simple Observer for Nonlinear
Systems. Applications to Bioreactors, IEEE Trans. on Automatic Control, Vol. 37, No.
6, Pp. 875-880, 1992
7)
8)
[Isi89] Isidori, A., Nonlinear Control Systems: An Introduction, 2nd Edition, Springer,
1989.
9)
[Lew86] Lewis, F., “Optimal Estimation with an Introduction to Stochastic Control
Theory”, John Wiley & Sons, Inc.
10) [Nej99] Nejjari, F., et al., Non-linear multivariable adaptive control of an activated
sludge wastewater treatment process, International Journal of Adaptive Control and
Signal Processing, Vol. 13, Issue 5, Pp. 347-365, 1999.
11) [Sel01] Selişteanu, D., Modelling and control of bioreactors, Ed. Universitaria,
Craiova, 2001, Romania.
12) [Slo87] Slotine, J., Hedrick, J.K., Misawa, E.A., On sliding observers for nonlinear
systems, Journal of Dynamic Systems, Measurement and Control, Vol. 109, Pp. 245252, 1987.
13) [Toi98] Toivonen, H.T., Advanced Control Methods, Εbo Akademi University, Finland,
1998.
14) [Utk78] Utkin, V.I., Sliding regimes and their applications in variable structure
systems, MIR Publishers, Moscow, 1978.
15) [Utk99] Utkin, V., Guldner, J., Shi, J., Sliding Mode Control in Electromechanical
Systems, Taylor&Francis, 1999.
16) [Zho98] Zhou, K., Doyle, J.C., Essential of Robust Control, Prentice Hall, 1998.
48