development of a context-aware vector-based high
TRANSCRIPT
ITM 2011, Session C4, San Diego, CA, 24-26 January 2011 1/13
Development of a Context-Aware Vector-Based
High-Sensitivity GNSS Software Receiver
Tao Lin, Cillian O’Driscoll and Gérard Lachapelle
Position Location And Navigation Group
Department of Geomatics Engineering
Schulich School of Engineering
University of Calgary
BIOGRAPHY
Tao Lin is a Ph.D. candidate in the PLAN Group of the
Department of Geomatics Engineering at the University
of Calgary. He received his BSc. from the same
department in May 2008. His research interests include
the fields of GNSS software receiver design, digital signal
processing, satellite-based navigation, inertial navigation
and ground-based wireless location.
Dr. Cillian O’Driscoll received his Ph.D. in 2007 from
the Department of Electrical and Electronic Engineering,
University College Cork. From 2007 to 2010 he was a
senior research engineer in the Position, Location and
Navigation (PLAN) group at the Department of
Geomatics Engineering in the University of Calgary. His
research interests are in the area of software receivers for
GNSS, particularly in relation to weak signal acquisition
and ultra-tight GPS/INS integration. He is currently a
post-doctoral fellow with the Joint Research Centre of the
European Commission.
Dr. Gérard Lachapelle is a Professor of Geomatics
Engineering at the University of Calgary where he is
responsible for teaching and research related to location,
positioning, and navigation. He has been involved with
GPS developments and applications since 1980. He has
held a Canada Research Chair in wireless location since
2001.
ABSTRACT
In a standard GNSS scalar-based receiver, GNSS signals
are usually processed on a satellite-by-satellite basis using
scalar-based tracking loops. In contrast, a vector-based
based receiver combines the signal processing and the
navigation solution into one step so that one tracking or
processing channel can aid other channels via the
navigation state; thus generally it has better sensitivity
over a scalar-based receiver. However the gain due to the
inter-channel aiding in a vector-based receiver is
negligible for indoor applications. In addition to vector-
based tracking, longer coherent integrations are needed
for indoor navigation. Although extending the coherent
integration time for conventional standard tracking loops
(DLL/FLL/PLL) and Kalman filter based tracking loops
is possible, the robustness of the carrier phase tracking in
these tracking loops remains an issue. In this paper, a
combined approach of the block processing and
centralized vector-based tracking is utilized for robust
indoor navigation. A context-aware approach is used to
optimize the processing load of the receiver and the
measurement weighting to provide seamless outdoor-
indoor navigation. Cascaded Kalman filter vector-based
tracking is used under open-sky conditions; block
processing and centralized vector processing is enabled
when the signal power drops, signal fading level
increases, or the Kalman filter tracking loops have
difficulty to maintain lock. The algorithms,
implementation details, and performance of the proposed
context-aware high-sensitivity GNSS software receiver
and its ultra-tight version are presented in this paper.
Based on the results shown, the proposed receivers have
acceptable robustness and accuracy for indoor navigation.
INTRODUCTION
The optimal choice of processing strategy and parameters
in a GNSS receiver is a function of many factors: the
strength of the signal, the Line-Of-Sight (LOS) dynamics,
and the signal fading level. All these factors can be
categorized into signal/channel context (signal strength
and fading level) and motion context (dynamics due to
motion or clock instability). There is, therefore, a desire to
develop a new GNSS receiver architecture that is able to
determine the channel and motion contexts and adjust its
processing strategies and parameters accordingly. Herein,
such a receiver is referred to as context-aware.
GNSS signals are usually processed on a satellite-by-
satellite basis using scalar-based tracking loops. The
benefits of scalar-based tracking are the relative ease of
implementation and a level of robustness that is gained by
not having one tracking channel corrupt another tracking
ITM 2011, Session C4, San Diego, CA, 24-26 January 2011 2/13
channel. However, the fact that the signals are related via
the receiver’s position and velocity is completely ignored.
In contrast, vector-based tracking combines the signal
processing and the navigation solution into one step so
that one tracking channel can aid other channels via the
estimated receiver’s position, velocity, clock offset, and
clock drift (Petovello et al 2008); thus, generally it has
better sensitivity over scalar-based tracking. This
sensitivity gain depends on the actual satellite geometry.
However, in a deep indoor or urban environment where a
30 dB attenuation level for all satellites in view is possible
(Watson 2003), the gain due to the inter-channel aiding in
vector-based tracking is negligible, since apparently there
is no strong signal in this case (Pany 2010). In addition to
attenuation, multipath fading will cause loss of lock in
conventional closed-loop signal tracking and errors in
navigation solution. To improve the sensitivity and
robustness of vector-based tracking loops, a larger
sensitivity gain from signal integration (i.e. coherent
integration) and better multipath fading resistance are
needed.
In order to provide seamless outdoor-indoor navigation, a
context-aware vector-based high-sensitivity receiver and
its ultra-tight version are proposed in this research. The
focus in this paper is the practical implementation and
performance evaluation of the proposed receivers. This
paper begins with a review of existing GNSS signal
processing strategies and receiver architectures. The
concept of context-aware processing is then explained.
After that, the architectures and implementation of the
proposed context-aware vector-based high sensitivity
receiver and its ultra-tight version are presented. The field
test results are finally presented and analyzed.
HIGH SENSITIVITY PROCESSING
In this section, several major channel processing
strategies and receiver architectures are introduced. Their
roles in GNSS high sensitivity processing are discussed.
Channel Processing Strategies
In this section, three channel processing strategies,
namely standard tracking, Kalman filter tracking, and
block processing, are briefly reviewed and compared.
Standard tracking is the most basic but commonly used in
GNSS receiver design communities and industries. Most
standard tracking loops were designed in the analog
domain first and then transformed into the digital domain
by the bilinear transform. As shown by Kazemi (2009),
the standard tracking loop needs to be re-designed in the
digital domain in order to extend its coherent integration
time over 100 ms. The processing flow of standard
tracking is shown in Figure 1. The correlator outputs
generated from the Doppler Removal and Correlation
(DRC) module are processed by discriminators and loop
filters to provide the updated signal parameter estimates.
The updated signal parameters are then used to generate
the local replicas for DRC process in the next epoch.
Figure 1 Architecture of a standard tracking loop
Kalman filter tracking is another option for signal
tracking. Although it is well known that a Kalman filter
tracking loop in steady state is equivalent to a standard
tracking loop, the Kalman filter can be used as a tool for
designing an optimal tracking loop based on the actual
equipment used (e.g. oscillators). Another benefit of a
Kalman filter tracking loop is that it is designed directly
in the digital domain; therefore, the instability issue for
standard tracking loops is not an issue for Kalman filter
track loops (Pany 2010).
Figure 2 Architecture of a Kalman filter tracking loop
Although standard tracking loops, particularly PLLs and
Kalman filter tracking loops, have been modified or
enhanced for weak signal tracking for indoor or urban
applications, their robustness remains an issue for indoor
navigation. Both standard tracking and Kalman filter
tracking are limited by several factors. First of all, the
Gaussian channel assumptions in both tracking loops are
not realistic. The real GNSS indoor signals are not only
weak but faded. The fluctuation of the signal strength due
to multipath fading has to be addressed. Secondly, better
performance cannot be guaranteed by simply increasing
coherent integration time. O’Driscoll et al (2010) have
shown that longer coherent integration time does not
guarantee to give better tracking performance for a
Kalman filter tracking loop. In fact, this is true for any
tracking loop due to the conflict between the longer
coherent integration time and the higher loop update rate.
Thirdly, the linear regions of discriminators or the
ITM 2011, Session C4, San Diego, CA, 24-26 January 2011 3/13
equivalent linear regions of these two tracking schemes
are too narrow, because of the very limited number of
correlators used. Finally, the signal carrier phase is too
difficult to track indoors due to noise and multipath
fading. Performing carrier phase tracking in these two
tracking schemes leads to frequent loss-of-lock.
Compared to the two tracking schemes above, block
processing is a very different approach. In standard
tracking and Kalman filter tracking, the local signal
replicas are fully synchronized to the incoming signals if
signals can be tracked properly. In block processing, the
local replicas are not fully synchronized to the incoming
signals, but the differences between local replicas and the
incoming signals are estimated from a grid of correlators.
In other words, the tracking errors are significantly
different from zero. This is similar to the centralized deep
coupling shown in Pany et al (2005). As shown by Van
Graas et al (2008), it is possible to use the signal
parameters estimated from the grid of correlators to
directly control local signal generator. However these
unfiltered estimates are much noisier than those from
channel loop filters; therefore, it is better to filter these
estimates by the navigation solution. Because of the
elimination of the local channel filter, the issues of loop
filter stability and the conflict between longer integration
time and higher loop update do not exist in block
processing. Therefore, as shown by Van Graas et al
(2008), block processing has better robustness compared
to standard tracking and Kalman filter tracking.
Figure 3 Architecture of block processing
Receiver Architectures
In general, GNSS receiver architectures can be
categorized into scalar-based receivers and vector-based
receivers. As shown below, the major difference between
a vector-based receiver and a scalar-based receiver is the
navigation solution feedback to each tracking channel.
This enables the inter-channel aiding among the channels
so that strong signals can help tracking weak signals.
Vector-based receivers can be further divided into two
groups, cascaded vector-based receivers and centralized
vector-based receivers. For centralized vector-based
receivers, the local tracking loop for each channel is open.
The discriminator outputs are directly fed into the
navigation solution without any filtering (Pany et al
2005). In contrast to centralized vector-based receivers,
the local tracking loops for each channel are still closed in
cascaded vector-based receivers (Petovello et al 2006).
Figure 4 Architecture of a scalar receiver
Figure 5 Architecture of a vector receiver
An ultra-tight receiver can be considered as a vector-
based receiver integrated with an IMU. From a GNSS
receiver architecture point of view, they are more or less
the same. The only difference between them is the
navigation solution. A GNSS-only solution is used in a
vector-based receiver, while a GNSS/INS integrated
solution is used in an ultra-tight receiver. The integrated
solution has a higher output rate and generally higher
accuracy than the GNSS only solution especially when
there are signal blockages. This will provide more
accurate/robust predicted pseudoranges (PSRs) and
pseudorange rates (PSRRs) for each channel in the
navigation feedback compared to the one in a vector-
based receiver. Also longer coherent integration time and
smaller loop bandwidth for the cascaded approach are
possible due to the LOS dynamic compensation by the
integrated navigation solution at a high output rate
(Petovello et al 2008, Pany et al 2009).
ITM 2011, Session C4, San Diego, CA, 24-26 January 2011 4/13
As discussed in the previous section, the outputs from
block processing could be too noisy to directly set the
local signal generator. The centralized vector-based
receiver architecture provides a chance to filter the block
processing output through the navigation solution.
Therefore, the vector-based receiver architecture and its
extension, ultra-tight receiver architecture, are used for
the proposed context-aware high-sensitivity receivers in
this paper.
Figure 6 Architecture of an ultra-tight receiver
CONTEXT-AWARE PROCESSING
From the discussion above, the combination of the block
processing strategy and the vector-based or the ultra-tight
receiver architecture will be a robust solution for indoor
navigation. However, the block processing strategy may
not be an ideal solution for many open-sky applications
(i.e. high precision survey). With the same coherent
integration time, the outputs from block processing are
noisier than those from standard or Kalman filter tracking.
The computation load is another disadvantage of block
processing due to a large amount of correlators. In short,
block processing is a suitable candidate for indoor
navigation if long coherent and non-coherent integrations
are used; however, it should be used only when it is
needed. Therefore, the receiver should be able to
determine when to enable the high sensitivity mode. The
navigation solution can benefit from the context-aware
processing as well, because the navigation solution for
outdoor applications and indoor applications could be
different in terms of the types of measurements, the
measurement weighting methods, and even the
architectures.
Context can be categorized as channel context (e.g. indoor
vs. outdoor) and motion context (e.g. static vs. kinematic).
The motion context here simply refers to the dynamics
due to satellite and user motion. Because velocity and
acceleration can be used to describe motion, the motion
context can be detected or characterized by the
GNSS/INS integrated navigation solution or even the
GNSS only navigation solution. The benefits of knowing
the motion context are LOS dynamics compensation for
longer coherent integration and/or narrower loop
bandwidth, and multipath fading characterization.
In contrast to motion context, channel context is more
challenging because GNSS signals are already weak in
open-sky compared to most communication signals. The
most common metrics for channel context detection are
listed below.
Table 1 Metrics for Context-Aware Detection
Metrics Characteristics
PLI Phase-locked indicator
FLI Frequency-locked indicator
C/N0 Signal strength level
Rician K-Factor Signal fading level
Chip Shape Chip shape of composite signals
Correlation Correlation shape of composite signals
Residuals Measurement residuals
Residuals depend on the number of satellites in-view and
the navigation solution at the previous epoch. The use of
residuals for context-aware detection will be investigated
in the future. Phase-Locked Indicator (PLI) and
Frequency-Locked Indicator (FLI) are indicators of how
well the phase and frequency are being tracked. They do
not have physical meaning regarding the types of
channels (i.e. Gaussian, Rician or Rayleigh) (Lin et al
2010). Chip shape and correlation shape in the code phase
domain can be used to detect and estimate the distortion
due to multipath as shown by Weil (1995), Jones et al
(2004), Fenton & Jones (2005), Weil (2007), and Lin et al
(2010) for outdoor applications. However, these
techniques require phase-lock, which are not suitable for
indoor applications since phase-lock are barely possible
for indoor signals (Lin et al 2010). C/N0 measures the
signal strength of the receiver signals. It is also an
indicator for the attenuation level of the received signals.
The Rician K-Factor measures the fading level of the
received signals. It can be used to determine the types of
propagation channels. Lin et al (2010) provide details of
the implementation of various Rician K-Factor estimators
and their performance/compatibility for GNSS signal
processing. The moment based Rician K-Factor
estimators were shown to be the most suitable candidates
for GNSS signal processing (Lin et al 2010).
The results below demonstrate the channel context
detection base on Rician K-Factor and C/N0 estimates
with different integration times. The GPS data used here
was collected in an experiment in a typical North
ITM 2011, Session C4, San Diego, CA, 24-26 January 2011 5/13
American wooden house. The antenna was initially held
by a pedestrian outdoor. The pedestrian with the antenna
first remained stationary for about 60 seconds. Then, the
antenna was moved into the first floor of the house, down
to the basement, back outdoors for a while, then moved
back to the first floor of the house finally. ‘Moment1,2,1st’,
‘Moment1,2,2nd’, and ‘Moment2,4’ are three Rician K-
Factor estimators introduced in Lin et al (2010).
‘Moment2,4’ refers to the Rician K-Factor estimator with
2nd
and 4th
moments. ‘Moment1,2,1st’ and ‘Moment1,2,2nd’
refer to the Rician K-Factor estimators with 1st and 2
nd
moments using a 1st order and a 2
nd order polynomial
approximation. More details can be found in Lin et al
(2010). It can be observed that C/N0 indicates the
attenuation level while Rician K-Factor indicates the
signal fading level. These two quantities can be used to
effectively detect indoor and outdoor channels.
Figure 7 C/N0 values with 100 ms coherent
integrations
Figure 8 Rician K-Factor values with 100 ms coherent
integrations
Figure 9 C/N0 values with 500 ms coherent
integrations
Figure 10 Rician K-Factor values with 500 ms
coherent integrations
As shown by Van Graas et al (2008) and Lin et al (2010),
multipath signals can be separated from LOS signals in
the frequency domain if coherent integration time is long
enough. This concept is illustrated below with real indoor
GPS signals using the same data set for the results above.
The coherent integration of 1 s was used in this case. As
shown in the figures blow, multiple peaks show up at
three consecutive epochs. Because data bits have been
perfectly wiped off with external data aiding in this case,
it can be concluded that some or all of these peaks are due
to multipath signals. More details can be found in Lin et
al (2010). Applying this technique for multipath
mitigation will be investigated in the future.
ITM 2011, Session C4, San Diego, CA, 24-26 January 2011 6/13
Figure 11 Correlations at 412808.6094 s
Figure 12 Correlations at 412809.6094 s
Figure 13 Correlations at 412810.6094 s
CONTEXT-AWARE HIGH SENSITIVITY
RECEIVERS
In this section, the proposed vector-based and ultra-tight
high sensitivity receivers are first introduced. The special
features in these two receivers are then presented.
The architecture of a context-aware vector-based high-
sensitivity receiver is shown in Figure 14 while its ultra-
tight version is shown in Figure 15. These two
architectures have been implemented in the GNSS
Software Navigation Receiver (GSNRxTM
) developed at
the University of Calgary (O’Driscoll et al 2009).
Figure 14 Architecture of GSNRx-hsTM
Figure 15 Architecture of GSNRx-hs-utTM
The proposed context-aware, vector-based high-
sensitivity receiver, GSNRx-hsTM
, and its ultra-tight
version, GSNRx-hs-utTM
, have a few noticeable
differences to the standard vector-based receiver
(GSNRx-vbTM
) and the standard ultra-tight receiver
(GSNRx-utTM
). GSNRx-hsTM
and GSNRx-hs-utTM
have
two operation modes: the standard mode and the high-
sensitivity mode. In the standard mode, a Kalman filter
tracking strategy is active; and the cascaded vector-
tracking is utilized. This is exactly the same as the
standard vector tracking and ultra-tight tracking in
GSNRx-vbTM
and GSNRx-utTM
.
In the high-sensitivity mode, the block processing strategy
is active. The outputs from block processing are used for
generating the pseudorange and pseudorange rate
ITM 2011, Session C4, San Diego, CA, 24-26 January 2011 7/13
measurements for the navigation solution. The local
signal generators are then updated by the filtered
pseudorange and pseudorange rate values from the
navigation filter. This is the same as the centralized vector
tracking discussed in Pany et al (2005). External data bit
aiding is used to permit long coherent integration times
for noise and multipath suppression, while external
ephemeris is used for navigation solution. Because of the
larger amount of correlators needed in block processing,
FFT parallel-frequency-based correlation method is used
to generate correlation/accumulation more efficiently in
the frequency domain. The basic idea for this algorithm is
to partially coherent integrate the correlator output (i.e. 1
ms output) at the Doppler frequency estimated at the
previous epoch up to the partial coherent integration time
(i.e. 10 ms), which defines the attenuation pattern of the
correlation function. These partial coherent integration
sums for each code bin are stored in an array. The FFT is
finally applied to these arrays to obtain the final two
dimensional correlation output. More details on FFT
parallel-frequency-based correlation can be found in Ma
et al (2011).
Another key feature of the high sensitivity processing
(block processing) in the proposed receivers is that block
processing can work in the signal synchronous mode or
the receiver synchronous mode. These two modes are
described below. The navigation measurements
(pseudorange, pseudorange rate, and carrier phase)
generation and signal tracking processes typically work
asynchronously with each other. As well, the tracking of
each satellite signal is asynchronous to other signals
because the code phases for different signals are not the
same at the same epoch (Pany et al 2005, O’Driscoll et al
2010). For standard tracking and Kalman filter tracking,
this is not an issue, since the local signal replicas are fully
synchronized to the incoming signals if tracking works
properly. In other words, the navigation measurements
can be generated from the local signal replicas at every
measurement epoch (i.e. every 1 s for 1 Hz measurement
rate). As mentioned above, block processing does not
track the incoming signals closely; therefore, the offset
between the local replicas and the incoming signals need
to be not only estimated at the channel update epochs (the
epochs for estimating the offsets) but also propagated
from the channel update epochs to the measurement
epochs for proper measurement generation. If the channel
update epochs for each channel are synchronous to their
signal time frames and asynchronous to the receiver time
fame (i.e. channel update epochs are asynchronous to the
measurement epochs), this process is a signal
synchronous process. Signal synchronous processes are
typically used in most GNSS receivers to avoid the
change of navigation data bits occurring during the
correlation or coherent integration process because all
signals being tracked are naturally asynchronous. If the
channel update epochs for each channel are asynchronous
to their signal time fames but synchronous to the receiver
time frame, this process is a receiver synchronous
process. Receiver synchronous processes are generally
not used if data bit aiding is not available. Because of
external data bit aiding, both signal synchronous and
receiver synchronous processes are available in GSNRx-
hsTM
and GSNRx-hs-utTM
.
For signal synchronous processes, the propagation of the
signal parameter offsets estimated at channel update
epochs is required. Depending on the time gap between
the channel update epoch and the measurement epoch,
such propagation may not be accurate enough if higher
order signal parameters (i.e. frequency rate) is not
available. For receiver synchronous processes, this is not
an issue since the signal parameters are estimated at the
same epochs as that of measurement generation.
Therefore, receiver synchronous processes may provide
measurements with better quality depending on the
models used.
In contrast to the traditional elevation-based weight
scheme, the measurement weightings in the proposed
receivers are based on the thermal noise jitter and other
error sources. The thermal noise jitter is a function of
channel processing strategies, filter bandwidths, and
coherent integration times. For high sensitivity mode, the
pseudorange measurement weightings are intentionally
scaled down since pseudorange measurements are more
susceptible to multipath than carrier Doppler (Petovello et
al 2003).
FIELD TEST RESULTS
An experiment in a typical North American wooden
house was conducted to evaluate performance of the
proposed receiver architectures. In this experiment, an
antenna was mounted on an aluminum frame carried by a
pedestrian (see Figure 18). The GPS IF data was collected
with a National Instrument (NI) RF front-end. A
NovAtel’s SPAN HG1700TM
system, which includes a
L1/L2 survey grade GNSS receiver and a tactical grade
IMU (HG1700), was placed in the aluminum frame for
the reference solution. A lower grade IMU, CPT, which is
comprised of FOG gyros and MEMS accelerometers, was
also used in the experiment for the high sensitivity ultra-
tight solution. The specifications of these two IMUs are
provided in Table 2 (NovAtel 2009, 2010b). The
performance comparison of HG1700 and CPT IMUs
during GPS signal outages can be found in NovAtel
(2010a).
ITM 2011, Session C4, San Diego, CA, 24-26 January 2011 8/13
Table 2 IMU specifications
IMU HG1700 CPT
Gyro Bias (deg/hr) 1.0 20.0
Gyro Bias Stability (deg/hr) N/A 1.0
Gyro Scale Factor (ppm) 150 1500
Accelerometer Bias (mg) 1.0 50.0
Accelerometer Bias stability (mg) N/A 0.75
Accelerometer Scale Factor (ppm) 300 4000
The pedestrian was walking from outdoors to indoors then
back to the original starting point outdoors. The sky-plot
is shown in Figure 16. The equipment and the field test
environment are shown in Figure 17 and Figure 18.
Figure 16 Sky plot
Figure 17 Environment of the field test
Figure 18 Hardware for the field test
The estimated C/N0 and Rician K-Factor values from
GSNRx-hsTM
are plotted in Figure 19 and Figure 20. As
expected, the mean values of the estimated C/N0 are lower
while the variations of the estimated C/N0 are larger
compared to the outdoor values. These variations are
captured by the estimated Rician K-Factor as well. More
interestingly, when the pedestrian was approaching the
building or just leaving the building, significant
fluctuations can be observed on the corresponding C/N0
values because of the multipath fading and the partial
signal blockage from the building. These are again can be
more readily visualized from the estimated Rician K-
Factor values. In fact, this proves that Rician K-Factor
can be used with C/N0 for context detection.
ITM 2011, Session C4, San Diego, CA, 24-26 January 2011 9/13
Figure 19 Estimated C/N0 values from GSNRx-hsTM
Figure 20 Estimated Rician K-Factor values from
GSNRx-hsTM
The reference solution used in this test was generated
from the NovAtel’s Inertial ExplorerTM
software package
and the SPAN-HG1700TM
GPS/INS measurements. The
RTK GPS/INS tightly couple solution with forward-
backward smoothing was used as the reference. The
estimated standard deviations of the reference position
and velocity over time are plotted in Figure 21 and Figure
22. These values are provided by the Inertial ExplorerTM
software package. Because of the tactical grade IMU
HG1700, the reference solution can be maintained at the
sub-metre accuracy while the pedestrian was walking
indoors. This accuracy is sufficient for reference purposes
in this paper.
Figure 21 Estimated position accuracy of the reference
solution
Figure 22 Estimated velocity accuracy of the reference
solution
As mentioned in the previous section, signal synchronous
and receiver synchronous options are available in
GSNRx-hsTM
and GSNRx-hs-utTM
. In order to evaluate
the measurement quality from these two processes, the
block processing strategy in GSNRx-hsTM
was enabled
when navigation frame synchronization was achieved so
that the data bit aiding can be used for bit wipe-off. 500
ms coherent integrations were used in both cases. In
Figure 23 and Figure 24, the position errors and the
velocity errors for the signal synchronous and the receiver
synchronous processes are plotted. The position and
velocity estimates from the receiver synchronous
processing are slightly more accurate that those from the
signal synchronous processing, especially when the
dynamics was relatively high. This may be because the
model used for signal parameter offset propagation is sub-
optimal due to the lack of higher order signal information.
For the receiver synchronous processing, this sub-optimal
propagation is omitted; thus, the errors are smaller
compared to the signal synchronous process. However,
the difference between the solutions from these two
processes is small because only 500 ms of coherent
integration was used here. If a longer coherent integration
ITM 2011, Session C4, San Diego, CA, 24-26 January 2011 10/13
was used, the benefit of the receiver synchronous process
may be more pronounced.
Figure 23 Comparison of position errors
Figure 24 Comparison of velocity errors
Based on the C/N0 and Rician K-Factor estimates, the
change of the channel context can be detected. This is
also the point for switching processing strategies. The
data was re-processed with GSNRx-hsTM
to evaluate the
performance of the context-aware solution. The high
sensitivity mode in GSNRx-hsTM
is enabled only when the
C/N0 and Rician K-Factor estimates are below the pre-
defined thresholds of 32 dB-Hz and 10 dB respectively.
More tests will be conducted to evaluate the impact of the
thresholds in the future, but this seems to be an effective
engineering design choice to the authors. The FFT-
parallel-frequency method was used for long coherent
integrations. The partial coherent integration used in the
process here was 10 ms and the total coherent integration
time was 500 ms. The signal synchronous process was
used.
The estimated trajectories from GSNRx-hsTM
and the
reference solution are shown in Figure 25. The position
and velocity errors are shown in Figure 26 and Figure 27.
The estimated trajectory from the proposed high
sensitivity receiver is reasonably close to the one from the
reference solution. The position errors are acceptable in
general for this signal degraded environment while the
velocity errors are a bit larger than expected. This could
be the side-effect of the heavy filtering in the navigation
solution.
Figure 25 Estimated trajectories from GSNRx-hsTM
and the reference solution
Figure 26 Position solution of GSNRx-hsTM
ITM 2011, Session C4, San Diego, CA, 24-26 January 2011 11/13
Figure 27 Velocity solution of GSNRx-hsTM
The data set was processed with the proposed high-
sensitivity ultra-tight receiver, GSNRx-hs-utTM
, as well
with the same parameters. A CPT IMU, which comprises
three FOG gyros and three MEMS accelerometers, was
used for the ultra-tight solution. The mechanization
algorithm is the traditional strapdown algorithm used in
Petovello et al (2008). The estimated trajectory from the
ultra-tight solution is compared with the one from the
reference solution in Figure 28. The position and velocity
errors are shown in Figure 29 and Figure 30.
Figure 28 Estimated trajectories from GSNRx-hs-utTM
and the reference solution
Figure 29 Position solution of GSNRx-hs-utTM
Figure 30 Velocity solution of GSNRx-hs-utTM
The statistics of the position and velocity errors for these
two solutions are summarized in Table 3 and Table 4.
Compared to the results of the GPS only solution, the
results from the ultra-tight solution are more accurate
especially when larger motion or maneuvers occur during
the test. This is because the pedestrian motion was
measured by the CPT IMU at 100 Hz in the ultra-tight
solution while it can be only predicted by the dynamic
model in the Kalman filter used by the GPS only solution.
The heavy filtering in the Kalman filter solution made this
more pronounced. However, considering the cost and the
power saving associated with the absence of IMU’s, the
GPS only solution from GSNRx-hsTM
is acceptable for
many low cost indoor navigation applications.
ITM 2011, Session C4, San Diego, CA, 24-26 January 2011 12/13
Table 3 Position accuracy
Position Error (m)
Northing Easting Vertical
Max Mean Max Mean Max Mean
GSNRx-
hsTM
2.54 -0.65 2.05 -0.67 11.25 -1.69
GSNRx-
hs-utTM
2.24 -0.49 1.65 -0.52 7.42 -0.82
Table 4 Velocity accuracy
Velocity Error (m/s)
Northing Easting Vertical
Max Mean Max Mean Max Mean
GSNRx-
hsTM
0.57 0.01 0.63 -0.02 0.47 0.03
GSNRx-
hs-utTM
0.47 0.00 0.41 -0.00 0.22 -0.01
CONCLUSIONS
In this paper, a context-aware, vector-based high
sensitivity receiver and its ultra-tight version were
proposed to provide seamless outdoor-indoor navigation.
The proposed receiver architectures have been
implemented on a GNSS software receiver platform and
tested with real GPS indoor signals. High-sensitivity and
context-aware processing algorithms were introduced.
The field test results demonstrated that the proposed
receivers can provide metre-level solution for a typical
North American wooden house type of indoor
environments.
ACKNOWLEDGMENTS
The assistance of Martin Ma in the development of the
software, and Billy Chan and Behnam Aminian for the
data collection is greatly appreciated.
This work was conducted with funding provided by
iCORE, part of Alberta Innovates – Technology Future.
REFERENCES
Fenton, P. and J. Jones (2005) The Theory and
Performance of NovAtel Inc.’s Vision Correlator,
Proceedings of GNSS 2005 (Long Beach, CA), The
Institute of Navigation.
Jones, J., P. Fenton, and B. Smith (2004) Theory and
Performance of the Pulse Aperture Correlator, Novatel
Technical Report, NovAtel, Inc, Calgary, Alberta,
Canada.
Kazemi, P. (2008) Optimum Digital Filters for GNSS
Tracking Loops, Proceedings of GNSS08 (Savannah, GA,
16-19 Sep, Session C5), The Institute of Navigation.
Lashley, M. and D. M. Bevly (2009) Vector
Delay/Frequency Lock Loop Implementation and
Analysis, Proceedings of ION NTM 2009.
Lin, T, C. O’Driscoll and G. Lachapelle (2010) Channel
Context Detection and Signal Quality Monitoring for
Vector-based Tracking Loops. Proceedings of GNSS10
(Portland, OR, 21-24 Sep), The Institute of Navigation, 14
pages.
Ma, M. O’Driscoll and G. Lachapelle (2011) Automatic
Parameter Determination for Real-Time Acquisition
using Frequency Domain Methods in a High Sensitivity
Software Receiver. Proceedings of ITM 2011 (San Diego,
CA, 24-26 Jan), The Institute of Navigation, 12 pages.
NovAtel, “SPANTM
Brochure”, NovAtel Inc., Calgary,
Canada, 2010a,
http://webone.novatel.ca/assets/Documents/Papers/SPAN
Brochure.pdf.
NovAtel, “SPAN-CPTTM
Brochure”, NovAtel Inc.,
Calgary, Canada, November, 2010b,
http://webone.novatel.ca/assets/Documents/Papers/SPAN-
CPT.pdf.
NovAtel, “SPAN-HGTM
Brochure”, NovAtel Inc.,
Calgary, Canada, May, 2009,
http://www.canalgeomatics.com/product_files/SPAN%20
HG1700_138.pdf.
Nielsen, J., S. Shanmugam, M. U. Mahfuz, G. Lachapelle
(2009) Enhanced Detection of Weak Signals Using
Spatial Combinging, Navigation, Journal of The Institute
of Navigation, Vol. 56, No. 2, pp 83-95.
O’Driscoll, C., M.G. Petovello, G. Lachapelle (2010)
Choosing the Coherent Integration Time fir Kalman
Filter-Based Carrier-Phase Tracking of GNSS Signals,
GPS Solutions.
(http://www.springerlink.com/content/t526211114832625
/)
O’Driscoll, C., D. Borio, M.G. Petovello, T. Williams and
G. Lachapelle (2009) The Soft Approach: A Recipe for a
Multi-System, Multi-Frequency GNSS Receiver, Inside
GNSS Magazine, Volume 4, Number 5, pp. 46-51.
(http://www.insidegnss.com/node/1635)
Pany (2010) Navigation Signal Processing for GNSS
Software Receivers (GNSS Technology and
Applications), Boston, Artech House.
ITM 2011, Session C4, San Diego, CA, 24-26 January 2011 13/13
Pany, T., J. Winkel, B. Riedl, M. Restle, T. Worz, R.
Schweikert, H. Niedermeier, G. Ameres, B. Eissfeller, S.
Lagrasta and G. Lopez-Risueno (2009) Performance of a
Partially Coherent Ultra-Tightly Coupled GNSS/INS
Pedestrian Navigation System Enabling Coherent
Integration Times of Several Seconds to Track GNSS
Signals Down to 1.5 dBHz, Proceedings of GNSS09
(Savannah, GA, 22-25 Sep), The Institute of Navigation,
16 pp.
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.
Pany, T., R. Kaniuth and B. Eissfeller (2005), Deep
Integration of Navigation Solution and Signal Processing.
Proceddings of ION GNSS 2005, pp. 1095-1102.
Petovello, M.G., C. O'Driscoll and G. Lachapelle (2008)
Weak Signal Carrier Tracking Using Extended Coherent
Integration with an Ultra-Tight GNSS/IMU Receiver,
Proceedings of European Navigation Conference
(Toulouse, 23-25 April), 11 pages.
Petovello, M.G. and G. Lachapelle (2006) Comparison of
Vector-Based Software Receiver Implementations With
Application to Ultra-Tight GPS/INS Integration.
Proceedings of GNSS06 (Forth Worth, 26-29 Sep,
Session C4), The Institute of Navigation, 10 pages.
Schmid, A., C. Gunther, and A. Neubauer (2005) Rice
Factor Estimation for GNSS Reception Sensitivity
Improvement in Multipath Fading Enviroments,
Proceedings of the 2nd
Workship on Positioning,
Navigation and Communication, 2005.
Van Graas, F., A. Soloviev, M. Uijt de Haag, S.
Gunawardena and M. Braasch (2005) Comparison of Two
Approaches for GNSS Receiver Algorithms: Batch
Processing and Sequential Processing Considerations,
Proceedings of GNSS ITM05 (Long Beach, CA, 13-16
Sep), The Institute of Navigation, 12 pp.
Watson, R. (2005) High-Sensitivity GPS L1 Signal
Analysis for Indoor Channel Modelling, MSc Thesis,
published as UCGE Report No. 20215, Department of
Geomatics Engineering, University of Calgary, Canada.
Weil, L. (2007) Theory and Applications of Signal
Compression in GNSS Receivers, in Proceedings of ION
GNSS ITM07.
Weil, L. (1995) Achieving Theoretical Accuracy Limits
for Pseudoranging in the Presence of Multipath, in
Proceedings of ION GPS-95, pp. 1521-1530.