Improving GNSS Bit Synchronization and Decoding using ... · Improving GNSS Bit Synchronization and...
Transcript of Improving GNSS Bit Synchronization and Decoding using ... · Improving GNSS Bit Synchronization and...
ION GNSS+ 2013, Session B1, Nashville, TN, 16-20 September 2013 Page 1/14
Improving GNSS Bit Synchronization and
Decoding using Vector Tracking
Tiantong Ren and Mark G. Petovello
Position, Location And Navigation (PLAN) Group
Department of Geomatics Engineering
Schulich School of Engineering
University of Calgary
Chaminda Basnayake
General Motors
Warren, MI USA
BIOGRAPHIES
Tiantong Ren is a Ph.D. candidate in the Position,
Location And Navigation (PLAN) group in the
Department of Geomatics Engineering at the University
of Calgary. In 2010 he completed a II Level Specializing
Master on Navigation and Related Applications in
Politecnico di Torino, Italy. In 2008 he completed a M.Sc.
on Electronic Engineering in Beihang University, China.
His research interest is GNSS signal processing and high-
sensitivity GNSS receiver design in signal challenged
environments.
Dr. Mark Petovello is a professor in the Position,
Location And Navigation (PLAN) group in the
Department of Geomatics Engineering at the University
of Calgary. He has been actively involved in the
navigation community for over 15 years and has received
several awards for his work. His current research focuses
on software-based GNSS receiver development and
integration of GNSS with a variety of other sensors.
Dr. Chaminda Basnayake is a Senior Research Engineer
at General Motors R&D and Planning where he is leading
the GNSS-based vehicle navigation technology R&D
efforts. His current research focuses on enabling
ubiquitous positioning capability in land vehicles and
using such capabilities in next generation automobile
systems including communications-enabled applications.
ABSTRACT
In weak GNSS signal environments, extending integration
time is paramount to improving the GNSS receiver’s
sensitivity. Furthermore, sufficient coherent integration
can help to mitigate multipath and cross-correlation false
locks, and avoid squaring loss. In GNSS data channels,
extending integration time requires the navigation
message data bit wipe-off. The Maximum-Likelihood
(ML) estimation method has been shown as the most
effective way to estimate the navigation bit boundary
locations (i.e., bit synchronization) and subsequently
estimate the data bit values (i.e., bit decoding) in the
presence of noise alone. However, the tracking threshold
in conventional scalar-based GNSS receivers limits the
performance of ML bit synchronization and decoding. In
this paper, the benefits are analyzed and determined of
using vector tracking in standalone mode to improve bit
synchronization and decoding.
In the context of GPS L1 C/A signals, results show that
ML bit synchronization and bit decoding are valid for
signals as low as 15 dB-Hz in vector tracking. The
simulator test results show vector tracking can extend the
validity of ML bit synchronization and decoding by 13 dB
over scalar tracking. The field test results show that vector
tracking can improve the successful decoding rate (SDR)
by 3% – 35% depending on the signal strength. The
navigation results show that extended coherent integration
can help to improve the navigation performance in signal
challenged environments. The position and velocity
accuracy has been improved about 50% after extending
coherent integration time from 20 ms to 100 ms in the
vehicular navigation test. Two newly proposed strategies
have helped to overcome the high bit error rate (BER)
problem using ML bit decoding for bit wipe-off.
INTRODUCTION
Global Navigation Satellite Systems (GNSS) such as the
Global Positioning System (GPS) can provide users with
accurate navigation and timing services worldwide. They
are vital for applications such as aircraft auto-piloting,
automobile en-route guidance, pedestrian positioning, etc.
Recently, processing weak GNSS signals has been
receiving growing attention because of the increased
ION GNSS+ 2013, Session B1, Nashville, TN, 16-20 September 2013 Page 2/14
demand for navigation in indoors, under dense foliage
canopies and in urban canyons.
High-sensitivity GNSS receivers are capable of providing
satellite measurements for signals attenuated by up to
about 30 dB (Media Tek 2012, Fastrax 2012 and Ublox
2011). For high-sensitivity GNSS receivers, extending
integration time coherently is optimal for obtaining higher
sensitivity, mitigating multipath and cross-correlation
false locks, and avoiding squaring loss. However, longer
coherent integration time is limited by the navigation
message data bit, if present. For coherent integration
beyond the data bit period, navigation data bit wipe-off is
required to avoid energy loss that occurs due to bit
transitions. Furthermore, complete bit wipe-off requires
the knowledge of bit boundaries and bit values. The
process of determining the location of the bit boundaries
and extracting the bit values is herein called bit
synchronization and bit decoding respectively.
By using the navigation data bit aiding and frequency
aiding from an external source, Akos et al (2000) showed
that in acquisition stage signals with carrier to noise-
density ratios (C/N0) of 32, 22, 17, and 12 dB-Hz can be
detected requiring coherent integration time of at least 8,
200, 400, and 800 ms respectively. Similarly Van
Diggelen & Abraham (2001), Djuknic & Richton (2001)
and Di Esposti (2007) used aiding information from
wireless network broadcasting, and Akopian & Syrjarinne
(2002) mentioned that network assistance can be used for
bit synchronization by providing time and position
information. However, all of these methods need access to
external aiding sources, and the receiver will
correspondingly lose its autonomy which may not be
possible or desirable in all applications.
For detecting the location of the bit boundaries and
extracting the bit values without external aiding source,
the Maximum-Likelihood (ML) algorithms (i.e., ML bit
synchronization and ML bit decoding) have been shown
to outperform other algorithms for weak GNSS signals.
ML bit synchronization is first introduced in Kokkonen &
Pietila (2002), and a brief assessment showed it
performed better than the conventional Histogram method
(Van Dierendonck 1996) in weak GNSS signal
environments. ML bit decoding, introduced in Soloviev et
al (2009), is reported to excel other algorithms either in
performance or complexity. In Ren et al (2012), the
requirements of ML bit synchronization and bit decoding
algorithms were analyzed in terms of the number of data
bits required for bit synchronization and the number of
data bits that can be decoded at a time for bit decoding.
However, the performance of ML bit synchronization and
decoding highly relies on the signal tracking performance
(i.e., tracking threshold), like Gleason & Gebre-Egziabher
(2009) mentioned that a Costas phase-locked loop (PLL)
had difficulties following the signal at about 35 dB-Hz,
below which the process of bit synchronization and
decoding cannot be performed. Therefore, in order to
validate the bit synchronization and bit decoding in weak
signal environments, it is critical to find ways to extend
the tracking threshold.
Vector tracking is the process using the receiver’s
estimate of position and velocity to update updating the
GNSS channel estimates of the Doppler frequency and
code phase. In contrast to scalar tracking, the individual
tracking loops in vector tracking are eliminated and
replaced by the vector-based navigation filter. Pany &
Eissfeller (2006) showed that a 10 dB-Hz signal can be
detected and tracked in vector tracking, and signals above
a selectable threshold of 25 dB-Hz are satisfactory for the
positioning update. Petovello & Lachapelle (2006)
demonstrated vector tracking can obtain a sensitivity
improvement of about 7 dB over scalar tracking methods.
Lashley et al (2009) showed that the vector
delay/frequency lock loop can operate with 8 G
coordinated turns at a C/N0 ratio of 19 dB-Hz.
The objective of this paper is to determine the benefits of
using a vector tracking receiver in standalone mode to
improve bit synchronization and decoding. Furthermore,
the paper uses the estimated data bits to extend coherent
integration using bit wipe-off and then assesses the
accuracy of navigation solution.
The contributions of this paper are three-fold. First, it
assesses the performance of ML bit synchronization and
decoding in vector tracking. Second, it assesses the
navigation performance with extended coherent
integration time after bit wipe-off. Third, it gives two
strategies for extending coherent integration time in a
software-based GNSS receiver in weak signal
environments.
In the context of this work, the performance of bit
synchronization and bit decoding is assessed in terms of
the successful synchronization rate (SSR) with the
navigation data bit (i.e., correct identification of the bit
boundaries) and the successful decoding rate (SDR) of bit
values. The results are validated with multiple trials of
ML bit synchronization and decoding in a software-based
GNSS receiver, and various implementation schemes are
introduced and compared.
The paper begins with the ML bit synchronization and bit
decoding algorithms. Next the vector tracking and
different architectures of GNSS receivers used in this
paper are introduced. Then two strategies are provided for
extending coherent integration time appropriately. Later
two tests performed in this work are described. Finally the
test results are presented and analyzed.
ION GNSS+ 2013, Session B1, Nashville, TN, 16-20 September 2013 Page 3/14
The proposed algorithms are derived for a generic binary
phase shift keying (BPSK) GNSS signal, but are assessed
using GPS L1 C/A signals only.
SIGNAL AND SYSTEM MODEL
This section gives a brief overview of the ML algorithms
for bit synchronization and decoding used in this paper.
Signal Model
The GNSS signal transmitted through an additive white
Gaussian noise (AWGN) channel and received at the
antenna of a GNSS receiver in the radio frequency (RF)
band is represented by
,
1
( ) ( ) ( )svN
RF RF i RF
i
y t r t n t
(1)
Specifically, it is the sum of svN line-of-sight (LOS)
signals (, ( )RF ir t ) from svN satellites in view, plus a noise
term ( )RFn t . In general, the Signal in Space (SIS) at the
input of a GNSS receiver from the thi satellite has the
following structure
,
, ,
( ) ( ) ( )
cos 2
RF i i i i i i
RF d i RF i
r t Ab t c t
f f t
(2)
where iA is the amplitude of the signal; ( )i ib t is the
navigation message where each binary unit is called a bit;
( )i ic t is the ranging code; i is the code phase delay
introduced by the transmission channel; RFf is the GNSS
carrier frequency; ,d if is the Doppler frequency shift and
,RF i is the initial carrier phase offset.
After being down-converted in the receiver’s front-end,
signals from different satellites are approximately
orthogonal so that i index can be dropped and each signal
can be written separately as
( ) ( ) ( )
( ) ( )cos 2 ( )IF d
y t r t n t
Ab t c t f f t n t
(3)
where IFf is the nominal intermediate frequency (IF) of
the down-converted signal.
At this stage, the purpose of a GNSS receiver is to
estimate and df , thus allowing for the determination of
the pseudorange and pseudorange range to each satellite,
which is then used to calculate the receiver’s position,
velocity and time (PVT) parameters. To accomplish this,
each and df is estimated from a cross ambiguity
function (CAF), which is the cross-correlation between
the received signal and the locally generated signal, and is
given by
0
0
( , ) ( ) ( )
( ) ( )cos 2
c
c
T
d
t
T
IF d
t
R f y t r t
y t c t f f t
(4)
where ( )r t is the locally generated signal; , df and are
the corresponding locally-generated signal parameters
used to generate ( )r t ; cT is the ranging code period,
which is herein assumed to equal the coherent integration
time for cross-correlation. The form of ( , )dR f can be
different if using non-coherent integration though it is not
considered in this paper. Finally, the ML estimate of
and df is given by
,
ˆˆ, arg max ( , )d
d df
f R f
(5)
Effect of Modulated Data Bits
Bit sign transition affects the CAF evaluation especially
when the coherent integration time is longer than the bit
period ( bT ). In particular, bit sign transitions modify the
shape of the CAF envelope and may divide the central
peak of CAF in frequency domain into two split side
lobes (Sun & Lo Presti 2010; Ren et al 2012). So before
extending the coherent integration time, two necessary
steps are required. First, use bit synchronization to locate
the bit boundaries; second, use bit decoding to wipe off
the bits modulated on the carrier.
ML Bit Synchronization
As input, the ML bit synchronization algorithms uses
several cross-correlation outputs, each computed using a
coherent integration time equal to the ranging code
period. After obtaining the ML estimate of and df , the
locally generated signal and relative parameters can be
represented as ˆ( ) ( )r t r t , ˆ and ˆd df f . If there is
an error in and ˆdf compared to authentic and df , i.e.,
and ˆd d df f f , the thk cross-correlation
output of cT is given by
ION GNSS+ 2013, Session B1, Nashville, TN, 16-20 September 2013 Page 4/14
( 1)
, , ,
,
ˆˆ ˆ( , ) ( ) ( )
( ) sinc( )
exp 2
c
c
b
kT
k d
t k T
R k C k l k d c
d c I Q
R f y t r t
A R b f T
j f kT n
(6)
which is the cross-correlation output from the signal
period of ( 1) ck T to ckT . Since the right hand side of the
above equation is only a function of and df , we
adopt the following shorthand notation to make this more
explicit
ˆˆ( , ) ( , ) ( , )k d k d kR f R f f R f (7)
,R kA is the amplitude of the cross-correlation output;
, ( )C kR is the normalized ranging code correlation
function with the code phase error of , which results
in a triangle shape attenuation in the cross-correlation
amplitude; ,bl kb is the modulated bit with the boundary
located at bl , which means each bit transition occurs at
b cl T relative to the start of the processing period, which is
itself equal to bT ; df is the Doppler frequency error,
which results in a sinc-shaped attenuation in the cross-correlation amplitude and a rotating carrier phase; is
the initial carrier phase error, and; N is the number of
bits. A diagram of the modulated bits in correlator outputs is shown in Figure 1.
Figure 1 - Demonstration of modulated bits in
correlator output
The recovery of carrier phase information usually
performed in a PLL or a Kalman filter tracking loop
(Petovello et al 2008), is used for coherent bit
synchronization and the coherent bit decoding and for
high precise positioning. Coherent bit synchronization
and the coherent bit decoding only use the in phase ( I )
channel of a cross-correlation output, assuming the signal
energy in the quadrature ( Q ) is approximately zero (and
only contains noise). In contrast, non-coherent bit
synchronization and the non-coherent bit decoding use
both I and Q .
ML bit synchronization is the process of detecting bit
boundary locations using a likelihood function. Since the
bit period and ranging code period are not necessarily
same but are known to be synchronized with each other
(i.e., bit transitions always occur at ranging code
rollovers), there are b cT T possible bit locations ( bl ) of
the bit boundary that needs to be searched. A window
function, which has a total length of bT is given by
1,( 1,2,..., / )k b cW k T T (8)
The matched filter output which is the cross-correlation
between ( , )k dR f in (7), and kW is given by
,
( )1
( , )
( , ) , ( 0,1,..., 1)
b
b c
b
dl n
NT T
k d k nM lk
C f
R f W n N
(9)
where bl is the shift of the window function relative to the
start of the current data bit.
The ML estimate of the bit boundary locations can be
found by selecting the bit boundary location that
maximizes the sum (over time) of the absolute values of
cross-correlation from the previous step. The sum of the
absolute values of cross-correlation is given by
1
,0
1( ) ( )
b b
N
d dl l nn
S f C fN
(10)
and the ML estimate of bit boundaries is correspondingly
obtained as
[1: ]
ˆ arg max ( )b
b
b dll M
l S f
(11)
ML Bit Decoding Algorithm
Bit decoding is the process of determining bit values after
the bit synchronization has completed. The likelihood
function used in the ML bit decoding algorithm is the
inner product between a cross-correlation output vector
starting from a bit boundary (so as to avoid integrating
over a boundary) and locally generated bit combinations.
The cross-correlation output vector with N bits is given
by
,1 ,2 ,
( , )
( , ), ( , ),..., ( , )b b b
d
T d T d T N d
f
R f R f R f
NR (12)
where , ( , )bT k dR f is the discrete form similar to (7)
but with integration period of bT instead of cT .
ION GNSS+ 2013, Session B1, Nashville, TN, 16-20 September 2013 Page 5/14
If trying to decode N bits at a time, the number of
possible bit combinations is equal to 12N, and the correct
bit combination is supposed to have the maximum energy.
It is noted that the energy based ML bit decoding method
detects the bit transitions, not the actual bit values (i.e.,
there is a sign ambiguity), but this is sufficient for bit
wipe-off in order to extend coherent integration time.
The bit value combination matrix B ( 12N N ) is defined
as
1 1 ... 1
1 1 ... 1
... ... ... ...
1 1 ... 1
B (13)
For an N bit sequence, the inner product between
( , )df NR and the vector mb from the -thm row of B
is given by
1( , ) ( , ) ( 1,2,...2 )N
m d dI f f m N mR b (14)
The ML estimate of bit values can be found by
maximizing the energy of the inner product.
Mathematically, this is given as
2
[ 1,..., 1]
ˆ arg max , ;m dI f
m
mb
b b (15)
GNSS RECEIVERS AND VECTOR TRACKING
The above algorithms have been assessed in a software-
based GNSS receiver platform called GSNRxTM
, which is
developed in C++ by the PLAN Group at the University
of Calgary. This section describes the different versions
of the software used for processing.
There are three GNSS receiver architectures used in this
work. The first, shown in Figure 2, is the scalar-based
GNSS receiver, which contains independent local
tracking loops/channels dedicated to providing
independent pseudorange and/or pseudorange rate
measurements for PVT calculations.
Figure 2 - Architecture of a scalar-based GNSS
receiver
The second architecture is shown in Figure 3 and is a
vector-based GNSS receiver called GSNRx-vb™. The
difference between a scalar-based GNSS receiver and a
vector-based GNSS receiver is that the latter sets the
numerically controlled oscillators (NCOs) – inside the
local signal generator – from navigation filter outputs
rather than from local channel filter outputs. Sometimes,
the local channel feedback is maintained for tracking the
carrier phase as the dash line shown in Figure 3, though
this is not necessary. In addition, a vector-based GNSS
receiver requires knowledge about ephemeris data when
updating the channel parameters. To this end, long term
ephemeris (e.g., Garrison and Eichel 2006) could be used
in order to remain consistent with the motivation of this
people which is to maintain as much independence of the
receiver as possible from external data sources.
Figure 3 - Architecture of a vector-based GNSS
receiver, GSNRx-vbTM
Figure 4 shows the high-sensitivity GNSS receiver
architecture implemented in the GSNRx-hsTM
version of
the softwate. This architecture uses similar NCOs
feedback scheme as in the vector-based receiver, but
omits the carrier tracking because it is usually vulnerable
in signal challenged environments. Another advantage of
GSNRx-hsTM
is that it contains an open-loop tracking
structure, which can avoid the stability problem caused by
long coherent integration in normal closed-loop tracking
ION GNSS+ 2013, Session B1, Nashville, TN, 16-20 September 2013 Page 6/14
(Ward et al 2006). This is preferred for building the
correlator output measurements with long coherent
integration. The detailed benefits of open-loop tracking
can be found in van Graas et al (2005). It is noted that the
original version of GSNRx-hsTM
extends the coherent
integration time by “bit aiding” method (O’Driscoll et al
2010), which requires an external network. As such, a
modified version was developed for this work that uses
ML bit decoding to extend integration time. This is
shown in Figure 5. This modified version can be
considered as a standalone high-sensitivity GNSS
receiver.
Figure 4 - Architecture of a conventional GSNRx-hs
TM
receiver with external bit aiding
Figure 5 - Architecture of a new GSNRx-hs
TM receiver
with ML bit decoding
STRATEGIES FOR EXTENDING COHERENT
INTEGRATION TIME
The benefits of extending coherent integration time have
been mentioned in Introduction. However, if the signal
power – as determined by the carrier to noise-density
(C/N0) – is low, the bit error rate (BER, which equals to
“1 - SDR”) of ML bit decoding will increase when
extending integration time. Specifically, bit wipe-off with
non-zero BER will attenuate the power of correlator
outputs, and a high BER may split the peak in the
frequency domain. The effect of the latter is similar to the
impact of falsely detecting the bit boundaries. Soloviev et
al (2009) proposed using the data bit repeatability in the
navigation message to decrease the BER. However, for
the case of the GPS L1 C/A signal, data bits repeat no
sooner than every 30 s, which is considered too long for
real time applications.
In order to handle the high BER problem, this work
proposes two strategies for selecting suitable correlator
outputs for input into the ML bit decoding algorithm.
Strategy I is to selected correlators based on a satellite’s
elevation angle. The idea is that in areas such as under
dense foliage, the signals from low elevation angle
satellites are more attenuated than high elevation angle
satellites because of signal shadowing and multipath
fading. By setting an angle mask threshold and ignoring
those satellites below, the impact of high BER is expected
to be greatly reduced. It is noticed that this strategy can
only be used in signal challenged environment containing
blockage from ground to a certain elevation, e.g., dense
foliage and urban canyon, but is not suitable for indoor
environment.
Strategy II is to choose suitable candidates based on the
estimated C/N0 values. This method is suitable for all
environments but relies on C/N0 estimate algorithms. In
this work, the C/N0 estimation was implemented by
separately calculating the signal power and noise power
spectral density and then computing their ratio. In
addition, the open-loop tracking structure can mitigate the
multipath impacts in navigation solutions by
distinguishing a LOS signal and non-line-of-sight (NLOS)
signals in frequency domain (Xie & Petovello 2011), and
this also mitigates the multipath fading in C/N0
estimation.
TEST DESCRIPTION
In order to assess the performance of ML bit
synchronization and decoding in vector tracking, two tests
are used. In both cases, only the GPS L1 C/A code signal
was used.
The first test is a static dataset with various signal power
levels generated from a Spirent GS7700 GNSS hardware
simulator. The GNSS simulator was configured to provide
about one hour of data with various power levels; in order
to emulate real environments where weak signal and
strong signal are usually mixed, each satellite was
assigned a unique and specific power value which ranges
from 15 dB-Hz to 40 dB-Hz. There are 12 satellites in
view in this test. The observations from six satellites set
with relatively strong signals (C/N0 ranging from 28 dB-
Hz to 40 dB-Hz) were chosen for updating the navigation
filter. The correlator outputs from other five satellites
with weak signals (C/N0 ranging from 15 dB-Hz to 25
ION GNSS+ 2013, Session B1, Nashville, TN, 16-20 September 2013 Page 7/14
dB-Hz) are used to generate the ML bit synchronization
and decoding results. Although somewhat contrived, this
scenario, which contains mixed weak signal and strong
signal, approximates the case under dense foliage or in an
urban canyon. In this case, vector tracking should reduce
the search space for weak signal detection and then help
to improve the weak signal tracking and bit
synchronization and decoding. Since no multipath was
simulated, this test assesses the ML bit synchronization
and decoding algorithms in the presence of white noise
only.
The vector-based GSNRx-vbTM
was used for processing
the simulator data. All of the bit synchronization
outcomes (i.e., success or failure) are recorded. Using
one hour of data, there are about 500 and 1,000 bit
synchronization attempts when using 100 bits (two
seconds) and 200 bits (four seconds) of data, respectively.
In contrast, for a data bit period of 20 ms, there are
approximately 180,000 bits that can be used for bit
decoding. In order to generate statistics of bit
synchronization performance, the receiver was configured
to restart the bit synchronization process as soon as it
completed its previous attempt.
Results from the scalar-based GSNRxTM
software receiver
are also included for comparison. This receiver uses a
Kalman filter as the loop filter.
In addition, Monte Carlo simulations based on the signal
model in (6) and with 10,000 trials are performed to
generate the ideal results for comparison. The Monte
Carlo simulations assume no tracking errors in the
correlator outputs (i.e., 0, 0df ), and that the bit
transition happens with a probability equals 50%. The
Monte Carlo simulation results are treated as the upper
bound of ML bit synchronization and decoding.
The second test is a vehicular field test conducted in a
signal challenged environment, namely under dense
foliage in an area near the University of Calgary. Images
captured along the test trajectory are shown in Figure 6
and Figure 7. As can be seen, there are portions of the test
where sky visibility is highly restricted. The vector-based
GSNRx-hsTM
and the scalar-based GSNRxTM
were used
for processing the field data. The C/N0 values estimated
by GSNRx-hsTM
of all satellites in view in the dense
foliage test are shown in Figure 8, in which the signal
power values fluctuate markedly (a cumulative histogram
is also shown in Figure 17). Some attenuations of C/N0
are higher than 25 dB. The statistics of bit decoding as a
function of C/N0 are calculated using bins with a width of
5 dB. The reference data bits (i.e., bit aiding source) are
obtained from an antenna located on the roof of the CCIT
building at the University of Calgary, and the BER of
signals in this open sky environment (e.g., 45 dB-Hz) is
negligible.
Figure 6 - Dense foliage environment in the field test
Figure 7 - Dense foliage environment facing vertically
upwards
Figure 8 - C/N0 of all satellites in view in the dense
foliage test estimated by GSNRx-hsTM
A reference system consisting of a NovAtel SPAN SE™
units (which contains a NovAtel OEMV receiver and a,
LCI tactical-grade inertial measurement unit (IMU)
(“LCI”) was used to provide the reference trajectory and
dynamics. The estimated 1 accuracy of the reference
ION GNSS+ 2013, Session B1, Nashville, TN, 16-20 September 2013 Page 8/14
system (per axis) is 0.2 m for position and 0.02 m/s for
velocity. The land vehicle with a NovAtel GPS-702-GG
antenna and a LCI IMU on top and a National Instruments
PXI-5600 front-end inside is shown in Figure 9.
Figure 9 - The land vehicle with navigation systems for
field data collection. The upper-left picture shows a
NovAtel GPS-702-GG antenna and a LCI IMU on top
of the vehicle. The upper-right picture shows a
National Instruments PXI-5600 front-end inside the
vehicle. The lower picture shows the land vehicle.
In both tests, the data were collected using the National
Instruments PXI-5600 front-end which includes an oven
controlled crystal oscillator (OCXO). The front-end
parameters are shown in Table 1. The front-end has a 16
bit quantization level, although for the data collected
typically only 3-4 bits are necessary (i.e., are non-zero).
The data were processed by and all algorithms were
implemented in the GSNRxTM
software receiver suites as
introduced in GNSS receivers and vector tracking.
Table 1 - Front-end parameters used for collecting
GNSS data in two tests
Parameter
Value (MHz)
GNSS
Simulator
Dense Foliage
Test
Centre Frequency 1575.0 1575.0
Sampling Rate (I/Q) 3.0 10.0
Bandwidth 2.5 5.0
RESULTS AND ANALYSIS
Test I: Processing Data from a Hardware GNSS
Simulator
Test I directly assesses the benefits of a vector tracking
structure for ML bit synchronization and bit decoding. By
processing the static simulator dataset, the scalar-based
receiver is able to track the signal down to 28 dB-Hz with
a coherent integration time of 1 ms (before or during bit
synchronization) and 25 dB-Hz with coherent integration
time of 20 ms (after bit synchronization). As shown in
Figure 10, the SSRs decrease to around 0% in the scalar-
based receiver if the C/N0 is lower than 28 dB-Hz, which
corresponds to when loss of lock is declared. In contrast,
the SSRs can maintain a level (close to ideal results from
the Monte Carlo simulation (MC simulation in the
following figures)) in the vector-based receiver, even
when the C/N0 is close to 15 dB-Hz. This means the
vector-based receiver can extend the tracking threshold as
low as 15 dB-Hz and still performs ML bit
synchronization.
Furthermore, in vector tracking, the SSR is close to 100%
with 200 bits for a signal of 20 dB-Hz. With a higher
number of bits (i.e., 200 vs 100 in this work) both the
Monte Carlo simulation results and vector tracking results
show that the SSRs are improved for weak signals. The
SSR can even be improved for signals with C/N0 lower
than 20 dB-Hz if the number of bits is more than 200 (not
shown). Compared with the Monte Carlo results, the
difference in SSR between vector tracking and Monte
Carlo simulations is due to the absence of bit transitions
in the simulator data for some of the data periods used for
bit synchronization. A method of detecting no bit
transition (not implemented here) can be found in
Kokkonen & Pietila (2002).
Figure 10 - Performance of ML bit synchronization in
scalar tracking and vector tracking as a function of
signal strength for different navigation data bit
numbers in the hardware GNSS simulator test
The ML bit decoding results in vector tracking are shown
in Figure 11. The number of bits to be decoded here is
two (i.e., 2N ), which is the optimal number compared
for tolerating Doppler errors (Ren et al 2012). As shown,
in scalar tracking, the SDRs decrease to around 50% in
the scalar-based receiver if the C/N0 is lower than 25 dB-
Hz when the signals are in the lost-lock status. This is
ION GNSS+ 2013, Session B1, Nashville, TN, 16-20 September 2013 Page 9/14
because, in a random process, with bit transitions
happening with a probability of 50%, the expectation of
the SDR is 50% even when the signal has lost lock.
In contrast, the ML bit decoding in vector-tracking can
maintain a SDR markedly higher than 50% even the C/N0
is close to 15 dB-Hz. The performance of ML bit
decoding in vector tracking is very close to the Monte
Carlo results (upper bound). Furthermore, Figure 12
shows vector tracking may provide a better estimation of
Doppler compared with scalar tracking, this is another
benefit because both ML bit synchronization and ML bit
decoding are sensitive to Doppler errors, as mentioned in
Ren et al (2012). Overall, this test has shown vector
tracking can extend the validity of ML bit synchronization
and decoding by 13 dB and 10 dB over scalar tracking.
However, these results are optimistic since they are
primarily affected by noise only and a large number of
strong satellites are still being tracked. Nevertheless, they
provide a benchmark against which results from the field
tests can be compared.
Figure 11 - Performance of ML bit decoding in scalar
tracking and vector tracking as a function of signal
strength in the hardware GNSS simulator test
Figure 12 - Doppler measurement errors in scalar and
vector tracking as a function of signal strength in the
hardware GNSS simulator test
Test II: A Vehicular Navigation in a Dense Foliage
Environment
Test II assesses the benefits of a vector tracking structure
for ML bit decoding with field data. It uses the estimated
data bits to extend coherent integration using bit wipe-off
and then assesses the accuracy of navigation solution.
First of all, a comparison of estimated C/N0 from the
scalar-based receiver and the vector-based receiver is
shown in Figure 13. PRN 14 is selected for comparison
purpose and the results are typical for other satellites. It is
noticed that the signal can be tracked using vector-
tracking although the signal power is quite low (between
about 15 dB-Hz and 35 dB-Hz). In scalar tracking,
however, during most of time the signal is not tracked
(indicated by a C/N0 value equal to zero).
Figure 13 - C/N0 of PRN 14 in scalar tracking and
vector tracking in the dense foliage test
ION GNSS+ 2013, Session B1, Nashville, TN, 16-20 September 2013 Page 10/14
The SDRs of ML bit decoding as a function of signal
strength in the scalar-based receiver and the vector-based
receiver are shown in Figure 14. Compared to the results
in scalar tracking, a marked performance improvement of
ML bit decoding in the vector tracking is noticed. This
shows the benefits of vector tracking for ML bit decoding,
which improves the SDR by 3% – 35% depending on the
signal strength. It can be observed that in scalar tracking,
the SDR is close to 50% at about 25 dB-Hz, and this
shows the scalar-based receiver lost signal lock there.
Compared with the Monte Carlo results, the difference in
SDR between vector tracking and Monte Carlo
simulations is due to the non-white noise factor existed in
field tests, e.g., multipath.
Figure 14 - Performance of ML bit decoding as a
function of signal strength in scalar tracking and
vector tracking in the dense foliage test
Figure 15 shows the SDR from each satellite in the entire
field test. Compared to scalar tracking, the improvement
of the SDR resulting from vector-tracking ranges from
2% (PRN 04) to 40% (PRN 14). By comparing the C/N0
of PRN 04 (the strongest) and the C/N0 of PRN 14 (the
weakest) in Figure 8, it can be concluded that vector
tracking improves the ML bit decoding of weak signals
more significantly.
Figure 15 - Performance of ML bit decoding in scalar
tracking and vector tracking in the dense foliage test
After estimating the data bits, bit wipe-off can be
performed in order to extend the coherent integration
time. In the following, the performance of this approach is
evaluated in the navigation domain. Specifically, a
comparison of navigation results (position and velocity)
using coherent integration times of 20 ms (the period of
one bit, no bit wipe-off needed), 100 ms (the period of
five bits) using bit aiding and 100 ms from ML bit
decoding is performed. The bit aiding method contains no
bit errors, so it is expected that it gives the best results.
The performance of the navigation solution using 100 ms
from ML bit decoding is expected to fall between the
20 ms case and the case with 100 ms with bit aiding.
Root mean square (RMS) position and velocity errors in
different directions obtained with Strategy I are shown in
Figure 16. By employing the elevation angle mask of 15
degrees, the results using extended coherent integration
time with ML bit decoding are very close to those with bit
aiding. In contrary, the 100 ms results with ML bit
decoding without any preselecting strategy are shown
even worse (in position) than the 20 ms results. This
shows the feasibility of ML bit decoding and Strategy I.
In addition, the fact that the 100 ms results with either bit
aiding or Strategy I are better than the 20 ms results
eludes to the effectiveness of the method for extending
coherent integration in real applications. Overall, the
position and velocity accuracy has been improved about
50% after extending coherent integration time from 20 ms
to 100 ms in this case.
ION GNSS+ 2013, Session B1, Nashville, TN, 16-20 September 2013 Page 11/14
Figure 16 - RMS position and velocity errors in
different directions by using Strategy I in the dense
foliage test
The validity of Strategy I can be further confirmed by
viewing the cumulative C/N0 plots of all satellites in the
dense foliage test, which is shown in Figure 17. There are
three satellites (dashed lines) below 15 degrees of
elevation whose signal C/N0 are noticeably weaker than
those satellites above 15 degrees (solid lines). This
“elevation angle mask” strategy helps ML bit decoding
distinguish the “good” and “bad” candidates. It is noticed
that the value of the elevation angle mask – 15 degrees in
this paper – should vary according to different field
environments. Usually it is a trade-off between the
number of observations and the tolerance of BER values.
Further testing is needed to verify the veracity of this
approach.
Figure 17 - Cumulative C/N0 plots of all satellites in
the dense foliage test
In Strategy II, the coherent integration time is extended to
100 ms if the current C/N0 exceeds the threshold (denoted
as “Th” in the following figures), and the coherent
integration time stays at 20 ms if the C/N0 is below the
threshold. The corresponding RMS position and velocity
errors are shown in Figure 18. Four different threshold
values were chosen for comparison, namely 25, 30, 35, 40
dB-Hz. This coincides with the remarks in Introduction,
that the high BER measurements may corrupt the Doppler
estimation and then affect the accuracy of navigation
solution. By setting C/N0 threshold, most results of 100
ms from ML bit decoding fall between those obtained
using 20 ms and 100 ms using bit aiding. In addition, the
results can be used to evaluate different thresholds, and in
this case, the position results with a threshold of
30 dB-Hz are the best in the horizontal channels. The
optimal threshold is an empirical value obtained from this
field test. Of course, this value is highly reliant on the
local environment, and more tests are needed to confirm
its validity for other operating areas.
ION GNSS+ 2013, Session B1, Nashville, TN, 16-20 September 2013 Page 12/14
Figure 18 - RMS position and velocity errors in
different directions by using Strategy II in the dense
foliage test
Finally, by setting the threshold as 30 dB-Hz, the
trajectory results from the vector-based GSNRx-hsTM
software receiver are shown in Figure 19. The reference
trajectory and the result from the scalar-based GSNRxTM
software receiver are included for comparison. The results
confirm the validity of extended coherent integration time
and Strategy II, with which the navigation solution from
the standalone GSNRx-hsTM
using 100 ms coherent
integration time is very close to the reference trajectory in
the dense foliage test.
Figure 19 - Trajectory results by using Strategy II in
the dense foliage test
CONCLUSIONS AND FUTURE WORK
This paper assesses the performance of ML bit
synchronization and decoding in vector tracking, presents
an analysis of the navigation performance with extended
coherent integration time after bit wipe-off, and gives two
strategies for extending coherent integration time in a
standalone software-based GNSS receiver in weak signal
environments.
The performance of ML bit synchronization and decoding
in vector tracking is assessed in terms of SSR and SDR
respectively, and estimated as a function of the number of
data bits and received signal power. In the context of GPS
L1 C/A signals, the results show that ML bit
synchronization and bit decoding are valid for the signals
as low as 15 dB-Hz in vector tracking. The simulator test
results show vector tracking can extend the validity of
ML bit synchronization and decoding by 13 dB and 10 dB
over scalar tracking. In vector tracking, the SSR is close
to 100% with 200 bits for the signal of 20 dB-Hz in ML
bit synchronization. The SDR is close to 100% for the
signal of 25 dB-Hz in ML bit decoding.
The field test results show vector tracking can improve
the SDR by 3% – 35% depending on the signal strength.
The navigation results show that extended coherent
integration can help to improve the navigation
performance in signal challenged environments. The
position and velocity accuracy has been improved about
50% after extending coherent integration time from 20 ms
to 100 ms in the vehicular navigation test.
Two newly proposed strategies have helped to overcome
the high BER problem using ML bit decoding for bit
wipe-off. It is shown that after implementing the either
strategy, the navigation results with extended coherent
integration time from ML bit decoding are close to those
from bit aiding, and the latter are considered as containing
no bit errors and expected giving the best results.
Future work will use more field tests under different
environments to find an adaptive scheme setting the
threshold parameters presented in the both strategies.
ACKNOWLEDGMENTS
The research presented in this paper was conducted as
part of a collaborative research and development grant
between the University of Calgary, General Motors of
Canada, and Natural Sciences and Engineering Research
Council of Canada.
REFERENCES
Akos, D. M., P. L. Normark, J. T. Lee, K. G. Gromov, J.
B.Y. Tsui and J. Schamus (2000) “Low Power Global
Navigation Satellite System (GNSS) Signal Detection
and Processing,” Proceedings of the 13th International
Reference trajectory
GSNRx-hsTM, 100 ms, Th = 30 dB-Hz
GSNRxTM, 20 ms, scalar tracking
ION GNSS+ 2013, Session B1, Nashville, TN, 16-20 September 2013 Page 13/14
Technical Meeting of the Satellite Division of The
Institute of Navigation (ION GPS 2000), Salt Lake City,
UT, pp. 784-791, September 2000.
Akopian, D. and J. Syrjarinne (2002) “A network aided
iterated LS method for GPS positioning and time
recovery without navigation message decoding,”
Position Location and Navigation Symposium, 2002
IEEE, vol., no., pp. 77- 84.
Di Esposti, R. (2007) “GPS PRN Code Signal Processing
and Receiver Design for Simultaneous All-in-View
Coherent Signal Acquisition and Navigation Solution
Determination,” Proceedings of the 2007 National
Technical Meeting of The Institute of Navigation, San
Diego, CA, January 2007, pp. 91-103.
Djuknic, G. M. and R. E. Richton (2001) “Geolocation
and assisted GPS,” Computer, vol.34, no.2, pp.123-125,
Feb 2001.
Fastrax (2012), IT600 OEM GPS Receiver Module,
Fastrax Ltd. IT600 Data Sheet rev.1.6. 2012.
Garrison, J.L. and B.E. Eichel (2006) “An Extended
Propagation Ephemeris for GNSS,” NAVIGATION,
Vol. 53, No. 3, Fall 2006, pp. 167-179.
Gleason, S. and D., Gebre-Egziabher (2009) “GNSS
Applications and Methods,” Artech House: Norwood,
MA, USA, 2009.
Lashley, M., D.M. Bevly and J.Y. Hung (2009)
“Performance Analysis of Vector Tracking Algorithms
for Weak GPS Signals in High Dynamics,” Selected
Topics in Signal Processing, IEEE Journal of , vol.3,
no.4, pp.661-673, Aug. 2009
Sun, K. and L. Lo Presti (2010) “A differential post
detection technique for two steps GNSS signal
acquisition algorithm,” Position Location and
Navigation Symposium (PLANS), 2010 IEEE/ION ,
vol., no., pp.752,764, 4-6 May 2010
Kokkonen, M. and S. Pietila (2002) “A New Bit
Synchronization Method for a GPS Receiver”. Porc. of
the IEEE Position Location and Navigation Symposium,
April 2002. Palm Springs, CA, pp. 85–90.
MediaTek (2012), MT3336, MediaTek Inc. Product
summary. 2012.
O’Driscoll, C., M.E. Tamazin, D. Borio and G.
Lachapelle (2010) “Investigation of the Benefits of
Combined GPS/GLONASS for High Sensitivity
Receivers,” Proceedings of the 23rd International
Technical Meeting of The Satellite Division of the
Institute of Navigation (ION GNSS 2010), Portland,
OR, September 2010, pp. 2840-2851.
Pany, T. and B. Eissfeller (2006) “Use of a Vector Delay
Lock Loop Receiver for GNSS Signal Power Analysis
in Bad Signal Conditions”, in ION Annual
Meeting/IEEE PLANS, San Diego, CA.
Petovello, M., and G. Lachapelle (2006) “Comparison of
Vector-Based Software Receiver Implementations with
Application to Ultra-Tight GPS/INS Integration,” in
Proceedings of ION GNSS 2006, 26-29 Sept., Fort
Worth TX, pp.2977-2989, U.S. Institute of Navigation,
Fairfax VA
Petovello, M., C. O’Driscoll and G. Lachapelle (2008)
“Weak Signal Carrier Tracking of Weak Using
Extended Coherent Integration with an Ultra-Tight
GNSS/IMU Receiver.” Proceedings of European
Navigation Conference (Toulouse, 23-25 April), 11
pages.
Psiaki, M. L. and H. Jung (2002) “Extended Kalman filter
methods for tracking weak GPS signals,” In
Proceedings of the ION GPS-2002, Sept. 2002.
Ren, T., M.G. Petovello and C. Basnayake (2012)
“Requirements analysis for bit synchronization and
decoding in a standalone high-sensitivity GNSS
receiver,” Ubiquitous Positioning, Indoor Navigation,
and Location Based Service (UPINLBS), 2012 , vol.,
no., pp.1,9, 3-4 Oct. 2012
Soloviev, A., F. Van Grass and S. Gunawardena (2009)
“Decoding Navigation Data Messages from Weak GPS
Signals,” IEEE Transactions On Aerospace And
Electronic Systems Vol. 45, No. 2 April 2009.
Ublox (2011), UBX-G6010, UBX-G6000, ublox ag.
Product summary. 2011.
Van Diggelen, F. and C. Abraham (2001) “Indoor GPS
Technology,” Presented at CTIA Wireless-Agenda,
Dallas, 2001.
Van Dierendonck, A. J. (1996) “GPS Receivers,” in
Global Positioning System: Theory and Applications,
Vol.I, B. W. Parkinson and J.J. Jr. Spilker eds.,
American Institute of Aeronautics and Astronautics,
Washington, 1996, pp. 329-407.
Van Graas,F., A. Soloviev, M. U. Haag, S. Gunawardena
and M. Braasch (2005) “Comparison of Two
Approaches for GNSS Receiver Algorithms: Batch
Processing and Sequential Processing
Considerations”,in ION GNSS 18th International
ION GNSS+ 2013, Session B1, Nashville, TN, 16-20 September 2013 Page 14/14
Technical Meeting of the Satellite Division, 13-16
September 2005, Long Beach, CA
Ward, P.W., J.W. Betz and C. J. Hegarty (2006) “Satellite
signal acquisition, tracking, and data demodulation,” in
Understanding GPS (E. D. Kaplan and C. J. Hegarty,
eds.)
Xie, P. and M.G. Petovello (2011) “Multipath Signal
Assessment in the High Sensitivity Receivers for
Vehicular Applications,” Proceedings of ION GNSS
2011, The Institute of Navigation, 13 pages.
Zeidan, N. I. and J. L. Garrison (2003) “Bit
synchronization and Doppler frequency removal at very
low carrier to noise ratio using a combination of the
Viterbi algorithm with an extended Kalman filter,” In
Proceedings of the ION GPS/GNSS-2003, Sept. 2003.