Skip to main content
NASA Author Manuscripts logoLink to NASA Author Manuscripts
. Author manuscript; available in PMC: 2020 Feb 1.
Published in final edited form as: IEEE Trans Aerosp Electron Syst. 2018 Jun 25;55(1):493–498. doi: 10.1109/TAES.2018.2850379

Information Formulation of the UDU Kalman Filter

Christopher D’Souza 1, Renato Zanetti 2
PMCID: PMC6443377  NIHMSID: NIHMS1521718  PMID: 30948859

Abstract

A new information formulation of the Kalman filter is presented where the information matrix is parameterized as the product of an upper triangular matrix, a diagonal matrix, and the transpose of the triangular matrix (UDU factorization). The UDU factorization of the Kalman filter is known for its numerical stability, this work extends the technique to the information filter. A distinct characteristic of the new algorithm is that measurements can be processed as vectors, while the classic UDU factorization requires scalar measurement processing, i.e. a diagonal measurement noise covariance matrix.

I. Introduction

The UDU formulation of the Kalman Filter has been used in aerospace engineering applications for several decades. Thornton [1], Bierman and Thornton [2] and Bierman [3] introduced an elegant formulation where the covariance matrix P is replaced by two factors: a diagonal matrix D and an upper triangular matrix U with ones on the main diagonal, such that P = UDUT. Whereas the UDU factorization improves the computational stability and efficiency of large navigation filters, it was originally used in a batch formulation [4]. However, this formulation lent itself to sequential implementations, well-suited for platforms where both computational stability and numerical efficiency are at a premium. It serves as the backbone of the Orion Navigation System [5].

Factorization of the covariance matrix in a Kalman filter [6] is almost as old as the filter itself. In 1963 James Potter developed a square-root formulation of the Kalman filter to implement on the Apollo onboard computer [7]. The main driver at the time was numerical precision, as computer words were only 8 bits long. Replacing the covariance by a square root matrix S, such as P = SST, reduces the spread of the elements of P bringing them closer to 1, doubling the numerical precision of the stored variable. Potter’s algorithm requires the computation of scalar square roots (one per measurement). At the time, the Apollo Kalman filter was designed without any process noise, because computations required for inclusion of the process noise required too many computations [8]. A very desirable by-product of this factorization is that the symmetry and semi-positive definiteness of the covariance are insured by construction, and does not need to be checked or enforced to correct for numerical and round-off errors. It should be noted that this Apollo factorization was not a triangular square root matrix.

An alternative square root covariance factorization is the Cholesky factorization [9], [10]. The Cholesky method is very similar to Potter’s but computes the square root of the covariance matrix with a Cholesky decomposition (S is a triangular matrix) [11]. Another relevant covariance factorization work is that proposed by Oshman and Bar-Itzhack [12], which utilizes the spectral decomposition of the covariance matrix.

The UDU factorization is not a square root filter; the numerical precision of the stored variable does not increase due to the factorization. For example, if P is diagonal, U = I and D = P; therefore the full range of values in P are preserved in this factorization. However, the UDU formulation of the Kalman filter has great numerical stability properties [3]; it insures symmetry of the covariance by construction, and it requires a trivial check and correction to ensure semi-positive definiteness (it suffices to enforce that the diagonal elements of D remain non-negative). The UDU formulation is free from square root operations, making it computationally cheaper than the Cholesky approach. For these reasons the UDU has endured as one of the preferred practical implementation of Kalman filters in aerospace applications.

While the UDU factorization is well known, it has never been applied to the information formulation of the Kalman filter [13], [14], [15]. In this formulation the inverse of the covariance matrix, known as the information matrix, is carried in the recursive algorithm rather than the covariance matrix itself. The information formulation is a popular approach in several situations. In particular, the Square Root Information Filter (SRIF) [16], [17], [18], [3], [19], [20] is a go-to Kalman filter factorization method used in orbit determination packages such as Monte because of its great stability and accuracy. In this work we introduce the UDU Information Filter, a never developed before algorithm with two key properties that make it a very desirable implementation of a recursive estimator: i. unlike the regular UDU filter, measurements do not need to be processed as scalars, i.e. the measurement noise covariance matrix R does not need to be diagonal or diagonalized, and ii. unlike the regular information formulation the state estimation error covariance matrix does not actually need to be inverted.

II. Background

The well-known Kalman filter measurement update equations are given by

x^k=xk+Kk(ykHkxk) (1)
Pk=PkPkHkT(HkPkHkT+Rk)1HkPk=(IKkHk)Pk (2)
Kk=PkHkT(HkPkHkT+Rk)1=PkHkTRk1 (3)

where the bar represents the a priori value, Kk is the n × m Kalman gain, xn is the state vector, Pk is the n × n estimation error covariance matrix, ym is the measurement vector defined as

yk=Hkxk+ηk (4)

where ηk is a zero mean, white sequence with covariance matrix Rk. The propagation equations are

xk+1=Φ(tk+1,tk)x^k (5)
Pk+1=Φ(tk+1,tk)PkΦ(tk+1,tk)T+GkQkGkT=ΦkPkΦkT+GkQkGkT (6)

where Φ(tk+1, tk) (which we will denote as Φk;) is the state n × n transition matrix from tk to tk+1, Qk is the p × p process noise covariance matrix, and Gk is the n × p process noise shaping matrix.

The UDU factorization implements the above equations by replacing the covariance matrix Pk with an upper triangular matrix with ones on the diagonal (Uk) and a diagonal matrix Dk, such that

Pk=UkDkUkT (7)

The UDU approach to propagate Uk and Dk forward in time makes use of the Modified Weighted Gram-Schmidt (MWGS) orthogonalization algorithm that avoids loss of orthogonality due to round-off errors [21]. Measurements are processed one at the time as scalars by noting that when Rk is diagonal the update in Eq. (2) is obtained by recursively processing one element of yk at a time, using the corresponding row of Hk and diagonal element of Rk. The measurement residual covariance matrix Wk=HkPkHkT+Rk thus becomes a scalar, and the quantity PkHkT=wk becomes a vector; thus each of the scalar updates takes the form

Pk=Pk1WkwkwkT (8)

since matrix k is updated with a rank one matrix (1WkwkwkT), we call this a rank one update, Agee and Turner [22] detailed how to directly update the Uk and Dk factors due to a rank one update. The subtraction in Eq. (8) could cause some numerical instabilities in Agee-Turner’s algorithm. Carlson [23] introduced an alternative rank-one update algorithm that, while less generic, is more stable for the measurement update. Carlson’s rank-one update is not valid for generic values of wk and Wk, but only when the update is done with the optimal Kalman gain.

An alternative formulation of the Kalman filter is the information formulation, where the covariance matrix P is replaced by its inverse. The covariance update and Kalman gain are calculated as [13]

Pk1=Pk1+HkTRk1Hk (9)
Kk=PkHkTRk1 (10)

The information formulation is particularly useful when there is no prior information, i.e. P0 = ∞, in this case the covariance formulation of the KF is not defined, while the information formulation is, and starts from P01=O. In the covariance formulation, the m × m measurement residual covariance matrix Wk=HkPkHkT+Rk is inverted to process the measurement, while in the information formulation the n × n covariance matrix is inverted in the time propagation step. In situations when m > n, therefore, the information formulation could be computationally cheaper, although measurements are often processed one at the time as scalars. Processing measurements as scalars is only possible when Rk is diagonal, otherwise the additional steps of a change of variables to diagonalize Rk is required.

III. The UDU Information Filter

A. The Measurement Update

Begin with factorizing the covariance P into an LDL form; that is, rather than using an upper triangular matrix we will use a lower triangular matrix. We denote the diagonal matrix with Δ

Pk=LkΔkLkTandP¯k=L¯kΔ¯kL¯kT (11)

and we define U and D as the inverses of LT and Δ, respectively

Pk1=LkTΔk1Lk1=UkDkUkT (12)
P¯k1=L¯kTΔ¯k1L¯k1=U¯kD¯kU¯kT (13)

so that the measurement update (Eq. (9)) becomes

UkDkUkT=U¯kD¯kU¯kT+HkTRk1Hk (14)

We now factorize the m × m matrix Rk into LDL form as

Rk=LRkΔRkLRkT (15)

and

Rk1=LRkTΔRk1LRk1=URkDRkURkT (16)

so that Eq. (14) becomes

UkDkUkT=U¯kD¯kU¯kT+HkTURkDRkURkTHk (17)

We now work on the term URk H where we note that it is of dimension m × n so that it can be expressed as

URkTHR=[v1Tv2TvmT] (18)

where each vi is an n × 1 vector.

The factor HkTRk1Hk can be expressed as

HkTRk1Hk=HkTURkDRkURkTHk=[v1Tv2TvmT]T[1d1R0001d2R0001dmR][v1Tv2TvmT]=i=1m1diRviviT (19)

so that the measurement update equation is now

UkDkUkT=U¯kD¯kU¯kT+i=1m1diRviviT (20)

Thus it reduces to a series of m rank-one updates.

Notice that Eq. (20) is the update equation due to a vector measurement so that the need to process scalar measurements, as in the covariance UDU formulation, is avoided in the proposed information UDU formulation. Rather than performing an eigenvalue decomposition of Rk and a corresponding change of variables for yk, we simply perform the UDU factorization of Rk1.

As stated earlier, one of the benefits of using an information formulation is that if P0 is singular, this allows for an estimate to be obtained [14]. When P0 is singular, x0 is not completely defined. To this end, ẑk and z̄k, which are directly related to x̂k and x̄k, are defined as

z^kPk1x^k,zkPk1xk (21)

Premultiplying Eq. (1) by Pk1, we get

z^k=Pk1(IKkHk)xk+Pk1Kkyk (22)
=zk+HkTRk1yk (23)

B. The Time Update

Prior to propagation, the standard information formulation of the Kalman filter inverts the information matrix to obtain the covariance, it then propagates the covariance with Eq. (6), and finally inverted the propagated covariance matrix to prepare for the measurement update phase. We propose an algorithm that propagates the factors of the information matrix directly. Starting from the covariance propagation Eq. (6), we factorize Qk via a UDU parameterization so that

Qk=UQkΔQkUQkT (24)

where ΔQk is a diagonal p × p matrix and define GQk as

GQkGkUQk (25)

so that k becomes

P¯k+1=ΦkPkΦkT+GQkΔQkGQkT (26)

Invoking the matrix inversion lemma

(Z+XAY)1=Z1Z1X(A1+YZ1X)1YZ1 (27)

and letting

Z=ΦkPkΦkT;A=ΔQk;X=GQk;Y=GQkT (28)

and

Z1=MkΦkTPk1Φk1 (29)

The inverse of the propagated covariance is

P¯k+11=MkMkGQk[GkTMkGQk+ΔQk1]1GQkTMk (30)

Defining

G¯kΦk1GQkDQk=ΔQk1 (31)

Pk+11 becomes

P¯k+11=ΦkT{Pk1Pk1G¯k[G¯kTPk1G¯k+DQk]1G¯kTPk1}Φk1 (32)

and defining Kk as

KkPk1G¯k[G¯kTPk1G¯k+DQk]1 (33)

Defining the quantity inside the brackets in Eq. (32) as Pk1

Pk1Pk1Pk1G¯k[G¯kTPk1G¯k+DQk]1G¯kTPk1=[IKkG¯kT]Pk1 (34)

We notice Eq. (34) is an analog to Eq. (2) with

Pk1PkPk1PkG¯kHkTKkKkDQkRk

and since DQk is a diagonal p × p matrix, we can solve for the UDU factorization of Pk1 directly by using a Carlson Rank-One Update [23] performed p times on

UkDkUkT=UkDkUkTUkDkUkTG¯k[G¯kTUkDkUkTG¯k+ΔQk1]1G¯kTUkDkUk (35)

so that we can find the time-propagated UDU factors of P¯k1 as

P¯k+11=U¯k+1D¯k+1U¯k+1T=ΦkTUkDkUkTΦk1 (36)

Since this equation is equivalent to a covariance propagation without process noise, the MWGS orthogonalization algorithm can be used to obtain the factors k+1 and k+1.

Notice that Φk1 does not necessarily need to be computed by a direct matrix inversion. Usually Φk is computed via integration of a matrix differential equation or by series approximation. Similarly, Φk1 can be obtained directly by backwards integration or by series approximation.

Beginning with Eq. (5) the time update for z̄k+1 is obtained as follows

Pk+11xk+1=Pk+11ΦkPkPk1x^k (37)

which becomes

zk+1=Pk+11ΦkPkz^k (38)

substituting from Eqs. (32) and (34)

zk+1=ΦkT[IKkG¯kT]z^k (39)

or

zk+1=ΦT(tk+1,tk)[IKkG¯kT]z^k (40)

The following table summarizes the UDU Information Filter. While Table I contains a compact notation for the covariance time propagation and measurement update; in the actual algorithm the covariance factors Uk and Dk are individually propagated and updated using the Rank-1 Update and the Modified Weighted Gram-Schmidt orthogonalization algorithms.

TABLE I.

Summary of UDU Information Filter Equations

Initialization
State z0 = P−1(t0)x(t0)
Covariance U0D0U0T=P1(t0)
Time Propagation
Truth xk+1 = Φkxt + Gkνk, νkn(0, Qk)
Process Noise UQkΔQkUQkT=Qk,G¯k=Φk1GkUQk
Gain Kk=UkDkUkTG¯k[G¯kTUkDkUkTG¯k+ΔQk]1
Covariance UkDkUkT=IKkG¯kTUkDkUkT (Rank-1 Update)
U¯k+1D¯k+1U¯k+1T=ΦkTUkDkUkTΦk1 (MWGS)
State z¯k+1=ΦkTIKkG¯kTz^k
Measurement Update
Truth yk+1 = Hk+1xk + ηk+1, ηk+1n(0, Rk+1
Meas. Noise URk+1DRk+1URk+1T=Rk+11i=1m1diRviviT=Hk+1TURk+1DRk+1URk+1THk+1
Covariance Uk+1Dk+1Uk+1T=U¯k+1D¯k+1U¯k+1T++i=1m(1diR)viviT (Rank-1 Update)
State z^k+1=z¯k+1+Hk+1Rk+11yk+1

C. An Efficient Algorithm to compute U−1

The algorithm proposed does not necessitate to invert the covariance matrix nor its U or L factor. However, in case the initial covariance was provided, it might be convenient to factorize it first, and to efficiently invert its factors rather than inverting the full covariance. In this section we compute the inverse in an efficient manner, taking advantage of the ‘1’s’ and ‘0’s’. It is as follows: Given an n × n upper triangular ‘unit’ matrix U expressed as

U=[1U1,2U1,3U1,n1U1,n01U2,3U2,n1U2,n001U3,n1U3,n0001Un1,n00001] (41)

the inverse is also an n × n upper triangular ‘unit’ matrix V (so that det (V) = 1) which is

V=U1=[1V1,2V1,3V1,n1V1,n01V2,3V2,n1V2,n001V3,n1V3,n0001Vn1,n00001] (42)

since

UV=I (43)

and the ij-th element of UV is given by

k=ijUi,kVk,j=Ui,iVi,j+Ui,jVj,j+k=i+1j1Ui,kVk,j==Vi,j+Ui,j+k=i+1j1Ui,kVk,j (44)

we can solve for the elements of V as

j=n,,2,i=j1,,1Vi,j=[Ui,j+k=i+1j1Ui,kVk,j] (45)

IV. A Numerical Example

In this section we show the performance of the algorithm in linear, time-varying example with correlated measurement noise covariance matrix R. The system is given by

xk+1=Φkxk+νk (46)
yk=Hkxk+ηk (47)
Φk=[IAkBkI] (48)
Ak=[tktk100tktk1] (49)
Bk=0.1[sin(tk)sin(tk1)(cos(tk)cos(tk1))0sin(tk)sin(tk1)] (50)
Hk=[10000100] (51)

where I is the identity matrix tktk-1 = 1 second, νk is a zero mean, Gaussian white sequence with covariance matrix Qk = 0.01 I, and ηk is a zero mean, Gaussian white sequence with covariance matrix Rk

Rk=[2.962.82.82.96] (52)

The initial estimate is unbiased, and the initial estimation error is Gaussian with covariance P0 = I. Fig. 1 shows the result of a single run and the 3σ predicted standard deviations from a straight formulation of a Kalman filter. In order to show the equivalence between the Kalman filter (KF) and the UDU information approach (UDUI), Fig. 2 shows the norm of the difference between the two state estimates

ϵx=x^KFx^UDUI

while Fig. 3 compares the Kalman filter covariance PKF with the UDU factorization of the Information matrix PUDUI1=UDUT by plotting the following quantity:

ϵP=PKFPUDUI1I

Fig. 1.

Fig. 1.

Estimation Error and 3σ predicted standard deviations

Fig. 2.

Fig. 2.

Norm of the State Error (||x̂KF − x̂UDUI||)

Fig. 3.

Fig. 3.

Norm of the Covariance error (PKFPUDUI1I)

The figures show that the proposed algorithm results closely match the Kalman filter hence validating the proposed algorithm as its UDU information formulation. The growth of the error in Figs. 2 and 3 is due to the accumulation of round-off errors in the algorithms. It is known [3] that numerical errors accumulate faster in the full covariance formulation of the Kalman filter than in the UDU’s.

V. Conclusions

A new algorithmic mechanization of the classic Kalman filter is presented, the new algorithm combines the information formulation with the UDU factorization. While the covariance formulation of the Kalman filter is usually employed, the information formulation has distinct advantages in some applications, for example when no initial condition is available. The UDU factorization is a widely adopted technique to produce a numerically stable and accurate algorithm to keep the covariance matrix symmetric and positive definite. A numerical example confirms the equivalency between the Kalman filter and the proposed algorithm.

Acknowledgments

This work was supported in part by NASA JSC contract NNX17AI35A.

Biography

graphic file with name nihms-1521718-b0001.gif

Christopher D’Souza is a Navigation Engineer in the Aerosciences and Flight Mechanics Division at the Johnson Space Center, Houston, TX. He has developed navigation filters and guidance laws for the US Air Force and NASA. He has worked at the Jet Propulsion Laboratory, the Air Force Research Laboratory, Draper Laboratory and the NASA Johnson Space Center. His areas of research include onboard navigation algorithms, covariance analysis, guidance laws, and trajectory optimization. He received his Ph.D. in aerospace engineering from the University of Texas in 1991.

graphic file with name nihms-1521718-b0002.gif

Renato Zanetti received his undergraduate degree from Politecnico di Milano, Italy in 2003 and his Ph.D. from the University of Texas at Austin in 2007, both in aerospace engineering. From 2007 to 2013 he was a senior member of the technical staff at the Charles Stark Draper Laboratory, in the Houston, Texas office. From 2013 to 2017 he was an Engineer at the NASA Johnson Space Center in Houston, TX. In 2017 he joined the faculty of the Aerospace Engineering and Engineering Mechanics department at the University of Texas at Austin. His projects include autonomous navigation for various NASA and commercial space vehicles. His research work focuses on nonlinear/non-Gaussian estimation, attitude dynamics and control, and autonomous vehicles.

Contributor Information

Christopher D’Souza, Aeroscience and Flight Mechanics Division, EG6, 2101 NASA Parkway, NASA Johnson Space Center, Houston, Texas 77058..

Renato Zanetti, Department of Aerospace Engineering and Engineering Mechanics, The University of Texas at Austin, Austin, Texas 78712.

References

  • [1].Thornton C, “Triangular Covariance Factorizations for Kalman Filtering,” Ph.D. dissertation, University of California at Los Angeles, October 1976. [Google Scholar]
  • [2].Bierman G and Thornton C, “Numerical comparison of kalman filter algorithms: Orbit determination case study,” Automatica, vol. 13, pp. 23–25, 1977. [Google Scholar]
  • [3].Bierman GJ, Factorization Methods for Discrete Sequential Estimation. New York: Dover Publications, 2006. [Google Scholar]
  • [4].Evans S, Taber W, Drain T, Smith J, Wu H-C, Guevara M, Sunseri R, and Evans J, “Monte: The next generation of mission design and navigation software,” 6th International Conference on Astrodynamics Tools and Techniques (ICATT), March 2016. [Google Scholar]
  • [5].Sud J, Gay R, Holt G, and Zanetti R, “Orion Exploration Flight Test 1 (EFT1) Absolute Navigation Design,” in Proceedings of the AAS Guidance and Control Conference, ser Advances in the Astronautical Sciences, vol. 151, Breckenridge, CO, January 31-February 5, 2014 2014, pp. 499–509, aAS 14–092. [Google Scholar]
  • [6].Kalman R, “A new approach to linear filtering and prediction problems,” Trans. ASME (J. Basic Eng.), vol. 82D, pp. 34–45, March 1960. [Google Scholar]
  • [7].Potter J and Stern R, “Statistical filtering of space navigation measurements,” Proceedings of the AIAA Guidance and Control Conference, 1963. [Google Scholar]
  • [8].Battin R, An Introduction to the Mathematics and Methods of Astrodynamics. Reston, VA: AIAA, 1999. [Google Scholar]
  • [9].Golub GH and Loan CFV, Matrix Computations, 2nd ed. Baltimore, MD: John Hopkins University Press, 1989, pp. 141–142. [Google Scholar]
  • [10].Verhaegen M and Van Dooren P, “Numerical aspects of different kalman filter implementations,” IEEE Transactions on Automatic Control, vol. 31, no. 10, pp. 907–917, October 1986. [Google Scholar]
  • [11].Kaminski P, Bryson A, and Schmidt S, “Discrete square root filtering: A survey of current techniques,” IEEE Transactions on Automatic Control, vol. 16, no. 6, pp. 727–736, December 1971. [Google Scholar]
  • [12].Oshman Y and Bar-Itzhack IY, “Square root filtering via covariance and information eigenfactors,” Automatica, vol. 22, no. 5, pp. 599–604, 1986. [Google Scholar]
  • [13].Brown RG and Hwang PY, Introduction To Random Signals And Applied Kalman Filtering, 3rd ed. John Wiley and Sons, 1997, pp. 246–250. [Google Scholar]
  • [14].Maybeck P, Stochastic Models, Estimation and Control, Vol. 1 New York, NY: Academic Press, 1979. [Google Scholar]
  • [15].——, Stochastic Models, Estimation and Control, Vol. 2 New York, NY: Academic Press, 1979. [Google Scholar]
  • [16].Dyer P and McReynolds S, “Extension of square-root filtering to include process noise,” Journal of Optimization Theory and Applications, vol. 3, no. 6, pp. 444–458, December 1969. [Google Scholar]
  • [17].Golub G, “Numerical methods for solving linear least squares problems,” Numerische Mathematik, vol. 7, no. 3, pp. 206–216, June 1965, doi: 10.1007/BF01436075. [DOI] [Google Scholar]
  • [18].Hanson RJ and Lawson CL, “Extensions and applications of the householder algorithm for solving linear least squares problems,” Mathematics of Computation, vol. 23, no. 108, pp. 787–812, 1969. [Google Scholar]
  • [19].Bierman G, “Sequential square root filtering and smoothing of discrete linear systems,” Automatica, vol. 10, pp. 147–158, 1974. [Google Scholar]
  • [20].——, “The treatment of bias in the square root information filter/smoother,” Journal of Optimization Theory and Applications, vol. 16, no. 1/2, pp. 165–178, July 1975. [Google Scholar]
  • [21].Thornton C and Bierman G, “Gram-schmidt algorithms for covariance propagation,” IEEE Conference on Decision and Control, pp. 489–498, 1975. [Google Scholar]
  • [22].Agee W and Turner R, “Triangular decomposition of a positive definite matrix plus a symmetric dyad with application to kalman filtering,” White Sands Missile Range Tech. Rep. No. 38, 1972. [Google Scholar]
  • [23].Carlson N, “Fast triangular factorization of the square root filter,” AIAA Journal, vol. 11, no. 9, pp. 1259–1265, September 1973. [Google Scholar]

RESOURCES