chapter 5 improving gps signal accuracy using kalman...
TRANSCRIPT
68
CHAPTER 5
IMPROVING GPS SIGNAL ACCURACY USING
KALMAN FILTER AND WIENER FILTER
5.1 INTRODUCTION
An inertial combination of GPS and INS systems provide a secure
resolution for launching such as aircrafts, Unmanned Air Vehicles (UAVs),
Precision Guided Munitions, and missiles. GPS/INS works join together to
provide a safe and reliable resolution for the noise problem as taking
predictive action. GPS can be used to continuously keep informed the
IMU/INS to maintain a minimum bias error. The integration of IMU and INS
provide the position of GPS for improving learning and track times, also to
handle multipath conditions during the launch. The GPS with IMU/INS
systems is linked using Kalman techniques to combine navigation
information and handle short intervals of GPS outage caused by interference
or jamming. The grades of performance achieved are dependent on the IMU /
INS accuracy and GPS satellite visibility and are driven generally by failing
to notice distance requirements. The complication and cost of coupling are
generally acceptable for manned missiles, aircraft and UAVs that carry both
systems. The advantages of integrating GPS/INS, depends on either GPS or
INS alone, can be listed as follows
69
A high data rate of absolute navigation solution including
position and velocity
Better-quality short-term and long-term positioning accuracy
Enhanced availability and reliability
Fine tuned trajectories,
Greater data security and integrity requirements
Non significant cost, especially when utilized for military
applications
Figure 5.1 Loosely coupled integration algorithm
GPS
Receiver
Inertial
Navigation
Algorithm
Data Fusion
Algorithm
IMU
Sensor
Readings
GPS position
and velocity
Position
Velocity
Attitude Sensor
Errors
70
Figure 5.2 Tightly coupled integration algorithm
Different kinds of data fusion strategies are available. Based on that
GPS/INS integrated systems can be classified into three types: loosely
coupled GPS/INS, tightly coupled GPS/INS, and ultra-tight coupled
GPS/INS.
i) Loosely-coupled integration: the INS and GPS send either
position or velocity these are differences to form the
measurement input to a Kalman filter (KF) to estimate the INS
errors. Nevertheless, the gain is restricted by the need to
account for time-correlated noise on the GPS navigation
solution. For receiving high quality signal at least four GPS
satellites must be covered so that the GPS navigation solution
can calibrate the INS. A block diagram illustration of a
loosely coupled integration algorithm is presented in
Figure 5.1.
GPS
Receiver
Inertial
Navigation
Algorithm
Data Fusion
Algorithm
IMU Sensor
Readings
Pseudo ranges
and Doppler
measurements
Position
Velocity
Attitude Sensor
Errors
Figure 5.2 Tightly coupled integration algorithm
71
ii) Tightly-coupled integration: the GPS navigation filter is
combined into the INS/GPS integration filter which uses the
pseudo range and pseudo range rate measurements from the
GPS antenna to each satellite, measured by the GPS receiver
and updates the same variables calculated through the INS
navigation solution. The INS errors are fed back to correct the
inertial navigation equation function. An independent INS
navigation solution is maintained, which is corrected to form
the integrated navigation solution. A block diagram of a
tightly coupled integration algorithm is presented in
Figure 5.2.
Figure 5.3 Ultra-tightly coupled integration algorithm
iii) Ultra-tightly coupled: This combines the INS/GPS integration
and GPS signal tracking functions into a single estimation
algorithm in which the INS measurements are fed back into
the receiver to decrease GPS signal tracking errors and
GPS
Receiver
Inertial
Navigation
Algorithm
Data Fusion
Algorithm
IMU
Sensor
Readings
Pseudo ranges
and Doppler
measurements
Position
Velocity
Attitude Sensor
Errors
72
enhance GPS positioning performance, in addition to assisting
the receiver tracking loop to recover a signal lock if it is
misplaced due to interference or jamming. A block diagram
illustration of an ultra-tightly coupled integration algorithm is
presented in Figure 5.3.
5.2 KALMAN FILTER
Figure 5.4 Block diagram illustration of Kalman filter
The kalman filter is a recursive predictive filter that is based on the
use of state space techniques and recursive algorithms. Figure 5.4 shows the
block diagram illustration of the kalman filter. It is estimated the state of
dynamic system. This dynamic system can be disturbed by some noise mostly
assumed as white noise. To improve the estimated state kalman filter uses the
measurements that are related to the state but disturbed as well.
Thus the kalman filter consists of two steps:
1. Prediction
2. Correction
𝐾𝑘
𝐵𝑘
𝐷𝑒𝑙𝑎𝑦 𝐴𝑘
𝐶𝑘
+
+ +
+
- y(k)
y(k-1)
x(k) x(k-1)
u(k)
73
In the first step the state is predicted with dynamic model. In the
second step it is corrected with observation model, so that the error
covariance of the estimator is minimized. In this sense it is an optimal
estimator. This procedure is repeated for each time step with the state of
previous time step as initial value. Therefore the filter is called a recursive
filter. Malleswari et al (2009) has described about the modeling of errors
affecting the GPS signals as they travel from satellite to user on earth using
kalman filters.
Dah-Jing Jwo et al (2007) have explained about obtaining good
estimation solutions using the EKF approach for both dynamic process and
measurement models. Jaime Gomez-Gil et al (2013) used the low-cost GPS
receivers to provide geodetic positioning information using the NMEA
protocol, usually with eight digits for latitude and nine digits for longitude.
Azizi et al (2001) used the new approach for the mathematical modeling of
the GPS/INS supported photo-triangulation based on the Kalman filtering
process is proposed. Elder M. Hemerly et al (2008) multi-sensor based
navigation system is implemented in this thesis using odometer/INS
integration system. Ravindra Babu (2009) has proposed the Ultra-Tight
GPS/INS/PL Integration for analyzing the kalman Filter Performance.
The basic components of the kalman filter are state vector, the
dynamic model and the observation model. These are explained one by one in
the following.
5.2.1 State Vector
The state vector contains the variables to be measured. It describes
the state of the dynamic system and represents its degrees of freedom. The
variables in the state vectors cannot be measured directly, but they can be
inferred from the values that are measurable. Elements of the state vector can
74
be positioned, velocity, orientation angles etc., If x1 and x2 are the two state
variables it is represented as
x = {𝑥1
𝑥2} (5.1)
The state vector has the two values at the same time, that is the
priori value, the predicted value before the update and the posteriori value, the
corrected value after the update and it is marked as 𝑥− and 𝑥+ respectively.
5.2.2 Dynamic Model
The dynamic model describes the transformation of the state vector
with respect of the time. The next state of the system can be represented by a
system of differential equation
𝑥𝑘+1 = 𝐴𝑘 𝑥 𝑘 + 𝑤𝑘 (5.2)
where 𝐴 is the dynamic matrix and constant. xk is the state vector and 𝑤𝑘 is
the dynamic noise which is usually assumed as white noise and has the
covariance matrix Q(t).
5.2.3 Observation Model
The observation model represents the relationship between the state
and measurements. In the linear case the measurements can be described by a
system of linear equations, which depend on the state variables. Usually the
observations are made at time steps ti
𝑧𝑘 = ℎ(𝑥𝑘, 𝑣𝑘) (5.3)
75
The vector form of this system is
𝑧𝑘 = 𝐻𝑘𝑥𝑘 + 𝑣𝑘 (5.4)
where 𝑧𝑘 is the observation at epoch k , H is the measurement matrix , 𝑣𝑘 is
the noise of measurement process with covariance matrix R(ti). Like the
dynamic matrix in the discrete system, the measurement matrix H is a
constant as well.
5.2.4 Prediction
The prediction is the first step of kalman filter. The predicted state
or the priori state is calculated by neglecting the dynamic noise and solving
the differential equation that describes the system model.
𝑥𝑘+1− = 𝐴 𝑥𝑘 (5.5)
The state vector at time k can be expressed by a taylor series with
respect to an approximate state 𝑥𝑘 and the Equation 5.5 can be written as
𝑥𝑘− = 𝐴𝑘−1 (𝑥𝑘−1
− ) (5.6)
It shows the predicted state is a discrete combination of the initial
state xk-1
where 𝐴𝑘−1 is the state transition matrix which transform any initial state to
the specified state at time k.
In the more generalized form where also the covariance matrix of
the noise Q is a function of time, the covariance matrix is
𝑃 𝑘− = 𝐴𝑘 𝑃𝑘−1 𝐴 𝑘
𝑇 + 𝑄𝑘 (5.7)
76
5.2.5 Correction
In the correction step the predicted state vector x(ti) is improved
with observations made at the epoch ti thus the posteriori state has the form
𝑥𝑘+ = 𝑥𝑘
− + ∆ 𝑥𝑘 (5.8)
With covariance matrix
𝑃𝑘+ = 𝑃𝑘
− + ∆ 𝑃𝑘 (5.9)
As said before the kalman filter is an optimal filter means that the
state variance of the state covariance matrix P+ is minimized. As the P
- is
already known from the prediction step it follows that ∆ 𝑃 minimized.
∆ 𝑃𝑘 = ∈ [∆ 𝑥𝑘 ∙ ∆ 𝑥𝑘𝑇] (5.10)
This condition is compiled with
∆ 𝑥𝑘 = 𝑃𝑘−𝐻𝑘
𝑇(𝐻𝑘𝑃𝑘−𝐻𝑘
𝑇 + 𝑅𝑘 )−1 ∙ (𝑧𝑘 − 𝐻𝑘 𝑥𝑘
−) (5.11)
∆ 𝑥(𝑡𝑖) = 𝐾𝑘 ∙ (𝑧𝑘 − 𝑥𝑘−) (5.12)
With
𝐾𝑘 = 𝑃𝑘−𝐻𝑘
𝑇(𝐻𝑘𝑃𝑘−𝐻𝑘
𝑇 + 𝑅𝑘)−1 (5.13)
Where 𝐾𝑘 is the gain matrix and
𝑧𝑘 − 𝑥𝑘− (5.14)
is the measurement residual. It reflects the difference between the predicted
measurement
77
�̂�𝑘− = 𝐻𝑘 𝑥𝑘
− (5.15)
and actual measurement 𝑧𝑘.Finally the corrected state is obtained by
𝑥𝑘 = 𝑥𝑘− + 𝐾𝑘(𝑧𝑘 − �̂�𝑘
−) (5.16)
In this equation the estimated state and the measurements are
weighted and combined to calculate the corrected state that is if measurement
covariance is less than the predicted state, then the measured weight will be
high and the predicted state will be low. So the uncertainty can be reduced.
The covariance matrix of the a posteriori state is given by a law of
error propagation by
𝑃𝑘 = 𝑃𝑘− − 𝐾𝑘𝐻𝑘 𝑃𝑘
− (5.17)
𝑃𝑘 = 𝑃𝑘−(𝐼 − 𝐾𝑘𝐻𝑘 ) (5.18)
5.3 KALMAN FILTER SPECIFICATIONS AND DESIGN
Figure 5.5 Complete illustrations of operation of kalman filter
�̂�𝑘− = 𝐴 �̂�𝑘−1
𝑃 𝑘− = 𝐴𝑘 𝑃𝑘−1 𝐴 𝑘
𝑇 + 𝑄𝑘
1. Determine the next state
2. Determine the next error covariance
𝐾𝑘 = 𝑃𝑘−𝐻𝑘
𝑇(𝐻𝑘𝑃𝑘−𝐻𝑘
𝑇 + 𝑅𝑘)−1
𝑃𝑘 = 𝑃𝑘−(𝐼 − 𝐾𝑘𝐻𝑘 )
1. Calculate the kalman gain
2. Update estimate with measurement
𝑧𝑘 �̂�𝑘 = �̂�𝑘− + 𝐾𝑘(𝑧𝑘 − �̂�𝑘
−)
3. Update the error covariance
Predicting Equations for Time
update
Correcting Equations for
Measurement update
Initial estimates 𝑥𝑘−1
and 𝑃𝑘−1
78
Figure 5.5 shows the complete illustration of kalman filter. With
the reference of the Figure 5.5 it is easy to describe the selection of tuning
parameters of kalman filter to improve the GPS signal accuracy.
The GPS receiver measurements include position, attitude,
altitude, velocity and time etc. In this work, position and
velocity are taken as two state variables. Hence state variables
‘n’ is set to 2.
One output variable i.e measurement of next state of the GPS
receiver signal is taken at each time interval. Hence the output
variable ‘m’ is chosen as 1.
To start the filtering operation initial state of the state
variables should be defined as given in Figure 5.5. Therefore
the estimation of initial position as given in equation 5.5 is
obtained by taking the mean value of the first two samples.
Similarly, initial velocity as given in equation (5.7) is obtained
by calculating the difference of the first two samples and
dividing it by the sampling period.
𝑥0− = [
𝑃𝑜𝑠𝑖𝑡𝑖𝑜𝑛𝑉𝑒𝑙𝑜𝑐𝑖𝑡𝑦
] = [𝑣(1) + 𝑣(2) 2⁄
𝑣(1) + 𝑣(2) 50 𝑚𝑠⁄]
Initially the error covariance matrix 𝑃0−
is equal to
(302 ∙ [ 1 1 0 0
] ) i.e the value of the noise covariance matrix
Q = 30 multiplied with matrix [ 1 1 0 0
] of order n=2. As Q is
not possible to measure directly it is taken as 30 .
With the reference of the equation (5.1) State update matrix is
chosen as A= [1 0.0250 1
]
79
With the reference of equation 5.4 the measurement matrix is
chosen as H = [1 0] because only position measurement is
taken at each time duration.
5.4 EXPERIMENTAL KALMAN FILTER RESULT
Figure 5.6 Error signal after applying Kalman filter
The errors obtained after applying Kalman filter can be seen in
Figure 5.6. It is the difference in absolute value with regard to the constant
original signal. Here it is observed that the Kalman filter reduces the error
considerably (mean = 7.47 meters, variance = 4.310 meters). The
disadvantage of the Kalman filter is that it behaves computationally complex,
for a large number of input data. So that the fuzzy system is designed for
handling large number of GPS data.
5.5 WIENER FILTER
In the signal processing, Norbert Wiener proposed the wiener filter
during the 1940s and this concept was published in 1949. The main principle
80
of this filter is to condense the quantity of noise present in a signal by
comparison of desired noiseless signal with an estimated signal. Kolmogorov
derived the discrete-time equivalent of Wiener's work independently and
published in 1941. Therefore the theory is always known as the Wiener-
Kolmogorov theory. Wiener filters are known as optimum linear filters which
one involves linear estimation of a desired signal sequence with respective of
an additional related sequence. In the statistical analysis to obtain the solution
using the linear filtering technique that the accessibility of definite statistical
parameters such that mean and correlation functions of the desired signal and
surplus additive noise are assumed.
Wiener filters have the following characteristics
The assumption is that the input signal and added noise are
stationary linear stochastic processes with knowledge of
spectral characteristics or autocorrelation and cross-
correlation functions
The condition is that the filter must be causal i.e physically
realizable
The Performance criterion considered in evaluating the signal
is minimum mean-square error (MMSE)
5.5.1 Model/Problem Setup
The input to the Wiener filter is assumed to be a signal, s (t),
corrupted by additive noise, n (t). The output is calculated by means of a
filter, g (t), using the following convolution
81
�̂�(𝑘) = 𝑤(𝑘) ∗ (𝑠(𝑘) + 𝑛(𝑘)) (5.19)
Where
s (k) is the original signal (to be estimated)
n (k) is the noise
�̂�(k) is the estimated signal
H (k) is the Wiener filter's impulse response
The error is defined as
𝑒(𝑘) = 𝑠(𝑘 + 𝜑) − �̂�(𝑘) (5.20)
Where 𝛿 is the delay of the wiener filter (since it is causal)
The error is the difference of estimated signal and the true signal
shifted by 𝛿. Therefore the squared error is
𝑒2(𝑘) = 𝑠2(𝑘 + 𝜑) − 2𝑠(𝑘 + 𝜑)�̂�(𝑘) + �̂�2(𝑘) (5.21)
Where,
𝑠(𝑘 + 𝜑) is the desired output of the filter
𝑒(𝑘) is the error
Depending on the value of 𝛿 the problem name can be changed:
If 𝜑 > 0 then the problem is that of prediction (error is
reduced when �̂�(𝑘) is similar to a later value of s)
82
If 𝜑 = 0 then the problem is that of filtering (error is reduced
when �̂�(𝑘)is similar to �̂�(𝑘))
If 𝜑 < 0 then the problem is that of smoothing (error is
reduced when �̂�(𝑘) is similar to an earlier value of s)
For a fixed inputs, the resultant solution is generally known as the
Wiener filter. The Wiener filter is insufficient for processing the signals of
non stationary property of the signal and/or noise is essential to the problem.
In this kind of situations, the optimum filter has to be considered in a time-
varying form.
At the optimum ∆𝐽(𝑤) = 0, so that, the first equation is called the
normal equation and it leads to the second expression for the wiener filter.
Note that
𝑅𝑥𝑤0 = 𝑟𝑥𝑠 ⇒ 𝑤0 = 𝑅𝑥−1 𝑟𝑥𝑠 (5.22)
The foundation of wiener filter is explained by Wiener (1949) in
the time series of extrapolation, interpolation, and smoothing of stationary
time series. Garcia & Chi Zhou (2010) have explained the technique to
improve GPS signal processing time using wiener filters with reduced length.
Wiener filter preprocessing to analyze both non stationary and stationary
phase noises of OFDM systems was discussed by Zhong et al (2013). System
identification of wiener filter using Bayesian semi parametric was analyzed
by Fredrik Lindsten et al (2013). Error present in the GPS signal’s estimates
can be provided by designing using wiener, and kalman filter smoothening
purpose (Shmaliy et al 2000).
83
5.6 WIENER FILTER DESIGN AND SPECIFICATIONS
Wiener filter can be implemented in the system whose real signal
and additional noise are known with spectral characteristics or autocorrelation
and cross-correlation functions. Hence the following procedures are followed
to define the stochastic model of the process as well as to find the wiener
filter coefficients.
Step 1: Determine the stochastic model
The first step of designing the wiener filter is that the computation
of System coefficients that can be calculated mainly by two methods are Burg
method and least squares method. The most commonly used one is the least
squares method which is based upon the Yule-Walker equations that can be
written in matrix form as
[
1 𝑟1 𝑟2𝑟1 1 𝑟
… 𝑟𝑁−1
… 𝑟𝑁−2
𝑟2 𝑟1 1⋮ ⋮ ⋮
𝑟𝑁−1 𝑟𝑁−2 𝑟𝑁−3
… 𝑟𝑁−3
⋮ ⋮… 1 ]
[ 𝑟1𝑟2𝑟3⋮𝑟2]
=
[ 𝑟1𝑟2𝑟3⋮𝑟2]
(5.23)
the diagonal value r0 is = 1.
Auto correlated GPS input signal is represented as in Figure5.7. It
comes under the category of real roots with negative dominant roots. Hence
the system parameter can be chosen as a1=0.1 and a2=-0.8.
84
Figure 5.7 Autocorrelation waveform of GPS signal
The Figure 5.8 shows the system model with coefficients a1=0.1
and a2=-0.8.
Figure 5.8 System model
Step 2: Determine noise covariance and measurement variance
Σ Σ
Σ a1=0.1
a2=-0.8
z-1
z-1
v1 (n)
v2 (n)
u(n-1)
u(n-2)
u (n)
x(n)
85
The signal u(n) is produced by a white noise v1 (n) of zero mean
and variance of σv2. =0.27. The signal u (n) is corrupted by additive noise v2
(n) of zero mean and variance of σ22. =0.1. Wiener filter which is operated by
receiving the signal x (n) as an input signal to produce such that an estimate
of the desired output i.e optimum value in the sense of mean squared error.
Step 3: Calculate autocorrelation vector R
The Autocorrelation function of signal u (n) is
Ru = [R11 R12
R21 R22] ; Ru = [
1.0 0.50.5 1.0
] (5.24)
Since v2(n) is a white-noise process of zero mean and variance
𝜎22 = 0.1 the 2-by-2 correlation matrix Rv2 of this process results
Rv2 = [0.1 00 0.1
] (5.25)
R = Ru + Rv2
R = [1.10 0.500.50 1.10
] (5.26)
Step 4: Calculate cross correlation vector Q
For the 2-by-1 cross-correlation vector Q, then write
Q = [p(0)p(1)
] = [R12 + a2R11
R11 + a2R12] = [
0.5273−0.4457
] (5.27)
Step 6: Determine the wiener filter coefficients
The 2-by-1 optimum tap-weight vector 𝑊 of the Wiener filter is
defined by (5.39). It is obtained by multiplying the inverse matrix R-1
by the
86
cross-correlation vector Q . By inverting the correlation matrix R of the
equation (5.36), get
𝑅−1 = [1.1 0.50.5 1.1
]−1
= [ 1.1458 −0.5207
−0.5207 1.1458] (5.28)
𝑊 = 𝑅−1 𝑄 ⇒ [ 1.1458 −0.5207
−0.5207 1.1458] [
0.5273−0.4457
] = [ 0.8362−0.7855
] (5.29)
5.7 EXPERIMENTAL WIENER FILTER RESULT
The errors after applying Wiener filter are calculated as the
difference (in absolute value) between the output of the Wiener filter and the
constant signal as in Figure 5.9. The Wiener filter achieves the smallest error
in both mean and average (mean = 2.014, variance = 0.994).
Figure 5.9 Error signal after applying wiener filter
5.8 CONCLUSION
In this chapter theoretical background of the kalman filter and
wiener filter have been discussed.