Professional Documents
Culture Documents
Improved Filtering-Smoothing Algorithm For GPS Positioning: Yi Cao, Xuchu Mao
Improved Filtering-Smoothing Algorithm For GPS Positioning: Yi Cao, Xuchu Mao
Abstract—The well-known Unscented Kalman Filter (UKF) is tem first; then briefly describes SR-UKF and smoother algo-
widely applied to nonlinear system, while smoothing algorithm rithms, two filtering-smoothing combinations are introduced;
shows advantage of accuracy improvement in post processing finally experimental results are presented and analyzed.
application. But conventional filter is harassed by roundoff For stand-alone GPS receiver, system noise contains
error due to processor’s finite-wordlength in practice. This non-white components. [2] has systematically modeled these
paper proposes an improved filtering-smoothing algorithm
components and given explanations in detail, so following
which replaces UKF with Square-Root UKF(SR-UKF) in the
forward filtering pass. Two smoothers, fixed-interval smoother sections would base discussion on its model and verify the
and fixed-lag smoother, are incorporated in the backward validity of new algorithms.
smoothing pass respectively to form two iterative filter-
ing-smoothing algorithms for GPS positioning estimation. Sys- II. GPS POSITIONING MODEL
tem model is addressed first, then SR-UKF and smoother im-
Generally, position and velocity in three-dimensional
plementations are described respectively, effectiveness of new
algorithm is evaluated by analyzing experiment results, future
format are user’s major concern, so state vector of GPS sys-
work will also be discussed tem model basically contains the following components:
position coordinates and velocity coordinates in WGS-84
I. INTRODUCTION ECEF coordinate system; GPS time clock offset cδ t and its
In GPS positioning application, Extended Kalman Filter shift cδ t ; bias between Doppler shift and rate of change of
(EKF) [1] and UKF [2] have been proved to be effective pseudorange δ R . Besides, there is non-white error ε k for
approaches for positioning estimation. A widely used kalman each channel. Subscript k indicates kth channel. All errors
filter model for GPS positioning estimation has been pro- are assumed to be independent to each other, so the system
posed by [1]. It is necessary to linearize the highly nonlinear state vector is expressed as
pseudorange equation before applying EKF to it. Unlike EKF, i i i
Authorized licensed use limited to: University of Gavle. Downloaded on July 01,2021 at 13:30:08 UTC from IEEE Xplore. Restrictions apply.
For each satellite, the non-white component could be for t ∈ {1,L ,∞}
modeled using first-order Gaussian-Markov process since 2. Sigma point calculation and time update:
system errors are independent: χ t-1 = [ xˆt −1 xˆt −1 + γ St xˆt −1 − γ St ]
ε i ( t +1) = αε it + β wcit i = 1, 2 , n (3)
χ * = Φ[ χ t-1 , wt −1 ]
α and β are given by [1]: t|t-1
2L
α=
2τ − 1
β=
2τ
(4) xˆt− = ∑ Wi ( m ) χ *t|t-1
2τ + 1 2τ + 1 i =0
the satellite clock error, ionospheric delay and tropospheric χ t|t-1 = [ xˆt− xˆt− + γ St− xˆt− − γ St− ]
delay are already compensated by preprocessing the raw data, Yt|t-1 = C[ χ t|t-1 ]
so measurement equation can be simplified as:
2L
ρit = rt − rit + cδ t + ε it + vit yˆ t− = ∑ Wi ( m )Yi ,t |t −1
i =0
= ( X t − X it ) 2 + (Yt − Yit ) 2 + ( Z t − Z it ) 2 (5)
3. Measurement update equations:
+ cδ t + ε it + vit
Sŷt = qr{[ W1c [Y1:2 L ,t − yˆ t− ] R ]}
i i i i
Dit = [( X t − X it )( X t − X it ) + (Yt − Yit )(Yt − Yit ) + Syˆ t = cholupdate{Syˆ t Y0,t − yˆ −
W0( c ) }
i i i
(6) t
( Z t − Z it )( Z t − Z it )] / rt − rit + c δ t + δ Rt + ς it 2L
Pxt yt = ∑ Wi ( c ) [ χ i,t|t-1 − xˆt− ][Yi ,t |t −1 − yˆt− ]T
where ρit is the pseudorange for satellite i at tth epoch, i =0
858
Authorized licensed use limited to: University of Gavle. Downloaded on July 01,2021 at 13:30:08 UTC from IEEE Xplore. Restrictions apply.
interval N − t = Δ . The smoother functions as a window Fixed-interval smoother formula roots in linear model but
moving along the time axis, with filtering operated si- is applicable to nonlinear model as well [6]. In order to im-
multaneously with the smoothing but prior to smooth- plement the smoothing algorithm, the state transition matrix
ing Δ epochs,. and state vector estimation need to be saved at forward fil-
Given that civilian GPS receiver generally yields naviga- tering pass. In fixed-interval smoother, filtering and smooth-
tion results once per second, fixed-interval smoother and ing operate in asynchronous manner, backward smoothing
fixed-lag smoother are more suitable for continuous posi- can only be executed after forward filtering. But in fixed-
tioning. Thus the following sections will focus on these two interval smoother, filtering and smoothing are manipulated
smoothers. simultaneously. Filtering is operated at epoch N while
Backward smoothing algorithm could be obtained by smoothing is operated at epoch t . Fig.1 illustrates the way
solving the differential equation: they work.
∂f ( xt , xt +1 | y1 , y2 L y N )
=0 (8) Filtering Pass
∂xt
where f ( xt , xt +1 | y1 , y2 L y N ) is the conditional probability
function complying with Gaussian-distribution. Complexity t-1 t t+1 N-1 N
of resolution could be simplified when dealing with linear Smoothing Pass
discrete-time model. Set the discrete-time dynamic system
model: (a) Fixed-interval smoother
⎧⎪ xt +1 = Φ t +1,t xt + Γ t +1,t wt
⎨ (9)
⎪⎩ yt +1 = Ct +1 xt +1 + vt +1 Smoothing point Filtering point
where t = 0,1, 2,K N − 1 , xt is the state vector, yt +1 is the ob-
∆
servable vector. wt , vt +1 are system process noise and mea-
surement noise respectively and assumed to be Gaussian.
Q , R are covariance matrices of wt and vt +1 respectively, t t+1 t+2 t+N t+1+N
Φ t +1,t is the state transition matrix, Ct +1 is the measurement (b) Fixed-lag smoother
matrix. the recursive formulas of fixed-interval smoother and Fig. 1. Fixed-interval smoother and fixed-lag smoother
fixed-lag smoother are as following:
Fixed-lag smoother’s formula seems more complicated than
(1) fixed-interval smoother
that of fixed-interval smoother. However, fixed-lag smoother
⎧xˆt|N = xˆt|t + Ast [xˆt +1|N −Φt +1,t xˆt|t ] presents superiority when sample points increase. Because it
⎪⎪ T
⎨Pt|N = Pt|t + Ast [Pt +1|N − Pt +1|t ]As t t < N, t = 1,2LN −1 (10) avoid executing smoothing algorithm point by point, there-
⎪ T −1
fore the overall computational cost is less than fixed-interval
⎪⎩ Ast = Pt|t Φ t +1,t P t +1|t smoother. In addition, in fixed-lag smoother implementa-
where xˆt |t , Pt |t , Pt +1|t refer to state vector, covariance matrix tion, Δ + 1 points’ information are incorporated into the solu-
tion when computing xˆt +1 t +1+ N , thus the smoothed estimation
and predicted covariance matrix respectively. Pt +1|t comes
from forward filtering pass. Ast is optimal smoothing gain are expected to be more coherent.
matrix, the boundary condition are xˆ N | N , PN | N . B. Iterative filtering-smoothing algorithm based on
SR-UKF
(2) fixed-lag smoother
⎧ Conventional applications perform one pass forward fil-
⎪ xˆt +1 t +1+ N = Φ t +1,t xˆt t + N + Bt +1,t +1+ N [ xˆt +1+ N t +1+ N − tering and one pass backward smoothing, the outcome is
⎪ thereby more precise than taking filtering alone since many
⎪ xˆt +1+ N |t + N ] + Gt [ xˆt t + N − xˆt t ]
⎪ errors have been removed. If the smoothed estimation is taken
⎪ Pt +1|t +1+ N = Pt +1|t + Ast−1 [ Pt |t + N − Pt |t ] Ast− T − as refined initial value for filter again, then more precise
⎪⎪ (11) output is expected to achieve. Base on the above idea, [3]
⎨ Bt +1, t +1+ N K t +1+ N Ct +1+ N Pt +1+ N |t + N B T t +1, t +1+ N
⎪ t +1 + N
applies UKS to adjacent points in iterative manner, which
⎪B
⎪ t +1, t +1+ N
= ∏ Asi = Ast−1 Bt , t + N Ast + N basically combines UKF and fixed-interval smoother in one
i = t +1 implementation. Fixed-interval smoother is derived from
⎪
⎪ Gt = Γ t +1, t Q Γ Tt +1, k Φ − T t +1, t Pt |t −1 linear model. In case of GPS modeling, measurement equa-
⎪ tions are highly nonlinear, combination of the UKF and
⎪⎩ Ast = Pt |t Φ T t +1, t P −1t +1|t
fix-interval smoother may arouses concern over its validation.
where t = 0,1, 2L , xˆt |t , Pt |t . Pt +1|t , Ast have the same mean- However, [6] proves that such combination is valid by spe-
ing as fixed-interval smoother, boundary condition are cific mathematical proof and experiments.
xˆ0 N , P0| N .
859
Authorized licensed use limited to: University of Gavle. Downloaded on July 01,2021 at 13:30:08 UTC from IEEE Xplore. Restrictions apply.
SR-UKF with δ X&&t2 = δ Y&&t 2 = δ Z&&t2 = 102 , which are the maximum ac-
xˆt −1|t −1 xˆt|t
celeration. E{wδ R wδ R } = σ wδ R 2 = 20 2 is obtained from statis-
Pt −1|t −1 Iteration Pt |t tics by receiver test. E{wcit wcit } = (0.3URA) 2 , URA is short
for User Range Accuracy, which is obtained from navigation
k-1 data, typically 4 without SA policy [1]. Other parameters are
defined in [3].
xˆt −1|t xˆt |t ⎡σν21 ⎤
Pt −1|t Smoothing Pass Pt|t ⎢ ⎥
⎢ ⎥
Fig. 2. Iterative filtering-smoothing process ⎢ σν21 ⎥
R=⎢ ⎥ (15)
⎢ σ ς21 ⎥
UKF is superior to EKF in positioning accuracy, but both ⎢ ⎥
are susceptible to accumulative roundoff error[7]. In contrast ⎢ ⎥
with UKF and EKF, SR-UKF requires only half of word ⎢⎣ σ ς 1 ⎥⎦
2
860
Authorized licensed use limited to: University of Gavle. Downloaded on July 01,2021 at 13:30:08 UTC from IEEE Xplore. Restrictions apply.
TABLE II
COMPARISON OF DIFFERENT METHOD’S POSITION RMSE Positioning precision is conspicuously improved when
iteration number increase from 10 to 40. However, it is ob-
RMSE/m
vious that a trade-off exists between precision and computa-
X Y Z 3-D tional cost. Besides, precision is not improved constantly as
Superstar Receiver 2.3052 3.4641 2.9314 5.0899 iteration number or window interval increase. This is partly
due to the averaging effect of smoother. For each individual
UKF 1.8275 3.3948 3.0701 4.9285
sample, estimation is partly refined from information of its
SR-UKFS-Window 1.8067 3.2479 2.8219 4.6665 adjacent points, the more frequently the smoothing is im-
SR-UKFS-Iterative 1.3792 2.7111 2.0325 3.6583 plemented, the more influence it would get from adjacent
Fig.3 shows that the trend of SR-UKFS-window is similar points. Although the process helps to reduce white noise as a
to that of UKF. But SR-UKFS-window involves in 21 points’ whole, it possibly causes divergence from true position for
information at each sample, the curve is smoother than that of individual sample.
UKF or SR-UKFS-Iterative. By carefully examining the
curve, we found that a ‘faultage’ presents at Z direction. It VI. CONCLUSION AND FUTURE WORK
actually indicates a change on visible satellite number. The This paper has presented implementations of SR-UKF and
cause of ‘faultage’ is due to inconsistent matrix dimension. two smoothers, combining them to form two improved fil-
Equation (10) requires all points involving in should have tering-smoothing algorithm for GPS positioning estimation.
identical dimension. But matrix dimensions change in re- Experimental results show that proposed algorithms achieve
sponse to visible satellite number change. So the formula higher accuracy than applying UKF alone, they effectively
could not be implemented any more, conventional SR-UKF reduce the risk of divergence. Appropriate iteration number
will be used instead. Hence the curve would ‘jump’ to that of and window interval are also suggested in diagram. Moreover,
UKF. A pragmatic strategy is to skip the particular sample their limits are also discussed. The SR-UKFS-iterative are
and continue to use estimation of previous epoch until the suitable for real-time positioning in that it carries out iteration
point move out the window interval, but it does not guarantee only between adjacent points, and SR-UKFS-window could
accuracy in case the satellite number change frequently. be used for post processing purpose.
Fig.4 shows that the curve of SR-UKFS-Iterative is closer Future work includes research on fixed-lag smoother.
to RTK GPS reference than that of UKF. Table 1 indicates Theoretically, it requires less computation work when time
that SR-UKFS-Iterative achieves least RMSE among other interval is long. But a drawback is that linear measurement
algorithms. It’s an intuition to increase the iterations and matrix is needed, which hinder it from applying to nonlinear
window interval to pursue higher accuracy, Fig.5 and Fig.6 model, linearizing the measurement equation is not accepta-
present the results of the tentative suggestion. ble, because it would undermine our original intention of
employing UKF as forward filter.
REFERENCES
[1] Simon Cooper and Hugh Durrant-Whyte, “A Kalman Filter Model for
GPS Navigation of Land Vehicles”, IEEE Conference on Intelligent
Robots and Systems (IROS’94) Munich, Germany, 1994 9:157- 163
[2] Mao X, Wada M. Hashimoto H. “Nonlinear GPS Models for Position
Estimate Using Low-cost Receiver”, The IEEE 6th Intelligent Trans-
portation System Conference, Shanghai, China, 2003: 637-642
[3] Mao X, Wada M. Hashimoto H. “Nonlinear Iterative Algorithm for
GPS Positioning with Bias Model”, 2004 IEEE Intelligent Transpor-
tation Systems Conference Washington, D.C., USA, October 3-6,
2004
[4] Haykin S. Kalman Filtering and Neural Networks. USA: Wiley
Publishing, 2001:221-240
Fig. 5. Comparison as iteration number increase [5] Van der Merwe R, Wan E A. “The Square- root Unscented Kalman
Filter for state and parameter estimation”, IEEE International Confe-
rence on Acoustics (Speech and signal Processing Proceedings), Salt
Lake City, Uta h , 2001(3):3461-3464
[6] Psiaki, M.L. Derivation and Simulation Testing of a Sigma-Points
Smoother. Journal of guidance, control, and dynamics, Keystone,
Colorado, August 21 - 24 2006
[7] Psiaki, M.L. “Backward-Smoothing Extended Kalman Filter”, Journal
of Guidance, Control, and Dynamics. 2005, Vol.28, No.5: 885-899
Fig. 6. 3-D RMSE vary with different iteration and window interval
861
Authorized licensed use limited to: University of Gavle. Downloaded on July 01,2021 at 13:30:08 UTC from IEEE Xplore. Restrictions apply.