Home Articles Time Varying Kalman Filter Processing to Predict the Future Errors of a...

Time Varying Kalman Filter Processing to Predict the Future Errors of a GPS Receiver

M. H. Refan
Assistant Professor, Department of Electrical Engineering, Shahid Rajaee Teachers Training University,Lavizan, Tehran 16788, Iran
[email protected]

M. R. Mosavi
M. R. Mosavi
Ph.D. Student, Department of Electrical Engineering, Iran University of Science and Technology, Narmak, Tehran 16844, Iran
[email protected]

K. Mohammadi
Associate Professor, Department of Electrical Engineering, Iran University of Science and Technology, Narmak, Tehran 16844, Iran
[email protected]

Global Positioning System (GPS) is a satellite based radio positioning, navigation and time transfer system developed by the U.S. Department of Defence. The whole GPS constellation consists of 24 satellites allocated in six orbital planes. Each satellite transmits two carrier signals on the L1 (1575.42 MHz) and L2 (1227.6 MHz) frequencies. A receiver tracks these GPS satellites and receives signals containing time and satellites orbit parameters. By using this information, each receiver will be able to calculate its ranges to the visible satellites and correct its clock. Having four or more simultaneous calculated ranges, the receiver can determine its position and precision time [1, 2].

In addition to Selective Availability (SA), there are some other error sources that cause the position and time measuring from GPS receivers to be inaccurate. These significant error sources are signal delays from ionospheric and tropospheric effects, satellite clock drift, satellite orbital position errors, signal multi path, and noise generated within the receiver itself

Because of the above mentioned error sources, all measured GPS positions have a certain number of errors. This means that the received data from a GPS receiver will not determine the exact location. Therefore, users who wish to increase the accuracy of their GPS receivers should take steps to minimize the errors. There are several methods to remove or decrease these errors. One of the most famous is Real Time Differential GPS (DGPS) positioning. In real time DGPS; we need to predict the future (next second) errors. So the prediction or estimation of the future errors is too important [3, 4].

In this research, we described a dynamic predictor which is based on the principle of Kalman filter scheme.

Receiver and the Data Collection
To collect the position data, a low cost GPS engine manufactured by Rockwell Company, MicroTracker Low Power (MLP), was used. It is a single-board, five parallel-channel GPS engine suitable for integration into a wide variety of Original Equipment Manufacturer (OEM) products. The receiver tracks up to nine satellites, providing accurate satellite positioning data, with power requirements suitable for integrating handheld products.

At power-up or after a reset, the MLP operates in a default mode unless commanded to do otherwise. After a brief start-up period from two to four seconds, the receiver provides a binary message containing some useful information about time, position, velocity, and receiver status.

In order to setup the receiver, we designed and implemented a hardware system containing a microcontroller and its peripherals. As shown in Figure-1, the microcontroller is connected to the GPS engine through its serial port and can receive and save the data produced by the receiver. A keyboard and LCD panel is used to command the system and display the result respectively.

To collect and process the data, the system was installed in a fixed and known position and the collected data was saved in a PC, through an external RS232 port, for several times [5, 6].

Figure-1: Hardware Structure.

Kalman Filter
A distinctive feature of a Kalman filter is that its mathematical formulation is described in terms of state-space concepts. Another novel feature of a Kalman filter is that its solution is computed recursively. In particular, each updated estimation of the state is computed from the previous estimation and the new input data, so only the previous estimation requires storage. The Kalman filter is thus ideally suited for implementation on a digital computer and the system errors model can be expressed in state-space. The Kalman filter procedure includes two main steps known as the prediction or time update, and measurement update. In the first step the algorithm predicts the states and also estimation error covariance for time k+1 using the data available up to k time. In the second step, a new measurement, Zk , is used to generate a posteriori state estimation. In this step the state estimation for time k+1 is based on data available at time k. Basic equations in a Kalman filter form as follows:

Xk+1=f k X k+ Wk           ; Process equation               (1)

Where XK is an N-dimensional state vector and fK is an N-by-N state transition matrix relating the states of the system at times k and k+1. The N-by-1 vector Wk represents process noise. The vector Wk is modeled as zero-mean, white noise processes whose correlation matrix is defined by:

The measurement equation is:

Zk= Hk.Xk+Vk             (3)

Where Zk is an M-dimensional vector, denotes the observed data of system, and Hk is a known M-by-N measurement matrix. The M-by-1 vector Vk is called measurement noise. It is modeled as zero-mean, white noise processes whose correlation matrix is:

The noise vectors Wk and Vk are statistically independent, so we may write:

E[WkViT]=0 ; For all k and i               (5)

Figure-2: A complete cycle of a Kalman filter algorithm.
In this figure, Kk is the gain of the Kalman filter and Pk is the error covariance of the estimate ^Xk of the state vector at time k [7, 8].

Model Description
A Kalman filter requires that the system model to be in state-space form. It has seen that there are linear correlations between the errors of each position components of a GPS receiver measurement. So we based the state-space on modeled errors of dx, dy, and dz, the errors of position components corresponding to x, y, and z, respectively. In this modeling the matrix parameters can be defined in the following time-varying ARMA form [9,10]:

Where a1i(n),a2i (n),a3i(n),b1j(n),b2j(n),c1k(n),c2k(n) and c3k(n) for i=1,2,L,P,j=1,2,L,q and k=1,2,L are time-varying parameters produced by ARMA model.

The measurement matrix is chosen as:

Also, the initial error covariance matrix is chosen as:

Experimental Results
To study the efficiency of the model, we used 5000 position test data, which were collected on a fixed and known position at Computer Control and Fuzzy Logic Research Lab in the Iran University of Science and Technology. After measuring the position component of Xi, Yi, and Zi, we calculated the position errors by subtracting the measured data and their known amount (Xn, Yn, and Zn), for each measured data. ARMA model was established on the error components and by using the three last points of the measurement; the Kalman filter estimated the next second’s errors. Comparing the errors estimated with real errors gave us the efficiency of the model. Statistical significance characteristic resulted from tests are shown in Table-1. As we can see, the standard deviation of the errors is less than 0.5 meters in 5000 sample test, for each component.
Table-1: Average, Variance, and Standard Deviation of positioning error components

Error StatisticalSignificance Characteristic X Position Component Y Position Component Z Position Component
Average (m) 0.1942 0.3886 0.4008
Variance (m2) 0.0260 0.1921 0.0135
Standard Deviation (m) 0.1613 0.4383 0.1161


This paper has described how the future errors of a GPS receiver can be predict, by using a time varying Kalman filter. The results showed a highly effective estimation technique that can be used in real time DGPS accurate positioning. The validity of the proposed time varying Kalman filter was confirmed by experimental results on implemented unit in this paper. So, the average errors in prediction of x, y and z were less than 0.5 meters.


  • Paul Zarchan, “Global Positioning System: Theory and Applications”, Volume I, American Institute of Aeronautics and Astronautics, 1996.
  • B. Hofmann-Wellenhof, H. Lichtenegger and J. Collins, “Global Positioning System: Theory and Practice”, Third Revised Edition, Springer-Verlag Wien New York, April 1994.
  • Sien-Chong Wu and William G. Melbourne, “An Optimal GPS Data Processing Technique for Precise Positioning”, IEEE Transactions on Geoscience and Remote Sensing, Vol. 31, No. 1, Jan. 1993, pp.146-152.
  • M. H. Refan and K. Mohammadi, “Point Averaging of the Position Components, before and after S/A is Turned off “,The Asian GPS Conference 2002, India.
  • “Microtracker LP Operations Manual”, Rockwell International Corporation, GPS-16, January 10, 1994.
  • “Microtracker LP Designer’s Guide”, Rockwell International Corporation, GPS-22, January 1, 1995.
  • Simon Haykin, ” Adaptive Filter Theory “, Third Edition, Prentice Hall, 1996.
  • K. Mohammadi and M. H. Refan, “A New Method of Improvement of Time Accuracy on Low Cost GPS Receiver with Using Kalman Filter”, International Journal of Engineering Science, Iran University of Science and Technology, Vol.13, No.1, 2002, pp.11-24.
  • Yi Bian, “GPS Signal Selective Availability Modeling and Simulation for FAA WAAS IV & V”, ION GPS-95, September 1995, pp.761-769.
  • M. R. Mosavi, K. Mohammadi and M. H. Refan, “Time Varying ARMA Processing on Low Cost GPS Receiver Data to Improve the Position Accuracy”, The Asian GPS Conference 2002, India, pp.125-128.