Data processing: measuring – calibrating – or testing – Measurement system – Performance or efficiency evaluation
Reexamination Certificate
2001-08-28
2004-02-10
Barlow, John (Department: 2863)
Data processing: measuring, calibrating, or testing
Measurement system
Performance or efficiency evaluation
C342S357490, C701S215000, C701S216000, C702S059000, C702S116000
Reexamination Certificate
active
06691066
ABSTRACT:
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates in general to the use of variable-gain filters, such as Kalman filters to estimate the state of a system, and in particular to improved measurement fault detection in such filters.
2. Description of the Related Art
The discrete time Kalman filter was introduced by Rudolf Kalman in a “A New Approach to Linear Filtering and Prediction Problems,” in the Transactions of the ASME, Series D: Journal of Basic Engineering, Vol. 82, pp. 35-45 in 1960. The Kalman filter (KF) produces the state estimate with the smallest mean-square error for a linear time-invariant system with white, Gaussian state and measurement noise. The Kalman filter extended the concept of least-squares estimation to dynamic systems. The concept of least-squares estimation dates back to Gauss, at least. The Kalman filter has found innumerable applications in navigation, tracking, process control, parameter estimation, and other areas. It has been extended to include nonlinear state models, nonlinear measurement models, non-white state and measurement noise, and correlation between state and measurement noise.
A succinct description of the Kalman filter can be found in
Applied Optimal Estimation
by A. Gelb (ed.) from The MIT Press, 1974 pp. 1-179 which is herein incorporated by reference. A summary of the basic filter and some notes on the notation follow from Gelb. The notation to be used in the description is given in Table 1. A superscripted “T” after a matrix is the matrix transpose, and a superscripted “−1” after a matrix is it's inverse. Again following from Gelb, the discrete KF processing steps are given in Table 2. These steps advance the state estimate and it's associated error covariance matrix from one time to another.
TABLE 1
Notation for Kalman Filter Description
X
t
1
|
t
2
State vector estimate for the system at time t
1
using
measurements up to and including those from time t
2
.
&PHgr;
State transition matrix
Q
Process Noise Matrix
R
Measurement Noise Covariance Matrix
P
t
2
|
t
2
State error covariance matrix at time t
1
using measurements up
to and including time t
2
Z
Measurement vector, a set of vector measurements for a given
time.
H
The measurement model matrix. This is the partial dervative
of the measurement vector with respect to the state vector.
I
The identity matrix
TABLE 2
Five Discrete Kalman Filtering Processing Steps
Step
Step Name
Step Processing
1
State Propagation
X
t+&Dgr;t|t
= &PHgr;X
t|t
2
Covariance Propagation
P
t+&Dgr;t|t
= &PHgr;P
t|t
&PHgr;
T
+ Q
3
Gain Calculation
K = P
t+&Dgr;t|t
H
T
(HP
t+&Dgr;t|t
H
T
+ R)
−1
4
State Update
X
t+&Dgr;t|t+&Dgr;t
= X
t+&Dgr;t|t
+ K(Z − HX
t+&Dgr;t|t
)
5
Covariance Update
P
t+&Dgr;t|t+&Dgr;t
= (I − KH)P
t+&Dgr;t|t
An implementation issue with the KF is the matrix inverse called for in step 3, the gain calculation, from table 2. Computing the inverse is often a substantial burden, particularly in a real-time system. A common practice, therefore, has been to divide up the processing of the vector measurement (steps 3, 4, and 5 from Table 2) into a sequence of scalar measurement processing. If the measurement vector Z, has one element, in other words when we have a scalar measurement, the measurement derivative with respect to the state, H, is a row vector. In this case the gain calculation, step 3 from Table 2 above reduces to a division rather than a matrix inversion.
K
=
PH
T
HPH
T
+
R
If a measurement vector, Z, contains multiple elements, it can be partitioned into a set of scalar measurements. In the case of a diagonal measurement noise covariance matrix R, partitioning into scalar measurements is no more complicated than picking out the diagonal term from the matrix R, and processing it with the corresponding row of H and the corresponding element of the vector Z. This is generally referred to as sequential measurement processing. We can expand our notation to include sequential measurement processing such that Z
A
, Z
B
, . . . are elements of the original vector measurement Z; H
A
, H
B
, . . . are the corresponding rows of H; R
A
, R
B
, . . . are the corresponding diagonal elements of the noise covariance matrix. The sequential measurement processing KF then follows these steps. The gain and residual calculations have been broken out for discussion of the Chi-square test in subsequent paragraphs. The state and covariance notation has been augmented for sequential processing, such that X
t+&Dgr;t|t,A
is the state vector estimate for time t+&Dgr;t given measurements up to time t and measurement A. This state, updated for measurement A, is the input state for steps 10 and 13 of measurement B processing, and so on.
TABLE 3
Discrete Sequential Kalman Filter Processing Steps
Repeated
Step
Steps
Step Name
Step Processing
1
State Propagation
X
t+&Dgr;t|t
= &PHgr;X
t|t
2
Covariance
P
t+&Dgr;t|t
= &PHgr;P
t|t
&PHgr;
T
+ Q
Propagation
Loop for each
3,9,15 . . .
Residual Variance
&Ggr;
A
= H
A
PH
A
T
+ R
A
measurement:
4,10,16 . . .
Residual
&dgr;
A
= Z
A
− H
Z
X
t+&Dgr;t|t
A,B,C . . .
5,11,17 . . .
Chi-Square test statistic
χ
A
2
=
δ
A
2
Γ
A
6,12,18 . . .
Gain Calculation
K
A
= P
t+&Dgr;t|t
H
A
T
/&Ggr;
A
7,13,19 . . .
State Update
X
t+&Dgr;t|t,A
=
X
t+&Dgr;t|t
+ K
A
&dgr;
A
8,14,20 . . .
Covariance
P
t+&Dgr;t|t,A
=
Update
(I − KH)P
t+&Dgr;t|t
In the case where R is not diagonal, in other words the measurement noises are correlated, techniques may be used which transform the R matrix to diagonal form for easy partitioning. The necessary transformations are defined by G. Bierman in
Factorization Methods for Discrete Sequential Estimation
, Academic Press 1977, pp. 47-55 which is herein incorporated by reference.
It is possible to prove that the order in which a set of sequential measurements is processed in a linear system using the steps of Table 3 is irrelevant to the final state estimate. A simple one-dimensional example of this fact is given in Table 4. In Table 4, the two measurements are taken to be measurements of the state vector directly, thus H is a two-by-two identity matrix. The example is for the sequential measurement processing, not the state propagation, so it corresponds to steps 3 through 14 inclusive of Table 3. The Chi-square test in the example of Table 4, will be described subsequently. There are two processing columns in Table 4, one for measurement order A,B, and the other for B,A. While the intermediate steps are different, the final state and covariance estimates are the same. Thus, in the prior art, the order in which measurements from the same time have been processed in a sequential filter has been a matter of convenience, the measurements are processed in whatever order they are gathered from the measuring device or stored in memory, or some other mechanism.
TABLE 4
Single State KF Sequential Measurement Processing Example
State
Truth: X = 0 Estimate: X
t|t−&Dgr;t
= 1
State Variance
P
t|t−&Dgr;t
= 1 (state estimate correctly modeled)
Measurement Model
H
A = H
B
= H = 1
R
A
= R
B
= R = 1
Measurements
Z
A
= −1 (One sigma measurement, correctly modeled)
Z
B
= 2 (Two sigma measurement, correctly modeled)
Measurement Processing
A,B
B,A
Order
First Measurement Residual
&Ggr;
A
= 1 + 1 = 2
&Ggr;
B
= 1 + 1 = 2
Variance
First Measurement Residual
&dgr;
A
= Z
A
− X
t|t−&Dgr;t
= −2
&dgr;
B
= = Z
B
− X
t″t−&Dgr;t
= 1
Firs
Barlow John
Le John
SiRF Technology Inc.
The Eclipse Group
LandOfFree
Measurement fault detection does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Measurement fault detection, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Measurement fault detection will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-3285907