Ultra-wideband Radio Aided Carrier Phase Ambiguity Resolution in Real-Time 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: Ultra-wideband Radio, Global Positioning System, Relative Positioning Copyright 2013 by Eric Broshears Approved by David Bevly, Chair, Professor of Mechanical Engineering Song-Yul Choe, Professor of Mechanical Engineering Thaddeus Roppel, Professor of Electrical and Computer Engineering Abstract In this thesis, ultra-wideband radios (UWBs) are integrated into the real-time 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 leader-follower 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 C-LAMBDA method. This thesis uses the UWB range measurements in place of the known baseline in the C-LAMBDA 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 C-LAMBDA 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 family-friendly 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 Baseline-Constrained LAMBDA . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 3.1 C-LAMBDA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 C-LAMBDA Experimental Results . . . . . . . . . . . . . . . 48 3.3.1 Di?erent Ambiguity Resolution Techniques . . . . . . . . . . . . . . . 52 4 Ultra-wideband Radios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 4.1 Ultra-wideband 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 C-LAMBDA . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 v 5.4 Long Baseline C-LAMBDA . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 C-LAMBDA results . . . . . . . . . . . . . . . . . 49 3.4 Zero baseline C-LAMBDA integer ambiguity validation . . . . . . . . . . . . . . 50 3.5 Zero baseline a priori error in C-LAMBDA method . . . . . . . . . . . . . . . . 51 3.6 Zero baseline a priori error in C-LAMBDA method (dual-frequency) . . . . . . 52 3.7 RPVs with an error in the a priori baseline measurement of 3 centimeters in the C-LAMBDA method (dual-frequency) . . . . . . . . . . . . . . . . . . . . . . . 53 vii 4.1 UWB waveform in the time domain (left) and frequency domain (right) [49] . . 57 4.2 UWB TW-TOF 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 close-up (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 C-LAMBDA method . . . . . . . . . . . . . . . . . 76 5.8 Short baseline C-LAMBDA method results using UWB range measurements . . 77 5.9 Short baseline C-LAMBDA 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 single-frequency C-LAMBDA vs dual-frequency fixed RTK . . . . 81 5.14 Long baseline C-LAMBDA integer ambiguity validation . . . . . . . . . . . . . 82 5.15 Long baseline C-LAMBDA vs ?oat and fixed RTK relative distances . . . . . . 82 5.16 Long baseline C-LAMBDA 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 C-LAMBDA 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 C-LAMBDA Constrained LAMBDA C/A Clear/Coarse Acquisition DGPS Di?erential GPS DOP Dilution of Precision DRTK Dynamic Base RTK ECEF Earth-Centered, Earth-Fixed 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 Pseudo-Random 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 TW-TOF Two Way Time of Flight UERE User Equivalent Range Error UWB Ultra-wideband 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 Real-Time 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 millimeter-level 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 signal-to-noise 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 (C-LAMBDA) 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 C-LAMBDA algorithm works for fixed baselines because the antenna baselines are precisely known. Alternatively, this thesis investigates the use of a dynamic, non-exact baseline, such as the range measurements from ultra-wideband (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 time-of-flight. Because the carrier wavelength is approximately 19 centimeters, the accuracy of the UWB is critical if it is to be implemented in the C-LAMBDA 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 mid-1990s as a way to resolve this carrier phase ambiguity to achieve centimeter-level 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 multi-path, 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 tightly-coupled 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 surveying-type 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 one-dimensional UWB range measurements into the C-LAMBDA method to help resolve the integer carrier phase ambiguities, which results in a highly accurate three-dimensional 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 C-LAMBDA 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 Ultra-wideband 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 ultra-wideband radios into the C-LAMBDA 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 cross-correlation characteristics similar to white noise, but are deterministic. These codes are known as pseudo-random 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 1-32. 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 time-of-flight 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 Real-Time 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, centimeter-level 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 centimeter-level 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 line-of-sight (LOS) unit vectors from Receiver 1 to each satellite can be calculated in the Earth-centered, Earth-fixed (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 dual-frequency 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 dual-frequency appli- cations. Single-frequency GPS receivers can also perform these techniques. Though the reliability of using single-frequency receivers for RTK is worse than using dual-frequency receivers, the much lower price of the single-frequency GPS receivers may suce for certain applications. The carrier phase integer ambiguity resolution algorithm operates the same with the single-frequency receivers as it does with the dual-frequency 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 real-time kinematic carrier based di?erential positioning technique, an experiment was set up with two dual-frequency 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 afixedRTKsolutioncanmaintaincentimeter-levelaccuracyconsistently. 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 sub-centimeter, 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.667e-5 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 code-based di?erential solution, float and fixed RTK solutions are shown in Table 2.5. Notice how the code-based di?erential solution (DGPS) is not only sub-meter 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.0042e-5 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 dual-frequency 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 dual-frequency 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 single-frequency data takes much longer to lock on to the correct integer ambiguity solution than it does for the dual-frequency 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 Baseline-Constrained 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 C-LAMBDA 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 single-frequency receivers are shown in Equation (3.4), and the A and B matrices for dual-frequency 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 variance-covariance 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 (C-LAMBDA) method. The C-LAMBDA 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 C-LAMBDA 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|| = 5||b|| 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 single-frequency 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 C-LAMBDA 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 sub-meter, and the carrier based floating solution is also sub-meter and more consistent than the code based solution. The fixed ambiguity RTK solution is sub-centimeter, resolves the integer ambiguities immediately, and maintains lock for the entire 10 minute long experiment. This same data set was run through the C-LAMBDA method and the results are shown in Figure 3.3. As can be seen, the C-LAMBDA 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 epoch-by-epoch, is able to resolve the correct integer ambiguities for the entire run of the experiment. Figure 3.3: Zero baseline fixed RTK and C-LAMBDA 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 C-LAMBDA 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 C-LAMBDA 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 C-LAMBDA integer ambiguity validation Because the C-LAMBDA 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 C-LAMBDA 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 C-LAMBDA method. With the knowledge of the correct integer ambiguity 50 fixes, the percentage of the total correct integer ambiguity fixes that the C-LAMBDA method with the erroneous baseline calculates is determined. The results of this robustness test of the C-LAMBDA are shown in Figure 3.5. As can be seen, the C-LAMBDA 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 C-LAMBDA 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 C-LAMBDA method Using both the L1 and L2 frequencies from the same zero baseline experiment, the robustness of the C-LAMBDA method was test in similar fashion as the single-frequency by increasing the error in the aprioribaseline measurement. As can be seen in Figure 3.6, the dual frequency C-LAMBDA method isn?t as robust to errors in the baseline measurement as the single-frequency. If the error is much larger than 2 centimeters, the C-LAMBDA method quickly falls apart. The reason that the dual-frequency C-LAMBDA is more susceptible to errors in the a priori baseline measurement than the single-frequency 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 C-LAMBDA method (dual-frequency) Once the error is almost 3 centimeters, than the dual-frequency C-LAMBDA 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 C-LAMBDA method (dual-frequency) 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 C-LAMBDA 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 single-frequency 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 C-LAMBDA 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 C-LAMBDA 100 One issue that needs to be accounted for is the computational time of the C-LAMBDA 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 C-LAMBDA 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 C-LAMBDA. 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 post-process in MATLAB; whereas if it were transferred over to C, these times would be drastically reduced. The C-LAMBDA 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 C-LAMBDA methods in MATLAB Technique Computation time per epoch (s) LAMBDA 0.0357 C-LAMBDA 0.1536 55 Chapter 4 Ultra-wideband 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. Ultra-wideband 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 ultra-wide 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 field-programmable gate array (FPGA) logic, allowing flexibility for the innovators to modify the future behavior of the UWBs. 56 4.1 Ultra-wideband Radio (UWB) Technology This ultra-wideband 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 25-100%. 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 pseudo-randomly 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 pseudo-random 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 (TW-TOF) technique. This technique is highly accurate and has a wide variety of applications. This TW-TOF 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 packet-based TW-TOF technique first starts o? with one RCM (the Requester) requesting a range to transmit a long packet consisting of a pseudo-randomly 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 TW-TOF 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 TW-TOF 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 close-up (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 6-8 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 dual-frequency 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 dual-frequency results are better than the single-frequency 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 dual-frequency 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 dual-frequency, for this work only the L1 frequency was analyzed as an attempt to show the advantage of the C-LAMBDA 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 sub-meter 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 three-dimensional RPV given in ECEF coordinates. The scalar norm of these three-dimensional RPVs is not to be confused with the one-dimensional scalar range measurement that the UWB gives. 71 The research done in this thesis is focused on integrating this one-dimensional UWB range measurement into the C-LAMBDA method to aid the resolution of the carrier phase integer ambiguities, which results in the three-dimensional 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 sub-meter 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 C-LAMBDA To test the C-LAMBDA, 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 C-LAMBDA 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 sub-meter, 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 C-LAMBDA was checked using erroneous a priori baseline mea- surements to see how much error in the a priori baseline could be fed into the C-LAMBDA 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 C-LAMBDA 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 C-LAMBDA method The UWB range measurements were then run through the C-LAMBDA 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 C-LAMBDA 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 C-LAMBDA 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 C-LAMBDA method results using UWB range measurements on to the correct integer ambiguities, it takes the C-LAMBDA method nearly 400 seconds before it is confident that the correct integer ambiguities have been calculated. Figure 5.9: Short baseline C-LAMBDA integer ambiguity validation 77 5.4 Long Baseline C-LAMBDA For the longer baseline test, two NovAtel Propak dual-frequency 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 sub-meter 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 dual-frequency scenarios would be as shown in Figure 5.12. As can be seen, the dual-frequency 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 single-frequency 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 C-LAMBDA 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 C-LAMBDA 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 C-LAMBDA method gives relative positions that are within 2-3 centimeters of the dual-frequency fixed carrier phase ambiguities. When referring back to Figure 2.7, the single-frequency fixed carrier phase ambiguity relative position solutions varied by 3-4 centimeters, while the dual-frequency fixed carrier phase ambiguity solutions varied by only 2-3 centimeters. So though the standard LAMBDA did not resolve the ambiguities in Figure 5.13 using only the L1 frequency, the C-LAMBDA method was still able to give a relative position solution that is almost as accurate as the dual-frequency 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 single-frequency C-LAMBDA vs dual-frequency fixed RTK The integer ambiguity validation check was run on the single-frequency 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 C-LAMBDA method was not able to get the correct integer ambiguities for even a single epoch during the experiment. Figure 5.15 shows that the C-LAMBDA 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 C-LAMBDA integer ambiguity validation Figure 5.15: Long baseline C-LAMBDA 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 C-LAMBDA 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 C-LAMBDA 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 C-LAMBDA 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 C-LAMBDA method. Figure 5.16: Long baseline C-LAMBDA 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 C-LAMBDA 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 C-LAMBDA 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 C-LAMBDA 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 C-LAMBDA 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 C-LAMBDA has shown to resolve the wrong integer ambiguities, and also shown little confidence even when the correct integer ambiguities were found. While the C-LAMBDA method did show that it could resolve the correct integers with both a zero baseline and a baseline of about 20 meters, the C-LAMBDA 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 C-LAMBDA method is that it adds a computational bur- den, which may be dicult to implement in real-time applications and may be overly bur- densome. The C-LAMBDA 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 C-LAMBDA method; however, the C-LAMBDA 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 trade-o? 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 C-LAMBDA 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 real-time was not examined. However, some GPS applications, such as a leader-follower sce- nario, would require a real-time 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 real-time usage applications. Though the C-LAMBDA 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 C-LAMBDA 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 C-LAMBDA and find the optimal updates of each and what the trade-o? will be. This research showed that the C-LAMBDA method worked well at baselines less than 20 meters, but had diculty fixing the integer ambiguities at longer baselines. To examine where exactly the C-LAMBDA starts to degrade, multiple static datasets could be taking at increasingly longer baseline intervals. Once the C-LAMBDA 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 C-LAMBDA 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 C-LAMBDA 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 C-LAMBDA method to examine how the C-LAMBDA method works using single-frequency versus dual-frequency scenarios. Also, the ?search and expand? approach was used in the C-LAMBDA in this thesis, so alternatively the ?search and shrink? approach could be examined to see if that allows for the C-LAMBDA to work at longer baselines. An additional issue that would need to be resolved to integrate the UWB successfully into the C-LAMBDA method is the timing of both the devices. The GPS has a pulse-per- 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 C-LAMBDA method could be analyzed. 90 Bibliography [1] M. Bahrami, and Ziebart, M., ?Instantaneous Doppler-Aided RTK Positioning with Single Frequency Receivers?, Position Location and Navigation Symposium (PLANS), 2010 IEEE/ION,pp.70-78,May4-62010. [2] Kai Borre, Aalborg University. GPS Easy Suite II, A Matlab Companion, Inside GNSS, pp. 48-52, March/April 2009. [3] Kai Borre et al. ?A Software-Defined GPS and Galileo Receiver: A Single-Frequency 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 Multi-Baseline 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. 862-871, 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 Quadruple-Antenna Configurations with Constraints?, International Journal of Navigation and Observation, pp. 1-14, 2009. [8] B. Burke, M. Pratt, and Misra, P., ?Single-Epoch Integer Ambiguity Resolution with GPS-GLONASS L1-L2 Data?, 1999. [9] D. Chen, and LaChapelle, G., A Comparison of the FASF and Least-Squares Search Algorithms for on-the-Fly Ambiguity Resolution. Journal of the Institute of Navigation, Summer, vol. 42, no. 2, pp. 371-390, Summer 1995. [10] B. Dewberry, and Beeler, W., ?Increased Ranging Capacity using Ultra-wideband Direct-Path Pulse Signal Strength with Dynamic Recalibration?, Position Location and Navigation Symposium (PLANS), 2012 IEEE/ION, pp. 1013-1017, April 23-26 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. 1753-1769, Nov-Dec 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. 797-806, 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,Semester-Thesis, Swiss Federal Institute of Technology Zurich, 2009. [16] B. Hofmann-Wellenhof, H. Lichtenegger, and Collins, J., GPS: Theory and Practice, Fourth Edition ed.: Springer-Verlag, 2001. [17] M. Hogan, ?Advanced Mission Planning Tool for Real-Time Kinematic (RTK) GPS Surveying?, Geodesy and Geomatics Engineering, no. 211, pp. 480-488, October 2001. [18] S. Huseth, B. Dewberry and McCrosky, R., ?Pulsed-RF Ultra-wideband Ranging for the GLANSER GPS-Denied Emergency Responder Navigation System?, Proceedings of ION ITM 2011, San Diego, CA, pp. 389-396, January 24-26, 2011. [19] Y. Jiang, M. Petovello and O?Keefe, K., ?Augmentation of Carrier-Phase DGPS with UWB Ranges for Relative Vehicle Positioning?, presented at ION GNSS 2012, Nashville, TN, pp. 1568-1579, September 17-21, 2012. [20] J. Johnson, and Dewberry, B. ?Ultra-Wideband Aiding of GPS for Quick Deployment of Anchors in a GPS-denied Ad-hoc Sensor Tracking and Communications System?, Proceedings on ION GNSS 2011, Portland, OR, September 19-23, 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?, LGR-Series, No. 12. [23] P. Joosten, and Tiberius, C., LAMBDA: Faqs. GPS Solutions, vol. 6, pp. 109-114, November 2002. [24] D. Karsky, ?Comparing Four Methods of Correcting GPS Data: DGPS, WAAS, L-Band, 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. 52-59, 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., ?Position-Domain Hatch Filter for Kinematic Di?erential GPS/GNSS?, IEEE Transactions on Aerospace and Electronic Systems, vol. 44, no. 1, pp. 30-40, 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., ?Tightly-Coupled GPS/UWB Positioning?, ICUWB 2009, pp. 381-385, September 9-11, 2009. [32] G. MacGougan, K. O?Keefe, and Chiu, D., ?Multiple UWB Range Assisted GPS RTK in Hostile Environments?, ION GNSS, pp. 3020-3035, September 16-19, 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: Ganga-Jamuna Press, 2006. [35] G. Opshaug, and Enge, P., ?Integrated GPS and UWB Navigation System: (Motivates the Necessity of Non-Interference)?, IEEE UWBST, pp. 123-127, 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. 600-605, May 5-8 2008. [39] J. Rankin, ?An error model for sensor simulation GPS and di?erential GPS?, Position Location and Navigation Symposium, 1994., IEEE, pp. 260-266, April 11-15 1994 [40] P. Teunissen, G. Giorgi, and Buist, P., ?Testing of a new single-frequency GNSS car- rier phase attitude determination method: land, ship and aircraft experiments?, GPS Solutions, vol. 15, iss. 1, pp. 15-28, 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 least-squares ambiguity decorrelation adjustment: a method for fast GPS integer ambiguity estimation?, Journal of Geodesy, Springer, vol. 70, pp. 65-82, 1995. [43] P. Teunissen, ?Success probability of integer GPS ambiguity rounding and bootstrap- ping?, Journal of Geodesy, Springer, 72, pp. 606-612, 1998. [44] P. Teunissen, ?Integer Least-Squares Theory for the GNSS Compass?, Journal of Geodesy, vol. 84, iss. 7, pp. 433-447, July 2010. [45] P. Teunissen, ?GPS and Integer Estimation?, Vakantiecursus 2003, NAW 5/5, no. 1, pp. 48-53, 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.2529-2540, 2004. [47] C. Tiberius, and de Jonge, P., ?Fast Positioning Using the LAMBDA-Method?. Proceed- ings of the 4th International Symposium on Di?erential Satellite Navigation System?, pp. 24-28, 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, ?Two-Way 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. 1-9, 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 Earth-centered, Earth-fixed (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 first-order 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 sub-meter 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 positive-definite 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