Professional Documents
Culture Documents
www.elsevier.com/locate/automatica
Brief paper
Received 3 June 2005; received in revised form 8 February 2006; accepted 29 May 2006
Available online 8 September 2006
Abstract
In this paper, a state and unknown input delayed estimator is designed for discrete-time linear systems even if some well-known matching
condition does not hold. This result is obtained using a constructive algorithm that analyzes the state observability and the left invertibility of
the systems with unknown inputs and that provides a suitable canonical transformation for the design of the estimator.
2006 Elsevier Ltd. All rights reserved.
Keywords: Discrete-time linear systems; Unknown inputs; State observation
1. Introduction
In many applications like fault detection and identication,
cryptography or parameter identiability, the design of observers for linear systems with unknown inputs is of paramount
importance and lots of works can be found in the literature
(see e.g. Darouach, Zasadzinski, & Xu, 1994; Hou & Mller,
1991; Kudva, Viswanadham, & Ramakrishna, 1980; Norton,
1985, and the references therein). While most observer design
methods were developed for continuous-time systems, little
attention has been paid to the discrete-time case. However,
while in discrete time the delayed outputs play a similar
role as the output derivatives in continuous-time systems,
they are much easier to obtain. Furthermore, it is important
to mention that a discrete-time estimator can be used for
discrete-time system but also for systems under sampling. In
that case, the order of approximation is an important question and some time derivatives of the unknown inputs may
appear. One can refer to the works of Diop, Grizzle, and
Ibrir (1999) or Kang (2006). In the latter reference, Kang,
using sampling, overcame some observability bifurcations
A preliminary version of this article was presented at the 2005 IFAC
World Congress, Prague. This paper was recommended for publication in
revised form by Associate Editor Tongwen Chen under the direction of Editor
Ian Petersen.
Corresponding author. Tel.: +33 3 20 67 60 13; fax: +33 3 20 33 54 18.
E-mail address: thierry.oquet@ec-lille.fr (T. Floquet).
0005-1098/$ - see front matter 2006 Elsevier Ltd. All rights reserved.
doi:10.1016/j.automatica.2006.05.030
(1)
(2)
1884
and Chen & Patton, 1999; Darouach et al., 1994; Hou & Mller,
1991 for its continuous-time counterpart) or stochastic systems
(Darouach, Zasadzinski, & Boutayeb, 2003; Hou & Patton,
1998; Saberi, Stoorvogel, & Sannuti, 2000). Note that most of
these papers deal with the case where the unknown inputs do
not affect the outputs, i.e. E=0. It is also worth noticing that the
same conditions are required for the design of asymptotically
stable sliding mode observers.1
The main contribution of this work is to relax the matching condition (3) usually required in previous approaches and
to introduce an estimator that allows for the recovery of both
state and unknown inputs after a nite number of sampling
intervals.2 In Jin, Tahk, and Park (1997), an observer was
also designed for discrete-time systems that do not satisfy the
matching condition, but without unknown inputs in the measurement, i.e. E = 0. In this paper, we introduce a constructive algorithm in order to analyze if the system is nite-time
observable and left invertible with sampling delays. This algorithm computes some auxiliary variables unaffected by the
unknown inputs. They lead to a change of coordinates that
transforms the original system into a block observable triangular form well suited to design a so-called delayed estimator
(this approach can be extended to the continuous-time case by
using nite-time sliding mode observers, Floquet & Barbot,
2004). This estimator has good properties such as simplicity of
design and nite-time convergence after a minimum number of
sampling intervals. Furthermore, there is no assumption on the
boundedness of the unknown inputs as it is usually required
for continuous-time problems. However, no ltering function
is included in this kind of observer and it introduces delays
which can be prejudicial in practice (in control scheme or, for
example, in fault detection and isolation problems, Gu & Poon,
2003). Nevertheless, these are not real constraints in applications such as ciphering and deciphering using chaotic synchronization (Barbot, Belmouhoub, & Boutat-Baddas, 2003; Lilge,
1999) or off-line diagnostic with pre-ltering.
(a) Without loss of generality, one can reorder the components of y 1 as follows:
y 1 = [(C11 )T (C11 )T (C11 +1 )T (Cp11 )T ]T x,
where C11 , . . . , C11 satisfy for all j 1
Cj1 Ak D = 0
for all k N
(4)
and where C1 +1 , . . . , Cp11 are such that for 1j p1 1 ,
1
there exists an integer rj1 such that
C11 +j Ak D = 0
C11 +j Arj 1 D = 0
1
(5)
r1
Cp11 , . . . , Cp11 A p1 1
(Cp11 )T (Cp11 A
1p1 1 1 T T
) ] .
0E
C 1 Ar11 1 D
+1
1 = 1 .
..
1
r
1
Cp11 A p1 1 D
and note d1 = rank 1 . If d1 < p1 1 , one can nd a matrix
1 Rp2 (p1 1 ) , where p2 =p1 1 d1 , such that 1 1 =0.
Dene the ctitious output
C0
C2
1
1
C1 +1 Ar1
1
.. .
2
2
xC
x,
C
=
y 2 = 1
..
.
.1
2
C
r
p2
Cp11 A p1 1
Note that C 2 is not necessarily full rank.
Then dene the integers 2j , 1 j 2 and the matrix I2 such
1
that M
has rank 1 + 1 + 2 . If 1 + 1 + 2 = n, the
I2
algorithm is stopped.
(c) By analogy with Iteration 1(c), one can dene the
set 2 and the matrix D2 and the related integers 2 and
(21 , . . . , 2p2 2 ). The algorithm is stopped if 1 + 1 + 2 +
2 = n or if 1 + 1 + 2 + 2 < n and D2 = .
(d) Dene the matrix
1
2
C2 +1 Ar1 1 D
2
2 =
..
.
rp2 1
2
Cp2 A 2 2 D
and note d2 =rank 2 . If d2 < (p1 1 )+(p2 2 ), one can nd
a matrix 2 Rp3 ((p1 1 )+(p2 2 )) , where p3 = (p1 1 ) +
(p2 2 ) d2 , such that 2 2 = 0. Then the OIA is applied to
C0
1
C1 +1 Ar1
1
..
.1
1
p
y 3 = 2 Cp1 A 1 1 xC 3 x.
2
2
C +1 Ar1
2
..
.2
rp
2
Cp2 A 2 2
Repeating this procedure, one has:
Ck , . . . , Ck A
rk
Cpk k A pk k
}.
i
i
i=1 ( + ).
Find pk k integers
M1
M1
k
..
..
.
rank
= rank
=
(i + i ),
.
Ik i=1
Mk
Dk
where
Dk = [(Ckk +1 )T (Ckk +1 A1 1 )T (Cpk k )T
k
(Cpk k A
kpk k 1 T T
) ] .
(d) Dene
k1
k
Ck +1 Ar1 1 D
k
k =
..
.
k
r
1
Cpk k A pk k D
and note dk = rank k . If dk < ks=1 (ps s ), let us set
k
pk+1 = s=1 (ps s ) dk . One can nd a matrix k
k
Rpk+1 (
output
s=1 (ps s ))
C0
1
r
+1 A 1
1
..
.1
C 1 Arp1 1
p1
xC k+1 x.
y k+1 = k
..
.
k
k
C +1 Ar1
k
..
.
C1
Cpk k A pk k
Stop the algorithm if
1. there exists a N, such that
i=1
M1
k1
..
i
=
( + i ) + k , where
rank
.
i=1
Ik
i=1 i
i
k
i
i
k
Let rank (( k1
k1 ( + ) + .
i=1 ) ) =
Find k integers k1 , . . . , 1k , such that
rk
1885
kk 1 T T
) ] .
D = or d =
(ps s ) ,
s=1
i=1 (
+ i ) = n.
1886
M1
.
T = .. .
Ml
Under the coordinate transformation
x = T 1 [(1 )T ( 1 )T . . . (l )T ( l )T ]T ,
i = ... ,
ii
i
1
i = ...
ipi i
for 1i l ,
with
(ij )1
.
ij = ..
(ij )i
( ij )1
.
ij = ..
( ij )i
for 1 j i ,
4. Observer design
(6)
ij (k + 1) =
(ij ) ij (k) + i,j x(k) + i,j w(k) + Bi,j u(k),
(7)
0 1 0 0 0
0
0 0 1 0 0
. . . .
..
. . .
. . ... , i,j = . ,
(l) =
. . .
0
0 0 0 0 1
i
Cji Aj
0 0 0 0 0
0
0
.
.
..
..
, =
,
i,j =
i,j
0 i
0 i
j
j 1
i
i
C +j A
C +j A
D
+ 1) = (1j )2 (k) +
where
(l) Rll , i,j R
ij n
, i,j R
i=1 (
(i) rank l = m,
(ii) the state and the unknown inputs can be estimated after a
nite number of sampling intervals.
B1,j
l=1
q
1,l
ul (k),
(B1,j
)2,l ul (k),
..
.
, i,j
j q
Rj q and B
Rj m , Bi,j
. The system is put
i,j R
into a block triangular observable form.
q
l=1
ij n
0E
1 1
r
+1 A 1 D
..
C 1 Arp11 1 1 D
p1
rankl = rank
..
.
l
l
C +1 Ar1 1 D
l
..
.
l
r
1
C l A pl l D
pl
0 Ipp
0
I1
0 D
D1
= rank ..
= m.
0 E
.
I
0
l
Dl
0
C1
3. System transformation
where
i
(B1,j
)1 1,l ul (k),
j
l=1
q
(B1,j
)1 ,l ul (k),
l=1
3 Actually, the algorithm applied to this class of systems stops after the
rst iteration.
q
l=1
q
4.2. Estimation of w
An estimate of can be obtained from the last rows of each
subsystem of (7). Indeed, for 1 i l , 1 j pi i :
Ci i +j Aj 1 Dw(k) = ( ij )i (k + 1) Ci i +j Aj x(k)
i
(B1,j
)1,l ul (k 1),
(B1,j
)1,l ul (k 1)
q
l=1
l=1
q
1887
(B1,j
)2,l ul (k 2),
(8)
l=1
where
..
.
(1j )1 (k 1j + 1) = yj1 (k)
j
1j 1 q
(B1,j
)s,l ul (k s).
s=1 l=1
C0
y 0 (k)
1
r
1
+1 A 1
y +1 (k + r11 )
1
2
y (k) = 1
.
x(k) = 1
..
..
.
.1
rp
1
1
1
yp1 (k + rp1 1 )
Cp1 A 1 1
C1
is known at time
rpi i i
+1 ,
i=1
at time
rpi i i
+ 1 .
i=1
0 l 1
i=0
rpi i i
+
+1
1;
i=0
rpi i i
+
+1
1 .
A1 1 D
..
1
C 1 Ap1 1 1 D
p1
..
.
=
.
l 1
l
C +1 A 1 D
l
..
.
lp 1
l
Cpl A l l D
C1
1 +1
1
1 1
1 0
2
0 1 0 0 2
x(k + 1) = 21 1
0
0 1 0 x(k)
0
1 1.5 0 0
2 0.5 0 0 1
1
0 0
1 0
0
+ 2
1 0 w(k),
1 1 0
1 0 2
1 0 0 0 0
0 0 0
y(k) = 0 1 0 0 0 x(k) + 0 1 0 w(k).
0 0 1 0 0
0 0 0
It can be noticed that the matching condition (3) is not satised.
Thus, standard observers cannot be designed. Then, let us apply
the OIA.
1 0 0
C1
Iteration 0. rank E = 1, 0 =
x.
, y1 =
0 0 1
C3
1888
C1
,
C3
1 0
and
0 0
1 0
C3 D
1 = [1 2 1].
0 E
0 1 0
0 0
C D 1
2 = 1 =
and 2 = [0 1 0 2].
C3 D
2
1 0
C12 AD
21
0 0
Thus, y 3 (k) = y1 (k + 1) + 2y 2 (k + 2) = C13 x(k), with C13 =
[ 21 21 21 21 1].
It can be checked that
5
0
(10)
z3 (k + 1) = z4 (k),
(11)
(12)
(13)
0
-5
1.7
1
0
-1
3.3 3.5
0.5
w2 and w2r
(9)
-10
0
0
-0.5
0
w3 and w3r
10
10
-5
00.1
x5 and x5r
1 =
0
0E
C1 D = 1
w1 and w1r
x4 and x4r
Iteration 1. I1 = , D1 =
1.1 1.3
2
0
-2
0
0.6
1889