**Kalman filtering was introduced to me in a graduate college course
many**
**years ago.... and I have never had occasion to learn or understand
it...**
**The last time the subject came up in a thread.... the responses
were something**
**like "easier said than done". Since Kalman filtering is such
an integral part**
**of GPS, I though you might enjoy this indroductory page from "GPS
User**
**Equipment Introduction".**

**-Sam Wormley**
** Iowa State University**

**CHAPTER 9: GPS AND KALMAN FILTERING**

**9.1 INTRODUCTION**

**A GPS receiver measures pseudoranges and pseudorange rates to**
**the satellites. Knowing the position of the satellites from**
**the decoded navigation messages, the user position and GPS**
**system time can be calculated from four or more satellites.**

**A GPS receiver, however, can never measure exact range to each**
**satellite. The measurement process is corrupted by noise which**
**introduces errors into the calculation. This noise includes**
**errors in the ionospheric corrections and system dynamics not**
**considered during the measurement process (e.g., user clock**
**drift). A Kalman filter characterizes the noise sources in**
**order to minimize their effect on the desired receiver outputs.**

**When the GPS receiver is aided or integrated with other**
**navigation sensors (e.g., INS, clock, altimeter or AHRS), then**
**the Kalman filter can be extended to include the measurements**
**added by these sensors. In fact, a typical implementation for**
**integrated systems would be to have a central Kalman filter**
**incorporating measurements from all available sources.**

**9.2 KALMAN FILTER PRINCIPLE**

**The Kalman filter is a linear, recursive estimator that**
**produces the minimum variance estimate in a least squares**
**sense under the assumption of white, Gaussian noise processes.**
**Because the filter is a linear estimator by definition, for**
**navigation systems it generally estimates errors in the total**
**navigation state. The Kalman filter also produces a measure of**
**the accuracy of its error state vector estimate. This level of**
**accuracy is the matrix of second central moments of the errors**
**in the estimate and is defined as the covariance matrix.**

**There are two basic processes that are modeled by a Kalman**
**filter. The first process is a model describing how the error**
**state vector changes in time. This model is the system**
**dynamics model. The second model defines the relationship**
**between the error state vector and any measurements processed**
**by the filter and is the measurement model.**

**Intuitively, the Kalman filter sorts out information and**
**weights the relative contributions of the measurements and of**
**the dynamic behavior of the state vector. The measurements and**
**state vector are weighted by their respective covariance**
**matrices. If the measurements are inaccurate (large variances)**
**when compared to the state vector estimate, then the filter**
**will deweight the measurements. On the other hand, if the**
**measurements are very accurate (small variances) when compared**
**to the state estimate, then the filter will tend to weight the**
**measurements heavily with the consequence that its previously**
**computed state estimate will contribute little to the latest**
**state estimate.**