28.01.2013 Views

Adaptative high-gain extended Kalman filter and applications

Adaptative high-gain extended Kalman filter and applications

Adaptative high-gain extended Kalman filter and applications

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

tel-00559107, version 1 - 24 Jan 2011<br />

4.2 Simulation<br />

− the innovation, Id, is defined by the formula:<br />

� t<br />

Id(t) = �y(s) − ˆyt−d(s)� 2 ds (4.6)<br />

where<br />

t−d<br />

– y(s) is the output of the DC machine (the current),<br />

– ˆyt−d(s) =x1 (t − d, z(t − d),s) with x (t − d, z(t − d),s) is the solution of the normal<br />

form equations (4.2), (4.3), (4.4) over the time window [t − d, t], with the<br />

initial condition that x(t − d) =z(t − d), is the estimated state at time t − d.<br />

4.2.2 Implementation Considerations<br />

z(t<br />

dz/dt=<br />

dS/dt=<br />

d!/dt=<br />

u(t<br />

d delay<br />

Innovation<br />

Figure 4.2: Observer Structure.<br />

The simulation of the DC motor is straightforward. Thus, here we only comment on<br />

the implementation of the observer. The computation of a solution for the algorithm above<br />

is decomposed in two main parts (see Figure 4.2):<br />

1. the computation of the innovation, Id(t),<br />

2. the update of the estimated state, the elements of Riccati matrix <strong>and</strong> the variable θ.<br />

The latter part is common to all continuous time <strong>Kalman</strong> style observers. It presents no<br />

particular difficulties 3 , <strong>and</strong> is illustrated in Figure 4.3.<br />

In order to compute the innovation (refer to Figure 4.4) we need to:<br />

3 From theory, we know that the Riccati matrix is symmetric. Therefore we can solve the equation for only<br />

either the upper triangular part or the lower triangular part of the matrix.The introduction of this artifice has<br />

two advantages:<br />

− it saves computational time (the solution of n(n+1)<br />

equations are needed instead of n 2<br />

2 ),<br />

− because of tiny machine inaccuracies, the situation may arise when the coefficients, which are supposed<br />

to be equal, are determined to be unequal. This situation violates the symmetric requirement of the<br />

matrix <strong>and</strong> algorithm breaks down.<br />

To solve the matrix equations, the implementation of the observer requires the use of a small utility that<br />

transforms (n × n) square matrices into vectors, <strong>and</strong> vice-versa.<br />

Another device, which can be used when considering discrete-time systems, is to work directly with the square<br />

root of the Riccati matrix. This method is detailed in [43], Chapter 7.2.<br />

61<br />

y(t

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!