6614
6615
A decision variable ~(t) is introduced to model the infrequent disturbance steps,
C( ) _ { 0 if no change in d(t) t 1 if change in d(t)
<.,
The prior knowledge of the two different cases is modeled by
p(~(t) =
n) = { 1 ; q
~~~n1 =
or sequence pruning (Tugnait 1982), (Andersson 1985). Here only the latter approach will be pursued, which is called AFMM (Adaptive Forgetting through Multiple Models). AFMM is based on the fact that the jumps occur quite seldom, Le the a priori probability q is quite small. A practical recursive approximation which has turned out to work well in a number of applications is given in the following algorithm, (Gustafsson 1992).
0
Given this decision variable a stepwise changing disturbance can be modeled as
Algorithm 1. Only M possible sequences are examined and they are chosen according to the following rules.
• At the updates, let only the most probable sequence, i.e. with the largest weight ai, of the M sequences split into 2 branches. • After the update is completed remove the sequence with the smallest weight ai. • Renormalize the remaining weights to have unit sum, i.e. ai = ad L aj.
d(t + 1) = d(t) + ~(t)v(t), where v(t) is assumed to be a zero-mean Gaussian random variable with constant variance Rd. Introducing d(t) as an augmented state results in the composite state-space description
1)) _(A B2) (x(t)) + (Bl) (t) d( u + ( ~3 + ( ~ft) ) v(t) y(t) (C (~m ) + (t). x(t + ( d( t + 1)
-
0 1
t)
One restriction to the rules above can sometimes be useful:
0
(2)
• Do not cut branches immediately after they are born. Let there be a certain minimum life length for all branches.
Given measurements of u(t) and y(t), an intuitive strategy to estimate the sequence ~ is:
One advantage with this algorithm is that since pruning is done, each filter has a history which enables simultaneous state estimation and detection of jump time instants.
)
=
e(t)
D2
)
D3 e
• For each possible ~, run data through a Kalman filter for the state space model (2). • Choose, the particular value of ~, whose Kalman filter gives the smallest prediction errors. Hence for each sequence ~ a separate Kalman filter has to be run. At time t there is a weight associated with each filter, viz. a (t) {
= p(~(t))a~(t -
1) exp (-!cT(t)S-l(t)c (t)) J27rdetSdt) 2 ~ e e
where ce and Se are quantities given by the Kalman filter (see e.g. (Andersson 1985)), C{(t) = y(t) - Cxe(tlt - 1), Se(t) = CPdtlt - l)C T + R(t).
The one with the largest weight corresponds to the maximum a posteriori (MAP) estimate of the sequence at time t. For further details on the theory in this section see (Gustafsson 1992). This estimator has the obvious disadvantage that at time t there are 2t possible sequences, i.e. 2t different filter updates have to be stored. For this approach to be applicable in practice the number of branches obviously has to be reduced dramatically. There are two main alternatives that have been proposed in the literature: sequence merging (Blom and Bar-Shalom 1988)
In the proposed method there are a number of different design parameters: • M - the number of models. • q - the jump probability. • Rd - the covariance of the jumping state. • Re - the covariance of the noise e(t). The sensitivity with respect to these parameters has been examined in (Andersson 1985). According to that investigation the number of models M and the jump probability q are not critical for the result. The choice of Rd is not very critical either, but any a priori information about the jump magnitudes should of course be used. The most critical choice is that of Re, which is assumed to be known from the identification phase. If not, it is also possible to estimate Re recursively see (Gustafsson 1992), but this will not be discussed further in this paper.
2.1 An extension of the problem
Above it was assumed that there was only one type of disturbance affecting the system. To cover more than one disturbance hypothesis, the problem definition needs to be extended:
6616
Assume that there are two different types of disturbances that can affect the system. Only one of these two disturbances is present, but it is not known which one. The task is to decide which one of the disturbances actually affects the system and also the time instants when the disturbance appears and its magnitude.
3. ESTIMATION OF SIMULATED DISTURBANCES In this section the suggested classification technique will be tested by simulation. All the simulations are carried out using SIMULINK.
Only two different types of disturbances will be investigated here. 3.1 The simulation model
(1) Step disturbances directly affecting the output. (2) Step disturbances at the input. Alternative one corresponds to
and the second alternative is equivalent to an output disturbance filtered through G(q-l) H(q-l)
-k B(q-l) = q F(q-l)"
The process model used in all simulations is taken from the pulp and paper industry. It is a loop in a wood chip refiner which controls the dilution water flow-rate. The dilution water process has been estimated using standard identification tools in Matlab. The system description thus achieved and used in the simulations in this section is the following Box-Jenkins model: F(q-l) D(q-l)
(3)
A rather straightforward approach would be to model the effect of the two disturbances simultaneously
(4)
Applying a Kalman filter to a state-space version of (4) will, however, not work. The reason for this is that the augmented model with two constant disturbances will not be observable. For a system that is not observable there is no guarantee that the Kalman filter is stable, see (Anderson and Moore 1979). On the contrary, in this case two marginally stable poles at z = 1 have been introduced. Due to t.he loss of observability, the Kalman filter will fail to stabilize both of t.hese augmented poles.
=1=1-
0.87q-l; B(q-l) 0.90q-l; C(q-l)
= 0.22; k = 7; = 1 + O.Olq-l.
The model was identified using a sampling interval of Ts = 0.2 s. Data was collected under closed loop conditions with a Pseudo Random Binary Sequence (PRBS) being added to the control input.
3.2 Monte-Carlo simulations
The ability of the suggested Kalman filter bank technique to identify step input disturbances, and to decide which type of disturbance is affecting the process will now be tested. During all the simulations in this section, a PI-controller is controlling the plant (K = 0.136 and TJ = 0.914). Two cases are studied, one where the system is subject to step disturbances at the input and another where there are step output disturhances. Typical simulated input/output data are shown in Figs. 4 and Figs. 5. Notice that, from these plots, it is all but trivial to detect by eye that there are step dist1lrbances present and when they occur.
Now, instead of running one Kalman filter bank where both types of disturbances are included, two separate filter banks will be used. One to track output disturbances and another to track disturbances at. the input signal. The two banks will be run in parallel and after each update the weights will be normalized such that the sum over both filter banks is one. Based on the largest overall weight a decision can be made on which hypothesis is most likely, step disturbances at the input or output (or no disturbances at all except the ones captured in the noise model).
Simulations for each of the two cases were repeated 200 times, for different noise realizations. For every simulation data was run though two filter banks; one designed to track step input disturbances and the other to track output disturbances. Both filter banks used the design parameters q = 0.01, M = 7 and Rd = 50. Examples of the estimated disturbance sequences are shown in Fig. 6.
Remark: Since the input disturbance du(t) is unknown, the whole sequence can be redefined shifted k samples. Hence the delay ill the model (3) can be removed, which as a consequence get.s rid of unnecessary time delays in the Kalman filter.
In Fig. 7 the maximum weights for the two hypotheses are plotted against each ot.her. Each cross marks one of the 200 simulations. For input disturbances (Case 1) 93.5 per cent of the classifications were correct and for output. disturbances 100 per cent were correct.
6617
6618
6619