Ultrawideband Radio Aided Carrier Phase Ambiguity Resolution in
RealTime Kinematic GPS Relative Positioning
by
Eric Broshears
AthesissubmittedtotheGraduateFacultyof
Auburn University
in partial fulfillment of the
requirements for the Degree of
Master of Science
Auburn, Alabama
August 3, 2013
Keywords: Ultrawideband Radio, Global Positioning System, Relative Positioning
Copyright 2013 by Eric Broshears
Approved by
David Bevly, Chair, Professor of Mechanical Engineering
SongYul Choe, Professor of Mechanical Engineering
Thaddeus Roppel, Professor of Electrical and Computer Engineering
Abstract
In this thesis, ultrawideband radios (UWBs) are integrated into the realtime kine
matic (RTK) algorithm using di?erential GPS techniques to achieve a highly precise relative
positioning vector between GPS antennas. This has potential applications including an au
tonomous leaderfollower scenario or an unmanned aerial refueling scenario. The UWBs give
arangemeasurementbetweenantennas,whiletheRTKsolutiongivesathreedimensional
relative positioning vector. This UWB range measurement can be integrated into the RTK
algorithm to add robustness and increase accuracy.
When two GPS receivers are within a close proximity, most of the errors that degrade
the GPS signal are correlated between the two receivers and can be mitigated by using
di?erential techniques. This can be done using either a static base station, as is the case for
RTK, or using a dynamic base, as is the case for DRTK. These algorithms are explained in
detail in this thesis, as well as results showing the improved accuracy.
The diculty of the RTK algorithm is that it must resolve ambiguities in the carrier
phase once the receiver has locked on to a satellite?s signal. The least squares ambiguity
adjustment (LAMBDA) method was created to help resolve these ambiguities. When the
baseline between GPS antennas is known, this known baseline can be used as a constraint and
can be integrated into the LAMBDA method, resulting in a CLAMBDA method. This thesis
uses the UWB range measurements in place of the known baseline in the CLAMBDA method
and results showing its improvement over the standard LAMBDA method are presented.
By looking at the experimental results, some conclusions can be made. As long as the
accuracy of the UWB range measurements is within a few centimeters, it is shown that it
can be used in the CLAMBDA method as the baseline constraint in helping to resolve the
carrier phase ambiguities.
ii
Acknowledgments
Iwouldliketostarto?bythankmyfamily,namelymyparentsandmysister,whohave
stuck by my side and have always been there for me throughout the years. Their patience
and guidance has allowed opportunities for me that I would not have had otherwise. I am
probably indebted to them for the rest of my life for all they have done for me.
Iwouldalsoliketothankallmyfriends,oldandnew,whohavenotonlymadelifemore
enjoyable, but have also challenged me to always strive to better myself.
I would like to thank my advisor, Dr. Bevly, for taking a chance on me by allowing
me to work in his lab as a research assistant. Going to graduate school is a privilege and
I feel honored that he gave me this opportunity. Also, a special thanks needs to go out to
the GAVLAB and everyone in it. You all have definitely made my stint at graduate school
easier and more productive, if not more exciting.
And last but not least I would like to thank Auburn, which has been a great school to
attend and I will always be thankful for my time spent here. From all the professors, to the
football games, to the familyfriendly atmosphere that surrounds the university, I could not
imagine having gone to school anywhere else. I believe in Auburn and love it.
iii
Table of Contents
Abstract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ii
Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii
List of Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii
List of Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . x
List of Abbreviations and Nomenclature . . . . . . . . . . . . . . . . . . . . . . . . . xi
1Introduction......................................1
1.1 Background and Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Previous Works . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3 Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.4 Thesis Outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2GPSSignalStructureandDi?erentialPositoningTechniques..........7
2.1 GPS Signal Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.1.1 GPS Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2 GPS Di?erential Positioning Techniques . . . . . . . . . . . . . . . . . . . . 11
2.3 Real Time Kinematic (RTK) GPS . . . . . . . . . . . . . . . . . . . . . . . . 12
2.3.1 Dynamic Base RTK (DRTK) GPS . . . . . . . . . . . . . . . . . . . 13
2.4 GPS Observation Measurements . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.4.1 Single Di?erenced Observation Measurements . . . . . . . . . . . . . 15
2.4.2 Double Di?erenced Observation Measurements . . . . . . . . . . . . . 16
2.5 RTK Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.6 Kalman Filter Estimation of the Floating Point Ambiguities . . . . . . . . . 17
2.6.1 Kalman Filter Measurement Model . . . . . . . . . . . . . . . . . . . 17
2.6.2 Kalman Filter Propagation Model . . . . . . . . . . . . . . . . . . . . 20
iv
2.6.3 Initializing and Implementing the Kalman Filter . . . . . . . . . . . . 21
2.6.4 Kalman filter State Modification . . . . . . . . . . . . . . . . . . . . . 23
2.7 Estimating the Integer Ambiguities via the LAMBDA Method . . . . . . . . 25
2.8 Least Squares Estimation of the Relative Position Vector . . . . . . . . . . . 28
2.9 Single Frequency RTK Implementation . . . . . . . . . . . . . . . . . . . . . 29
2.10 RTK Experimental Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3 BaselineConstrained LAMBDA . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.1 CLAMBDA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.1.1 Baseline Unconstrained Model . . . . . . . . . . . . . . . . . . . . . . 35
3.1.2 Baseline Constrained Model . . . . . . . . . . . . . . . . . . . . . . . 39
3.1.3 Baseline Constrained Float Solution . . . . . . . . . . . . . . . . . . . 40
3.1.4 Baseline Constrained LAMBDA . . . . . . . . . . . . . . . . . . . . . 42
3.1.5 Expansion Search Strategy . . . . . . . . . . . . . . . . . . . . . . . . 45
3.2 Integer Ambiguity Validation . . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.3 Zero Baseline CLAMBDA Experimental Results . . . . . . . . . . . . . . . 48
3.3.1 Di?erent Ambiguity Resolution Techniques . . . . . . . . . . . . . . . 52
4 Ultrawideband Radios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
4.1 Ultrawideband Radio (UWB) Technology . . . . . . . . . . . . . . . . . . . 57
4.1.1 UWB Range Measurement Calculation . . . . . . . . . . . . . . . . . 58
4.1.2 Pulse Integration Index . . . . . . . . . . . . . . . . . . . . . . . . . . 61
4.2 UWB Experimental Results . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
4.2.1 UWB Indoor Experimental Results . . . . . . . . . . . . . . . . . . . 65
4.2.2 UWB Outdoor Long Baseline Experimental Results . . . . . . . . . . 66
5ExperimentalResults.................................69
5.1 Integer Ambiguity O?sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
5.2 Coupled UWB and GPS Results . . . . . . . . . . . . . . . . . . . . . . . . . 70
5.3 Short Baseline CLAMBDA . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
v
5.4 Long Baseline CLAMBDA . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
5.4.1 UWB Range Measurement as Validation for RTK Integer Fix . . . . 84
6Conclusions......................................87
6.1 Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
Bibliography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
ACalculationofGPSReceiverPosition........................95
A.1 GPS Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
A.2 Observation Measurement Linearization . . . . . . . . . . . . . . . . . . . . 96
A.3 Least Squares Position Solution . . . . . . . . . . . . . . . . . . . . . . . . . 98
A.4 Dilution of Precision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
B The LAMBDA Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
B.1 Linear Algebra Methodology in the LAMBDA Method . . . . . . . . . . . . 103
B.1.1 Quadratic Integer Least Squares Minimization . . . . . . . . . . . . . 105
B.2 Simple Numerical Example of the LAMBDA Method . . . . . . . . . . . . . 107
vi
List of Figures
2.1 Signal to noise ratio noise e?ects on pseudorange and carrier phase . . . . . . . 24
2.2 Cycle slip detected by time di?erenced floating value ambiguity estimates . . . . 25
2.3 Error covariance matrix, P
r
,(left)anddecorrelatederrorcovariancematrix,
Q
?a
(right) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.4 Float and fixed RTK baseline solutions (left) and fixed RTK only (right) . . . . 30
2.5 Float and fixed RTK baseline solutions (left) and fixed RTK only (right) . . . . 31
2.6 Ratio test (bottom) with the di?erential position solutions (top) . . . . . . . . . 32
2.7 RPVs using L1 only and both the L1 and L2 frequencies . . . . . . . . . . . . . 33
3.1 Flow chart of the search and expand approach . . . . . . . . . . . . . . . . . . . 46
3.2 Zero baseline di?erential code and carrier GPS results . . . . . . . . . . . . . . 49
3.3 Zero baseline fixed RTK and CLAMBDA results . . . . . . . . . . . . . . . . . 49
3.4 Zero baseline CLAMBDA integer ambiguity validation . . . . . . . . . . . . . . 50
3.5 Zero baseline a priori error in CLAMBDA method . . . . . . . . . . . . . . . . 51
3.6 Zero baseline a priori error in CLAMBDA method (dualfrequency) . . . . . . 52
3.7 RPVs with an error in the a priori baseline measurement of 3 centimeters in the
CLAMBDA method (dualfrequency) . . . . . . . . . . . . . . . . . . . . . . . 53
vii
4.1 UWB waveform in the time domain (left) and frequency domain (right) [49] . . 57
4.2 UWB TWTOF range measurement based on packet transmissions [18] . . . . . 59
4.3 Simplified UWB TW TOF range measurement [10] . . . . . . . . . . . . . . . . 60
4.4 UWB range measurements with measured baseline (left) with closeup (right) . 63
4.5 Good waveform received by the UWB radio . . . . . . . . . . . . . . . . . . . . 64
4.6 Corrupted waveform received by the UWB radio due to multipath . . . . . . . . 65
4.7 UWB range measurement degradation with multiple obstacles . . . . . . . . . . 66
4.8 UWB range measurements from multiple rooms apart . . . . . . . . . . . . . . . 67
4.9 UWB range measurements with a long baseline . . . . . . . . . . . . . . . . . . 67
4.10 UWB long baseline error histogram . . . . . . . . . . . . . . . . . . . . . . . . . 68
5.1 Di?erential code and carrier GPS with UWB range measurements for a shorter
baseline with good line of sight . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
5.2 Relative position solutions from RTK and the UWB radios . . . . . . . . . . . . 72
5.3 Histograms of the RTK error (left) and the UWB (right) for a shorter baseline
with good line of sight . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
5.4 Di?erential code and carrier GPS with UWB range measurements for a longer
baseline with good line of sight . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
5.5 Histograms of the RTK error (left) and the UWB (right) for a longer baseline
with good line of sight . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
viii
5.6 Short baseline di?erential code and carrier GPS results with UWB range mea
surements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
5.7 Short baseline RPV error in CLAMBDA method . . . . . . . . . . . . . . . . . 76
5.8 Short baseline CLAMBDA method results using UWB range measurements . . 77
5.9 Short baseline CLAMBDA integer ambiguity validation . . . . . . . . . . . . . 77
5.10 Long baseline di?erential code and carrier GPS results with UWB range mea
surements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
5.11 Long baseline ratio of top two integer ambiguity candidates . . . . . . . . . . . 80
5.12 Long baseline RTK results with no ratio test . . . . . . . . . . . . . . . . . . . . 80
5.13 Long baseline singlefrequency CLAMBDA vs dualfrequency fixed RTK . . . . 81
5.14 Long baseline CLAMBDA integer ambiguity validation . . . . . . . . . . . . . 82
5.15 Long baseline CLAMBDA vs ?oat and fixed RTK relative distances . . . . . . 82
5.16 Long baseline CLAMBDA vs float and fixed RTK RPV vector components . . 83
5.17 Validation of integer ambiguities using UWB range measurements . . . . . . . . 84
5.18 E?ects of having a wrong integer fix . . . . . . . . . . . . . . . . . . . . . . . . 85
ix
List of Tables
2.1 GPS error sources and user equivalent range error (UERE) [36] . . . . . . . . . 11
2.2 GPS measurement variable descriptions . . . . . . . . . . . . . . . . . . . . . . 15
2.3 Observation measurement variance parameters [25] . . . . . . . . . . . . . . . . 22
2.4 Float and fixed RTK short RPV statistics . . . . . . . . . . . . . . . . . . . . . 31
2.5 Float and fixed RTK long RPV statistics . . . . . . . . . . . . . . . . . . . . . . 32
2.6 Statistics using L1 frequency only versus L1 and L2 frequencies . . . . . . . . . 34
3.1 Di?erent integer ambiguity estimating techniques . . . . . . . . . . . . . . . . . 54
3.2 Computational times of LAMBDA and CLAMBDA methods in MATLAB . . . 55
4.1 Pulse integration index (PII) settings and resulting distances, data rates, and
range measurement rates of the UWB radios . . . . . . . . . . . . . . . . . . . . 61
5.1 E?ects of single cycle error in carrier phase integer ambiguities . . . . . . . . . . 70
5.2 Carrier phase integer ambiguity combinations used in Figures 5.17 and 5.18 . . 86
x
List of Abbreviations and Nomenclature
Carrier phase
? Pseudorange
CLAMBDA Constrained LAMBDA
C/A Clear/Coarse Acquisition
DGPS Di?erential GPS
DOP Dilution of Precision
DRTK Dynamic Base RTK
ECEF EarthCentered, EarthFixed
GBAS Ground Based Augmentation System
GPS Global Positioning System
GUI Graphical user interface
LAMBDA Least squares AMBiguity Adjustment
LOS Line of Sight
P(Y) Protected Code
PPS Pulse per second
PRN PseudoRandom Noise
PVT Position, Velocity, Time
xi
RCM Ranging and Communications Module
RPV Relative Positioning Vector
SBAS Satellite Based Augmentation System
SNR Signal to Noise
SV Space Vehicle
TOF Time of Flight
TTFF Time to First Fix
TWTOF Two Way Time of Flight
UERE User Equivalent Range Error
UWB Ultrawideband Radio
WAAS Wide Area Augmentation System
WAGE Wide Area GPS Enhancement
xii
Chapter 1
Introduction
1.1 Background and Motivation
In the 1970s, the United States Air Force called for a system that could give a user?s
position anywhere in the world. Within a few years, there were 24 NAVSTAR satellites
orbiting Earth in six orbital planes spaced out enough that at least four satellites were
visible from anywhere on the planet. The Global Positioning System (GPS) was initially
intended for use over water or in the air, both which have very good sky visibility. Today,
GPS is used all over the world in environments that don?t have as good of sky visibility. This
lack of sky visibility makes it especially dicult to get an accurate position solution when
there are trees or buildings around that block the user?s view to the satellites. On the ocean,
about twelve satellites would be visible. Driving through New York with tall skyscrapers on
both sides of the road, maybe only one or two satellites might be visible. Since four satellites
are needed to get a position solution, this is where GPS is limited. To help increase satellite
visibility, more satellites have been deployed to bring the total to about 32 satellites in the
constellation at any given time.
The accuracy of GPS is usually within a couple of meters. This is fine if a vehicle is
driving down the road and needs to know which road it?s on and where to turn, but some
applications require much more accurate position solutions. There are several error sources
that can degrade the GPS signal, but most of the error comes from the atmospheric refraction
of the signal as it travels through the ionosphere and troposphere. Di?erential techniques
can be used to mitigate these common errors to receivers that are within a close proximity,
usually accepted to be under about 10 kilometers. This has become known as di?erential
GPS (DGPS). The US currently has a Wide Area Augmentation System (WAAS) that has
1
base stations set up all over the country and can give a user in close proximity its di?erential
corrections. For more information on these di?erential positioning methods, see the research
done in [24]. One advantage that GPS has is that its errors are zero mean, so static base
stations have a very accurate global position.
For applications that require an even more accurate position solution than DGPS, a
technique called RealTime Kinematic (RTK) positioning is an alternative. Originally, the
carrier phase of the signal was not used for positioning, but in the past few decades it has
been actively researched for its obtainable millimeterlevel accuracy. However, using the
carrier phase for positioning requires solving the whole number of cycles the carrier phase
measurement is o? by from the receiver to each of the visible satellites. The floating point
ambiguities can be easily estimated, but the ambiguities must be integers and are more
dicult to calculate. Rounding these decimals might work on occasion, but it does not take
into account the signaltonoise ratio of each satellite?s signal. After using a Kalman filter
for the floating point estimation, the LAMBDA method was created by researchers at Delft
University, namely Peter Teunnisen, to calculate the integer carrier phase ambiguities. Once
these carrier phase ambiguities are resolved, an accuracy of around 2 centimeters can be
achieved and maintained as long as the receiver stays locked on to each of the satellites.
RTK requires a static base station, which isn?t always available, such as the instance of
an autonomous helicopter landing on a moving aircraft carrier. For applications like this,
the global positioning of the receiver?s positions isn?t as important as the relative positioning
of the receivers to each other. An algorithm used to calculate the relative position vector
(RPV) between the receivers is the dynamic base RTK (DRTK) technique. Any application
that is more concerned with relative positioning versus global positioning could use this,
such as a micro aerial vehicle (MAV), as found in [37] and [15], or an autonomous unmanned
aerial vehicle (UAV) refueling scenario, as found in [11].
Some scenarios have a fixed baseline between the GPS antennas, such as when an
tennas are mounted on top of a car or plane to determine the vehicle?s attitude. These
2
situations present an opportunity to use this fixed baseline as either a constraint or vali
dation in the RTK algorithm, as shown in the work done in [5] and [7]. This method is
called the constrained LAMBDA (CLAMBDA) and was initially researched by Teunnisen.
It works especially well on ships and planes, which allow for longer antenna baseline sepa
ration distances. The vehicle?s attitude is more accurate with these longer antenna baseline
distances.
The CLAMBDA algorithm works for fixed baselines because the antenna baselines
are precisely known. Alternatively, this thesis investigates the use of a dynamic, nonexact
baseline, such as the range measurements from ultrawideband (UWB) radios. UWBs can
calculate the range between two antennas to within a centimeter by sending a pulse on a
wide range of frequencies down and back between antennas and calculating the two way
timeofflight. Because the carrier wavelength is approximately 19 centimeters, the accuracy
of the UWB is critical if it is to be implemented in the CLAMBDA method.
1.2 Previous Works
RTK techniques have always been used for land surveying due to the static nature of
the tests. However, research is still being done on techniques to improve positioning where
the number of satellites visible may be limited, as shown in the research done in [17].
Most of this thesis revolves around the details of resolving the carrier phase ambiguities.
This has been an area of active research due to its implications for relative positioning and
navigation. The LAMBDA algorithm was developed by Peter Teunnisen in the mid1990s
as a way to resolve this carrier phase ambiguity to achieve centimeterlevel accuracy. Since
then, the research has adjusted to using constraints in the LAMBDA method to resolving
these ambiguities on lower quality single frequency receivers.
The Satellite, Geodesy and Navigation Group at the University College in London was
able to integrate the GPS Doppler measurements into the LAMBDA method, as shown in
the research done in [1]. A receiver?s velocity can be derived from the less noisy Doppler
3
measurement, which can then be used to update the carrier phase ambiguity float solution
in the Kalman filter.
Several e?orts have been made to incorporate the a priori knowledge of the baseline
between a pair of antennas to improve the accuracy in finding the carrier phase ambiguities.
When done with three GPS antennas mounted on a vehicle, the vehicle?s attitude can be
determined. There are two main search strategies that were developed to find these ambi
guities, the search and shrink approach, as shown in the research done in [12], or the search
and expand approach, as shown in the research done in [37].
Some DGPS research isn?t aimed at resolving the carrier phase ambiguities, but instead
using the carrier signal to smooth the code signal. The Hatch filter is an example of an
algorithm that utilizes the redundancy in the diverse GPS measurements to achieve more
accurate position solutions, as shown in [28].
Due to the ability of the UWB to reject multipath, it has become a valued asset in
the GPS field. Stanford University and the University of Calgary have both shown the
UWB measurements can be tightlycoupled with GPS measurements in a Kalman filter to
improve DGPS positions, as shown in [35] and [31]. The University of Calgary also recently
implemented an extended Kalman filter in which di?erential GPS pseudorange, Doppler
and carrier phase measurements were used in conjunction with UWB range measurements
between a vehicle and two points on either side of the road. Their results indicated that
the GPS and UWB integrated positioning system could significantly improve the GPS float
solution and carrier phase ambiguity resolution compared to the scenario using only GPS
measurements. This was shown in [19].
At the Department of Geomatics Engineering at the University of Calgary, higher quality
UWB radio measurements were integrated into the RTK algorithm to help resolve the carrier
phase ambiguities in surveyingtype scenarios. The UWB ranges were specifically used to
improve the carrier phase float convergence time, which led to faster computation times in
resolving the integer ambiguities, as shown in the work done in [32].
4
1.3 Contributions
Though there have been several ways of incorporating UWB range measurements in
with di?erential GPS positioning solutions, this thesis introduces a novel way of integrating
UWB radios with GPS receivers. The major contributions of this thesis are:
? Integrating the onedimensional UWB range measurements into the CLAMBDA method
to help resolve the integer carrier phase ambiguities, which results in a highly accurate
threedimensional relative positioning solution
? Characterizing the UWB radios and analyzing their range measurement accuracies at
di?erent baseline lengths
? Analyzing the required accuracy and update rate of the UWB range measurements for
the CLAMBDA to still get a correct carrier phase integer ambiguity fix
? Simulating and experimentally analyzing the resulting relative positioning bias when
one of the carrier phase integer ambiguities is o? by one cycle to show that the UWBs
can be used to detect a cycle slip or wrong integer ambiguity fix
1.4 Thesis Outline
This thesis will start o? describing the GPS signal structure and the errors that are
inherent to it. Then di?erential positioning techniques will be discussed and it will be
shown how they can help mitigate these inherent errors. These di?erential techniques will
be compared to each other, along with some results to help visualize the accuracy of these
techniques. The di?erential positioning algorithms will be shown and discussed in detail,
and how the relative positioning vector is calculated will be derived.
The di?erential positioning technique that incorporates the known a priori baseline
measurement will be discussed next as well as its derivation. Test results will be shown
using this method to demonstrate its accuracy.
5
Ultrawideband radios will then be introduced. Their technology will be broken down, as
well as how they are able to compute range measurements with such precision. Experimental
results will be provided to show the precision of these range measurements. An analysis of
the accuracies of these tests at di?erent ranges will also be provided.
Finally, the integration of ultrawideband radios into the CLAMBDA method of the
di?erential positioning technique will be given and experimental results will be shown.
6
Chapter 2
GPS Signal Structure and Di?erential Positioning Techniques
2.1 GPS Signal Structure
The Global Positioning System (GPS) was introduced as a satellite based radio naviga
tion system which could give the user their position, velocity, and time (PVT). When GPS
first started, its satellite constellation consisted of about 24 space vehicles (SVs). Each SV
broadcast signals out on several di?erent L band carrier frequencies, two of which go by the
L1 and L2 signals. The center frequencies that these two carrier signals are transmitted at
are 1575.42 MHz for the L1 signal and 1227.60 MHz for the L2 signal. In March of 2009, a
third L5 carrier frequency was introduced, which transmits at a center frequency of 1176.45
MHz.
These transmitted GPS signals are generated using binary phase shift keying (BPSK),
and they each have several codes modulated onto their carrier signals. Each SV has a unique
period ranging code modulated onto its carrier signal. These codes are binary sequences
that have autocorrelation and crosscorrelation characteristics similar to white noise, but are
deterministic. These codes are known as pseudorandom noise (PRN) sequences. These PRN
codes have very high autocorrelation with an in phase copy of itself. There are two types
of codes modulated onto the L1 carrier signal. Each code has its own unique PRN numbers
for its respective satellite with PRN numbers ranging from 132. For more information on
the background of the satellite constellation and the chosen number of satellites, see [34].
One of the codes is available for civilian use and is known as the C/A code (Clear/Coarse
Acquisition) code; the other code is one specifically designed for military use, which is known
as the P(Y) code (called ?Protected code? because it requires an encryption key).
7
The C/A code sequence is a sequence comprised of 1023 bits (chips) and repeats with
an interval of 1 millisecond. The transmission frequency of the C/A code is referred to as
the chipping rate, and its frequency is 1.023 MHz (Megachips per second). The P code
is 6.1871?10
12
chips long, which is much longer than the C/A code. The P code has an
encryption sequence modulated onto it known as the W code, after which the P code becomes
the encrypted P(Y) code. The P(Y) code has a frequency of 10.23 MHz, which is ten times
the frequency of the C/A code. GPS receivers have diculty making any use of the P(Y)
code without the encryption key; however, certain techniques have been discovered which
allow civilian receivers to track the P(Y) code without the encryption key.
Along with the C/A and P(Y) codes, a third code is modulated onto the SVs carrier
signal known as the navigation message. This message contains information such as: infor
mation required for a user to calculate the position and velocity of that particular SV, clock
drift and clock bias parameters allowing the user to remove the range error due to the SV
clock drift, the current health status of the SV, and almanac data that contains information
which allows the user to calculate a rough estimate of all the SV positions in the constella
tion. The ephemeris data is repeated every 30 seconds, while the almanac data is repeated
every 12.5 minutes.
The ranging codes are used to calculate the user?s position by subtracting the signal?s
time of arrival from the signal?s transmit time. By multiplying this timeofflight with the
speed of light, the range from the receiver to that particular satellite can be estimated.
Similarly to how a cell phone?s location can be estimated by using triangulation in between
cellular towers, a GPS receiver?s position on earth can be estimated. However, unlike tri
angulation with the cell phones which only requires at least three signals, a GPS receiver
requires a minimum of four SV signals to estimate its position. This is because the receiver
clock bias must be estimated along with the receiver?s x, y,andz position on Earth.
8
2.1.1 GPS Errors
Di?erent types of errors a?ect the GPS signal, which result in faulty range measure
ments. Because the initial range that the receiver estimates that the GPS signal traveled
from the satellite is not the true range between the receiver and respective satellite, this dis
tance is referred to as the pseudorange. Some of the major errors include: atmospheric errors
as the signal propagates through the Earth?s ionosphere and troposphere, multipath errors
due to a locally poor environment, receiver and satellite clock errors, and also ephemeris
errors.
The first error to a?ect the GPS signal is the noise, bias, and drift of the transmitting
SV?s clock. If the clock is fast, the pseudorange will be shorter than the true range; and
likewise the pseudorange will be longer than the true range if the clock is slow. These errors
can be reduced with the use of the clock correction terms, which are known and located in
the navigation data. The GPS receiver clock errors will a?ect the pseudorange in a similar
fashion; however, these can be estimated alongside the receiver?s position.
The atmospheric errors have the biggest a?ect on the GPS signals. The more atmosphere
the signal has to travel through the more error there will be, which means that the SV?s
elevation above the horizon is a good determining factor for the amount of error that can be
expected from that satellite. Lower SV elevations will increase the amount of atmosphere
the signal must propagate through than when the SV elevations are near the zenith of the
user.
The ionosphere causes a delay in the data modulated onto the carrier signal and also
causes an advance of equal amount on the phase on the carrier signal, which increases
the pseudorange. Ionospheric actively also determines the amount of error in the range
measurement. The ionospheric activity is governed by several cycles: the day, the season,
and the eleven year solar cycle. These cycles can be estimated by using models that people
have made over the years by using records of the ionosphere from the past. The tropospheric
errors are due to the refraction of the signal caused by the humidity in the troposphere. These
9
errors also lengthen the pseudorange based on the amount of troposphere through which the
signal must propagate. With a dual frequency receiver, most of the atmospheric errors can
be mitigated, as shown in the work done in [25].
Multipath errors are due to the signal?s reflection o? nearby objects. This is usually
caused by poor sky visibility due to nearby buildings or trees, which means that it is usually
experienced more in the middle of cities with tall buildings or out in the woods with thick
foliage. Multipath errors will lengthen the measured pseudorange because the signal must
travel a longer path to the receiver. This error can vary anywhere from several centimeters
to several meters.
Another error source is the errors present in the ephemeris data, which result in errors
in the calculated satellite positions. Ground control stations around the world continuously
monitor and estimate the paths and trajectories of the SVs. These parameters are generated
at the ground stations and then transmitted up to the SVs, which are then sent down in the
ephemeris data. This allows for users to calculate the predicted SV position and velocity at
a point in the near future. The ephemeris parameters are refreshed every few hours at the
control station, so the ephemeris errors will grow in relation to the length of time since the
last ephemeris update.
Shown in Table 2.1 is a typical error budget found in [36]. As shown in [34], the user
equivalent range error (UERE) is typically about 1% of the signal?s wavelength. The wave
length of the code is about 293.1 meters, which translates roughly to an expected 2.93 meter
error; whereas the wavelength of the carrier signal is much smaller at 19.05 centimeters, which
results in approximately a 2 millimeter error. This is the reason that di?erential techniques
that take advantage of the carrier signal result in much higher accuracies than those that
only incorporate the code signal. Also, because the L1 signal has a higher frequency than
the L2 signal, the atmosphere has a greater a?ect on the L1 signal. These code and carrier
di?erential techniques will be discussed further on in the thesis. For more information on
the errors that a?ect the GPS signal, see the work done by [39]. The approximate position
10
accuracy that a user can expect can be obtained by multiplying the UERE by the dilution
of precision (DOP), a unitless parameter which describes the expected error based on the
current geometry of the satellite constellation relative to the user. The DOP is discussed
further in detail in Appendix A.
Table 2.1: GPS error sources and user equivalent range error (UERE) [36]
Error Source C/A Range Error (m) P(Y) Range Error (m)
Satellite Clock 2.1 2.1
Receiver Clock 0.5 0.5
Ionosphere 4.0 1.2
Troposphere 0.7 0.7
Multipath 1.4 1.4
Ephemeris 2.1 2.1
UERE 5.25 3.6
2.2 GPS Di?erential Positioning Techniques
After about a decade since the installation of the GPS satellites, several di?erential
techniques were developed to help mitigate errors common to receivers within a certain
proximity, usually accepted to be a distance of less than 10 kilometers. If multiple receivers
are within this proximity, most of the atmospheric errors that the GPS signals encounter will
be common to both the receivers. Some errors, such as the SV clock and ephemeris errors,
will be identical to both receivers. However, di?erential techniques do not eliminate all
errors. Certain errors, such as multipath and receiver clock errors, are not common between
receivers and thus cannot be eliminated. Using multiple receivers, a user can di?erence the
measurements between the receivers and mitigate a majority of the errors contained in the
signal, which allows for an improved relative positioning solution between receivers.
There are several types of di?erential techniques available, some examples include: a
Satellite Based Augmentation System (SBAS), a Wide Area Augmentation System (WAAS),
11
Wide Area GPS Enhancement (WAGE) SBAS system, a Ground Based Augmentation Sys
tem (GBAS), Di?erential GPS (DGPS), and RealTime Kinematic (RTK) positioning.
The SBAS is a system that allows for di?erential corrections by using well surveyed base
stations all over the world to upload clock, ephemeris, and atmospheric corrections to the
geostationary satellites, which then transmit this correctional information to the end user.
The WAAS is a type of SBAS that is supported by the Federal Aviation Administration
(FAA) and is available for civilian use. A typical accuracy to be expected from using the
WAAS is less than 10 meters. The GBAS can result in higher accuracy due to the fact that
it incorporates corrections from a local ground base station, which has errors that are more
correlated to the user?s receiver than the WAAS base stations.
The RTK algorithm was originally developed for surveying applications. Because RTK
uses the carrier phase, which has a much smaller UERE than the pseudorange UERE, greater
accuracies can be achieved. The level of accuracy of this position solution can get down to
millimeter level; however, there is an added complication in incorporating these carrier phase
measurements. When the receiver is able to maintain lock on a GPS carrier signal, there is
an ambiguous number of integer cycles in the carrier phase between the receiver and each
satellite. However, if these integer ambiguities are resolved, the high accuracy solution can
be achieved.
2.3 Real Time Kinematic (RTK) GPS
Most GPS receivers use the code modulated onto the carrier signal to determine the
pseudorange between the receiver and respective satellite, and from this pseudorange the
user position can be calculated. However, due to the wavelength of the pseudorange, which
is approximately 293 meters, it is inherently going to have more error in its position solu
tion. By using carrier phase based di?erential techniques, centimeterlevel accuracy can be
achieved and maintained. The carrier signal is also more robust to multipath errors than
the code signal as shown in [16].
12
The issue when it comes to carrier based di?erential techniques is the unknown ambi
guity in cycles between the receiver and each satellite. As long as the receiver maintains a
lock on the SV?s signal, this ambiguity will remain constant. To take full advantage of the
accuracy that carrier based di?erential techniques o?er, these ambiguities must be resolved.
The receiver is able to determine the phase of the carrier signal, so the ambiguities are going
to be integers, commonly referred to as N.
These integer ambiguities are dicult to resolve with a single GPS receiver, and re
quire several hours of static data to correctly estimate these ambiguities. However, two
receivers within close proximity have many common errors between them. Di?erential GPS
techniques, of which WAAS and SBAS are based, are used by broadcasting their observa
tions to another receiver. Once these observables are received, the user can di?erence the
measurements and mitigate most of the common mode errors.
RTK techniques involve placing a ground base station at a well surveyed location. Typ
ically a 24 hour static data set is taken to establish the base station?s location. A radio
transmitter is coupled with the base station to transmit its observation measurements in
real time to the roving receiver. These measurements are di?erenced with the rover?s obser
vation measurements to di?erence out the common mode errors between the two receivers,
after which the more accurate global position of the rover can be calculated.
2.3.1 Dynamic Base RTK (DRTK) GPS
As opposed to the RTK technique, which uses a static base station, the DRTK technique
can be implemented in applications with a moving base station receiver. Though the more
accurate global position solution of the rover is lost, the relative position vector (RPV)
between the two receivers maintains the centimeterlevel accuracy of the RTK technique. The
DRTK algorithm works very similarly to the RTK algorithm in that the errors correlated
between the receivers are di?erenced out to determine the relative position between the
receivers.
13
The estimation of the RPV using the RTK and DRTK algorithms is broken up into
three steps. First, the carrier phase ambiguities are estimated as decimals, or floating point
values, using a Kalman filter. Next, the fixed integer ambiguities are computed via the
LAMBDA method. Finally, the fixed integer ambiguity estimates are subtracted from the
carrier phase measurements and the RPV is estimated via a least squares estimation.
2.4 GPS Observation Measurements
A GPS receiver?s raw data contains several measurements which can be used with dif
ferential techniques. To visualize the errors present in each measurement and how they are
mitigated by di?erencing, mathematical models of the code and carrier based range measure
ments are given in Equations (2.1) and (2.2). For more on the derivation of these equations,
see [3]. In these equations, R
1
represents the first receiver, and S
1
represents the first satellite
used.
?
S
1
R
1
= r
S
1
R
1
 +c(t
R
1
t
S
1
)+(T
S
1
+I
S
1
)+M
?
R
1
+v
S
1
?
R
1
(2.1)
S
1
R
1
= r
S
1
R
1
 +c(t
R
1
t
S
1
)+(T
S
1
I
S
1
+N
S
1
)+M
R
1
+v
S
1
R
1
(2.2)
The variables of these equations are explained in Table 2.2. The random noise on the carrier
phase is less than the random noise on the pseudorange. The true range measurement in
Equation (2.2) is actually the di?erence between the phase generated by the receiver at the
time of reception, t,andthetransmittedphaseatthetimeoftransmission,?,plusthecycle
ambiguity, as shown in Equation (2.3). For simplicity, this notation is dropped in the rest
of the thesis.
r
S
1
R
1
 = (
R
1
(t)
S
1
(t?)+N
S
1
) (2.3)
14
Table 2.2: GPS measurement variable descriptions
Variable Description Unit
?
S
1
R
1
Pseudorange from receiver 1 to satellite 1 m
S
1
R
1
Carrier phase signal from receiver 1 to satellite 1 m
c Speed of light in a vacuum (299,792,458) m/s
r
S
1
R
1
True range between receiver 1 to satellite 1 m
Carrier signal wavelength (L1 = 0.1905, L2 = 0.2442) m
I Ionospheric advancement/delay cycles
T Tropospheric delay cycles
t
R
1
Receiver clock errors s
t
S
1
Satellite clock errors s
N
S
1
R
1
Integer number of cycles between receiver 1 and satellite 1 cycles
M Multipath errors m
v Measurement noise m
2.4.1 Single Di?erenced Observation Measurements
The measurement models shown Equations (2.1) and (2.2) can be di?erenced between
two receivers with similar timestamps. As mentioned before, if the receivers are within close
proximity, most of the atmospheric errors can be mitigated. Although this is not always the
case, such as when there is unusually high ionospheric activity or severe weather, it is usually
asafeassumption.Thesingledi?erencedmeasurementmodelsareshowninEquations(2.4)
and (2.5), where denotes that the single di?erencing operation was done between the first
receiver, R
1
and the second receiver, R
2
.
?
S
1
R
1
R
2
= ?
S
1
R
1
R
2
+ct
R
1
R
2
+v
S
1
?
R
1
R
2
(2.4)
S
1
R
1
R
2
= ?
S
1
R
1
R
2
+ct
R
1
R
2
+ N
S
1
R
1
R
2
+v
S
1
R
1
R
2
(2.5)
It is also an assumption that the multipath errors are common between the receivers, but
this is not always the case, such as in an urban or wooded environment.
15
2.4.2 Double Di?erenced Observation Measurements
Single di?erencing can help eliminate most of the atmospheric errors common between
the receivers, but the di?erence of the receiver clock biases between the two receivers still
remains in the single di?erenced measurements, as shown in Section 2.4.1. This receiver
clock bias term can be eliminated by computing the double di?erenced measurements of
both the carrier phase and pseudorange. The single di?erencing equations are the measure
ment di?erences between receiver, while the double di?erencing equations are the di?erence
of the single di?erenced measurements to a particular satellite. This satellite is called the
base satellite, and is chosen as the satellite that will give the most reliable measurements.
Because satellite elevation a?ects the amount of atmosphere through which the signal must
propagate, usually the highest or closest satellite is chosen. The highest satellite is usually
also going to be the closest. Once the base satellite has been chosen, all the single di?erenced
measurements from the other satellites are subtracted from the base satellite?s single di?er
enced measurements. This di?erencing eliminates both the receiver clock errors, as shown
in Equations (2.6) and (2.7), where S
2
is the chosen base satellite.
r?
S
1
S
2
R
1
R
2
= r
S
1
S
2
R
1
R
2
+v
S
1
S
2
R
1
R
2
(2.6)
r
S
1
S
2
R
1
R
2
= r
S
1
S
2
R
1
R
2
+v
S
1
S
2
R
1
R
2
+ N
S
1
S
2
R
1
R
2
(2.7)
The resulting equations are now only a function of the relative position between the receivers
and the residual noise in the measurements. It should be noted that both the single and
double di?erencing operations will increase this residual noise since these residuals are not
common to both receivers.
16
2.5 RTK Algorithm
Once the observation measurements are single and double di?erenced to mitigate most
of the common mode errors, the results are now ready to be run through the carrier phase
based di?erential positioning algorithm. As pointed out before, this algorithm consists of a
Kalman filter to initially estimate the floating point ambiguities, the LAMBDA method to
estimate the integer ambiguities, and finally a least squares estimation of the RPV between
the receivers.
2.6 Kalman Filter Estimation of the Floating Point Ambiguities
The single di?erenced carrier phase ambiguities are initially estimated as floating point
values via the Kalman filter. The state vector in the Kalman filter, shown in Equation
(2.8), contains single di?erenced ambiguity estimates to each satellite for both the L1 and
L2 frequencies.
x =[N
S
1
R
1
R
2
L1
...N
S
m
R
1
R
2
L1
N
S
1
R
1
R
2
L2
...N
S
m
R
1
R
2
L2
]
T
(2.8)
In Equation (2.8), m represents the number of satellites that the receivers have in common.
Although it?s implied that m is the same for both the L1 and L2 frequency, this is not
always the case. The receivers could be tracking 8 satellites on the L1 frequency, but only 7
satellites on the L2 frequency. In this case, the x vector would be a 15x1 vector.
2.6.1 Kalman Filter Measurement Model
The first step of the linear Kalman filter is to get the measurement model in the form
that the Kalman filter requires, which is z = Hx. The measurement model is formed by
17
combining Equations (2.4) and (2.5), as shown in Equation (2.9).
0
B
B
@
?
S
1
R
1
R
2
S
1
R
1
R
2
1
C
C
A
=
0
B
B
@
u
S
1
R
1
x
u
S
1
R
1
y
u
S
1
R
1
z
1
u
S
1
R
1
x
u
S
1
R
1
y
u
S
1
R
1
z
1
1
C
C
A
0
B
B
B
B
B
B
B
B
B
B
@
r
S
1
R
1
x
R
2
x
r
S
1
R
1
x
R
2
y
r
S
1
R
1
x
R
2
z
ct
R
1
R2
1
C
C
C
C
C
C
C
C
C
C
A
+
0
B
B
@
0
1
C
C
A
N
S
1
R
1
R
2
(2.9)
For more on the derivation and purpose of the Kalman filter, see [4]. Isolating the car
rier phase ambiguity term is dicult because it contains two unknown terms as well as the
stochastic noise term. For the Kalman filter to be able to estimate the carrier phase ambigu
ity, the relative range term, r
S
1
R
1
R
2
,needstoberemovedfromEquation(2.9).Thestochastic
noise term is neglected for simplicity.
With the knowledge of the ephemeris data, the receivers can calculate all the currently
visible satellite locations. Once the satellite positions are known and the receiver positions
are estimated, the lineofsight (LOS) unit vectors from Receiver 1 to each satellite can be
calculated in the Earthcentered, Earthfixed (ECEF) coordinate frame in terms of x, y,and
z components. This matrix, shown in Equation (2.10), is known as the geometry matrix and
contains the unit vectors to each satellite, and a column of ones representing the relative
clock bias term.
G =
0
B
B
B
B
B
B
@
u
S
1
R
1
x
u
S
1
R
1
y
u
S
1
R
1
z
1
.
.
.
.
.
.
.
.
.
.
.
.
u
S
m
R
1
x
u
S
m
R
1
y
u
S
m
R
1
z
1
1
C
C
C
C
C
C
A
(2.10)
Because the distance between the receivers is much shorter than the distance between
the receivers and the satellites, the unit vectors from Receiver 2, R
2
,canbeassumedtobe
the same as the unit vectors from Receiver 1, R
1
.ThisassumptionisderivedinEquations
18
(2.11)(2.13).
r
S
1
R
1
R
2
=
?
u
S
1
R
1
x
u
S
1
R
1
y
u
S
1
R
1
z
?
0
B
B
B
B
B
B
@
r
S
1
R
1
x
r
S
1
R
1
y
r
S
1
R
1
z
1
C
C
C
C
C
C
A
?
u
S
1
R
2
x
u
S
1
R
2
y
u
S
1
R
2
z
?
0
B
B
B
B
B
B
@
r
S
1
R
2
x
r
S
1
R
2
y
r
S
1
R
12
z
1
C
C
C
C
C
C
A
(2.11)
?
u
S
1
R
2
x
u
S
1
R
2
y
u
S
1
R
2
z
?
?
?
u
S
1
R
2
x
u
S
1
R
2
y
u
S
1
R
2
z
?
(2.12)
r
S
1
R
1
R
2
=
?
u
S
1
R
1
x
u
S
1
R
1
y
u
S
1
R
1
z
?
0
B
B
B
B
B
B
@
r
S
1
R
1
x
R
2
x
r
S
1
R
1
y
R
2
y
r
S
1
R
1
z
R
2
z
1
C
C
C
C
C
C
A
(2.13)
To estimate the single di?erenced carrier phase ambiguity, N
S
1
R
1
R
2
,inEquation(2.9),it
must be isolated from the equation. This can be done by multiplying each term in Equation
(2.9) by the left null space of the geometry matrix. The left null space, L,isamatrixsuch
that L
T
G=0. The left null space for the geometry matrix is defined in Equation (2.14).
L = leftnull
0
B
B
B
B
B
B
B
B
B
B
@
u
1...m
R
1
x
u
1...m
R
1
y
u
1...m
R
1
z
1
u
1...m
R
1
x
u
1...m
R
1
y
u
1...m
R
1
z
1
u
1...m
R
1
x
u
1...m
R
1
y
u
1...m
R
1
z
1
u
1...m
R
1
x
u
1...m
R
1
y
u
1...m
R
1
z
1
1
C
C
C
C
C
C
C
C
C
C
A
T
(2.14)
When Equation (2.9) is premultiplied by Equation (2.14), the first term containing the
geometry matrix is removed, and the single di?erenced ambiguity term is isolated.
The z term in the z = Hx Kalman filter equation is known as the measurement vector,
and contains the single di?erenced pseudoranges and carrier phase measurements to each
satellite on each signal tracked. This vector remains on the left hand side of the measurement
19
equation and is premultiplied by L.ThisisshowninEquation(2.15).
z = L
T
[?
S
1
...S
m
R
1
R
2
L1
?
S
1
...S
m
R
1
R
2
L2
S
1
...S
m
R
1
R
2
L1
S
1
...S
m
R
1
R
2
L2
]
T
(2.15)
The H term in the z = HxKalman filter equation is the coecient matrix for the state
vector, x.ThisisdefinedinEquation(2.16).
H = L
0
B
B
B
B
B
B
@
0
2
mxm
0
2
mxm
L1
I
mxm
0
mxm
0
mxm
L2
I
mxm
1
C
C
C
C
C
C
A
(2.16)
This coecient matrix, H,ispremultipliedbyL,andconsistsofamatrixcontainingze
ros corresponding to the single di?erenced pseudorange measurements and the appropriate
wavelength corresponding to the single di?erenced carrier phase measurements.
Now all the variables in the z = Hx equation have been modeled, and can be run
through the Kalman filter measurement update equations. See [4] for more information on
the derivation of the measurement update in the Kalman filter. These measurement update
equations are defined in Equations (2.17)(2.19), where K is the Kalman gain, P is the error
covariance matrix, H is the measurement matrix, and R is the measurement uncertainty
matrix.
K
k
= P
k
H
T
k
(H
k
P
k
H
T
k
+R
k
)
1
(2.17)
P
+
k
=(I K
k
H
k
)Pk
(2.18)
?x
+
k
=?x
k
+K
k
(z
k
H
k
?x
k
) (2.19)
2.6.2 Kalman Filter Propagation Model
The state estimates, x,andtheerrorcovariancematrix,P,arepropagatedwiththe
Kalman time update equations. These time update equations for the Kalman filter are
20
shown in Equations (2.20) and (2.21).
?x
k+1
=
k
?x
+
k
(2.20)
P
k+1
=
k
P
+
k
T
k
+Q (2.21)
As long as the receiver maintains lock on an SV?s signal, the carrier phase ambiguities will
remain constant. Because of this, the process noise vector, Q,inthetimeupdateequations
could be set to 0. However, to prevent the Kalman filter from ?going to sleep?, which would
result in a Kalman gain equal to 0, the process noise matrix, Q,issettoaverysmallnumber.
For this work, Q was set to 1?10
6
times the identity matrix with equal dimensions to the
single di?erenced ambiguity estimates.
2.6.3 Initializing and Implementing the Kalman Filter
The state vector, x,intheKalmanfilterisinitializedwiththesingledi?erencedpseu
dorange and single di?erenced carrier phase measurements. Ideally, the ambiguity in the
carrier phase measurement should be the di?erence between the pseudorange and carrier
phase measurements. The single di?erenced ambiguities are initialized in Equation (2.22).
?x =
0
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
@
(?
S
1
R
1
R
2
L1
S
1
R
1
R
2
L1
)/
L1
.
.
.
(?
S
1
R
1
R
2
L1
S
1
R
1
R
2
L1
)/
L1
(?
S
1
R
1
R
2
L2
S
1
R
1
R
2
L2
)/
L2
.
.
.
(?
S
1
R
1
R
2
L2
S
1
R
1
R
2
L2
)/
L2
1
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
A
(2.22)
The resulting di?erences are divided by the respective carrier wavelength to put the estimates
in units of cycles. Since there should be similar but not complete correlation between the
single di?erenced pseudorange and single di?erenced carrier phase measurements, the error
21
covariance matrix, P, is initialized by multiplying
1
2
by the identity matrix twice the size of
the number of common satellites visible to both receivers, as shown in Equation (2.23).
P =
1
2
?I
2mx2m
(2.23)
The error measurement uncertainty, R,isestimatedeachtimeanewobservationmea
surement is available. In [36], the amount of expected variance in the pseudorange and carrier
phase measurement observations is discussed. The observation measurement variance is pri
marily a function of the carrier to noise ratio, C/N
0
,ofthetrackedSVsignal.Thevariance
that can be expected of the pseudorange and carrier phase observation measurements are
shown in Equations (2.24)(2.27) with the parameters shown in Table 2.3, which is based on
the research done in [25].
2
?
=
2
?
atm
+
2
DLL
(2.24)
DLL
=
C
v
u
u
t
4d
2
B
n?
C/N
0
(2(1d)+
4d
T
s
C/N
0
) (2.25)
2
=
2
atm
+
2
PLL
(2.26)
PLL
=
C
s
B
n
C/N
0
(1 +
1
Tc/n
0
) (2.27)
Table 2.3: Observation measurement variance parameters [25]
Parameter Description Value
2
?
atm
Variance due to the atmospheric code delay 5.22 m
C
Width of the code chip 293.05 m
d Spacing of the correlator 0.5 chips
B
n?
Noise in the bandwidth of the code loop 2 Hz
T Integration time prediction 2 ms
2
?
atm
Variance due to the atmospheric carrier delay 5.22 m
L1
Wavelength of the carrier signal 19.05 cm
L2
Wavelength of the carrier signal 24.4 cm
B
nphi
Noise in the bandwidth of the carrier loop 2 Hz
22
The values in Table 2.3 are typical values for a GPS receiver, given in [25]. The variances
describe the variances on individual pseudorange or carrier phase measurements, so they must
be expanded to show the variance of the di?erenced measurements between the receivers.
Some assumptions can be made about the variances between the receivers, such as the
measurements are uncorrelated or that the common mode errors were removed by the single
di?erencing. The measurement uncertainty matrix, R,isdefinedforonesatellitebyEquation
(2.28).
R =
0
B
B
@
2
R
1
?
+
2
R
2
?
0
0
2
R
1
+
2
R
2
1
C
C
A
(2.28)
Because the uncertainty in the pseudorange and carrier phase measurements is mainly
afunctionofthecarrier?ssignaltonoiseratio,asimulationwasrunthatwouldshowthe
uncertainty in these measurements for various signal to noise ratios. The results from this
simulation are shown in Figure 2.1. As can be seen in the figure, the signal to noise ratio of
the tracked GPS signal has much more detrimental e?ects on the pseudorange than it does
on the carrier phase. This is due to the much shorter wavelength of the carrier phase than
that of the pseudorange, but both are degraded as the signal to noise ratio, C/N
0
,decreases.
2.6.4 Kalman filter State Modification
As long as the receiver maintains lock on the satellite?s signal, the carrier phase am
biguity will remain constant. However, there are several instances in which this is not the
case. The first occurs when there is a change in the SVs that are common to both receivers.
If a new SV is acquired, a new state must be added to the Kalman filter; and if an SV is
lost, then a state must be removed. The state vector, x,anderrorcovariancematrix,P,are
initialized as previously discussed in Section 2.6.3.
Acycleslipwillalsocauseamodificationinthestates. Cycleslipsoccurwhenthe
receiver temporarily loses lock on a signal, which results in a slight change of the carrier
phase ambiguities. When a cycle slip occurs, the new state and error covariance matrix are
23
Figure 2.1: Signal to noise ratio noise e?ects on pseudorange and carrier phase
initialized as if a new satellite were acquired. If a cycle slip is not detected and its respective
measurement is not removed, the RPV solution will be biased. For this reason, a cycle slip
detection algorithm is run before each new epoch of observation measurements are processed.
The cycle slip detection algorithm checks the time di?erenced single di?erenced pseudorange
and carrier phase measurements, as shown in Equation (2.29).
N
S
1
k,k1
= abs([(?
S
1
k
S
1
k
)(?
S
1
k1
S
1
k1
)]/) (2.29)
AcycleslipdetectionthresholdiscomparedagainstN
S
1
k,k1
.Forthiswork,thecycleslip
threshold was selected as one cycle. An example of the cycle slip detection catching a cycle
slip is shown in Figure 2.2. This plot was taken from data logged using a dualfrequency
NovAtel Propak with NovAtel Pinwheel antennas. At epoch 30, it is clear that the time
di?erenced floating value ambiguity estimate exceeds the selected cycle slip threshold of one
cycle. At this point, the Kalman filter treats this satellite as if it were a newly acquired
satellite and resets the state and error covariance matrix corresponding to this satellite.
24
Figure 2.2: Cycle slip detected by time di?erenced floating value ambiguity estimates
AcycleslipthatisnotdetectedwillcreateabiasintheRPVbetweenreceivers.For
this reason, using UWBs could also help in detecting when a cycle slip has occurred as long
as the UWB range measurements are more accurate than the bias a cycle slip will create.
The e?ect of a wrong carrier phase integer ambiguity combination on the RPV is discussed
in Section 5.1.
2.7 Estimating the Integer Ambiguities via the LAMBDA Method
The floating point value of the ambiguities have now been estimated, but the carrier
phase ambiguities must be integers. Several methods have been created and implemented to
resolve these integer carrier phase ambiguities, and their comparisons can be seen in [9]. The
LAMBDA method is used to first decorrelate the measurements and covariances, and then
estimate the integer carrier phase ambiguities, which was shown in [23]. For more information
on the derivation and history behind the LAMBDA method, see the work in [21] and [22].
The Kalman filter estimates the single di?erenced carrier phase ambiguities, but to achieve
greater accuracy, the double di?erenced ambiguities are estimated to remove the receiver
clock errors. This double di?erencing, discussed previously in Section 2.4.2, subtracted the
single di?erenced measurements from the measurements to the base satellite. This double
di?erencing is a linear matrix operation, so a transformation matrix is created to transform
25
the other single di?erenced variables into double di?erenced variables. An example of this
transformation matrix is shown below in Equation (2.30).
C =
0
B
B
B
B
B
B
B
B
B
B
@
10010
01010
00110
00011
1
C
C
C
C
C
C
C
C
C
C
A
(2.30)
This example transformation matrix shows a scenario in which five SVs are common to both
receivers, and the fourth SV is chosen as the base satellite. By means of this transformation
matrix, C,boththeestimatedsingledi?erencedambiguitiesandthesingledi?erencederror
covariance matrix are transformed into double di?erenced matrices. These operations are
shown in Equations (2.31) and (2.32), respectively.
r
?
N = C
?
N (2.31)
P
r
?
N
= CP
?
N
C
T
(2.32)
The next step is to take the floating point ambiguity estimates and estimate the integer
ambiguities. Rounding would be the obvious solution, but that wouldn?t take advantage of
the error covariances that the Kalman filter is estimating. The LAMBDA method decor
relates these measurement variances and covariances in an e?ort to diagonalize the error
covariance matrix. Once the measurement error covariance matrix is decorrelated, the in
teger ambiguities can be more reliably estimated by weighting the certainty of their mea
surements. The new, decorrelated error covariance matrix is used to estimate the integer
ambiguities, starting with the estimate that has the lowest variance. Once the decorrelated
integer ambiguities are estimated, they are transformed back into the original coordinate
frame.
26
The plots in Figure 2.3 are shown to help visualize what the LAMBDA method does
when it decorrelates the error covariance matrix, P
r
.Theplotontheleftrepresentsthe
error covariance matrix before it enters the LAMBDA method, and the plot on the right
represents the new, decorrelated error covariance matrix after the LAMBDA method. These
plots were taken from experimental data using the L1 frequency only on a NovAtel Propak
GPS receiver with NovAtel Pinwheel antennas. As can be seen in the figure, the matrices
are 9x9, which means they represent 9 double di?erenced carrier phase ambiguities from
ten satellites. The warmer colors represent larger relative di?erences between that value
and the surrounding values in the matrix, and the cooler colors represent numbers with
smaller relative di?erences between that value and the surrounding values. As can be seen
from the plot on the left, the o? diagonal terms are similar to the diagonal terms. This
is due to the high correlation in the estimated ambiguities due to the double di?erencing
procedure. In the plot on the right, it can be seen that the LAMBDA method has successfully
decorrelated these ambiguities and created a much more diagonal error covariance matrix.
This decorrelated error covariance matrix, Q
?a
,isthenusedtoestimatetheintegercarrier
phase ambiguities.
Figure 2.3: Error covariance matrix, P
r
, (left) and decorrelated error covariance matrix,
Q
?a
(right)
27
Though the LAMBDA method is accepted as the best carrier phase ambiguity estimate
technique, it does not always provide the exact carrier phase integer ambiguity estimates, as
seen in [23]. The common method to determine the integrity of the integer estimate is the
ratio test. This method takes the ratio of the top two candidates,
?
N
1
and
?
N
2
,forthecarrier
phase integer ambiguities and compares their deviations, d, from the originally estimated
floating value carrier phase ambiguities,
?
N. This is shown in Equation (2.33).
d
k
=(
?
N
?
N
k
)P
1
N
(
?
N
?
N
k
)
T
(2.33)
The ratio test then accepts the top candidate as the correct integer ambiguity fix if the ratio,
d
1
d
2
, is above a specified threshold. Based on the findings in [46], the ratio threshold used in
this work for the ratio test was three.
2.8 Least Squares Estimation of the Relative Position Vector
Once the carrier phase integer ambiguities have been estimated, the RPV between the
receivers can now be estimated. Regardless if the ambiguity integer set is estimated correctly,
the RPV between the receivers is estimated using both the floating point ambiguities and the
fixed integer ambiguities. Using Equations (2.7) and (2.13), the RPV estimation algorithm
can be transformed into Equation (2.34).
r
R
1
R
2
rN
R
1
R
2
=?u
a
?r
R
1
R
2
+v
R
1
R
2
(2.34)
Note that the ?u
a
?r
R
1
R
2
term implies that the geometry matrix has been di?erenced with
the base satellite to form the correct geometry. The RPV between GPS receivers is finally
estimated using the least squares technique, as shown in Equation (2.35).
?r
R
1
R
2
=(?u
T
R
1
?u
R
1
)
1
?u
T
R
1
(r
R
2
R
2
rN
R
2
R
2
) (2.35)
28
2.9 Single Frequency RTK Implementation
The RTK algorithm described in the previous sections were for dualfrequency appli
cations. Singlefrequency GPS receivers can also perform these techniques. Though the
reliability of using singlefrequency receivers for RTK is worse than using dualfrequency
receivers, the much lower price of the singlefrequency GPS receivers may suce for certain
applications.
The carrier phase integer ambiguity resolution algorithm operates the same with the
singlefrequency receivers as it does with the dualfrequency receivers, but modifications
must be made to the state vector, x,themeasurementvector,z,thecoecientmatrix,H,
and the left null space matrix, L,asshowninEquations(2.36)(2.39).
x =[N
S
1
R
1
R
2
L1
...N
S
m
R
1
R
2
L1
]
T
(2.36)
z = L[?
S
1
...S
m
R
1
R
2
L1
S
1
...S
m
R
1
R
2
L1
]
T
(2.37)
H = L
0
B
B
@
0
mxm
L1
I
mxm
1
C
C
A
(2.38)
L = leftnull
0
B
B
@
u
1...m
R
1
x
u
1...m
R
1
y
u
1...m
R
1
z
1
u
1...m
R
1
x
u
1...m
R
1
y
u
1...m
R
1
z
1
1
C
C
A
(2.39)
These equations are modified to use only the pseudorange and carrier phase observation
measurements from the L1 frequency only.
2.10 RTK Experimental Results
To show the high precision that can be achieved using the realtime kinematic carrier
based di?erential positioning technique, an experiment was set up with two dualfrequency
NovAtel Propak GPS receivers using two NovAtel Pinwheel antennas. Both the float and
fixed RTK baseline solutions are plotted in Figure 2.4, where both the float and fixed RTK
29
solutions are plotted in the left graph and the fixed RTK solution only is plotted in the right
graph. This is lengthy static data set at around 2500 seconds, or a little over 40 minutes.
Figure 2.4: Float and fixed RTK baseline solutions (left) and fixed RTK only (right)
Notice in the left plot of Figure 2.4 that there is a jump of about 2 centimeters around
1300 seconds. In this case, this is due to a new satellite being acquired, which requires a
new state in both the state vector and error covariance matrix in the Kalman filter to be
initialized.
The plot on the right of Figure 2.4 is a zoomed in view of the same fixed RTK solutions
as in the plot on the left, but without the float RTK solutions. This gives a good look at the
expected variance of a typical fixed RTK baseline solution. From the figure, it is seen that
afixedRTKsolutioncanmaintaincentimeterlevelaccuracyconsistently. Thecalculated
statistics for this data set are shown in Table 2.4. As it can be seen in the table, the standard
deviation of the fixed RTK solution is subcentimeter, while the standard deviation of the
float RTK solution is about 8 centimeters.
Another test was performed using the similar setup as before, but this time with a longer
baseline. The results, including the code based di?erential position (DGPS), are shown in
Figure 2.5. Notice that the fixed RTK solution didn?t come in until about 20 seconds into
the test. This is due to the fact that the ratio of the first two candidates for the integer
30
Table 2.4: Float and fixed RTK short RPV statistics
Variable Float RPV Fixed RPV
std, (m) 0.08097 0.0060554
var,
2
(m
2
) 0.006555 3.667e5
Figure 2.5: Float and fixed RTK baseline solutions (left) and fixed RTK only (right)
ambiguity solution were too similar, and hence didn?t pass the ratio test. Once the system
has run for a few seconds, it allows for the Kalman filter to appropriately weight the error
covariance matrix of the measurements. The error covariance matrix essentially corresponds
to the integrity of the measurements and weights the measurements based on which satellites
are transmitting the most reliable observation measurements. The respective statistics for
all the codebased di?erential solution, float and fixed RTK solutions are shown in Table 2.5.
Notice how the codebased di?erential solution (DGPS) is not only submeter level accuracy,
but also less than 20 centimeters o? of the fixed RTK solution.
31
Table 2.5: Float and fixed RTK long RPV statistics
Variable DGPS Float RPV Fixed RPV
mean, ? (m) 69.726 69.846 69.73
std, (m) 0.11794 0.027155 0.0044768
var,
2
(m
2
) 0.013911 0.00073739 2.0042e5
The plots shown in Figure 2.6 are presented to help illustrate the ratio test. The ratio
test was previously discussed in Section 2.7. These plots were taken experimentally using the
dualfrequency NovAtel Propak with NovAtel Pinwheel antennas. The top plot in the figure
consists of several di?erential position solutions: the code based di?erential solution, and
both the float and fixed value carrier based di?erential positioning solutions. The bottom
plot shows the ratio of the top two candidates for the fixed integer ambiguities. There is an
immediate drop of the ratio test around 170 seconds, which also corresponds to a quick jump
in the float RTK solution. This is due to a dropped satellite, which results in a modification
of the Kalman filter. The fixed RTK loses a few seconds of lock, but the ratio test quickly
goes back above the threshold of three.
Figure 2.6: Ratio test (bottom) with the di?erential position solutions (top)
32
A long data set was taken to analyze the statistics of using only the L1 frequency
versus using both the L1 and L2 frequencies. A NovAtel Propak was used to record both
frequencies and log the data. In Figure 2.7, both RPVs are shown. Though the RPV using
the L1 frequency only was worse than the dualfrequency solution, both relative position
solutions have similar error characteristics. These errors are the residual errors from the
single and double di?erencing operations. Though di?erencing does help mitigate most of
the errors, there is still a portion of the errors that cannot be di?erenced out.
Figure 2.7: RPVs using L1 only and both the L1 and L2 frequencies
The statistics for the averages of three di?erent hour long, zero baseline data sets are
shown in Table 2.6. As expected, the variance and standard deviation for the data using
the L1 frequency only are about double than that of the data using both the L1 and L2
frequencies, though both are considerably accurate. The time to first fix (TTFF) describes
the length of time it takes for the ratio to get above the threshold and is also shown in Table
2.6. The singlefrequency data takes much longer to lock on to the correct integer ambiguity
solution than it does for the dualfrequency data to get a first integer fix.
33
Table 2.6: Statistics using L1 frequency only versus L1 and L2 frequencies
Variable L1 only L1 and L2
std, (mm) 8.2837 4.8737
var,
2
(mm
2
)0.072879 0.2515
Fixes, (%) 91.2 98.1
TTFF, (s) 103 18
34
Chapter 3
BaselineConstrained LAMBDA
In certain situations where the baseline between GPS receivers is known a priori,this
baseline length can be incorporated into the LAMBDA method to improve the time to first
fix while also adding robustness to the model. To show where the known baseline length will
go into the RTK algorithm and LAMBDA method, this chapter will first give the baseline
unconstrained model, followed by the baseline constrained model.
3.1 CLAMBDA
3.1.1 Baseline Unconstrained Model
In scenarios where the baseline between GPS antennas is not known, the standard
baseline unconstrained model is used in the RTK algorithm. Equations (3.1) and (3.2) are
the expectation and dispersion matrices of the pseudorange and carrier phase observation
measurements, respectively.
E(y)=Aa+Bb, a?Z
Nn
,b?R
3
(3.1)
D(y)=Qyy (3.2)
In this model, N is the number of frequencies that the GPS receiver is tracking (L1 and/or
L2) while n is the number of double di?erenced observations. Q is the uncertainty matrix
of the double di?erenced observation measurements, which corresponds to the measurement
uncertainty matrix, R,intheKalmanfilter,asdescribedinSection2.6.3. They vector
contains the double di?erenced pseudorange and carrier phase observation measurements, as
35
shown in Equation (3.3).
y =[r?
1
... r?
Nn
r
1
... r
Nn
] (3.3)
The A and B matrices of Equation (3.1) for singlefrequency receivers are shown in Equation
(3.4), and the A and B matrices for dualfrequency receivers are shown in Equation (3.5).
A =
0
B
B
@
0
L1
I
n
1
C
C
A
B =
0
B
B
@
G
G
1
C
C
A
(3.4)
A =
0
B
B
B
B
B
B
B
B
B
B
@
0
L1
I
n
0
L2
I
n
1
C
C
C
C
C
C
C
C
C
C
A
B =
0
B
B
B
B
B
B
B
B
B
B
@
G
G
G
G
1
C
C
C
C
C
C
C
C
C
C
A
(3.5)
The variables a and b in Equation (3.1) are the integer ambiguities and the baseline
coordinates, respectively. In the A matrices, represents the wavelength of the carrier
signal corresponding to that observation measurement. In Equations (3.4) and (3.5), G
represents the geometry matrix, and is shown in Equation (3.6).
G =
0
B
B
B
B
B
B
@
u
S
1
x
u
S
1
y
u
S
1
z
1
.
.
.
.
.
.
.
.
.
.
.
.
u
S
n
x
u
S
n
y
u
S
n
z
1
1
C
C
C
C
C
C
A
(3.6)
The goal of the weighted least squares is to minimize a cost function, C. Without the
baseline constraint, this cost function is shown in Equation (3.7).
min
a?Z
Nn
,b?R
3
yAaBb
2
Q
yy
(3.7)
36
In these minimization equations,  ?  =(?)
T
Q
1
(?)isknownastheMahalanobisdistance
and is the norm calculated in the metric of the uncertainties of the estimates. Note that
a describes the integer carrier phase ambiguities, so this minimization requires the integer
least squares principle. There are several steps in order to solve this integer least squares
minimization problem. The first is to derive the floating point solution for the ambiguities.
This is done using the Kalman filter as previously described in Section 2.6. The next step
is to search for the integer minimizer. Once that integer set has been found, the baseline
solution is then adjusted according to the resolved carrier phase integer ambiguities. The
LAMBDA method has been proven to solve this problem eciently, and is widely used
because of this reason.
To solve for the float solution, the weighted least squares principle is applied. This
is shown in Equation (3.8) with the variancecovariance matrices shown below in Equation
(3.9).
0
B
B
@
A
T
Q
1
yy
AA
T
Q
1
yy
B
B
T
Q
1
yy
AB
T
Q
1
yy
B
1
C
C
A
0
B
B
@
?a
?
b
1
C
C
A
=
0
B
B
@
A
T
Q
1
yy
B
T
Q
1
yy
1
C
C
A
y (3.8)
0
B
B
@
Q
?a?a
Q
?a
?
b
Q
?
b?a
Q
?
b
?
b
1
C
C
A
=
0
B
B
@
A
T
Q
1
yy
AA
T
Q
1
yy
B
B
T
Q
1
yy
AB
T
Q
1
yy
B
1
C
C
A
1
(3.9)
Assuming that the correct integer ambiguity combination has been selected, the baseline can
be calculated by solving the system shown in Equations (3.1) and (3.2).
The float baseline estimate is related to the fixed baseline, as shown in Equation (3.10),
with its covariance matrix shown below in Equation (3.11).
?
b(a)=
?
bQ
?
b?a
Q
1
?a?a
(?aa) (3.10)
Q
?
b(a)
?
b(a)
= Q
?
b
?
b
Q
?
b?a
Q
1
?a?a
Q
?a
?
b
(3.11)
37
Because the float solution relies on the accuracy of the pseudorange measurements, the fixed
baseline solution is much more accurate. The minimization equation shown in Equation
(3.7) can now be decomposed into Equation (3.12), where ?e is the vector of residuals.
min
a?Z
Nn
,b?R
3
, b=l
?e
2
Q
yy
+ ?aa
2
Q
?a?a
+ 
?
b(a)b
2
Q
b(?a)b(?a)
(3.12)
Note that because this is the unconstrained model, the last term on the right can be made
zero for any choice of a.Becauseofthis,Equation(3.12)cannowbereducedtoEquation
(3.13).
min
a?Z
Nn
,b?R
3
?e
2
Q
yy
+ ?aa
2
Q
?a?a
(3.13)
Solving this minimization is not trivial, as there are no closed form solutions. For
this reason, a discrete integer search must be performed. This could be a computationally
burdensome process, but there is a search strategy that can be used which relates the size
of the search space,
2
,tothecovariancematrix,Q
?a?a
,oftheambiguities.Equation(3.14)
shows this search space.
?(
2
)={a?Z
Nn
?aa
2
Q
?a?a
?
2
} (3.14)
Note the the equation for this is an ellipsoid centered at ?a.Theshapeoftheellipsoidwill
be governed by the covariance matrix, Q
?a?a
,oftheambiguities.Thesizeofthesearchspace,
2
,shouldbepickedlargeenoughtoguaranteethesolutionisinit,butsmallenoughto
limit the number of calculations that must be performed. It has been shown that using the
bootstrapped estimate of a is a good choice for the initial size of the search space,
2
0
.
The bootstrapped estimate is the result of a sequential least squares adjustment process.
If n ambiguities are to be estimated, the first ambiguity is rounded to the nearest integer
and the remaining ambiguities are then corrected based on their correlation with the first
ambiguity. Now the second ambiguity, which is now corrected, is rounded to the nearest
38
integer and the remaining n2ambiguitiesareagaincorrectedbasedontheircorrelation
with the second ambiguity. This process of rounding and correcting is continued until all the
ambiguities have been estimated to integer values. For more on the bootstrapping process,
see the work done in [46].
There is usually high correlation in the ambiguities because of the double di?erencing,
so the shape of the ambiguity search space is elongated. The LAMBDA method is able to
decorrelate the covariance matrix and reduce the search space down in size and closer to the
shape of a sphere. This results in a much lower computation time.
Once the assumed correct integer ambiguities have been found, they are used to trans
form the float baseline into the more accurate, fixed baseline. This transformation is done
by using Equation (3.15).
?
b =
?
bQ
?
b?a
Q
1
?a?a
(?a?a) (3.15)
3.1.2 Baseline Constrained Model
In certain situations where the baseline length between the GPS receivers is known, such
as when they are mounted on a rigid frame, the baseline length can be integrated into the
LAMBDA method. This has become known as the constrained LAMBDA (CLAMBDA)
method. The CLAMBDA method uses this a priori baseline knowledge in two ways. First,
it uses the known baseline length in the derivation of the ambiguity and baseline float
solutions. Second, it also uses the baseline length to help reduce the size of the ambiguity
search space, limiting it to only the integer sets that would form the baseline length if they
were used to solve for the RPV between receivers.
The minimization problem of the baseline constrained model using the known baseline
length is shown in Equation (3.16).
min
a?Z
Nn
,b?R
3
, b=l
yAaBb
2
Q
yy
(3.16)
39
For more information on the orthogonal decomposition of both the standard LAMBDA and
CLAMBDA method, see the research done in [44].
3.1.3 Baseline Constrained Float Solution
The derivation of the unconstrained float solutions, ?a and
?
b,waspreviouslyshown.
This baseline length can be used to constrain the float solutions. Solving this requires
solving a quadratically constrained least squares problem. Equation (3.17) shows the baseline
coordinates in relation to the known baseline length.
b =
p
b
T
b = l (3.17)
Solving for b becomes the quadratically constrained least squares problem shown in
Equation (3.18) with the constraint that b = l.
min
?
b(a)b
2
Q
?
b(a)
(3.18)
This new baseline constrained float solution will be referred to as
?
b
l
. This problem can be
solved by using Lagrange multipliers. Equation (3.19) can be viewed as a sphere with a
radius of l.

?
b(a)b
2
Q
?
b(a)
= k
2
(3.19)
Similarly, Equation (3.18) can be viewed as an ellipsoid in the form of Equation (3.4).
The minimizer of the cost function shown in Equation (3.12) will e?ectively be when the
ellipsoid is small enough that it just barely touches the sphere, which will be the solution for
b. When the ellipsoid and sphere are just barely touching, the gradient of both the ellipsoid
and the sphere will be parallel with one being a scalar of the other. This relationship is
shown in Equation (3.20), where 5 denotes a gradient.
5
?
b(a)b = 5b
I
3
(3.20)
40
To fit the form required for the Lagrangian multiplier method, Equation (3.20) can be
rearranged in the form of Axx = c.TheresultisshowninEquation(3.21).
(Q
1
?
b(a)
I
3
)b = Q
1
?
b(a)
?
b(a) (3.21)
The goal of Equation (3.21) is to minimize ,whichiswhentheellipsoidwillfirsttouchthe
sphere. The solution to Equation (3.21) can now be formed into Equation (3.22), where c is
defined in Equation (3.23).
?
b
l
=(Q
1
?
b(a)
I
3
)
1
c (3.22)
c = Q
1
?
b(a)
?
b (3.23)
By rearranging the terms of Equation (3.22), it can be turned into a quadratic eigenvalue
problem and can be found. For more on the solving of quadratic eigenvalue problems and
their applications, see [33]. This form is shown in Equations (3.24) and (3.25), where x and
y are eigenvectors and is an eigenvalue.
(
2
M + C +K)x =0 (3.24)
y(
2
M + C +K)=0 (3.25)
Equations (3.22) and (3.17) can now be rearranged to form Equations (3.26)(3.28).
(Q
1
?
b(a)
C)
2
y = c (3.26)
c
T
y = l
2
(3.27)
y =(Q
1
?
b(a)
C)
2
c (3.28)
41
Equations (3.26)(3.28) are now ready to fit the form of the symmetric quadratic eigenvalue
problem, as shown in Equation (3.29).
(
2
I
3
2Q
1
?
b(a)
+(Q
2
?
b(a)
l
2
cc
T
))y =0 (3.29)
The smallest eigenvalue of Equation (3.29) will be the used in Equation (3.22) to solve
for
?
b
l
.Thebaselineconstrainedfloatambiguities,?a
l
, can now be estimated with the baseline
constrained float baseline solution,
?
b
l
.ThisisshowninEquation(3.30)withitsassociated
covariance matrix derivation shown in Equation (3.31).
?a
l
=?aQ
?a
?
b
Q
1
?
b
(
?
b
?
b
l
) (3.30)
Q
?a
l
= Q
?a
Q
?a
?
b
?
b
l
(
?
b
T
l
Q
?
b
b
l
)
1
b
T
l
Q
?
b?a
(3.31)
3.1.4 Baseline Constrained LAMBDA
With the a priori knowledge of the baseline between receivers, the search space in the
LAMBDA method can be modified to incorporate this baseline length. This is accomplished
by creating an auxiliary search space that includes the knowledge of the baseline length. For
more information on the carrier phase ambiguity search space that the LAMBDA creates,
see the research done in [41].
The minimization equation of the standard LAMBDA method is shown in Equation
(3.32), and the minimization equation for the baseline constrained LAMBDA, which now
uses the a priori known baseline length, is shown in Equation (3.33).
?a =min
a?Z
Nn
?aa
2
Q
?a
(3.32)
?a =min
a?Z
Nn
,b?R
3
(?aa
2
Q
?a
+ 
?
b
l
(a)
?
b(a)
2
Q
?
b
l
) (3.33)
42
The
?
b
l
(a) term in Equation (3.33) is the fixed baseline solution calculated when constraining
the integer ambiguities a to the baseline length l.Itisfoundbysolvingthepreviously
discussed quadratically constrained least squares problem, but substituting the fixed baseline,
?
b(a), for the float baseline,
?
b(a), in Equation (3.18).
The sought after minimizer of Equation (3.33) is comprised of two parts. The first part,
expressed as the ?a a
2
Q
?a
term, is the distance from the fixed ambiguities to the float
ambiguities in the metric of the covariance matrix of the float ambiguities, Q
?a
,asitisin
the standard LAMBDA method. The second part, expressed as the 
?
b
l
(a)
?
b(a)
2
Q
?
b
l
term,
is the distance from the fixed baseline coordinates to a constrained version of itself in the
metric of the fixed baseline covariance matrix, Q
?
b
l
.
To find the minimizer of Equation (3.33), a search space is introduced in Equation (3.34)
which uses the bootstrapped fixed ambiguity solution, ?a
b
,tosetthesizeofthesearchspace,
2
b
.
(
2
)={?a?a
2
Q
?a
?
2
} (3.34)
All integer vectors that satisfy this inequality are then returned as candidates, and the closest
candidate is deemed the correct integer ambiguity set if it passes the ratio test. Incorporating
the baseline length constraint, a new search space can be defined as in Equation (3.35).
0
(
2
b
)={(?a ?a
b
+ 
2
Q
?a
+ 
?
b
l
(?a
b
)
?
b(?a
b
)
2
Q
?
b
l
) ?
2
b
} (3.35)
The search space with the baseline constraint is no longer an ellipsoid, as it was in the
standard LAMBDA method, which makes the search space very inecient to search through
for the integer ambiguity candidates. This requires the use of an auxiliary search space,
0
(
2
b
), which is larger than (
2
b
). This auxiliary search space is shown in Equation (3.36).
0
(
2
b
)={?a?a
2
Q
?a
?
2
b
} (3.36)
43
Though the new, auxiliary search space,
0
(
2
b
), is larger than the old search space, (
2
b
),
it is elliptical and can be used by the standard LAMBDA method. The downside of using
the auxiliary search space is that each returned candidate, a,mustbecheckedtoseeifit
satisfies the inequality shown in Equation (3.37).
2
b
?aa
2
Q
?a

?
b
l
(a)
?
b(a)
Q
?
b
l
(3.37)
This is done by solving the quadratically constrained least squares problem in Equation
(3.18) for every returned integer ambiguity candidate set. These candidates will also lie
within (
2
b
), and the minimizer of Equation (3.33) is then deemed to be the fixed ambigu
ities, ?a.
For singlefrequency applications, the search space,
0
(
2
b
), may be large and contain too
many candidates to maintain computational eciency. To solve this problem, two methods
known as the ?search and shrink? and the ?search and expand? search strategies have been
developed by [12]. These searching techniques iteratively reduce or expand the auxiliary
search space to find the correct integer ambiguities. Both these methods are based on the
property that the norm 
?
b(a)b
2
Q
?
b(a)
?
b(a)
is bounded by the largest,
M
,andsmallest,
m
,
eigenvalues of the inverse of the covariance matrix Q
1
?
b(a)
?
b(a)
,whichmeansthatC
M
C(a)
C
m
.ThisisshowninEquations(3.38)and(3.39).
C
M
(a)=?aa
1
Q
?a?a
+
M
(
?
b(a)
2
I
3
l) (3.38)
C
m
(a)=?aa
1
Q
?a?a
+
m
(
?
b(a)
2
I
3
l) (3.39)
The expansion search strategy first finds all the integer vector candidates that satisfy the
inequality presented in Equation (3.40).
?
1
(
2
0
)={a?Z
Nn
 C
1
(a) ?
2
0
}??
C
(
2
0
) (3.40)
44
The search and shrink strategy works in the opposite way as the expansion search strategy,
and it finds the candidates that satisfy the inequality shown in Equation (3.41).
?
2
(
2
0
)={a?Z
Nn
 C
2
(a) ?
2
0
}??
C
(
2
0
) (3.41)
3.1.5 Expansion Search Strategy
Though both the expansion search strategy and search and shrink search strategy pro
vide a computational relief, the expansion search strategy was chosen for this research. By
implementing the expansion approach, the computation of the quadratically constrained
least squares problem is avoided by noticing that the size of the search space is a function
of the minimum eigenvalue of Q
1
?
b(a)
,asshowninEquation(3.42).
1
(
2
)={?aa
2
Q
?a
+
m
(
?
b(a)
2
I
3
l)
2
?
2
} (3.42)
There are now three search spaces that can be utilized. The first search space is
0
(
2
),
which is the auxiliary search spaced defined without using the baseline constraint. The
second search space is
1
(
2
), which doesn?t require the solution of the quadratically con
strained least squares problem. The third search space is (
2
), which is the original baseline
constrained LAMBDA search space. A flow diagram depicting this search and expand search
strategy is illustrated in Figure 3.1. The three search spaces are defined below in Equations
(3.43  3.45).
0
(
2
)={?a ?a
b

2
Q
?a
?
2
} (3.43)
1
(
2
)={?a ?a
b

2
Q
?a
+
min
(
?
b(a)
2
I
3
l)
2
?
2
} (3.44)
(
2
)={?a ?a
b

2
Q
?a
+(
?
b
l
(?a)
?
b(?a)
2
Q
?
b
l
?
2
} (3.45)
The quadratically constrained least squares problem is only solved for the first candi
dates appearing in the (
2
)searchspace.Theinitialsearchspace,
2
0
,inthisresearchwas
45
Choose a value for
Find all integer
candidates in
0
(
2
)
If none,
increase
Find all integer
candidates in
1
(
2
)
If none,
increase
Find all integer
candidates in (
2
)
If none,
increase
Minimizer of (?a a)
2
Q
?a
+ 
?
b
l
(a)
?
b(a)
2
Q
?
b
l
is the solution
Figure 3.1: Flow chart of the search and expand approach
chosen as the one obtained from the bootstrapped estimate, shown in Equation (3.46).
0
= ?a?a
b

Q
?a
(3.46)
3.2 Integer Ambiguity Validation
The validation of the unconstrained LAMBDA method utilizes the ratio test. However,
the ratio test requires more than one candidate. Some estimating techniques, such as round
ing and bootstrapping, only produce one solution, so the ratio test can?t be performed. For
46
this reason, a probability based confidence level was developed by [37] and used in this thesis
to determine the integrity of the carrier phase integer ambiguity solution. The variance of
the fixed baseline solution can be solved by utilizing the linearized law of propagation of
variances, as shown in Equation (3.47).
2

?
b
= AQ
?
b
A
T
(3.47)
The A matrix in Equation (3.47) is a function of the di?erence between the original
float solution and the fixed solution, as shown in Equations (3.48) and (3.49).
A =
?
F(x,y,z)
x
F(x,y,z)
y
F(x,y,z)
z
(3.48)
F(x,y,z)=
q
(xx
0
)
2
+(yy
0
)
2
+(zz
0
)
2
(3.49)
Using Equations (3.48) and (3.49), A can be written as Equation (3.50).
A =
?
(xx
0
)
x
(yy
0
)
y
(zz
0
)
z
(3.50)
When the fixed baseline length, 
?
b,andthea priori measurement are assumed to be
normally distributed, then their di?erence, b,willalsobenormallydistributed.Thisis
shown in Equation (3.51), and its standard deviation is shown in Equation (3.52) where l is
the a priori baseline length.
b = N(b,
2
b
) (3.51)
b
=
q
2
l
+
2
b
(3.52)
The probability that the computed di?erence, b,ofthebaselinelengthbetweenthe
float and fixed solution is smaller than the di?erence of the measured baseline length, 
?
b,
47
is shown in Equations (3.53) and (3.54).
P(
?
b < b)=erf(
b
b
p
2
) (3.53)
P(
?
b > b)=1erf(
b
b
)
p
2
) (3.54)
Athresholdisthenchosentoeitheracceptorrejecttheintegerambiguitycandidate.If
the probability is above the threshold, the candidate for the fixed carrier phase ambiguities
is deemed the correct integer combination. If the probability is below the chosen threshold,
the fixed ambiguity candidate is rejected. For this work, a probability threshold of 80%
was high enough that the correct integer ambiguities were chosen. Results showing this are
shown in the following sections.
3.3 Zero Baseline CLAMBDA Experimental Results
For this experiment, two NovAtel Propak GPS receivers were used with a single NovAtel
Pinwheel antenna whose signal was split to both receivers. Zero baseline tests are good for
testing because the single and double di?erencing procedures should eliminate nearly all the
errors because the receivers are hooked up to the same antenna and will get the same errors.
For this section, only the L1 frequency was used.
The code and carrier based di?erential relative position solutions are shown in Figure
3.2. The code based di?erential solution is submeter, and the carrier based floating solution
is also submeter and more consistent than the code based solution. The fixed ambiguity
RTK solution is subcentimeter, resolves the integer ambiguities immediately, and maintains
lock for the entire 10 minute long experiment.
This same data set was run through the CLAMBDA method and the results are shown
in Figure 3.3. As can be seen, the CLAMBDA method, which uses the a priori knowledge
48
Figure 3.2: Zero baseline di?erential code and carrier GPS results
of the zero baseline and is calculated epochbyepoch, is able to resolve the correct integer
ambiguities for the entire run of the experiment.
Figure 3.3: Zero baseline fixed RTK and CLAMBDA results
The integer ambiguity validation, as previously discussed in Section 3.2 using Equation
(3.54), gives a probability that the calculated integer ambiguities from the CLAMBDA
49
method are the correct integer ambiguities. The results from this validation method are
shown in Figure 3.4. As can be seen, the probability that correct fixes were calculated from
the CLAMBDA method for the zero baseline experiment start out and maintain near 100%
with an average of 97.9% over the entire run, which shows extreme confidence that the
correct fixes were calculated.
Figure 3.4: Zero baseline CLAMBDA integer ambiguity validation
Because the CLAMBDA method uses the aprioriknowledge of the baseline between
GPS antennas, the baseline is assumed to be correct. However, there will usually always be
some sort of inherent error in this baseline depending on the application. If the antennas
are mounted on the wings of an aircraft, this error could come from the flexing of the wings.
In this thesis, the error will come from the UWB range measurements.
To test the robustness of the CLAMBDA method when it comes to the error in the
a priori baseline measurement, the experiment was run with an injected error in the baseline
that is sent to the CLAMBDA method. With the knowledge of the correct integer ambiguity
50
fixes, the percentage of the total correct integer ambiguity fixes that the CLAMBDA method
with the erroneous baseline calculates is determined.
The results of this robustness test of the CLAMBDA are shown in Figure 3.5. As
can be seen, the CLAMBDA method is able to withstand a 4 centimeter error before it
starts giving faulty integer ambiguity fixes. Once the error in the a priori baseline reaches
8 centimeters, the CLAMBDA method is no longer able to compute the correct integer
ambiguities for even one epoch in the entire data set.
Figure 3.5: Zero baseline a priori error in CLAMBDA method
Using both the L1 and L2 frequencies from the same zero baseline experiment, the
robustness of the CLAMBDA method was test in similar fashion as the singlefrequency by
increasing the error in the aprioribaseline measurement. As can be seen in Figure 3.6, the
dual frequency CLAMBDA method isn?t as robust to errors in the baseline measurement as
the singlefrequency. If the error is much larger than 2 centimeters, the CLAMBDA method
quickly falls apart. The reason that the dualfrequency CLAMBDA is more susceptible to
errors in the a priori baseline measurement than the singlefrequency is probably due to the
51
fact that because there are twice as many double di?erenced ambiguity estimates, there are
more possible integer ambiguity combinations. This increased number of possible integer
ambiguity candidates will lead to erroneous fixes more frequently.
Figure 3.6: Zero baseline a priori error in CLAMBDA method (dualfrequency)
Once the error is almost 3 centimeters, than the dualfrequency CLAMBDA method
results in zero correct fixes over the run of the zero baseline experiment. The resulting bias
that the error in the a priori measurement creates is shown in Figure 3.7. As can be seen,
there is about a 3 centimeter bias in the relative positioning vector when the a priori baseline
measurement is given an error of about 3 centimeters.
3.3.1 Di?erent Ambiguity Resolution Techniques
There are several methods to resolving the integer carrier phase ambiguities. The first
and simplest is to round the floating value ambiguity estimates to the nearest integers;
however, this does not take into account the information in the error covariance matrix
of which the Kalman filter and LAMBDA method are able to take advantage. The next
52
Figure 3.7: RPVs with an error in the a priori baseline measurement of 3 centimeters in the
CLAMBDA method (dualfrequency)
method is to use to bootstrapped estimates, which uses a process of rounding the estimates
based on the order of their certainties in their respective measurements. This bootstrapped
estimate is usually a good initial guess and is used to set the initial size of the search space
in the LAMBDA method. For more information on the bootstrapped estimate and how
it is calculated, see the work done by [29]. The next method is the LAMBDA method,
which decorrelates the error covariance matrix and then searches for the integer ambiguities
based on this new decorrelated error covariance matrix. The last is the CLAMBDA method
which is similar to the LAMBDA method, but takes into account the known a priori baseline
measurement between antennas into the search strategy. For more information on the success
of these di?erent carrier phase integer ambiguity resolution techniques, see the research in
[43].
The results for these four di?erent methods in the singlefrequency zero baseline test
are shown in Table 3.1. As can be seen, although the rounding method does get a high
53
percentage of the fixes correct, it is still the least accurate among the four di?erent integer
ambiguity estimating techniques. The bootstrapped method is the next most accurate, but
still not as good the best two techniques. For the zero baseline test, both the LAMBDA and
CLAMBDA methods are able to resolve the correct ambiguities 100% of the time.
Table 3.1: Di?erent integer ambiguity estimating techniques
Technique Correct Fixes (%)
Float (rounded) 78.4
Bootstrapped 89.6
LAMBDA 100
CLAMBDA 100
One issue that needs to be accounted for is the computational time of the CLAMBDA
method compared to the standard LAMBDA method. With the GPS receiver running with
an update rate at 1 Hz, the algorithms will need to run at a maximum of one second per
epoch. The CLAMBDA method creates more of a computational burden than the standard
LAMBDA method due to the irregularity of the search spaces due to the a priori baseline
constraint.
The computer used in this thesis to run these algorithms was a 2.4 GHz Intel Core 2 Duo
MacBook Pro laptop. The average computational time required per epoch is shown in Table
3.2 for both the standard LAMBDA method and the baseline constrained CLAMBDA. As
can be seen, the standard LAMBDA method is able to run with an average of about 35
milliseconds per epoch, which is much faster than the required 1 Hz update rate if this were
to run in real time. It should also be noted that this was run postprocess in MATLAB;
whereas if it were transferred over to C, these times would be drastically reduced. The
CLAMBDA does show a much longer computational time than the standard LAMBDA
method, but still appears to achieve the required 1 Hz update rate.
54
Table 3.2: Computational times of LAMBDA and CLAMBDA methods in MATLAB
Technique Computation time per epoch (s)
LAMBDA 0.0357
CLAMBDA 0.1536
55
Chapter 4
Ultrawideband Radios
Though GPS is a relatively reliable positioning system, there are several limitations to
its use. For instance, GPS receivers require good sky visibility to be able to receive the GPS
signals. This requirement may be severely hampered in applications that are surrounded by
trees, buildings, or even indoor applications. Ultrawideband radios (UWBs) can be used
in these situations of GPS denied environments to help with real time localization with
stationary or dynamic points of reference. This type of technology could be used in many
di?erent applications, such as: autonomous robot swarm scenarios, relative localization in
GPS denied environments, or to help alleviate GPS multipath errors and IMU drift through
precise di?erential ranging.
Time Domain has created a UWB technology that is embedded in its family of PulsON
400 UWB radios. For more information on these radios and the ultrawide bandwidth
technology, refer to the work shown in [48], [49], [50], and [51]. The implementation of
UWBs for a various number of scenarios is made easy by their ranging and communications
modules (RCM). This graphical user interface (GUI) makes it easy to configure the UWB
ranging radios, which are capable of highly accurate ranging measurements based on the two
way time of flight (TOF) calculated distance. It comes provided with an easy to use host
interface protocol that is built upon reprogrammable and extensible fieldprogrammable gate
array (FPGA) logic, allowing flexibility for the innovators to modify the future behavior of
the UWBs.
56
4.1 Ultrawideband Radio (UWB) Technology
This ultrawideband waveform transmitted and received by the radio is shown in Figure
(4.1) in both the time domain and frequency domain. Whereas most radios transmit signals
centered at a specific sinusoidal frequency, UWBs send out short impulses over a broad range
of frequencies. By using this short duration, pulsed RF technology, the highest possible
bandwidths and lowest possible center frequencies can be achieved. This technology can be
used for communicating, radar, or ranging and locating applications.
Figure 4.1: UWB waveform in the time domain (left) and frequency domain (right) [49]
As opposed to radio technologies with a spread spectrum, which can achieve anywhere
between a few hundreds of kHz to tens of MHz of bandwidth, the UWB signals are spread
out over a few GHz with relative bandwidths anywhere from 25100%. For more information
on the UWB waveform and bandwidth, see the research done by [18]. This bandwidth
can be achieved by transmitting a near impulse waveform, which is inherently broadband.
This is shown in the Fourier analysis that an ideal impulse, which is defined as a waveform
of a certain amplitude over an infinitesimally short time duration, would provide infinite
bandwidth. When compared to traditional RF modulated sinusoidal transmissions, the
57
received transmissions of UWBs resemble a train of pulses. This is shown in the figure on
the left of Figure 4.1.
There are several di?erent techniques to transmitting these waveforms. Some UWBs
transmit waveforms rather infrequently, but use higher energy pulses; whereas other UWBs
transmit lower energy pulses at a much higher frequency. Time Domain?s UWBs rely on low
duty cycle transmissions, with coherent signal processing and typical repetition rates of 10
MHz. This involves the UWB sending out packages that contain between a few thousand
to a few hundred thousand coherently transmitted pulses. Due to the coherency of the
transmissions, the signal?s energy can be spread over a multitude of pulses, which increases
the energy per bit and also the signal to noise ratio (SNR).
By pseudorandomly encoding the phase, position, and/or the pulse train?s repetition
rate, di?erent independent communication channels can be established. By creating these
auxiliary channels, data can be added to the transmissions by modulating either the phase
and/or position of the pulses. This pseudorandom code and data can be applied to individual
pulses, but are usually added to blocks consisting of many subsequent pulses. This method
has been incorporated in the PulsON ranging and communications module (RCM).
4.1.1 UWB Range Measurement Calculation
The UWBs can calculate the peer to peer distance between radio transceivers using the
two way time of flight (TWTOF) technique. This technique is highly accurate and has a
wide variety of applications. This TWTOF technique is simply illustrated in Figure 4.2,
but is a multi step technique and is further described below. For more information on the
UWB range measurement, see the work done in [20].
The packetbased TWTOF technique first starts o? with one RCM (the Requester)
requesting a range to transmit a long packet consisting of a pseudorandomly encoded pulse
(a request packet). The other RCM (the Responder) receives and locks onto this pulse
stream, then scans around the lock point to determine the time o?set between the leading
58
Figure 4.2: UWB TWTOF range measurement based on packet transmissions [18]
edge of the received waveform and the radio lock point. Once this leading edge has been
determined, the data is then demodulated. The responder RCM then transmits a response
packet at a starting time precise to picosecond accuracy, which includes the leading edge o?set
information. The requester RCM then locks onto the responder?s pulse stream, measures the
leading edge o?set as previously described, and then demodulates the response data package.
The requester RCM now computes the precise time delay from the when the request packet
was transmitted and when the request packet was received. This rough time di?erence is
corrected by subtracting both the leading edge o?sets, and the resulting time di?erence is
measured in picoseconds. The time o?sets due to both the antenna delays of each radio,
which are computed during a calibration setup, are then also subtracted from the total time.
The now corrected time of flight measurement corresponds to the amount of time it takes
the signal to leave the requesting RCM?s antenna, arrive at the responding RCM?s antenna,
and return back to the requesting RCM?s antenna. This total time is divided by two for the
two trips, and multiplied by the speed of light to give the distance between RCM antennas,
given in millimeters.
This TWTOF range measurement derivation can be visualized as shown in Figure
4.3, where the blue line represents the requesting RCM sending a pulse that is received
by the responding RCM after a time of flight (TOF) delay. Along with the direct path
the signal takes, the amber line represents the copies of the signal that are received due
59
Figure 4.3: Simplified UWB TW TOF range measurement [10]
to multipath reflections. The responding RCM then measures the precise time of arrival
(TOA) of the most direct path through a leading edge detection (LED) technique that is
calculated via the direct scan of the pulse waveform. After a precise turn around time (TAT),
the responding RCM transmits a response pulse, which the requesting RCM receives along
with the multipath copies after an equivalent TOF. The requesting RCM then completes
the measurement of the entire conversation time (CT), beginning with the transmission and
ending with the response. This conversation time minus the turn around time is adjusted
with the leading edge o?sets. The total range calculation is shown in Equation (4.1), with
the time of flight calculation shown in Equation (4.2).
R = TOF?c (4.1)
TOF =
1
2
(CT TAT LED
1
LED
2
) (4.2)
c = speed of light (4.3)
60
4.1.2 Pulse Integration Index
The pulse integration index (PII) determines the number of pulses that is used in each
radio symbol, or scan point. Higher PII values result in a higher signal to noise ratio and
can operate at longer distances but at the expense of slower ranging and data rates. This
PII value is set on the UWBs before testing, and must be the same on both UWB radios to
be able to establish communication and start a conversation. These PII values are based on
the power of 2; hence when PII = 7, because 2
7
=128,thetransmittingnodewillsend128
pulses per symbol and the receiving node will expect 128 pulses per symbol.
If the application requires a longer distance and the update rate isn?t as important, the
PII could be set to 8, which would result in twice the signal to noise ratio but allows for
approximately a 40% increase in distance that the radios can communicate in good line of
sight conditions. With each increment of the PII, the ranging conversation time will roughly
double.
The range of PII values, along with respective distances, data rates, and ranging mea
surement update times, are shown in Table 4.1. The maximum distance assumes that the
US Federal Communications Commission (FCC) compliant power levels are used along with
the use of the standard Broadspec antennas. The range measurement duration time is the
stopwatch time from when the request packet starts to when the response packet is received.
Table 4.1: Pulse integration index (PII) settings and resulting distances, data rates, and
range measurement rates of the UWB radios
PII Max range (m) Data rate (kbps) Range measurement (rate)
4 35 632 154 Hz
5 60 316 118 Hz
6 88 158 80 Hz
7 125 79 50 Hz
8 177 39.5 28 Hz
9 250 19.7 15 Hz
10 354 9.86 8 Hz
61
The RCM allows for data packets to be sent between the two UWB radios. This data
packet can be up to one thousand bytes and can be sent along with each range measurement.
If the UWB radios were to be integrated in with the NovAtel GPS receivers, this data packet
could be used to send the GPS raw measurements from one UWB to the other for di?erential
corrections to be done. The required raw data for the RTK algorithm is the pseudorange,
carrier phase, GPS time stamp, and the carrier to noise ratio of the measurements. This
data is less than the maximum one thousand bytes; however, the ephemeris data must also
be sent for the satellites positions to be calculated. This ephemeris data needs to be sent as
it comes in, which is updated every couple of hours. The ephemeris data can be sent in a
separate data packet than the GPS raw measurements, and if the UWB radio?s update rate
is more than 1 Hz, it can be sent between GPS measurement updates if the GPS receiver
is running at 1 Hz. If the UWB radio is set at 1 Hz, then a measurement update could be
sacrificed at the expense of sending the ephemeris data.
4.2 UWB Experimental Results
To test the accuracy of the UWB ranging measurements, two UWB PulsON 400 radios
were placed at a certain distance apart. The distance between their respective antennas was
measured and recorded. The first test shown had a measured antenna baseline distance of
5926 millimeters. The test was then set to run for over a thousand ranging measurements
to be recorded. The results are shown in Figure 4.4.
Notice that the UWBs show a bimodal distribution of the range measurements. This
is due to the quantization rate of the software in the radios. The UWB radios measure
the time of arrival of the pulse with a quantization of about 61 picoseconds, which when
multiplied by the speed of light will result in a length of approximately 2 centimeters between
measurements. This can be seen in the histograms, which are shown in Chapter 5.
The quantization could be changed to result in a reduced sampling time with a firmware
change, but reducing the quantization time would come at the expense of the update rate.
62
Figure 4.4: UWB range measurements with measured baseline (left) with closeup (right)
The update rate with the UWBs provided was approximately 30 Hz, which was much faster
than the 1 Hz update rate of the GPS receivers. There is also an inherent error in the UWBs
due to a timing jitter, which has a standard deviation of approximately 0.5 millimeters.
The smallest quantization possible with the UWBs is about 1.92 picoseconds. By ad
justing the firmware to scan at this quantization rate would increase the time delay by a
factor of approximately 30. Using a pulse integration index of 128 pulses per symbol would
result in about 20 milliseconds per ranging measurement. Multiplying the factor of 30 by
this 20 milliseconds results in 600 milliseconds, which represents the minimum time required
at the highest resolution currently possible with the UWB radios.
However, results from experimental testing done in the lab at Time Domain have shown
that when scanning with a 1.92 picosecond resolution, the standard deviation of the actual
quantization is between 68 picoseconds. Because the timing jitter of the radios is about 6
picoseconds, the resolution should be set to 6 picoseconds to balance out the timing jitter,
which results in about 200 milliseconds per UWB range measurement. Since this timing
jitter e?ects both the transmission and reception, it will a?ect the range conversation twice,
resulting in an overall timing jitter of approximately 8 picoseconds. At this quantization
time, the resulting error will be approximately 2.4 millimeters; but because the timing jitter
63
has a Gaussian distribution, filtering the measurements could further reduce the error to less
than 2 millimeters.
As can be seen in Figure 4.4 around the 1000th measurement, there is a large jump
in the UWB ranging measurements. This is due to an object being placed directly in front
of one of the UWB radio antennas, thus blocking the line of sight between antennas. The
UWBs do not require a direct line of sight, but as can be seen, when something is directly
in front of one of the antennas, the resulting range measurements will be corrupted.
The range between receivers is determined based on when the waveform is received.
This waveform is ideally going to look like a pulse, which would make it easy to calculate
when the pulse is precisely received. However, due to multipath and other errors, it will
often be dicult to approximate this leading edge of the pulse waveform.
An example of a good waveform is shown in Figure 4.5, where the leading edge of the
pulse can be assumed to be around the 20th quantization bit. This waveform represents
what can be expected in good line of sight conditions.
Figure 4.5: Good waveform received by the UWB radio
64
Figure 4.6: Corrupted waveform received by the UWB radio due to multipath
Areceivedwaveformfromthetimewhentheobjectwasblockingoneoftheantennas
is shown in Figure 4.6. As can be seen, it does not look like a pulse and thus the leading
edge of the waveform can be very dicult to approximate, which results in a faulty range
measurement.
4.2.1 UWB Indoor Experimental Results
An indoor experiment was run using two UWB PulsON 400 radios from Time Domain
which would test how the range accuracy degraded as more objects were placed in the line of
sight of the UWB radio antennas. The radios were first placed at a known distance apart and
run with no objects blocking the line of sight between the antennas. Next, 2 centimeter thick
doors were opened one by one to put themselves in the path between the UWB antennas at
equally spaced intervals. The results from this experiment are shown in Figure 4.7. As the
figure shows, it appears to be a linear degradation of the range measurement as the number
of doors are opened. After 8 doors are blocking the line of sight between the UWB antennas,
there is about a 10 centimeter error added to the UWB range measurement.
65
Figure 4.7: UWB range measurement degradation with multiple obstacles
Another indoor experiment was run using the same two UWB PulsON 400 radios from
Time Domain, but this time the UWBs were placed in separate rooms that were two rooms
apart from each other. Because there were multiple walls in between the UWB antennas, a
precise baseline was not able to be measured. The results from this experiment are shown
in Figure 4.8. As the figure shows, there are several di?erent modes that are spaced approx
imately 2 centimeters each. The range measurements vary by approximately 10 centimeters
and average to be a little more than 30 feet apart from each other.
4.2.2 UWB Outdoor Long Baseline Experimental Results
An outdoor experiment was done with a long baseline using two UWB PulsON 400
radios from Time Domain. The experiment was conducted in an open field with good
sky visibility. Two dualfrequency NovAtel Propak GPS receivers and NovAtel Pinwheel
antennas were used in conjunction with the UWBs to get an accurate baseline. The results
for this experiment are shown in Figure 4.9, where the baseline represents the mean of the
RTK relative positioning solution over the duration of the experiment. This can be assumed
correct because the RTK errors are zero mean.
66
Figure 4.8: UWB range measurements from multiple rooms apart
Figure 4.9: UWB range measurements with a long baseline
The histogram of the UWB range measurement errors when compared to the RTK
computed baseline are shown in Figure 4.10. The bimodal nature of the UWB range mea
surements can be seen in the figure, which is due to the 61 picosecond quantization rate of
67
the UWB software. These modes are approximately 2 centimeters apart. The quantization
rate could be lowered to give a better accuracy at the expense of the update rate, as discussed
in Section 4.2.
Figure 4.10: UWB long baseline error histogram
68
Chapter 5
Experimental Results
5.1 Integer Ambiguity O?sets
When the correct integer carrier phase ambiguities have been resolved, the accuracy of
the RTK relative positioning solution is millimeter level. Because cycle slips are a normal
occurrence with the carrier phase measurements, they need to be accounted for and antici
pated. To help get an idea of how accurate the UWB range measurements would need to be
to detect cycle slips or incorrect integer ambiguity fixes, both experimental and simulated
data was analyzed.
The procedure for analyzing the experimental data consisted of first finding a data set
that got an integer carrier phase ambiguity fix for an extended period of time. The data was
then rerun, but this time the ambiguities were manually set based on the results from the
RTK ambiguity fixes. Then one by one, the ambiguities were manually changed to plus or
minus one cycle. The resulting relative positioning solution had an inherent error and was
subtracted from the relative position calculated using the correct integer ambiguities.
For the simulated scenario, a Monte Carlo simulation was run and would calculate the
error that a wrong integer ambiguity fix would cause. This Monte Carlo simulation would
place the satellites at di?erent positions above the user?s position at a distance that a GPS
satellite is normally away from the Earth. Several thousand simulations were run, and the
averages were computed. This simulation was not completely realistic as it did not adhere to
the normal satellite constellations that a user would see. This resulted in very high dilution
of precision numbers, which would result in poor position calculations from the least squares
estimation.
69
Both the experimental and simulated results are shown in Table 5.1. As expected, the
dualfrequency results are better than the singlefrequency results, and also the errors are
increased as the number of satellites are decreased. The simulated results looks about the
same as the experimental results, but really fall apart as the number of satellites gets down
to the minimum number of satellites required. This is probably due to the simulation not
taking into account actual satellite orbits and realistic distributions in the sky. The Monte
Carlo simulation simply randomized the satellite positions in the sky, which would result
in unrealistic satellite constellations and resulting errors caused by the the wrong integer
ambiguities.
Table 5.1: E?ects of single cycle error in carrier phase integer ambiguities
Test 8sats 7sats 6sats 5sats 4sats
L1 (Exp) 2.4014 cm 4.1591 cm 6.327 cm 8.345 cm 53.617 cm
L1/L2 (Exp) 1.9286 cm 2.8375 cm 3.1567 cm 3.9619 cm 13.092 cm
L1 (Sim) 2.2887 cm 3.3273 cm 6.1490 cm 20.374 cm 278.13 cm
L1/L2 (Sim) 0.9919 cm 1.3659 cm 2.1908 cm 4.9335 cm 106.39 cm
Even with 8 satellites, the averaged error caused by an integer fix with one cycle devia
tion is approximately 2 centimeters, which is about what the UWB range errors are with the
current quantization time of about 61 picoseconds. This quantization time could be reduced
at the expense of update rate, but even at its slowest update rate will still suce for a GPS
receiver with an update rate of 1 Hz. Because the errors are much higher when the number
of satellites is lower, the UWB could perform better in areas with low sky visibility, such as
in the woods or in urban areas.
5.2 Coupled UWB and GPS Results
For the experiments performed in this section, two dualfrequency NovAtel Propak GPS
receivers with NovAtel Pinwheel antennas were used in conjunction with the PulsON 400
UWB radios from Time Domain. They were placed at two di?erent separation distances,
70
both UWBs having a good line of sight to each other and with both GPS antennas having
good sky visibility. Though the receivers were dualfrequency, for this work only the L1
frequency was analyzed as an attempt to show the advantage of the CLAMBDA method
with lower costing setups.
The results from the first experiment are shown in Figure 5.1, which shows the relative
positioning solutions from both the code and carrier di?erential positioning techniques. As
the figure shows, the code based solution (DGPS) is not as accurate as the carrier based
solution, though it is still submeter level accurate. The carrier phase di?erential solution
(Fixed RTK) is on the order of centimeters, as well as the UWB range measurements. The
lower precision of the floating value ambiguity solution (Float RTK) is shown, but it is still
more accurate and consistent than the code based di?erential solution.
Figure 5.1: Di?erential code and carrier GPS with UWB range measurements for a shorter
baseline with good line of sight
It should be noted that while the plot shown in Figure 5.1 shows the RPVs as a scalar
result, the DGPS, float and fixed RTK solutions are actually the norm of a threedimensional
RPV given in ECEF coordinates. The scalar norm of these threedimensional RPVs is not
to be confused with the onedimensional scalar range measurement that the UWB gives.
71
The research done in this thesis is focused on integrating this onedimensional UWB range
measurement into the CLAMBDA method to aid the resolution of the carrier phase integer
ambiguities, which results in the threedimensional RPV between GPS receivers. The scalar
norm of the RPVs from the DGPS and RTK solutions are plotted with the scalar UWB
range measurements for simplicity.
To get a better perspective of the RTK solution and the UWB measurements, Figure 5.2
shows a zoomed in look of Figure 5.1. As can be seen, the bimodal UWB range measurements
hover around the zero mean error of the RTK solution. The time to first fix for the integer
ambiguities appears to be about 10 seconds, and maintains lock for the duration of the
experiment.
Figure 5.2: Relative position solutions from RTK and the UWB radios
The histogram for the RTK solution and UWB range measurements, shown in Figure
5.3, shows the bimodal distribution of the UWB errors. This again is due to the quantization
rate of the software in the UWB radios. The histogram also shows the Gaussian distribution
of the errors from the RTK relative position solution.
72
Figure 5.3: Histograms of the RTK error (left) and the UWB (right) for a shorter baseline
with good line of sight
The results from the experiment with a longer baseline, but still with a good line of sight
between UWBs and good sky visibility for the GPS antennas, are shown in Figure 5.4. The
results are comparable to the first experiment, with the code di?erential relative positioning
solution submeter and the carrier phase di?erential solution and UWB range measurements
both centimeter level. The bimodal distribution of the UWB range measurements are present
again, and hover around the RTK solution. The float solution is still more precise and
more consistent than the code based di?erential solution, but not quite as accurate as the
fixed integer solution. The time to first fix for the integer ambiguities is longer than with
the shorter baseline at about 20 seconds, but does again maintain lock for the rest of the
experiment.
The histograms of the errors from this experiment are shown in Figure 5.5, and again,
the RTK solution errors show a zero mean, Gaussian distribution while the errors from the
UWB range measurements are bimodal with about a 2 centimeter di?erence in the modes.
73
Figure 5.4: Di?erential code and carrier GPS with UWB range measurements for a longer
baseline with good line of sight
Figure 5.5: Histograms of the RTK error (left) and the UWB (right) for a longer baseline
with good line of sight
5.3 Short Baseline CLAMBDA
To test the CLAMBDA, a short baseline experiment was first conducted. For this
experimental setup, two NovAtel Propaks with NovAtel Pinwheel antennas were used in
74
conjunction with the PulsON 400 UWB radios from Time Domain. Because the zero baseline
experiment is unrealistic in the sense that there is no need for a relative positioning solution
with a zero baseline, a short baseline experiment was conducted to see how well the C
LAMBDA method would work when using the range measurements from the UWB as the
a priori baseline measurement in the CLAMBDA method.
The code and carrier based di?erential solutions, along with the UWB range measure
ments, are shown in Figure 5.6. The code based di?erential solution and the floating value
ambiguity carrier based solution are both submeter, while the integer ambiguity carrier
based solution and the UWB range measurements are both centimeter level. Because it is
a longer baseline and using only one frequency, the time to first fix for the correct integer
ambiguities is about 250 seconds; but once the correct integer ambiguities are resolved, the
RTK solution is able to maintain lock on those ambiguities for the rest of the experiment.
Figure 5.6: Short baseline di?erential code and carrier GPS results with UWB range mea
surements
The robustness of the CLAMBDA was checked using erroneous a priori baseline mea
surements to see how much error in the a priori baseline could be fed into the CLAMBDA
method and it still result in the correct integer ambiguity fixes. The results of this robustness
75
test are shown in Figure 5.7. While the CLAMBDA cannot handle as much error in the
short baseline scenario as it could in the zero baseline scenario, it can still give the correct
integer ambiguities with up to about a 3 centimeter error in the a priori baseline measure
ment. Because the UWB range measurement errors are typically less than 2 centimeters,
they will suce in short baseline scenarios as the a priori baseline measurement as long as
they maintain this level of accuracy.
Figure 5.7: Short baseline RPV error in CLAMBDA method
The UWB range measurements were then run through the CLAMBDA method as the
a priori baseline, and the results are shown in Figure 5.8. Though jumpy at first, the C
LAMBDA is eventually able to lock on to the correct integer ambiguities and maintain lock
for the rest of the experiment.
The CLAMBDA integer ambiguity validation is performed to check when the algorithm
is confident that the correct integer ambiguities have been calculated. The results from this
validation check are shown in Figure 5.9. Based on the results, the algorithm is not nearly as
confident with the CLAMBDA method in the short baseline test as it was in the zero baseline
test. Even though it takes the standard LAMBDA method approximately 250 seconds to lock
76
Figure 5.8: Short baseline CLAMBDA method results using UWB range measurements
on to the correct integer ambiguities, it takes the CLAMBDA method nearly 400 seconds
before it is confident that the correct integer ambiguities have been calculated.
Figure 5.9: Short baseline CLAMBDA integer ambiguity validation
77
5.4 Long Baseline CLAMBDA
For the longer baseline test, two NovAtel Propak dualfrequency GPS receivers with
NovAtel Pinwheel antennas were used with the PulsON 400 UWB radios from Time Domain.
The antennas were placed about 70 meters apart, with good line of sight between the UWB
radio antennas and good sky visibility for the GPS antennas.
The code and carrier based di?erential positioning solutions are shown in Figure 5.10.
For this experiment, both the L1 and L2 frequencies were used to compute the fixed integer
carrier phase ambiguities because the single frequency wasn?t able to lock on to the integer
ambiguities in the length of time of the experiment. As can be seen in the figure, it takes
about 20 seconds for the time to first fix of the integer ambiguities, and remains locked on
to these ambiguities for the remainder of the experiment. Both the code based di?erential
solution and the float carrier based di?erential solution are submeter level accurate for the
entire run, while the fixed carrier based di?erential solution is centimeter level once the
ambiguities are resolved. The UWB range measurements are also centimeter level for the
entire run.
The ratio from the top two integer ambiguity candidates using only the L1 frequency
is plotted in Figure 5.11. As can be seen, when the tolerance for the ratio test is set at 3,
then the algorithm is not confident it has found the correct integer ambiguities until about
20 seconds into the experiment. Once the ratio has reached the minimum of 3, it is able to
maintain a ratio higher than 3 for the duration of the experiment.
If the ratio test were to be ignored and the first integer ambiguity candidate set was
chosen, then the RPVs for both the single and dualfrequency scenarios would be as shown
in Figure 5.12. As can be seen, the dualfrequency solution starts o? with an RPV about 30
centimeters o? of the correct RPV but is quickly brought down to within centimeters of the
correct solution. The singlefrequency RTK is never able to lock on to the correct integer
ambiguities in the 5 minutes of the experiment.
78
Figure 5.10: Long baseline di?erential code and carrier GPS results with UWB range mea
surements
The results from the CLAMBDA method are shown in Figure 5.13. Because the L1
frequency alone couldn?t resolve the unknown integer ambiguities, the results from the RTK
that used both the L1 and L2 frequencies are shown to give a perspective on the level of ac
curacy of the solutions from the CLAMBDA method, which used only the L1 frequency. As
can be seen from the zoomed in figure, even though the integer ambiguities are never resolved
with the standard LAMBDA method, the CLAMBDA method gives relative positions that
are within 23 centimeters of the dualfrequency fixed carrier phase ambiguities.
When referring back to Figure 2.7, the singlefrequency fixed carrier phase ambiguity
relative position solutions varied by 34 centimeters, while the dualfrequency fixed carrier
phase ambiguity solutions varied by only 23 centimeters. So though the standard LAMBDA
did not resolve the ambiguities in Figure 5.13 using only the L1 frequency, the CLAMBDA
method was still able to give a relative position solution that is almost as accurate as the
dualfrequency solution.
79
Figure 5.11: Long baseline ratio of top two integer ambiguity candidates
Figure 5.12: Long baseline RTK results with no ratio test
80
Figure 5.13: Long baseline singlefrequency CLAMBDA vs dualfrequency fixed RTK
The integer ambiguity validation check was run on the singlefrequency long baseline
data set, and the results are shown in Figure 5.14. From the graph, it appears that the
algorithm is confident for most of the run that the correct integer carrier phase ambiguities
have been resolved; however, the CLAMBDA method was not able to get the correct integer
ambiguities for even a single epoch during the experiment.
Figure 5.15 shows that the CLAMBDA method does give relative distances that are very
close to the standard LAMBDA method solutions from using both the L1 and L2 frequencies,
and much more accurate than the relative distance using the float RTK solution. This is
due to the baseline constraint that looks for integer candidates that gives an RPV that is
close to the a priori baseline. However, just because the magnitude of the RPV is close to
the a priori baseline does not guarantee that the x, y, and z components of the RPV are
close to the actual components.
81
Figure 5.14: Long baseline CLAMBDA integer ambiguity validation
Figure 5.15: Long baseline CLAMBDA vs ?oat and fixed RTK relative distances
82
A plot of the y and z components of the RPV between GPS receivers is shown in Figure
6. In this plot, the y and z components using the CLAMBDA method are shown with
the y and z components of the RPV from both the float and fixed RTK solutions using the
standard LAMBDA method. As can be seen, the y and z components from the float RTK
solution converge towards those from the fixed RTK solution, but the y and z components
from the CLAMBDA method never converge towards anything and can be more than 2
meters o? the fixed RTK components. So though Figure 5.15 makes it appear that the
CLAMBDA method is more accurate than the float RTK solution, Figure 6 shows that
the float RTK components are more accurate and precise than those from the CLAMBDA
method.
Figure 5.16: Long baseline CLAMBDA vs float and fixed RTK RPV vector components
83
5.4.1 UWB Range Measurement as Validation for RTK Integer Fix
As demonstrated in Section 5.1, an integer ambiguity o?set will lead to a bias of several
centimeters. With this knowledge, the UWB range measurements could potentially be used
to validate the RTK integer carrier phase ambiguities before the ratio test is passed. Using
the same experimental data described in Section 5.4, this method was used on the fixed
integer carrier phase ambiguities that the RTK algorithm calculated. If the relative posi
tion calculated between the two GPS receivers was within 1 centimeter of the UWB range
measurements, then those integer ambiguities were deemed to be the correct integers.
As can be seen in Figure 5.17, while the RTK method took about 20 seconds to pass the
ratio test, the calculated integer ambiguities were actually within 2 centimeters of the UWB
range measurements from the start of the test. However, once the ratio test is passed, it can
be seen that the integer carrier phase ambiguities are di?erent than the ones that passed the
UWB range measurement validation test at the beginning of the test.
Figure 5.17: Validation of integer ambiguities using UWB range measurements
84
Even though the wrong integer fix still gives a relative position solution within 1 cen
timeter of the correct integer ambiguities, as shown in Figure 5.17, this is not always the
case. Figure 5.18 shows what can happen when a wrong integer ambiguity combination is
locked on as the correct integer ambiguities. This figure uses the same dataset as before,
but starts the experiment 3 seconds later. This results in a di?erent integer combination
than before that also passes the UWB validation test. As can be seen, even in a relatively
short period of time, the relative position solution can degrade severely. The reason that the
wrong combination of integer ambiguities in Figure 5.18 cause the RPV to drift while the
wrong combination of integer ambiguities in Figure 5.17 stay relatively stable is due to the
satellite geometry. Certain combinations of integer ambiguities will rely on certain satellites
more than others, and as the satellite geometry changes, the RPV will adjust accordingly.
Figure 5.18: E?ects of having a wrong integer fix
The carrier phase integer ambiguity combinations used in Figures 5.17 and 5.18 are
shown in Table . The ?Ratio test passed? integer ambiguities are ambiguities from when
the ratio gets above the ratio tolerance. The ?UWB validation? integer ambiguities are the
ambiguities that gave the ?RTK (validated)? solution in Figure 5.17. The ?Alternate UWB
85
validated set? are the integer ambiguities that gave the ?RTK (validated)? solution in Figure
5.18. All three integer ambiguity combinations are very similar, which goes to show how even
aslightlywrongintegercombinationcanbedetrimentaltotherelativepositionsolution.
Table 5.2: Carrier phase integer ambiguity combinations used in Figures 5.17 and 5.18
Ratio test passed UWB validation Alternate UWB validated set
12 10 9
376410 376409 376409
376443 376442 376440
376414 376414 376413
376378 376377 376377
65 4
294365 294364 294364
294342 294342 294341
294351 294351 294350
294332 294331 294331
86
Chapter 6
Conclusions
The goal of this thesis was to research the feasibility of integrating UWB range mea
surements into the CLAMBDA method as the a priori baseline measurement using only
the L1 frequency observation measurements. Several aspects had to be examined to see if
this was possible. First, the accuracy of the UWB range measurements was examined. Next,
the accuracy required for the a priori baseline in the CLAMBDA was examined. Finally,
the UWB range measurements were used as the a priori baseline measurement in the C
LAMBDA method. Integrating UWB range measurements into the CLAMBDA method as
the a priori baseline measurement has several potential advantages. Some of the advantages
include adding robustness to the LAMBDA method or reducing the time to first fix of the
integer ambiguities.
As Figure 5.7 shows, the accuracy of the a priori baseline measurement could have
about 3 centimeters of error and the CLAMBDA method would still give the correct integer
fixes at a baseline of almost 20 meters. Using the UWB range measurements in the C
LAMBDA method did result in the correct integer ambiguities, as shown in Figure 5.8;
however, determining if the correct integer ambiguities were resolved is not as definitive as
the ratio test. This was shown in Figure 5.9. Whereas the ratio test has not been shown to
lock on to incorrect ambiguities, the probability based integer ambiguity validation method
of the CLAMBDA has shown to resolve the wrong integer ambiguities, and also shown little
confidence even when the correct integer ambiguities were found.
While the CLAMBDA method did show that it could resolve the correct integers with
both a zero baseline and a baseline of about 20 meters, the CLAMBDA did not appear to
work as well at longer baselines upwards of 50 meters. This was examined in Section 5.4.
87
This section shows that even though the magnitude of the RPV is very close to the dual
frequency RTK solution, the x, y, and z vector components of the RPV between receivers
can be several meters o? the actual distances, as shown in Figure .
Another option that was considered was using the UWB range measurements as a
way to validate the integer ambiguity candidates that the standard LAMBDA gives. This
was examined in Section 5.4.1. As Figures 5.17 and 5.18 show, a wrong integer ambiguity
combination can lead to an RPV that is within centimeters of the actual RPV between GPS
antennas. With the noise of the RPV from a correct integer ambiguity fix being about 2
centimeters, as shown in Figure 2.7, validating the integer ambiguities based on the RPV
solution it creates does not work and will lead to incorrect integer ambiguity combinations.
Another disadvantage of the CLAMBDA method is that it adds a computational bur
den, which may be dicult to implement in realtime applications and may be overly bur
densome. The CLAMBDA method takes about five times as long to run as the standard
LAMBDA method, which is shown in Table 3.2. This is due to the irregularly shaped search
space that the a priori baseline measurement creates.
In conclusion, the UWB range measurements can be used as the a priori baseline mea
surement in the CLAMBDA method; however, the CLAMBDA method does not work as
well at longer baselines and it is more dicult to determine if the correct integer ambiguities
have been chosen when compared to the ratio test in the standard LAMBDA method. Also,
due to di?erent combinations of integer ambiguities leading to relative distances within cen
timeters of the correct relative distance, using the UWB range measurements to validate the
integer ambiguity candidates can lead to wrong integer combinations.
6.1 Future Work
There are several further steps to be taken with this research. The UWB radios could
be programmed specifically for GPS applications. The tradeo? with UWBs is that you
88
can increase the accuracy at the expense of decreasing the update rate. For most non
GPS applications, the accuracy isn?t as important as the faster update rates. But with
GPS receivers commonly logged at a 1 Hz update rate, the accuracy of the UWB range
measurements can be significantly improved while still maintaining the required 1 Hz update
rate of the GPS receiver. With the higher accuracy from the UWBs, the CLAMBDA method
should be able to perform more smoothly as the a priori baseline measurement will be more
accurate and precise.
Also, because this work was exploring the algorithms and data, implementing this is in
realtime was not examined. However, some GPS applications, such as a leaderfollower sce
nario, would require a realtime implementation of these algorithms and techniques. Trans
ferring the MATLAB code to the C programming language would alleviate much of the com
putational burden and also allow for realtime usage applications. Though the CLAMBDA
method is a computational burden, running it at the 1 Hz update rate of the GPS receiver
was accomplished in MATLAB, so it shouldn?t be an issue in real time running it in C. Also,
even in a scenario with a GPS receiver that had an update rate of 10 Hz, the CLAMBDA
method could still be run at 1 Hz to check every tenth measurement. Future work could be
looking at the di?erent update rates from the UWB, standard LAMBDA, and CLAMBDA
and find the optimal updates of each and what the tradeo? will be.
This research showed that the CLAMBDA method worked well at baselines less than
20 meters, but had diculty fixing the integer ambiguities at longer baselines. To examine
where exactly the CLAMBDA starts to degrade, multiple static datasets could be taking
at increasingly longer baseline intervals. Once the CLAMBDA method starts fixing wrong
integers, the search space could be increased to search for more integer combinations. Also,
the ratio test in the standard LAMBDA method took longer to pass, but would always lock
on to the correct integer ambiguities once the ratio was above the ratio tolerance. However,
the probability based confidence test of the CLAMBDA method would sometimes allow
erroneous integer ambiguity combinations and would sometimes not allow the correct integer
89
ambiguity combinations. This could be research further, as well as developing another way
to test the integer ambiguities that result from the CLAMBDA method.
This work only implemented the L1 frequency observation measurements to appeal to
lower costing setups and applications. However, the L2 frequency observation measurements
could also be added in the CLAMBDA method to examine how the CLAMBDA method
works using singlefrequency versus dualfrequency scenarios. Also, the ?search and expand?
approach was used in the CLAMBDA in this thesis, so alternatively the ?search and shrink?
approach could be examined to see if that allows for the CLAMBDA to work at longer
baselines.
An additional issue that would need to be resolved to integrate the UWB successfully
into the CLAMBDA method is the timing of both the devices. The GPS has a pulseper
second (PPS) signal that the UWBs could be synchronized with, which Time Domain is
currently working on doing. With the timing of the UWBs and GPS receivers not perfectly
aligned, only static data was able to be analyzed in this research. If the timing of the
UWBs and GPS receivers were synchronized, then dynamic tests could be done and the
data utilizing the CLAMBDA method could be analyzed.
90
Bibliography
[1] M. Bahrami, and Ziebart, M., ?Instantaneous DopplerAided RTK Positioning with
Single Frequency Receivers?, Position Location and Navigation Symposium (PLANS),
2010 IEEE/ION,pp.7078,May462010.
[2] Kai Borre, Aalborg University. GPS Easy Suite II, A Matlab Companion, Inside GNSS,
pp. 4852, March/April 2009.
[3] Kai Borre et al. ?A SoftwareDefined GPS and Galileo Receiver: A SingleFrequency
Approach?, Birkhauser, Boston, 2007.
[4] R. Brown, Hwang, P., Introduction to Random Signals and Applied Kalman Filtering,
John Wiley and Sons, Third edition, 1997.
[5] P. Buist, P. Teunissen, G. Giorgi, and Verhagen, S., ?Instantaneous MultiBaseline Am
biguity Resolution with Constraints?, Proceedings of the International Symposium on
GPS/GNSS 2008. A. Yasuda (Ed.), Tokyo University of Marine Science and Technology,
pp. 862871, 2008.
[6] P. Buist, ?The Baseline Constrained LAMBDA Method for Single Epoch, Single Fre
quency Attitude Determination Applications?, Proceedings of the Institute of Naviga
tion, GNSS 2007.
[7] P. Buist, P. Teunissen, G. Giorgi, and Verhagen, A., ?Multiplatform Instantaneous
GNSS Ambiguity Resolution for Triple and QuadrupleAntenna Configurations with
Constraints?, International Journal of Navigation and Observation, pp. 114, 2009.
[8] B. Burke, M. Pratt, and Misra, P., ?SingleEpoch Integer Ambiguity Resolution with
GPSGLONASS L1L2 Data?, 1999.
[9] D. Chen, and LaChapelle, G., A Comparison of the FASF and LeastSquares Search
Algorithms for ontheFly Ambiguity Resolution. Journal of the Institute of Navigation,
Summer, vol. 42, no. 2, pp. 371390, Summer 1995.
[10] B. Dewberry, and Beeler, W., ?Increased Ranging Capacity using Ultrawideband
DirectPath Pulse Signal Strength with Dynamic Recalibration?, Position Location and
Navigation Symposium (PLANS), 2012 IEEE/ION, pp. 10131017, April 2326 2012.
[11] J. Doebbler, T. Spaeth, and Valasek, J., ?Boom and Receptacle Autonomous Air Refu
eling Using Visual Snake Optical Sensor?, Journal of Guidance, Control, and Dynamics,
vol. 30, no. 6, pp. 17531769, NovDec 2006.
91
[12] G. Giorgi, P. Teunissen, and Buist, P., ?A Search and Shrink Approach for the Baseline
Constrained LAMBDA Method: Experimental Results?, in Akio Yasuda (ed), Proceed
ings International Symposium GPS/GNSS, Nov 11 2008. Tokyo: Curran Associates.
[13] G. Giorgi, P. Teunissen, and Buist, P., ?A Search and Shrink Approach for the Baseline
Constrained LAMBDA: Experimental Results?, Proceedings of the International Sym
posium on GPS/GNSS 2008. A. Yasuda (Ed.), Tokyo University of Marine Science and
Technology, pp. 797806, 2008.
[14] G. Giorgi, P. Teunissen, S. Verhagen, and Buist, P., ?Improving the GNSS Attitude
Ambiguity Success Rate with the Multivariate Constrained LAMBDA Method?, Pro
ceedings of IAG 2009  Geodesy for Planet Earth Symposium on Mathematical Geodesy
(to be published), Buenos Aires, Argentina, 2009.
[15] D. Grieneisen, Real Time Kinematic GPS for Micro Aerial Vehicles,SemesterThesis,
Swiss Federal Institute of Technology Zurich, 2009.
[16] B. HofmannWellenhof, H. Lichtenegger, and Collins, J., GPS: Theory and Practice,
Fourth Edition ed.: SpringerVerlag, 2001.
[17] M. Hogan, ?Advanced Mission Planning Tool for RealTime Kinematic (RTK) GPS
Surveying?, Geodesy and Geomatics Engineering, no. 211, pp. 480488, October 2001.
[18] S. Huseth, B. Dewberry and McCrosky, R., ?PulsedRF Ultrawideband Ranging for
the GLANSER GPSDenied Emergency Responder Navigation System?, Proceedings
of ION ITM 2011, San Diego, CA, pp. 389396, January 2426, 2011.
[19] Y. Jiang, M. Petovello and O?Keefe, K., ?Augmentation of CarrierPhase DGPS with
UWB Ranges for Relative Vehicle Positioning?, presented at ION GNSS 2012, Nashville,
TN, pp. 15681579, September 1721, 2012.
[20] J. Johnson, and Dewberry, B. ?UltraWideband Aiding of GPS for Quick Deployment
of Anchors in a GPSdenied Adhoc Sensor Tracking and Communications System?,
Proceedings on ION GNSS 2011, Portland, OR, September 1923, 2011.
[21] P. de Jonge, C. Tiberius, and Teunissen, P., ?Computational Aspects of the LAMBDA
Method for GPS Ambiguity Resolution?, Geodetic Computing Centre, Delft University
of Technology .
[22] P. de Jonge, and Tiberius, C., ?The LAMBDA Method for Integer Ambiguity Estima
tion: Implementation Aspects?, LGRSeries, No. 12.
[23] P. Joosten, and Tiberius, C., LAMBDA: Faqs. GPS Solutions, vol. 6, pp. 109114,
November 2002.
[24] D. Karsky, ?Comparing Four Methods of Correcting GPS Data: DGPS, WAAS, LBand,
and Postprocessing?, Technology and Development Program, July 2004.
92
[25] E. Kaplan, and Hegarty, C., Understanding GPS: Principles and Applications. Artech
House, 2006.
[26] R. Langley, ?Dilution of Precision?, GPS World, pp. 5259, May 1999.
[27] M. Lashely, Kalman Filter Based Tracking Algorithms for Software GPS Receivers,
Master?s thesis, Auburn University, December 2006.
[28] H. Lee, and Rizos, C., ?PositionDomain Hatch Filter for Kinematic Di?erential
GPS/GNSS?, IEEE Transactions on Aerospace and Electronic Systems, vol. 44, no.
1, pp. 3040, January 2008.
[29] A. Lenstra, H. Lenstra Jr., and Lovasz, L., ?Factoring Polynomials with Rational Co
ecients?, Mathematische Annalen 261 (4), pp. 515534, 1982.
[30] S. Martin, Closely Coupled GPS/INS Relative Positioning For Automated Vehicle Con
voys, Master?s thesis, Auburn University, May 2011.
[31] G. MacGougan, and O?Keefe, K., ?TightlyCoupled GPS/UWB Positioning?, ICUWB
2009, pp. 381385, September 911, 2009.
[32] G. MacGougan, K. O?Keefe, and Chiu, D., ?Multiple UWB Range Assisted GPS RTK
in Hostile Environments?, ION GNSS, pp. 30203035, September 1619, 2008.
[33] K. Meerbergen, and Tisseur, F., The Quadratic Eigenvalue Problem, em SIAM Review,
vol. 43, pp. 235286, 2001.
[34] P. Misra, and Enge, P., Global Positioning System: Signals, Measurements, and Per
formance , 2nd ed. Lincoln, Massachusettes, USA: GangaJamuna Press, 2006.
[35] G. Opshaug, and Enge, P., ?Integrated GPS and UWB Navigation System: (Motivates
the Necessity of NonInterference)?, IEEE UWBST, pp. 123127, 2002.
[36] B. Parkinson, and Spilker, J., Global Positioning System: Theory and Practice Volume
I, Washington, DC, USA: American Institute of Aeronautics and Astronautics, 1996.
[37] J. Pinchin, GNSS Based Attitude Determination for Small Unmanned Aerial Vehicles,
PhD thesis, The University of Canterbury, March 2011.
[38] J. Pinchin, C. Hide, D. Park, and Chen, X., ?Precise Kinematic Positioning using Single
Frequency GPS Receivers and an Integer Ambiguity Constraint?, Position, Location and
Navigation Symposium, 2008 IEEE/ION, pp. 600605, May 58 2008.
[39] J. Rankin, ?An error model for sensor simulation GPS and di?erential GPS?, Position
Location and Navigation Symposium, 1994., IEEE, pp. 260266, April 1115 1994
[40] P. Teunissen, G. Giorgi, and Buist, P., ?Testing of a new singlefrequency GNSS car
rier phase attitude determination method: land, ship and aircraft experiments?, GPS
Solutions, vol. 15, iss. 1, pp. 1528, January 2011.
93
[41] P. Teunissen, P. de Jonge, and Tiberius, C., ?The Volume of the GPS Ambiguity Search
Space and its Relevance for Integer Ambiguity Resolution?.
[42] P. Teunissen, ?The leastsquares ambiguity decorrelation adjustment: a method for fast
GPS integer ambiguity estimation?, Journal of Geodesy, Springer, vol. 70, pp. 6582,
1995.
[43] P. Teunissen, ?Success probability of integer GPS ambiguity rounding and bootstrap
ping?, Journal of Geodesy, Springer, 72, pp. 606612, 1998.
[44] P. Teunissen, ?Integer LeastSquares Theory for the GNSS Compass?, Journal of
Geodesy, vol. 84, iss. 7, pp. 433447, July 2010.
[45] P. Teunissen, ?GPS and Integer Estimation?, Vakantiecursus 2003, NAW 5/5, no. 1,
pp. 4853, March 2004.
[46] P. Teunissen, and Verhagen, S., ?On the Foundation of the Popular Ratio Test for GNSS
Ambiguity Resolution?, in Proceedings of the 17th International Technical Meeting of
the Satellite Division of the Institute of Navigation ION GNSS 2004,pp.25292540,
2004.
[47] C. Tiberius, and de Jonge, P., ?Fast Positioning Using the LAMBDAMethod?. Proceed
ings of the 4th International Symposium on Di?erential Satellite Navigation System?,
pp. 2428, 1995.
[48] Time Domain, ?Scratching the Niche?, http://www.timedomain.com, April 2012.
[49] Time Domain, ?Time Domain?s Ultra Wideband (UWB): Definition and Advantages?,
http://www.timedomain.com, April 2012.
[50] Time Domain, ?TwoWay Time of Flight Ranging?, http://www.timedomain.com,
April 2012.
[51] Time Domain, ?Tracking Architectures using Two Way Time of Flight Ranging?,
http://www.timedomain.com, April 2012.
[52] S. Verhagen, ?The GNSS Integer Ambiguities: Estimation and Validation?, Netherlands
Geodetic Commission, Delft, January 2005.
[53] W. Travis, Path Duplication Using GPS Carrier Based Relative Position for Automated
Ground Vehicle Convoys, PhD dissertation, Auburn University, May 2010.
[54] B. Wang et al, ?An Integer Ambiguity Resolution Method for the Global Positioning
System (GPS)  Based Land Vehicle Attitude Determination?, Measurement Science
and Technology, vol. 20, no. 7, pp. 19, 2009.
94
Appendix A
Calculation of GPS Receiver Position
The computation of the receiver?s global position begins with an iterative least squares
solution, but first the pseudorange observation measurements must be linearized. To cal
culate the pseudorange between the GPS receiver and a particular GPS satellite, the time
from when the signal was sent and the time the signal is received is di?erenced and multi
plied by the speed of light. Once the pseudoranges have been calculated to each respective
satellite, they are then linearized and run through a least squares iterative process to find
the receiver?s position. This process is described in detail in the following sections. For more
information and details on the derivation of a GPS receiver?s position, see [3].
A.1 GPS Timing
The GPS methodology is entire based around the issue of timing. It begins with the
initial computation of the pseudorange, called this because of its inherent errors. As shown
in Equation (A.1), the signal?s traveling time between satellite 1 and receiver 1, ?
S
1
R
1
,is
calculated by subtracting the time the signal is sent from the satellite, t
S
1
,fromthetime
the signal is received by the GPS receiver, t
R
1
.
t
R
1
t
S
1
= ?
S
1
R
1
(A.1)
Once the signal?s traveling time has been calculated, the pseudorange, P
S
1
R
1
,canbecalculated
by multiplying the traveling time by the speed of light, c, as shown in Equation (A.2).
P
S
1
R
1
= ?
S
1
R
1
?c (A.2)
95
The universal GPS time, t
GPS
,isresetatmidnightbetweenSaturdayandSunday
every week, based on the universal time (UTC). When dealing with the speed of light, even
picoseconds can throw o? a position solution. Because of this, the satellite, S
1
,andreceiver,
R
1
, have inherent clock errors that must be modeled, as shown in Equations (A.3) and (A.4).
t
R
1
= t
GPS
+dt
R
1
(A.3)
t
S
1
=(t
R
1
?
S
1
R
1
)
GPS
+dt
S
1
(A.4)
In hardware receivers, the pseudorange, P
S
1
R
1
,isknownasanobservable,andhencet
S
1
can be computed. After correcting for the satellite clock error, dt
S
1
,thetransmittimecan
be obtained in GPS time.
A.2 Observation Measurement Linearization
To run the pseudorange observation measurements through the least squares algorithm,
they must first be linearized. The pseudorange measurement is broken down in Equation
(A.5), where c is the speed of light, T is the tropospheric error, I is the ionospheric error, ?
is the unknown true range from the satellite to the receiver, and e is the residual errors.
P
S
1
R
1
= ?
S
1
R
1
+c(dt
R
1
dt
S
1
)+T
S
1
R
1
+I
S
1
R
1
+e
S
1
R
1
(A.5)
With this pseudorange, the Earthcentered, Earthfixed (ECEF) range, ?,canbecalculated
by using Equation (A.6).
?
S
1
R
1
=
q
(x
S
1
x
R
1
)
2
+(y
S
1
y
R
1
)
2
+(z
S
1
z
R
1
)
2
(A.6)
The ephemeris data contained in the signal contains information from which the position of
the satellite, (x
S
1
,y
S
1
,z
S
1
), can be calculated.
96
The least squares method is a technique used when there are as many or more mea
surements than unknowns. In this case, there are four unknowns: x
R
1
,y
R
1
,z
R
1
and dt
R
1
.
Because there are four unknowns, at least four di?erent satellites are required to compute
a GPS position solution via the least squares method. Because Equation (A.6) is nonlinear
with respect to the receiver position, it must be linearized before the least squares method
can be implemented. The first step in linearizing this is by choosing an initial position
of the receiver, (x
R
1
,0
,y
R
1
,0
,z
R
1
,0
), usually chosen as the center of the Earth, (0,0,0). The
increments x,y and z are shown in Equations (A.7)  (A.9).
x
R
1
,1
= x
R
1
,0
+x
R
1
(A.7)
y
R
1
,1
= y
R
1
,0
+y
R
1
(A.8)
z
R
1
,1
= z
R
1
,0
+z
R
1
(A.9)
These increments will update the estimated receiver position. The next iteration is based
on the Taylor series expansion of f(x
R
1
,0
+x
R
1
,y
R
1
,0
+y
R
1
,z
R
1
,0
+z
R
1
), as shown in
Equation (A.10).
f(x
R
1
,1
,y
R
1
,1
,z
R
1
,1
)=f(x
R
1
,1
,y
R
1
,1
,z
R
1
,1
)+
f
0
x
R
1
,0
?x
R
1
+
f
0
y
R
1
,0
?y
R
1
+
f
0
z
R
1
,0
?z
R
1
(A.10)
Equation (A.10) shows only the firstorder terms of the Taylor series expansion, which
linearizes the equation to estimate the receiver position. The partial derivatives shown in
Equation (A.10) are shown in Equations (A.11)  (A.13).
f
0
x
R
1
,0
=
x
S
1
x
R
1
,0
?
S
1
R
1
(A.11)
f
0
y
R
1
,0
=
y
S
1
y
R
1
,0
?
S
1
R
1
(A.12)
97
f
0
z
R
1
,0
=
z
S
1
z
R
1
,0
?
S
1
R
1
(A.13)
The pseudorange computed by this linearized observation equation is now shown in Equation
(A.14).
P
S
1
R
1
= ?
S
1
R
1
,0
x
S
1
x
R
1
,0
?
S
1
R
1
,0
?x
R
1
y
S
1
y
R
1
,0
?
S
1
R
1
,0
?y
R
1
z
S
1
z
R
1
,0
?
S
1
R
1
,0
?z
R
1
+errors (A.14)
A.3 Least Squares Position Solution
The formal model for a least squares problem is Ax = b,wherethereisnosolution.In
this equation, A is a matrix with m rows and n columns, and m>n.Thismeansthat
there are more observations, m,thannumberofunknownvariables,n.Thegoalbehindleast
squares is to find a solution for x,whichwillbedenotedas?x,thatminimizestheresidual
errors given by the equation ?e = bA?x.Ifwefindthenormofthiserrorvector,givenby
e
2
=(bAx)
T
(bAx), it results in the sum of squares of the m number of errors. The
normal equation that minimizes this quadratic function is shown in Equation (A.15), and
the error vector is shown in Equation (A.16).
?x =(A
T
A)
1
A
T
b (A.15)
?e = bA?x (A.16)
The variance and covariance matrix for ?x are shown in Equations (A.17) and (A.18), respec
tively.
?
2
0
=
?e
T
?e
mn
(A.17)
?
?x
=
?
2
0
(A
T
A)
1
(A.18)
98
Equation (A.14) can be vectorized and rearranged to fit the required Ax = b form of
the least squares algorithm, as shown in Equation (A.19).
x
S
1
x
R
1
,0
?
S
1
R
1
,0
x
S
1
x
R
1
,0
?
S
1
R
1
,0
x
S
1
x
R
1
,0
?
S
1
R
1
,0
1
!
0
B
B
B
B
B
B
B
B
B
B
@
x
R
1
y
R
1
z
R
1
cdt
R
1
1
C
C
C
C
C
C
C
C
C
C
A
= P
S
1
R
1
?
S
1
R
1
,0
+errors (A.19)
As long as there is the required number of measurements, m 4, then there will be a unique
solution for x
R
1
,1
, y
R
1
,1
and z
R
1
,1
. The equation to solve for these next iterations is
shown in Equation (A.20).
Ax =
0
B
B
B
B
B
B
B
B
B
B
B
@
x
S
1
x
R
1
,0
?
S
1
R
1
,0
x
S
1
x
R
1
,0
?
S
1
R
1
,0
x
S
1
x
R
1
,0
?
S
1
R
1
,0
1
x
S
2
x
R
1
,0
?
S
2
R
1
,0
x
S
2
x
R
1
,0
?
S
2
R
1
,0
x
S
2
x
R
1
,0
?
S
2
R
1
,0
1
.
.
.
.
.
.
.
.
.
.
.
.
x
S
m
x
R
1
,0
?
S
m
R
1
,0
x
S
m
x
R
1
,0
?
S
m
R
1
,0
x
S
m
x
R
1
,0
?
S
m
R
1
,0
1
1
C
C
C
C
C
C
C
C
C
C
C
A
0
B
B
B
B
B
B
B
B
B
B
@
x
R
1
,1
y
R
1
,1
z
R
1
,1
cdt
R
1
,1
1
C
C
C
C
C
C
C
C
C
C
A
= be (A.20)
These iterations are added to the previous receiver position estimates, as shown in Equations
(A.21)  (A.23).
x
R
1
,1
= x
R
1
,0
+x
R
1
,1
(A.21)
y
R
1
,1
= y
R
1
,0
+y
R
1
,1
(A.22)
z
R
1
,1
= z
R
1
,0
+z
R
1
,1
(A.23)
This iterative process is repeated until the iterations are at submeter level. This can take
as few as three iterations, but usually requires about seven iterations to achieve the desired
accuracy.
99
A.4 Dilution of Precision
The covariance matrix previously described, ?
?x
,containsthegeometricqualityofthe
position accuracy. For more information on the derivation of the dilution of precision, see
the work done by [3]. When the visible satellites to the receiver are well spaced out in the
sky, ?
?x
will be smaller and ?x will be more accurate. When the satellites that the receiver sees
are bunched together, the accuracy will be degraded accordingly. Because there have been
four parameters estimated, (x,y,z,cdt), the covariance matrix will be a 4x4 positivedefinite
matrix.
A local coordinate system is introduced with axes parallel to the original coordinate
frame, but with its origin at (?x, ?y,?z). In this coordinate frame, let the point p =(x,y,z)
T
lie on the surface described by the quadratic equation shown as Equation (A.24).
p
T
?
1
?x
p = c
2
(A.24)
If ?
1
?x
is diagonal, then Equation (A.24) can be expressed as Equation (A.25), which clearly
describes an ellipsoid.
x
2
c
2
2
x
+
y
2
c
2
2
y
+
z
2
c
2
2
z
=1 (A.25)
This equation describes the confidence ellipsoid of the point, p.Theprobabilitythatthe
correct position is on the ellipsoidal surface is described by 1?. When 1? =0.95, c
2
is
described by
2
3,(1?)
=7.81, where c is the magnification factor of the confidence ellipsoid.
The value for c is
p
7.81, or 2.80. To improve the probability that the point, p,liesonthe
ellipsoid, the probability, 1?,theaxesoftheconfidenceellipsoid,orthevalueofc may
be increased.
100
The calculation of the dilution of precision (DOP) starts with the covariance matrix of
Equation (A.20), as shown in Equation (A.26).
?
ECEF
=
0
B
B
B
B
B
B
B
B
B
B
@
2
x
x,y
x,z
x,cdt
y,x
2
y
y,z
y,cdt
z,x
z,y
2
z
x,cdt
cdt,x
cdt,y
cdt,z
2
cdt
1
C
C
C
C
C
C
C
C
C
C
A
(A.26)
The transformation matrix, F,canbeusedtotransform?
ECEF
into a local, (east, north,
up), coordinate frame. According to the law of covariance propagation, the new covariance
matrix, ?
enu
, is shown in Equation (A.27), with S being the 3x3 matrix shown in Equation
(A.26).
?
enu
=
0
B
B
B
B
B
B
@
2
e
e,n
e,u
n,e
2
n
n,u
u,e
e,n
2
u
1
C
C
C
C
C
C
A
= F
T
SF (A.27)
There are several variations of the dilution of precision, such as the geometric (GDOP),
horizontal (HDOP), position (PDOP), time (TDOP), and (VDOP). These values are shown
in Equations (A.28)  (A.32).
GDOP =
v
u
u
t
2
e
+
2
n
+
2
u
+
2
cdt
2
0
(A.28)
HDOP =
s
2
e
+
2
n
2
0
(A.29)
PDOP =
s
2
e
+
2
n
+
2
u
2
0
(A.30)
TDOP =
cdt
0
(A.31)
VDOP =
u
0
(A.32)
101
All of these DOP values are dimensionless, and give the approximate position error when
multiplied by the expected range errors of the receivers. Because the satellite constellation
is the determining factor of how high or low the DOP is, knowledge of this information can
be useful for certain applications. It has been shown that a DOP that gives a good position
solution comes when the PDOP <5andthereareatleastfivevisiblesatellites.Formore
information on the dilution of precision, see [26].
102
Appendix B
The LAMBDA Method
The theory and calculations that go on behind the scenes in the least squares ambi
guity decorrelation adjustment (LAMBDA) method aren?t very trivial. The linear algebra
methodology that it uses will be described in detail, and a numerical example will also be
included to help visualize what is going on in the LAMBDA method. For the unconstrained
model, the standard LAMBDA method can be used; but when using the baseline constrained
model, it helps to be able to know what exactly the LAMBDA method is doing and why it
works. In [2], the LAMBDA method is decomposed to show what exactly it does, along with
showing a short, numerical example to better help visualize the calculations being done.
B.1 Linear Algebra Methodology in the LAMBDA Method
Equation (B.1) shows linear algebra model, where y is the double di?erenced measure
ment observations, b is the three components of the baseline, and a is the carrier phase
ambiguities.
?
BA
?
0
B
B
@
b
a
1
C
C
A
= y +errors (B.1)
The normal equations of this model are shown in Equation (B.2).
0
B
B
@
B
T
BB
T
A
A
T
BA
T
A
1
C
C
A
0
B
B
@
?
b
?a
1
C
C
A
=
0
B
B
@
B
T
A
T
1
C
C
A
y (B.2)
103
The formal solution of Equation (B.2) is shown in Equation (B.3), where ?a is the floating
value estimation of the ambiguities.
0
B
B
@
?
b
?a
1
C
C
A
=
0
B
B
@
B
T
BB
T
A
A
T
BA
T
A
1
C
C
A
1
0
B
B
@
B
T
A
T
1
C
C
A
y =
0
B
B
@
Q
?
b
Q
?
b?a
Q
T
?
b?a
Q
?a
1
C
C
A
0
B
B
@
B
T
A
T
1
C
C
A
y (B.3)
Because the ambiguities are known to be integers, the goal is to find the integer solution of
Equation (B.3), which will be denoted ?a.Thisisaccomplishedbysolvingtheminimizing
function shown as Equation (B.4).
(?aa)
T
Q
1
?a
(?aa)=minimum. over integer vectors, a (B.4)
Once the integer ambiguities, ?a,havebeenfound,thefloatbaselinesolution,
?
b,mustbe
adjusted to account for the new ambiguities to give the fixed baseline solution,
?
b.Tofind
?
b,
the bottom row of Equation (B.3) is multiplied by Q
?
b?a
Q
1
?a
and the result is subtracted from
the top row, as demonstrated in Equation (B.5).
0
B
B
@
?
bQ
?
b?a
Q
1
?a
?a
?a
1
C
C
A
=
0
B
B
@
Q
?
b
Q
?
b?a
Q
1
?a
0
Q
T
?
b?a
Q
?a
1
C
C
A
0
B
B
@
B
T
A
T
1
C
C
A
y (B.5)
The top row of Equation (B.5) yields Equation (B.6), of which the right side of the equation
is both known and constant.
?
bQ
?
b?a
Q
1
?a
?a =(Q
?
b
Q
?
b?a
Q
1
?a
)B
T
y (B.6)
If the float ambiguity term, ?a,ischangedtorepresentthefixedambiguityterm,?a,then
the float baseline term,
?
b,mustalsobechangedtorepresentthefixedbaseline,
?
b.Thisis
shown in Equation (B.7), which can then be transformed into Equation (B.8), from which
?
b
104
can be solved.
?
bQ
?
b?a
Q
1
?a
?a =
?
bQ
?
b?a
Q
1
?a
?a (B.7)
?
b =
?
bQ
?
b?a
Q
1
?a
(?a?a) (B.8)
B.1.1 Quadratic Integer Least Squares Minimization
The LAMBDA method starts o? working as most other least squares techniques by
solving Equation (B.3), which gives the float solution, ?a,anditscovariancematrix,Q
?a
.
Here, the LAMBDA method diverges from standard least squares techniques because the
ambiguities must be integers. This problem is shown in Equation (B.9), in which I has
replaced a to put emphasis on the fact that this must be an integer vector.
minimize (I
?
I)
T
Q
1
?
I
(I
?
I) over integer vector I (B.9)
In the special case that Q
1
?
I
is a diagonal matrix, each component in
?
I can simply be
rounded to the nearest integer. This is because the components become uncoupled when Q
1
?
I
is diagonal. This now becomes a quadratic which is purely a sum of squares ?(Q
1
?
I
)
jj
(I
j
?
I
j
)
2
. The minimum of this equation is solved by making each term as small as possible, and
in the case of the diagonal Q
1
?
I
comes from rounding each term in
?
I
j
to the nearest integer.
However, in real GPS applications, this Q
1
?
I
matrix will never be diagonal. In fact,
due to the double di?erencing of the observation measurements, these o? diagonal terms of
Q
1
?
I
are highly correlated. In applications with a good sky visibility, the number of common
satellites can hover around 10, which means that the number of integer ambiguities we are
solving for is 20. Searching for the integer minimizer using standard search procedures would
be highly inecient and a computational burden. Theoretically, the search procedure could
be made more e?ective by somehow decorrelating these float ambiguities. This is what the
LAMBDA method attempts to do. It was created by Peter Teunissen in 1993 and is still
widely accepted to be the best method for solving the integer ambiguities.
105
The first step in this decorrelation process is to transform Q
?
I
into a similar matrix
but with its o? diagonal terms much smaller. This is because the o? diagonal terms of Q
?
I
represent the correlation between float ambiguities. To start this transformation, the LDL
T
decomposition of the covariance matrix is computed, as shown in Equation (B.10).
Q
?
I
= LDL
T
(B.10)
By using a series of integer Gaussian transformations and permutations, a matrix of integers,
Z,canbeformedfromL.ThegoalofthisZ matrix is to make Q
?
I
as diagonal as possible.
This is shown in Equation (B.11).
Q?
I
= Z
T
Q
?
I
Z (B.11)
The search for the minimizer, as shown in Equation (B.4), is now a search of the integers
I.ThisnewminimizationequationisshownasEquation(B.12).
(
?
I I)
T
Z
T
Q
1
?
I
Z(
?
I I)=minimum (B.12)
Based on the idea of lattice basis reduction, the first choice of Z is based on eliminating
integers starting with the first row in L.Thisinvolvesseveralrowexchanges,andhence,
Z will not be triangular. This algorithm is sometimes referred to as L
3
and is described in
detail in [29]. The result of this search is the integer ambiguities,
?
I,andisthentransformed
back into the ambiguity coordinate frame, as shown in Equation (B.13).
?
I =(Z
1
)
T
?
I (B.13)
It should be noted that both Z and Z
1
must be contained with only integer values. Ac
cording to Cramer?s rule, this means that det(Z)=1.Thisconditionofthedeterminantof
106
Z means that the Z transformation will preserve the initial search volume. Although the
search volume is maintained, the shape of the search space has been transformed from a
highly elongated ellipsoid into a more spherical search space.
B.2 Simple Numerical Example of the LAMBDA Method
Suppose the initial float ambiguities,
?
I,andrespectivecovariancematrix,Q
?
I
,areas
shown in Equation (B.14).
?
I =
0
B
B
B
B
B
B
@
5.45
3.1
2.97
1
C
C
C
C
C
C
A
,Q
?
I
=
0
B
B
B
B
B
B
@
6.290 5.978 0.544
5.978 6.292 2.340
0.544 2.340 6.288
1
C
C
C
C
C
C
A
(B.14)
Ideally, these float ambiguities could be rounded to the nearest integer, but that wouldn?t
take advantage of the information in the covariance matrix. Integer shifts of
?
I are done to
ensure that 1 <
?
I
j
? 1, which results in Equation (B.15) with the remainders of
?
I shown
in Equation (B.16).
0
B
B
B
B
B
B
@
5
3
2
1
C
C
C
C
C
C
A
(B.15)
?
I
rem
=
0
B
B
B
B
B
B
@
0.45
0.10
0.97
1
C
C
C
C
C
C
A
(B.16)
Next, the Q
?
I
is factored into the LDL
T
transformation. The L matrix will be a lower
triangular matrix, while the D matrix will be a diagonal matrix. These L and D matrices
107
are shown in Equation (B.17).
L =
0
B
B
B
B
B
B
@
100
1.065 1 0
0.087 0.372 1
1
C
C
C
C
C
C
A
,D=
0
B
B
B
B
B
B
@
0.090 0 0
05.421 0
006.288
1
C
C
C
C
C
C
A
(B.17)
The initial size of the search space is first calculated to be the norm of the partially
rounded float vector to the float vector in the metric of the covariance matrix. For these
numbers, the search volume is calculated to be
2
=1.245. Using the lattice basis reduc
tion mentioned previously, the integer transformation matrix, Z,adecorrelatedcovariance
matrix, Q?
I
,andthetransformedversionoftheLDL
T
decomposition are computed. These
matrices are shown in Equation (B.18)(B.21).
Z =
0
B
B
B
B
B
B
@
23 1
3 3 1
11 0
1
C
C
C
C
C
C
A
(B.18)
Q?
I
= Z
T
Q
?
I
Z =
0
B
B
B
B
B
B
@
4.476 0.334 0.230
0.334 1.146 0.082
0.230 0.082 0.626
1
C
C
C
C
C
C
A
(B.19)
L
t
=
0
B
B
B
B
B
B
@
100
0.268 1 0
0.367 0.131 1
1
C
C
C
C
C
C
A
(B.20)
D
t
=
0
B
B
B
B
B
B
@
4.310 0 0
01.135 0
000.626
1
C
C
C
C
C
C
A
(B.21)
108
Using the Z matrix, the transformed and shifted ambiguities are shown in Equation
(B.22).
I
s
= Z
T
?
I
r
=
0
B
B
B
B
B
B
@
1.57
2.02
0.35
1
C
C
C
C
C
C
A
(B.22)
The size of the search space volume for the transformed L
t
and D
t
is calculated to
be
2
=1.218. The search space is now shown in Equation (B.23) and aims to find the
minimizing integer ambiguities, I.
(I
?
I)
T
(Z
T
Q
?
I
Z)(I
?
I) ?
2
(B.23)
The search strategy yields the integer ambiguities shown in Equation (B.24).
?
I =
0
B
B
B
B
B
B
@
5
3
4
1
C
C
C
C
C
C
A
(B.24)
Notice that if the float ambiguities in Equation (B.14) had simply been rounded, the integer
ambiguities would be incorrect.
109