You are on page 1of 6

Practical Implementation and Performance

Assessment of an Extended Kalman Filter-based


Signal Tracking Loop
Xinhua Tang∗ , Gianluca Falco† , Emanuela Falletti† , Letizia Lo Presti∗
∗ Politecnico
di Torino, Turin, Italy
Email: xinhua.tang@polito.it, letizia.lopresti@polito.it
† Istituto Superiore Mario Boella, Turin, Italy

Email: falco@ismb.it, falletti@ismb.it

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

978-1-4799-0486-0/13/$31.00 ©2013 IEEE


Authorized licensed use limited to: Yildirim Beyazit Univ. Downloaded on January 02,2023 at 13:58:23 UTC from IEEE Xplore. Restrictions apply.
an overview of the design of a tracking loops based on an The measurement model can be written as
EKF strategy, followed by an explicit statement of the NCO
Z = [IP IE IL QP QE QL ]† (2)
update rules; in Section III, we present the overall architecture
necessary to implement the enhanced tracking loop, including where I• and Q• stand for In-phase and Quad-phase correlator
the solutions to determine certain parameters needed by the outputs, respectively, while the indices P , E and L represent
EKF. In Section IV the EKF-based architecture is tested the ‘prompt’, ‘early’, and ‘late’ components. In formulae, the
in a real scenario and its performance is compared on one I• and Q• terms can be stated according to [9] as:
hand with the traditional tracking architecture implemented A
in the same software receiver, and on the other hand with I• = R(δτ − Δ• ) Sinc(π δf T ) cos(δϕ) + nI•
2
two commercial receivers. Eventually, Section V draws the A
conclusions. Q• = R(δτ − Δ• ) Sinc(π δf T ) sin(δϕ) + nQ• (3)
2
II. EKF- BASED TRACKING LOOP where R(·) represents the normalized code autocorrelation
function; Δ• is the spacing between the prompt and the
In this section we give a brief description of the system and
early/late correlators; T is the integration time; δϕ is the
measurement model of the EKF adopted in the tracking loop,
average phase error which can be expressed as [4]:
based on [4], [7] (subsection II-A). Then, in subsection II-B,
we discuss the methodology to update the frequency and phase T T2
δϕ = δθ + δf + δα (4)
of the NCOs, necessary to correctly implement the EKF-based 2 6
signal tracking. where δθ is the true phase error as stated in (1). Finally nI• ,
nQ• are the noise components at the output of the In-phase
A. An overview of the EKF tracking loop
and Quad-phase correlators. It is important to stress that in
When an EKF-based tracking loop is adopted, the correlator a traditional PLL architecture, the PLL discriminator actually
outputs are directly used as measurements in a proper extended measures the average phase error δϕ instead of the true phase
Kalman filter architecture that estimates the following state error δθ.
parameters: Finally, the noise variance in observations can be computed
• amplitude, A (dimensionless), as a function of the carrier-to-noise density ratio C/N0 , as
• code phase error, δτ (unit: chips), reported in [4]:
• carrier phase error, δθ (unit: radians), C
• carrier frequency error, δf (unit: Hz), σn2 I = σn2 Q = (C/N0 )|dBHz
(5)
P P
• carrier frequency rate error, δα (unit: Hz/s).
2 · 10 ·T
10

for the P correlator, where C is the signal power (i.e. C =


They are used to generate the local replica of the signal in A2
the receiver. A general scheme of an EKF tracking loop is 2 ), and (C/N0 )|dBHz is expressed in dBHz. At the same
depicted in Fig.1. time, the noise variance of the early and late components can
The system model can be written as follows [4], [7] be written as shown in [7]:
⎡ ⎤ ⎡ ⎤ ⎡ ⎤ σn2 I = σn2 I = σn2 Q = σn2 Q = R(Δ)σn2 I (6)
Ȧ 0 0 0 0 0 A E L E L P

⎢ δτ
˙ ⎥
⎢ 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

tracking loop, when carefully fed with an accurate estimate 0


of the necessary noise statistics, can achieve smoother and
−2
more accurate estimates of Doppler frequency and code delay 0 50 100 150 200
Time(s)
than the traditional tracking loops, allowing the computation
of a smoother and more accurate trajectory. Although the 2
VelocityY error(m/s)

observation of the enhanced performance of the EKF-based 1


tracking was already stated for example in [6], its effect on
0
the PVT estimates was not equivalently clear so far.
The EKF-based tracking architecture is demonstrated here −1
to achieve the same accuracy in PVT as an existing commer-
−2
cial receiver. Nonetheless, this architecture shows a distinctive 0 50 100 150 200
Time(s)
feature: it allows to move complexity from the PVT stage to the
tracking stage of the receiver; and, together with complexity, it Fig. 6. The velocity errors along the time considering Septentrio PolaRx2e@
also moves the issue of accuracy and stability to the tracking as a reference.
stage, since the estimates of the EKF-based tracking stages
are significantly more stable than those of a traditional PLL-
DLL tracking loop. This is an important feature for those provided by the professional Septentrio receiver. We can see
applications that require an “external PVT solution”, i.e., a that errors are comparable almost everywhere, but in the case
PVT computed by a module external to the GNSS receiver. of major curves along the route (marked as C1 and C2 in Fig. 4
Such an external module typically takes as input not only the and Fig. 5), where the EKF-based receiver is more precise than
pseudoranges computed by one o more GNSS receivers stand- the other one.
alone, but also the measurements from other sensors, such as Furthermore, the comparison of the velocity estimates re-
odometers, laser scanners, inertial navigation systems, and so ported in Fig. 6 confirms that the EKF-based receiver can get
on, with the purpose of fusing data to improve accuracy and much more accurate estimate of velocity compared with the
continuity, or to meet safety requirements by redundancy [16], traditional one, while it performs similarly to the LEA-5T.
[17]. Other such applications implementing an external PVT
B. Analysis of the residual errors
solution may need to take input from two or more GNSS
receivers to implement an ad-hoc differential solution [18]: In order to proceed with the performance assessment of the
in such case the accuracy and stability of the carrier phase EKF-based tracking loop, a residual error analysis [19] is used
measurements produced by the GNSS modules is of the utmost in this section.
importance to achieve the accuracy in attitude determination The residual error vector ˜ for the states X and its 3σ bound
required by the specific application. This could be easily can be theoretically computed at each epoch k as [19]

achieved if the signal tracking were implemented by an EKF. ˜k = Kk Zk − h(X−
k)
In order to better and more quantitatively evaluate the PVT (17)
σ 2k = diag (I − Kk Hk ) P−
k
performance of the EKF-based tracking, we show in Fig. 5 the
position error achieved by the EKF-based software receiver where Kk is the Kalman gain, Zk is the measurement vector
and by the Ublox receiver, with respect to the positions defined in (2), h(X−
k ) is the observation function that relates

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 where it is shown that positioning accuracy can be improved


-50 -10 dramatically with respect to a traditional tracking architecture.
0 1 2 3 4 5 5 20 40 60 80 100 120 140 160 180 200 220
0.5 0.01 Furthermore, two commercial receivers are also used in the
C o d e d e la y

PVT performance comparison, showing that the EKF-based


( c hip s)

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

[1] E. D. Kaplan, Ed., Understanding GPS:principles and applications,


( H z)

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

and Astronautics,Inc., 1996, vol. 1.


( H z/s )

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.

You might also like