Practical Implementation and Performance Assessment of An Extended Kalman Filter-Based Signal Tracking Loop
Practical Implementation and Performance Assessment of An Extended Kalman Filter-Based Signal Tracking Loop
Abstract— In this paper, the structure of a tracking loop with in the GNSS field [3]. For example, in [4] the authors proposed
Extended Kalman Filter (EKF) is analyzed. Particular emphasis the usage of Kalman filter in an ultra-tight GPS/INS (Inertial
is given to the NCO update rule, which is seldom mentioned or Navigation System) integration which couples the tracking of
studied in previous literature. Furthermore, the structure of an
EKF-based software receiver is proposed including the special different satellites via the estimated position and velocity.
modules dedicated to the initialization and maintenance of the In case of GPS stand-alone receiver architecture (i.e., with-
tracking loop. The EKF-based tracking architecture has been out any coupling with other sensors, such as INS), two main
compared with a traditional one based on an FLL/PLL+DLL kinds of Kalman filters for signal tracking are proposed in
architecture, and the benefit of the EKF within the tracking stage the literature, according to the different measurement models
has been evaluated in terms of final positioning accuracy. Further
tests have been carried out to compare the Position-Velocity-Time used in the filter’s design: one is the linear-KF which uses
(PVT) solution of this receiver with the one provided by two the discriminator outputs of both the PLL/FLL and DLL
commercial receivers: a mass-market GPS module (Ublox LEA- as measurements, respectively [5], whereas the second one
5T) and a professional one (Septentrio PolaRx2e@). The results is the Extented Kalman Filter (EKF) that directly uses the
show that the accuracy in PVT of the software receiver can be baseband In-phase (I) and Quadrature-phase (Q) output of
remarkably improved if the tracking is designed with a proper
EKF architecture and the performance we can achieve is even the correlators as measurements inside the tracking loops [4].
better than the one obtained by the mass market receiver, even Some work has been done in the past aimed at comparing
when a simple one-shot least-squares approach is adopted for the the EKF-based or linear KF-based tracking loops with the
computation of the navigation solution. traditional tracking architecture: in [3] the authors developed
a method to compute the equivalent noise bandwidth when a
I. I NTRODUCTION linear-KF is used within the PLL module and such bandwidth
The primary function of a general Global Navigation Satel- has been compared with that of a traditional PLL in order
lite System (GNSS) receiver is to achieve the synchronization to have a metric to evaluate the benefits of the KF. In [6],
between the incoming satellite signal and its ‘local’ replica [7] the performance of the equivalent PLL based on the EKF
generated in the receiver, in order to decode the naviga- has been evaluated in terms of steady-state response to both
tion message and be able to compute the final navigation thermal noise and signal dynamics, and compared with the one
solution. This process involves four logical stages in the obtained through a traditional PLL. Eventually, in [4] three
receiver, namely acquisition, tracking, data demodulation and KF-based tracking loop implementations, which use different
Position-Velocity-Time (PVT) calculation [1]. Particularly, in system and measurement models, have been investigated with
the conventional tracking architecture, the local replica of the particular emphasis given to the carrier phase estimation.
signal is kept synchronized to the received signal by two However, from the previous literature there is no clear
different Numerically Controlled Oscillators (NCOs) [2]: one answer on how to update the NCO phases and frequency at
is used to refine the carrier frequency and phase estimates each epoch, and usually the designer is left free to choose if
(Frequency/Phase Lock Loop, FLL/PLL) and the other to to modify just the phase rate or both the phase and frequency.
adjust the code delay (Delay Lock Loop, DLL). These loops Moreover, the accuracy of the PVT solution strongly depends
work simultaneously to maintain the local signal synchronized on this choice and this aspect has never been analyzed in
with the incoming signal. details so far, according to the writers’ opinion. Besides that,
Thanks to the rapid development of the digital processors, the influence of EKF or linear KF-based tracking loop on
advanced and innovative algorithms have been proposed re- the accuracy of PVT is seldom investigated especially in
cently to be used in software-based GNSS receivers. Among real scenarios. Therefore this paper tries to clarify the two
the new approaches, the application of Kalman Filter (KF) aforementioned issues.
within the tracking stage is getting more and more attractive This work is organized as follows: in Section II we give
⎢ δτ
˙ ⎥
⎢ 0 0 0 β 0⎥ ⎢ δτ ⎥ Thus, (2), (3) represent the measurement model of the EKF
⎢˙⎥ ⎢
⎢ δθ ⎥ = ⎣0 0 0 2π 0⎥ ⎢ ⎥
⎦ · ⎣ δθ ⎦ that will be used in our software receiver, while the system
⎣δf˙ ⎦ 0 0 0 0 1 δf
0 0 0 0 0 δα model is reported in (1). All the details related to the discrete
˙
δα
⎡ ⎤ ⎡ ⎤ time conversion of the transition matrix and the process noise
1 0 0 0 0 WA covariance can be found in [10].
⎢0 1 β 0 0⎥ ⎢ Wcode ⎥
+⎢
⎣0 0 1 0 0⎥ ⎢
⎦ · ⎣Wclock ⎦
⎥ (1) B. NCO update
0 0 0 1 0 Wf req
0 0 0 0 1 Wacc The NCO update strategy is a key part of the tracking loop
† as it influences the final accuracy of the locally generated
where the vector W = WA Wcode Wclock Wf req Wacc signals. In a typical PLL + DLL tracking architecture [1], each
represents the process noises of the signal amplitude, code NCO is defined by two states (i.e., phase and frequency) and
phase error (e.g. caused by multipath effects), clock bias, clock drives the local generator for either the carrier signal or the
drift and frequency rate error; the superscript † indicates the spreading code. Therefore in a GNSS receiver we can model
transpose operator. The statistical characterization of the noise a four-state control input for the NCO updates
variance can be found in [7]. The coefficient β is used to
XN CO = [fcarr θcarr fcode θcode ]† (7)
convert the units of cycles to units of chips (e.g., for GPS
L1 β = 15401
, where 1540 is the number of cycles of the L1 where the subscripts ‘carr’ and ‘code’ refer to the states of
carrier, fL1 = 1575.45 MHz, in one chip period, 1/1023 ms). the carrier and code generators, respectively.
It can be noticed that the system model (1) is an error-state In most of the traditional tracking schemes, the NCO phases
model [8]. are not directly modified at each epoch, but rather the phase
Authorized licensed use limited to: Yildirim Beyazit Univ. Downloaded on January 02,2023 at 13:58:23 UTC from IEEE Xplore. Restrictions apply.
Correlators EKF Acquisition PFT
Input ªIP º ª A º
Signal «IE » « 'W »
«IL » X « 'T »
[ 'W , if dop , C
k / N0 , i
Z «Q P » « 'f » A]
«Q E » ¬« 'D ¼»
«¬QL »¼
ª A º Input signal
«0 »
X new «0 »
«0 » Updating
¬« 'D ¼» Correlators EKF
[ f carr Tcarr fcode Tcode ]
Carrier/Code NCO
Generator (Carrier / Code) [C / N 0 , A]
EST TEP
Fig. 1. The structure of the EKF-based tracking loop.
Carrier/Code NCO
Generator (Carrier / Code)
rates (i.e. frequency) are updated. This is referred to as a rate-
only update NCO [3]. This means that only the frequency [ I p , GW , G f , GT ] Other Channels
of each NCO is directly modified based on the discriminator
outputs [11]. However, theoretically, all the four NCO states PVT
stated in (7) could be modified at the same time [3]. As a
consequence, we have rewritten the NCO updates in order to
take into consideration all the four states described above. Fig. 2. Logical structure of a receiver with EKF-based tracking.
As illustrated in Fig.1, at the end of each measurements
update in the EKF, we can get the new state vector as:
some interference happens causing the spurious error , we
Xk = [A δτ δθ δf δα]†k (8) would reject it rather than let it corrupt the filter computation.
where k is the discrete epoch index in the tracking loop. Then C. Tuning the noise covariances
the update rule of the carrier and code NCOs can be written The tuning of the system noise covariance matrix Q and
as: measurement noise covariance matrix R plays an important
Carrier NCO update rule: role on the performance in EKF/KF-based tracking loop [10].
fcarrk =
fcarrk−1 + Xk (4) + Xk (5)T From [12], we can perceive the Kalman filter as a deter-
θcarrk = θcarrk−1 + Xk (3) + 2πT + 2π Xk2(5) T 2 mod(2π) ministic filter with a time-varying bandwidth determined by
(9) Kalman gain (Kk ). Therefore, at the initialization of EKF, the
where Xk (m) is the m-th entry of the vector Xk ; then, state error covariance (P−
k ) should be set much larger than Q
Code NCO update rule: to give the system a corresponding larger bandwidth; then, as
the Kalman filter converges, the final steady-state performance
fcodek = fcodek−1 + βfdopk depends on QR− . In this work, Q conforms with the models
Xk (5) 2
θcodek = θcodek−1 + Xk (2) + β Xk (4)T + 2
T explained in (1), and R can be determined by (5) and (6).
(10)
where fdopk is the doppler frequency estimate at the epoch k, III. P RACTICAL IMPLEMENTATION ISSUES OF THE EKF
i.e., TRACKING LOOP
fdopk = fcarrk − fIF (11) In the past, the EKF-based tracking loop has been compared
with the traditional one in terms of carrier and code phase
where fIF is the intermediate frequency of the incoming signal estimation accuracy and equivalent noise bandwidth [4], [6],
at the output of the front-end. [7]. However, typically, certain implementation issues remain
Furthermore, after every NCO update, the state vector has open, although they appear to be fundamental for achieving
to be reset as follows: good performance in real and dynamic tracking conditions.
Xnewk = [A 0 0 0 δα]†k (12) Fig. 2 illustrates the overall logical architecture that is es-
sential to implement a correct EKF-tracking loop. In particular,
which will be used as the initial state vector in the next we are going to discuss hereafter the two non-standard blocks
iteration of EKF. The reason for the resetting rule (12) is indicated as ‘Preparation-For-Tracking’ (PFT) and ‘parameter
the type of system model (1) which is error-state: at the end estimation‘ (EST).
of each measurement update, the parameters of the NCO are
corrected by the state vector, and then the corresponding values A. Acquisition refinement and Preparation-For-Tracking
of the error-state vector have to be set to zero. This operation (PFT)
will not cause any obvious jump in the NCO output as the In order to initialize the EKF-based tracking loop, besides
errors are usually very small in steady-state process, even if the estimates of code delay Δτ and Doppler frequency fdop
Authorized licensed use limited to: Yildirim Beyazit Univ. Downloaded on January 02,2023 at 13:58:23 UTC from IEEE Xplore. Restrictions apply.
Column Cell
2 chips [ S , f dop , 'W ] continuously update the C/N0 estimate and the amplitude A of
... ... the incoming signal to refine the estimate of the measurement
... ...
... ... noise variance. It is worth noticing that the C/N0 estimate is
f step ... ... a typical function in any GNSS receiver, so its implementation
... ...
... B ... is not an additional burden for the receiver.
Doppler Peak ... A ... The EST block can work at a lower rate (e.g., with an
frequency ... C ... estimation period TEP = 0.1 − 1 s) than the EKF’s update
... ...
... ... rate (e.g., with an epoch duration of 1 − 20 ms).
According to [14], the Moment Method can be used for
W step Code delay C/N0 estimation, starting from an estimate of the post-
correlation the signal-to-noise ratio (SN R). Then the C/N0
Fig. 3. Two-dimensional acquisition.
in dBHz can be easily computed as:
C/N0 = 10 · log (SN R · Beq ) (dBHz) (16)
from the traditional acquisition process, two additional param-
eters, carrier-to-noise density ratio C/N0 and signal amplitude where Beq is the correlators’ equivalent noise bandwidth and
A, have to be computed. For the better estimates of C/N0 and it is usually set as Beq = T1 .
A, the fdop from acquisition has to refined first in a fast way. As far as the amplitude A is concerned, its update can be
Additionally, a more accurate Doppler frequency estimate can done at the same low rate 1/TEP of the EST block instead of
decrease the possibility of false frequency-lock case in the the EKF rate. In this work, we set TEP = 100 ms.
following EKF-based tracking loop especially in the case of
IV. P ERFORMANCE ASSESSMENT OF THE RECEIVER WITH
weak signals.
EKF- BASED TRACKING
The first task of PFT is to refine the Doppler frequency, by
using, for instance, the method proposed in [13]. A by-product As mentioned before, in order to test the advantage of the
of this Doppler refinement method is the possibility to obtain new EKF-based tracking loop, we first insert it in a simple
an initial and precise estimation of C/N0 , which will be fed software receiver architecture which obtains the sequence of
into the EKF tracking loop through (5) and (6). Starting from PVT estimates by resolving a sequence of one-shot Least-
the approach in [14], the C/N0 can be evaluated as: Squares (LS) problems [1], [2], [15]. The receiver is then
⎛ ⎞ fed by datasets collected during dynamic trials on board
2
0 = 10 log ⎝ SP2
− SN1 of a car. The PVT results are then compared with those
C/N 2 · ⎠ (13)
Sinc2 fdop − f P πT S N T
obtained by the same receiver with a traditional tracking loop
[15]. Additionally, these PVT results are compared with those
where SP is the amplitude of the cross-ambiguity function provided by two commercial receivers, namely a professional
(CAF) accumulated in the acquisition search space in corre- Septentrio PolaRx2e@ and a mass-market Ublox LEA-5T.
spondence of the Peak cell (as shown in Fig. 3 for better
clarity), f P is the Doppler frequency associated to the peak A. PVT estimation performance
cell, f
dop is the refined Doppler frequency estimate, and S N
2
Several tests have been carried out with real data collected
is the average noise power computed from the cells which are in dynamic scenarios, in order to have an exhaustive under-
1-chip away from the search space column where the peak is standing of the performance of the EKF-based receiver. In
2 particular the navigation solution provided by the professional
found (i.e., all the grey cells in Fig. 3). S N is determined as
receiver is considered as the reference one.
1 2
M
2 First, in Fig.4 we show the estimated trajectory of a car
SN = Sm (14)
M m=1 equipped with the two commercial receivers, which can log
their output data, and a data grabber which stores raw data
where M is the number of cells used for the average.
from the front-end to allow post-processing in the software
At the same time, the PFT block is in charge of evaluat-
receiver. It can be seen that the trajectory estimated by the
ing the amplitude of the satellite’s incoming signal, which,
EKF-based receiver is very close to that of the two commercial
following again the framework drawn in [14], is
receivers, while the positioning result from the traditional
= 2SP tracking architecture followed by a LS PVT estimation has
A (15)
Sinc fdop − f P πT significant variance compared to the other trajectories. As it is
likely that the commercial receivers implement some smooth-
0 , A])
Eventually, these three estimates (i.e.[f
dop , C/N
and ing procedure on the PVT solution at least (e.g., a Kalman
Δτ will be used to initialize the EKF-based tracking loop. filter approach to compute the PVT, [10]), we can conclude
that the EKF approach moved to the tracking loop, followed
B. Tracking stage by a simple LS approach for PVT computation, achieves
In order to keep the tracking loop working properly, an ad- almost the same PVT performance as a PVT smoothing
ditional module (indicated with EST in Fig. 2) is necessary to approach. This is a consequence of the fact that the EKF-based
Authorized licensed use limited to: Yildirim Beyazit Univ. Downloaded on January 02,2023 at 13:58:23 UTC from IEEE Xplore. Restrictions apply.
6 5
x 10
EKF
4.5 C2
Ublox
5.2751 C1
Start 4
Ublox
5.275 3.5
EKF
Septentrio 3
5.2749 Traditional C1
Error(m)
2.5
ZOOM
5.2748 x 10
6
IN 2
North (m)
5.2751
1.5
5.2747 5.2751
1
5.2751
5.2746 0.5
5.2751
0
5.2745 5.2751 0 50 100 150 200 250
Time(s)
5.2751
3.4745 3.475 3.4755 3.476 C2 End
5.2744 5
x 10 Fig. 5. Position error in meters with respect to the reference trajectory, for the
5.2743 software EKF-based receiver and the Ublox receiver. The reference trajectory
3.474 3.4745 3.475 3.4755 3.476 3.4765 3.477 3.4775 3.478
East (m) 5
is that produced by the Septentrio PolaRx2e@ receiver.
x 10
6
Fig. 4. Example of a two dimensional car trajectory estimated by different EKF
VelocityX error(m/s)
receivers. 4 Ublox
Traditional
2
Authorized licensed use limited to: Yildirim Beyazit Univ. Downloaded on January 02,2023 at 13:58:23 UTC from IEEE Xplore. Restrictions apply.
Residual error
Based on this architecture, a software receiver equipped with
50 3-sigma bounds 10 an EKF-based tracking is tested in a real dynamic scenario,
A m p litud e
0 0
tracking architecture achieves comparable results with the
-0.5 -0.01
0.2 0.4 0.6 0.8 1 1 20 40 60 80 100 120 140 160 180 200 220 commercial ones even when a basic one-shot LS approach
1 0.2
is used to resolve the PVT.
( r ad )
P h ase
0 0
-1 -0.2
0 0.2 0.4 0.6 0.8 1 1 20 40 60 80 100 120 140 160 180 200 220 R EFERENCES
200 1
F r eq u e n c y
0 0
2nd ed. Boston, London: Artech House, 2006.
-200 -1
0.005 0.01 0.015 0.02 0.02 20 40 60 80 100 120 140 160 180 200 220 [2] B. W. Parkinson and J. S. Jr., Eds., Global Positioning System: Theory
50 20 and Application. Washington, US.: American Institute of Aeronautics
F r e q u e n c y r a te
0 0
[3] C. O’Driscoll and G. Lachapelle, “Comparison of traditional and Kalman
-50 -20 filter based tracking architectures,” in Eur. Navigation Conf., ENC 2009,
0 0.5 1 1.5 2 2 20 40 60 80 100 120 140 160 180 200 220
Naples, Italy, 2009.
Time(s) Time(s)
[4] M. Petovello and G.Lachapelle, “Comparison of vector-based software
receiver implementations with application to ultra-tight GPS/INS inte-
Fig. 7. Residual error analysis of the five EKF tracking states: time evolution gration,” in ION GNSS 2006, Fort Worth TX, 26-29, September 2006.
of the residual errors and 3σ confidence intervals computed along the path [5] J.-H. Won, D. Dotterbock, and B. Eissfeller, “Performance comparison
shown in Fig. 4. Left column: evolution during the transient interval. Right of different forms of Kalman filter approach for a vector-based GNSS
column: evolution in steady state. signal tracking loop,” in Proc. of ION GNSS 2009, Savannah, Georgia,
USA, 2009.
[6] D. R. Salem, C. O’Driscoll, and G. Lachapelle, “Methodology for com-
the predicted states vector X−k with the observations, diag(·)
paring two carrier phase tracking techniques,” GPS Solutions, vol. 16,
pp. 197–207, April 2012.
means the diagonal of a matrix, I is the identity matrix, Hk [7] F. Macchi, “Development and testing of an L1 combined GPS-Galileo
is the Jacobian matrix of the measurement model and P− k is software receiver,” Ph.D. dissertation, University of Calgary, January
the predicted error covariance matrix. 2010.
[8] J.-H. Won, T. Pany, and B. Eissfeller, “Characteristics of Kalman filters
As it can be observed in Fig. 7, the residual error and for GNSS signal tracking loop,” IEEE Trans. on Aer. and Electronic
±3σ confidence interval for the code delay error δτ and the Systems, vol. 48, pp. 3671–3681, October 2012.
frequency error δf converge in a very short time. A wider [9] L. Lo Presti and B. Motella, “The math of ambiguity,” Inside GNSS, pp.
confidence interval is shown for the fifth state (frequency 20–28, 2010.
[10] R. G. Brown and P. Y. Hwang, Eds., Introduction to Random Signals
error variation rate), this is because the covariance of the and Applied Kalman Filtering, 3rd ed. USA: John Wiley&Sons, 1997.
process noise component Wacc has to be set significantly [11] D. Borio, N. Sokolova, and G. Lachapelle, “Doppler measurement
bigger than the others in order to bear the uncertainty of this accuracy in standard and high sensitivity global navigation satellite
system receivers,” IET Radar, Sonar and Nav., vol. 5, pp. 657–665,
state especially in high dynamic cases. 2011.
[12] H.-G. Yeh, “Real-time implementation of a narrow-band kalman filter
V. C ONCLUSION with a floating-point processor DSP32,” IEEE Trans. on Industrial
In this paper we presented a detailed description of the Electronics, vol. 37, pp. 13–18, 1990.
practical implementation architecture of an EKF-based track- [13] X. Tang, E. Falletti, and L. Lo Presti, “Fast nearly ML estimation of
doppler frequency in GNSS signal acquisition process,” Sensors, vol. 13,
ing loop, discussing in particular the rules adopted for the pp. 5649–5670, 2013.
NCOs update and the run-time determination of the statistical [14] E. Falletti, M. Pini, and L. Lo Presti, “Low complexity carrier to noise
properties of the noise processes, necessary to obtain good ratio estimators for GNSS digital receiver,” IEEE Trans. on Aer. and
Electronic Systems, vol. 47, pp. 420 – 437, 2011.
performance of the tracking system. Differently from the [15] K. Borre, D. M. Akos, and N. Bertelsen, Eds., A Software-Defined GPS
traditional signal tracking architecture which implements a and Galileo Receiver: A Single-Frequency Approach. Birkhauser Verlag
PLL + DLL pair and updates only the frequency of their GmbH, 2007.
[16] R. Scopigno, D. Margaria, T. Acarman, U. Peker, K. Par, and E. Ka-
NCOs, the EKF-based tracking updates simultaneously both plan, “GLOVEs manifesto: leveraging GNSS time-space information to
the frequency and phase of the two NCOs governing the improve VANETs performances and enrich VANETs services,” Proc. of
local carrier and local code generators. The corresponding 9th ITS European Congress, June 4-7 2013.
[17] V. Palma, F. Toni, A. M. Vegni, A. Neri, F. Rispoli, and A. Filip,
mathematical expressions of the update rules are also given. “Assessment of augmentation network solution for the evolution of the
Furthermore, it is shown that the practical implementation of ertms-etcs train control system,” Eur. Navigation Conf., ENC 2013, April
this tracking architecture in a receiver requires appropriate 23-25 2013.
[18] G. Falco, A. Puras Trueba, and M. C. Cóssio Gutiérrez, “Multi-GNSS
methods to first initialize, then to determine at run-time the receiver/IMU system aimed at the design of a heading-contrained tightly-
C/N0 ratio and the amplitude A of the received signal. The coupling algorithm,” ICL-GNSS 2013, June 25-27 2013.
implementation of such estimators, both for the initialization [19] P. Maybeck, Stochastic models, estimation, and control. Academic
stage and for the normal tracking operations, is presented. Press, 1979, vol. 1.
Authorized licensed use limited to: Yildirim Beyazit Univ. Downloaded on January 02,2023 at 13:58:23 UTC from IEEE Xplore. Restrictions apply.