GPS/INS Operation in Shadowed Environments Except where reference is made to the work of others, the work described in this thesis is my own or was done in collaboration with my advisory committee. This thesis does not include proprietary or classi ed information. Benjamin J. Clark Certi cate of Approval: George T. Flowers Professor Mechanical Engineering David M. Bevly, Chair Assistant Professor Mechanical Engineering Andrew J. Sinclair Assistant Professor Aerospace Engineering Joe F. Pittman Interim Dean Graduate School GPS/INS Operation in Shadowed Environments Benjamin J. Clark A Thesis Submitted to the Graduate Faculty of Auburn University in Partial Ful llment of the Requirements for the Degree of Master of Science Auburn, Alabama August 9, 2008 GPS/INS Operation in Shadowed Environments Benjamin J. Clark Permission is granted to Auburn University to make copies of this thesis at its discretion, upon the request of individuals or institutions and at their expense. The author reserves all publication rights. Signature of Author Date of Graduation iii Vita Benjamin J. Clark was born in Athens, AL in February 1982. After living with his parents in Neil, AL, the Clark family returned to Athens where his parents still live. After graduating from East Limestone High School in 2000, he began attending Freed-Hardeman University where he met Follin Childs. Benjamin was awarded a B.S. in Mathematics in 2004 from Freed-Hardeman University. Just after their graduation, the couple were married and moved to Opelika, AL where Benjamin began work toward a B.S. in Mechanical Engineering at Auburn University. During these two years, he worked with Dr. David Bevly in the GPS and Vehicle Dynamics Laboratory. Upon completion of his undergraduate education, Benjamin entered graduate school in the summer of 2006. iv Thesis Abstract GPS/INS Operation in Shadowed Environments Benjamin J. Clark Master of Science, August 9, 2008 (B.S., Auburn University, 2006) (B.S., Freed-Hardeman University, 2004) 111 Typed Pages Directed by David Bevly This thesis presents the analysis techniques developed for monitoring GPS signals in harsh shadowed environments such as heavy foliage. It also details a method selected for improved performance by combining raw GPS information with an Inertial Navigation System (INS). Normal GPS operation in shadowed areas su er from position jumps of tens to hundreds of meters. The developed analysis reveals that these errors are due to the quickly changing local errors that cause a GPS receiver to report erroneous position spikes. Monitoring variables for the signal strength and change in multipath are employed to keep track of the environmental e ects on the GPS measurements. A new visualization technique is also developed to qualitatively monitor the environmental e ects. From the visualization technique, the e ects of the shadowing environment are shown to simultaneously a ect the signal strength and multipath. It is shown that foliage cover causes these e ects to occur spontaneously as a signal travels through and around obsta- cles. To mitigate these errors, a GPS/INS closely coupled system is implemented which uses inertial sensors to smooth the erroneous GPS jumps. Introduction of alternative sen- sors allows for integrity monitoring in the form of GPS outlier measurement rejection so v that local environmental e ects can be detected and removed from the navigation solution. The resulting implementation reveals that it is possible to operate in these GPS harsh en- vironments without su ering from the position jumps of tens or hundreds of meters. This implementation allows for navigation in foliage cover comparable to the under ten meter accuracy of standard GPS in clear environments. vi Acknowledgments First and foremost, I am thankful to God for so many opportunities. I am thankful for my wife, Follin, who has put me through school here at Auburn University. I want to acknowledge my family in helping me to make learning a habit and my professors in equiping me with tools to follow that pursuit. vii Style manual or journal used Journal of Approximation Theory (together with the style known as \aums"). Bibliograpy follows van Leunen?s A Handbook for Scholars. Computer software used The document preparation package TEX (speci cally LATEX) together with the departmental style- le aums.sty. viii Table of Contents List of Figures xii List of Tables xiv 1 Introduction 1 1.1 Objectives and Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 Prior Art . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.3 Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.4 Outline of Thesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2 Overview of GPS Position Computation 6 2.1 Nomenclature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.2 Positioning Fundamentals . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.3 Satellites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.3.1 Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.3.2 GPS Control Segment . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.3.3 Ephemeris . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.4 Positioning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 2.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 3 Overview of GPS Errors 27 3.1 Satellite Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.1.1 Errors in Ephemeris Data . . . . . . . . . . . . . . . . . . . . . . . . 28 3.1.2 Satellite Clock Errors . . . . . . . . . . . . . . . . . . . . . . . . . . 29 3.2 Atmospheric Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 3.2.1 Ionospheric Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 3.2.2 Tropospheric Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 3.3 Local Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 3.3.1 Multipath Error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 3.3.2 Receiver Measurement Error . . . . . . . . . . . . . . . . . . . . . . 36 3.4 GPS Observable Error Models . . . . . . . . . . . . . . . . . . . . . . . . . . 37 3.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 4 Shadowed Environments 38 4.1 Environmental Error Monitoring Parameters . . . . . . . . . . . . . . . . . 38 4.1.1 Signal Attenuation Monitoring Parameter . . . . . . . . . . . . . . . 39 4.1.2 Multipath Monitoring Parameter . . . . . . . . . . . . . . . . . . . . 41 ix 4.1.3 Error Visualization for a Single Satellite . . . . . . . . . . . . . . . . 43 4.1.4 Error Visualization for All Satellites in View . . . . . . . . . . . . . 44 4.1.5 Analysis Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 4.2 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 5 Error Mitigation 48 5.1 Di erential Corrections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 5.1.1 Position Di erencing . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 5.1.2 Code Di erencing . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 5.1.3 Carrier Smoothed Code Di erencing . . . . . . . . . . . . . . . . . . 54 5.1.4 Static Comparison of Di erential Methods . . . . . . . . . . . . . . . 55 5.2 Inertial Aiding Sensors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 5.2.1 Coupling Architectures . . . . . . . . . . . . . . . . . . . . . . . . . 57 5.2.2 INS Mechanization Equations . . . . . . . . . . . . . . . . . . . . . . 58 5.2.3 State Vector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 5.2.4 State Dynamics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 5.2.5 State Measurement Relations . . . . . . . . . . . . . . . . . . . . . . 63 5.3 Fault Detection and Exclusion . . . . . . . . . . . . . . . . . . . . . . . . . 67 5.3.1 Normalized Innovation Parameter . . . . . . . . . . . . . . . . . . . 68 5.3.2 FDE Threshold . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 5.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 6 Results 71 6.1 Pseudorange Calculated Position . . . . . . . . . . . . . . . . . . . . . . . . 71 6.2 Closely Coupled Implementation Results . . . . . . . . . . . . . . . . . . . . 75 6.3 Closely Coupled with FDE Implementation Results . . . . . . . . . . . . . . 76 6.4 Comparison of Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 6.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 7 Conclusion 82 7.1 Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 Bibliography 85 Nomenclature 88 A Coordinate Frames and Transformations 90 A.1 Coordinate Frames . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 A.1.1 Earth-Centered Inertial (ECI) Frame . . . . . . . . . . . . . . . . . . 90 A.1.2 Earth-Centered Earth-Fixed (ECEF) Frame . . . . . . . . . . . . . . 91 A.1.3 Navigation Frame . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 A.1.4 Body Frame . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 A.1.5 Orbit Frame . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 x A.1.6 Satellite Frame . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 A.2 Coordinate Transformations . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 A.2.1 Coordinate Transformation Matrix . . . . . . . . . . . . . . . . . . . 95 A.3 ECEF and Geodetic Coordinates . . . . . . . . . . . . . . . . . . . . . . . . 96 xi List of Figures 1.1 NovAtel Reported Position in Shadowed Environment . . . . . . . . . . . . 2 2.1 ECEF User Position . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.2 GPS Orbital Planes [20] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.3 Orbit Angles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.4 Position Using Least Squares Estimate . . . . . . . . . . . . . . . . . . . . . 23 2.5 Position Using Weighted Least Squares Estimate . . . . . . . . . . . . . . . 25 3.1 GPS Ephemeris Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 3.2 Atmospheric Layers [3] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 3.3 Typical Klobuchar Ionosphere Model [25] . . . . . . . . . . . . . . . . . . . 33 3.4 Ionospheric Obliquity Factor Model [25] . . . . . . . . . . . . . . . . . . . . 33 3.5 Three Multipath Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 4.1 Illustration of GPS Signal Shadowing Due to Foliage . . . . . . . . . . . . . 39 4.2 Static Data Collection Location . . . . . . . . . . . . . . . . . . . . . . . . . 44 4.3 Single Satellite Error Visualization . . . . . . . . . . . . . . . . . . . . . . . 45 4.4 Aerial View of Static Data Location . . . . . . . . . . . . . . . . . . . . . . 46 4.5 All-In-View Satellite Error Visualization . . . . . . . . . . . . . . . . . . . . 46 5.1 Common Satellite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 5.2 Single Di erence Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 5.3 Two Common Satellites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 xii 5.4 Method Comparison . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 5.5 Coupling Architectures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 5.6 Fault Detection and Exclusion Threshold Selection . . . . . . . . . . . . . . 69 6.1 Dynamic Path . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 6.2 Clear Sky and Heavy Foliage Environments Along Dynamic Path . . . . . . 73 6.3 Pseudorange Calculated Positions . . . . . . . . . . . . . . . . . . . . . . . . 74 6.4 Zoom on Pseudorange Calculated Positions . . . . . . . . . . . . . . . . . . 74 6.5 Zoom on Closely Coupled Positions . . . . . . . . . . . . . . . . . . . . . . . 76 6.6 Comparison of Closely Coupled and Pseudorange Solutions . . . . . . . . . 77 6.7 Comparison of Closely Coupled with FDE and Pseudorange Solutions . . . 77 6.8 Normalized Innovations Over Entire Path . . . . . . . . . . . . . . . . . . . 78 6.9 Normalized Innovations Over Zoom Segment . . . . . . . . . . . . . . . . . 78 6.10 Overlay of Positioning Methods In Heavy Foliage . . . . . . . . . . . . . . . 79 6.11 Overlay of Positioning Methods In Clear Sky . . . . . . . . . . . . . . . . . 80 6.12 Overlay of Positioning Methods In Light Foliage . . . . . . . . . . . . . . . 80 A.1 Earth-Centered Inertial (ECI) Frame . . . . . . . . . . . . . . . . . . . . . . 91 A.2 Earth-Centered Earth-Fixed (ECEF) Frame . . . . . . . . . . . . . . . . . . 92 A.3 Navigation Frame . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 A.4 Body Frame . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 A.5 Orbital Plane With Respect To Equatorial Plane . . . . . . . . . . . . . . . 94 A.6 Orbit Frame . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 xiii List of Tables 2.1 Navigation Message Subframes . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.2 Clock and Ephemeris Parameters . . . . . . . . . . . . . . . . . . . . . . . . 14 2.3 Receiver Parameters from [24] . . . . . . . . . . . . . . . . . . . . . . . . . . 25 3.1 GPS Standard Error Budget [27] . . . . . . . . . . . . . . . . . . . . . . . . 27 4.1 Frequency-Lock-Loop Parameters from [36] . . . . . . . . . . . . . . . . . . 40 5.1 System Noise Covariance Matrix Values . . . . . . . . . . . . . . . . . . . . 63 xiv Chapter 1 Introduction 1.1 Objectives and Motivation The Global Positioning System (GPS) is gaining increased attention since reaching its full operational capability (FOC) in 1995 [21]. Although the system was designed for a user to navigate with a budget under $10,000, user equipment prices have currently dropped below the $100 mark and are continuing to drop as more capable computing resources are developed. Currently GPS navigation capabilities are found on aircraft, automobiles, cell phones, pets, and most any mobile user. These increasing navigation capabilities are leading to further advances in other elds. One such eld is autonomous vehicle control, as can be seen by the use of GPS in the Darpa Grand Challenges [33]. With the global nature and long-term stability of GPS, such applications bene t from its use in being able to locate and orient a user accurately, consistently, and cheaply. However, even with its prevalence and wide acceptance, there are certain applications for which stand-alone GPS does not meet the necessary performance requirements. One of these is navigation in signal-harsh environments such as areas around many tall buildings (urban canyon) or heavy tree cover. Much work has been done in investigating GPS oper- ation in urban canyon environments, but signi cantly less has been done in evaluation of GPS operation in foliage cover. These foliage environments are described in the literature as shadowed environments and pose some unique di culties to GPS operation [18]. An example of this operation is shown in Figure 1.1. This plot shows the position solutions reported by a NovAtel DL-3V GPS receiver in a rural subdivision with moderate foliage 1 cover. As can be observed, inaccurate position jumps of tens of meters can be seen as the receiver tries to operate in this signal-harsh environment. Figure 1.1: NovAtel Reported Position in Shadowed Environment It is noted that such operation could lead to serious failures in a control system that uses such positions as the total navigation solution. Thus, the objective of this research is to analyze the cause of this performance degradation as well as ways to lessen its impact. The goal is a highly reliable system that performs well even in the aforementioned di cult environments. 1.2 Prior Art Analysis of GPS operation has been investigated by several sources. Each of these studies had its own individual focus and target application. The use of GPS in measuring lengths of movement data was investigated in [10]. Here it was observed that the forest 2 canopy e ects on GPS caused more position jumps and therefore a longer traveled distance was reported. Positioning errors were attributed to the canopy?s interference with the satel- lite pseudoranges. Various forest cover types were studied in [38] with respect to their e ect on GPS accuracy. In [16] a signal interruption probability (SIP) parameter was investigated in di erent forest conditions which was found to be related to the accuracy of carrier-phase di erential operation in these environments. The link between integer ambiguity resolution and the SIP parameter was the main focus while the main e ect monitored was the total loss of satellite tracking. In [30] the position dilution of precision (PDOP) value was investi- gated as a monitoring variable for operation in foliage environments. However, it was found that this geometry-based variable was not a good indicator of performance since a satellite that provided a good PDOP could be erroneous enough to make a solution worse than if it were ignored. In work done by Lachapelle, the multipath e ect was studied as the main error source in foliage environments [22]. This work compares performance in foliage areas due to narrow or wide correlator spacing. This spacing corresponds to a receiver?s ability to reject multipath, which is a large error contributor in these environments. A method for visualizing the multipath as a function of a satellite?s azimuth and elevation was given in [17]. This technique yields impressive images describing the correlation of multipath over various regions around the receiver. In order to operate in the foliage conditions, sensor integration has been investigated. A method proposed in [5] used a loosely coupled sensor fusion approach with GPS, gyro- scope, encoders, and compass. This operation was implemented on a system with a human operator. To provide an increase in accuracy, a type of terrain-referencing was used by the operator of the robot. Steps were also taken to adjust the weighting on the measurements 3 through the measurement covariance matrix when jumps in the GPS solution occurred using a two meter threshold for detection. 1.3 Contributions This thesis develops a detailed analysis of errors experienced by GPS users in shad- owed environments. These errors include not only loss of tracking on the satellites but also their degradation even while still being available. This analysis includes the use of error monitoring variables capable of accurately describing the harsh e ects of the foliage environment. A new visualization mechanism is also presented that allows for correlations between these monitoring variables to be qualitatively observed. With this analysis, system design conclusions are drawn for simplifying the implementation of a system to navigate in shadowed environments. Also given are the details of an implemented system which combines GPS/INS cou- pling with an outlier rejection scheme. The coupling allows for continuous operation and more consistent results than stand-alone GPS. The rejection algorithm is a method of fault detection and exclusion (FDE) that increases the robustness of the navigation solution. 1.4 Outline of Thesis Chapter 2 describes some background in GPS operation used throughout this thesis. Details are presented of how measurements are generated and how these measurements are used to calculate user position. Chapter 3 describes common errors that a ect this solution experienced by all GPS users. These common errors arise from various sources and con- tribute to the overall error in the GPS measurements. Chapter 4 describes the shadowed 4 environment and the errors speci c to such environments. The error monitoring variables are described and derived for analyzing the e ectiveness of GPS in these environments. Then the visualization scheme is described and utilized for the improved navigation system design. Chapter 5 describes several error mitigation algorithms including di erential opera- tion and coupling with an inertial navigation system (INS). This chapter also describes the FDE algorithm used for systematic outlier rejection. Chapter 6 presents the results of the GPS/INS and FDE system. Finally, conclusions are presented in Chapter 7. 5 Chapter 2 Overview of GPS Position Computation Before delving into the details of the errors that a ect GPS, some foundational infor- mation is presented. This chapter describes some of the basics a receiver uses to calculate a position using GPS observables. This includes the calculation of the satellite?s position from broadcast ephemeris parameters as well as using these positions with measured ranges to the satellites. Also described are the various parts of the overall system that make posi- tioning possible. This includes the satellites and GPS control segment, which oversees the satellite signals and position in space. 2.1 Nomenclature In this thesis, a superscript represents the coordinate frame in which the components are reported. If a variable refers to a measure between two frame origins, a subscript is used with the frame the measure is from listed rst and the frame the measure is to listed second. The frames mentioned in this paper are the inertial frame, i, the Earth-Centered-Earth- Fixed (ECEF) frame, e, the navigation frame, n, the body frame, b, the orbit frame, o, and the satellite frame, s. Detailed descriptions of these frames are provided in Appendix A and [14]. For example, the position of a user is taken to be the center of both the navigation and the body frames (which coincide but have di erent orientations). Therefore, expression of the user position in the ECEF frame would be expressed as reeb. This is read as: position of the body frame origin with respect to the ECEF origin expressed in ECEF coordinates. The magnitude of a vector quantity is given without a coordinate frame in which the quantity 6 is reported in (no superscript). For example, the range from a user to a satellite is given as rbs. Vector quantities that do not correspond with a single set of reference frames are denoted with an overbar. That is, the state vector would be labeled as x. 2.2 Positioning Fundamentals GPS is built upon several concepts, the rst of which is time-ranging. If a radio signal is traveling at the known speed of light, c, and leaves its satellite source at a known time, ts, a user can determine the range, rsb, from the source by timing when the signal is measured, tm, by rsb = c(tm ts) (2.1) GPS position solutions can be calculated in an Earth-Centered Earth-Fixed (ECEF) frame, described in Appendix A. In this coordinate system, a user?s position can be given by a longitude angle , a latitude angle , and a range reb. This situation is illustrated in Figure 2.1 and details of this transformation are given in Appendix A. The second concept on which GPS is built is Euclidean distance. To calculate the geometric range between a user at reeb = (xeb;yeb;zeb) and a source (satellite) at rees = (xes;yes;zes), a user would apply the Euclidean distance formula rbs = q (xes xeb)2 + (yes yeb)2 + (zes zeb)2 (2.2) 7 Figure 2.1: ECEF User Position In the case of a GPS user, the range and the satellite position are known. Thus, mul- tiple ranges are needed from multiple satellites in order to determine the user?s position. Assuming the time is perfectly known by all satellites and the user, exactly three ranges are needed to solve for the user?s ECEF position. However, the assumption that the user?s clock is perfectly synchronized with GPS time used by the satellites is a poor one. Such systems would require expensive atomic clocks continuously running to keep track of this time. In order to reduce the required cost of user equipment, a clock bias state is also estimated along with the user?s position. Thus a receiver needs to solve for four unknowns at a time to determine the correct position. Due to this fact, the range measurement is corrupted by the receiver?s clock bias and various errors such as atmospheric delay and is therefore called a pseudorange measurement, . For a satellite s, the overall pseudorange measurement model therefore becomes s = q (xes xeb)2 + (yes yeb)2 + (zes zeb)2 +c tu + s (2.3) 8 where tu is the user?s clock o set error, c tu is the user?s clock bias in the units of meters, and s is the pseudorange error for satellite s. 2.3 Satellites There are currently 31 GPS satellites in orbit in 6 orbital planes [34]. The GPS constel- lation was originally designed with four satellites in each of these orbital planes with slots for spares [21]. The orbital planes described by the original design are shown in Figure 2.2. This design decision was to provide global availability and integrity, the details of which can be found in [20]. The constellation was designed to ensure users have the required minimum of 4 satellites in view for all users, neglecting local blockages. Figure 2.2: GPS Orbital Planes [20] 2.3.1 Signals Each GPS satellite operates as a signal transmitter orbiting the earth every half of a sidereal day (11 hours 58 minutes) [21]. This implies that a user will see a satellite in approximately the same location at approximately the same time (4 minutes earlier) each 9 day. At a single full orbit, the observer will be on the opposite side of the Earth. This fact is an important consideration when taking into account repeatability in GPS experimentation. Each satellite uses a frequency synthesizer to drive subsystems generating three components of the signal: carrier, code, and navigation data message. Carrier The carrier subsystem generates the sinusoidal signals that center the frequency of the overall GPS signal. Currently all satellites (Block II/IIA/IIR/IIR-M) broadcast in the L-band at the L1 (1575.42 MHz) and the L2 (1227.6 MHz) frequencies. The satellites use other frequencies in the L-band and future implementations will include access on the L5 band (1176.45 MHz) [21]. The main design purpose of the carrier signals was to provide a means to e ectively transmit the messages in the other subsystems. However, carrier phase measurements are also the basis of highly accurate positioning techniques when some of the inherent di culties of the method are overcome. Since a receiver is capable of accurately measuring the carrier phase to a small fraction (about 1%) of the carrier wavelength, on the L1 signal this implies an accuracy of approximately 1.9 mm. This measurement is di cult to use since the whole number of wavelengths between the user and the satellite is not known. This problem is known as integer ambiguity. Techniques which solve a portion of this ambiguity between two receivers has had considerable research to utilize the carrier measurement for relative positioning between the receivers [23]. This technique is commonly referred to as Real-Time Kinematic (RTK) operation. 10 Code The code subsystem includes two distinct set of code generators. These codes are used by the receiver to identify what satellites are available and also to determine the time of the signal arrival. Both codes are based on the same theory of maximal length codes and are chosen for their excellent autocorrelation and crosscorrelation properties. They are binary, deterministic, pseudo-random noise (prn) sequences that are distinct between any two satellites. The coarse-acquisition (C/A) code is modulated using binary phase shift keying (BPSK) onto the L1 carrier. It is a code that is 1023 bits (called chips for code sequences) long and repeats at a rate of 1.023 Mchips/s, or once every millisecond. The P(Y) code is a much longer code that is truncated after every 7-day period for a length of 6.1871x1012 chips at a rate of 10.23 Mchips/s. The increased frequency of the P(Y) code allows for more accurate measure of the signal time of arrival. This code is modulated onto both the L1 and L2 carriers but phase shifted 90 from the C/A code to avoid interference. The P(Y) code is currently encrypted for use only by US-government approved receivers and is not considered further in this thesis. The special properties of these codes allow for the tracking of multiple satellites on the same carrier frequency, a property called code-division multiple access (CDMA). A receiver can generate a local replica of the code and multiply the incoming signal with this local replica to track and determine time of arrival. Navigation Message The last signal subsystem generates the navigation message. This is a 50 bit/s message that includes all the data parameters needed by the receiver to calculate a satellite?s position 11 (called ephemeris), health, clock correction, and other items as well as the GPS week, time, etc. The navigation message was designed to transmit a large amount of data e ciently while maintaining a relatively slow bit rate. Each frame of the navigation message is broken into ve subframes, the contents of which are shown in Table 2.1 [19]. Table 2.1: Navigation Message Subframes Subframe Contents 1 Clock Correction & Satellite Quality 2 Ephemeris 3 Ephemeris 4 Almanac & Ionosphere & UTC Correction 5 Almanac 2.3.2 GPS Control Segment The GPS control segment tracks the progress of the satellites and uses their measure- ments to estimate health, clock errors, path, etc. Parameters are then formed and an uplink loads the desired parameters back onto the satellites to be broadcasted to the users through the navigation message. The GPS control segment consists of 4 control stations capable of relaying updated information to the satellites, 6 monitor stations to track the satellite?s progress, and 10 Na- tional Geospatial-Intelligence Agency (NGA) tracking stations [21]. The increasing number of sites in use has several bene ts to the overall system. First, the control segment is better capable of detecting errors in the individual satellites which leads to quicker response to gross failure detection and user warning. This warning can be issued by the control segment by switching the satellite?s status from healthy to not recommended for use. Secondly, in- creased tracking capabilities have led to improved path estimation for the satellites. With 12 better knowledge of the path, more accurate ephemeris parameters can be transmitted to the users. This improvement has led to the general user?s improved positioning accuracy as well [8]. 2.3.3 Ephemeris For the user to calculate his position, he must have measured ranges from at least four satellites for reasons explained in Section 2.2. The receiver must also be able to determine the position of the range source (i.e. the satellite) at the time of position calculation. This is accomplished by reading the ephemeris parameters from the navigation message transmitted by the satellites. The ephemeris parameters are actually estimated Keplerian orbit parameters along with other parameters that de ne corrections to Kepler?s motion model. These parameters are listed and described in Table 2.2, which is taken from [11]. Satellite Clock Correction Part of the ephemeris parameters are used by the receiver to calculate the satellite?s clock error. Although the atomic clocks aboard the space vehicles are highly accurate and stable, using them without correction would lead to a large degradation in accuracy. By using Equation (2.1), it is seen that the transit time, tt, (time the signal took to go from the satellite to the receiver) and the transmission time, ts, are tt = tm ts = ruc uc (2.4) ts = tm uc (2.5) 13 Table 2.2: Clock and Ephemeris Parameters Parameter Description Units TGD Group Delay s IODC Issue of data, clock - toc Clock data reference time s af2 Second-order correction to the satellite clock s/s2 af1 First-order correction to the satellite clock s/s af0 Constant correction to the satellite clock s M0 Mean anomaly at reference time semicircles n Mean motion di erence from computed value semicircles e Eccentricity -p A Square root of the semimajor axis pm 0 Right ascension at reference time semicircles i0 Inclination angle at reference time semicircles ! Argument of perigee semicircles _ Rate of right ascension semicircles/s _i Rate of inclination angle semicircles/s Cuc Cosine harmonic correction term to the argument of latitude rad Cus Sine harmonic correction term to the argument of latitude rad Crc Cosine harmonic correction term to the orbit radius m Crs Sine harmonic correction term to the orbit radius m Cic Cosine harmonic correction term to the angle of inclination rad Cis Sine harmonic correction term to the angle of inclination rad toe Ephemeris reference time s IODE Issue of data, ephemeris - All of the above variables are either known or measured. The satellite clock error is modeled as a quadratic function with parameters af0, af1, and af2. They are available from the navigation message in subframe 1 shown in Table 2.1. It is used in function form with time referenced from the clock correction reference time, toc. The clock correction is calculated as dtsv = af0 +af1 (ts toc) +af2 (ts toc)2 +dtr TGD (2.6) 14 where TGD is the group delay clock correction for single frequency users (L1 or L2 only). This is necessary since the clock delay cannot be corrected without dual frequency use [7]. Also, dtr is a relativistic correction term calculated as dtr = FepAsin (Ek) (2.7) where the orbit parameters, e, A, and Ek, are described in the satellite position section and F is a constant whose value is 4:442807633x10 10 s/pm [7]. The user can calculate the corrected transmission time with the satellite clock correction and therefore the time from the ephemeris reference epoch (toe) as t = ts dtsv (2.8) tk = t toe (2.9) The time from the ephemeris reference epoch is de ned to account for beginning or ending of week crossovers. The logic to account for the crossover is that if the value is greater than 302,400 s, then 604,800 s are subtracted from it. Likewise, if the value is less than -302,400 s, then 604,800 s are added to it. This approach tracks the time di erence since the value of t is reset at the start of a new GPS week [7]. Satellite Position Determining where a satellite is in its orbit amounts to nding the angle it is from the orbit?s perigee (point of closest approach to the Earth). This angle is the eccentric anomaly and is shown in Figure 2.3 as E. The mean anomaly, M, is used due to the highly 15 nonlinear change of speed of a body in orbit and the corresponding di culty in calculating the angle traveled over time. The mean anomaly has a range between 0 and 2 . This value is also shown in Figure 2.3 and allows for a linear relation between angles along an auxiliary circle versus time and is calculated by time-scaling the mean motion parameter n, shown in Equation (2.11). Figure 2.3: Orbit Angles Using the ephemeris parameters described in Table 2.2, the satellite position can be calculated. The mean motion parameter is calculated as n = n + !is (2.10) where !is = p =a3 and is the Earth?s gravitational constant, which has a value of 3:986004418 1014m3=s2 according to the WGS84 standard [14]. The mean anomaly is an 16 angular measure that is linear with time and is calculated as M = M0 +tkn (2.11) With this value, the eccentric anomaly, E, is solved iteratively until convergence using Kepler?s equation E = M +esin (E) (2.12) Similarly, E will have a value within the range of 0 and 2 . With the eccentric anomaly, the true anomaly, , can be found as = tan 1 0 B@ p1 e2 sin (E) 1 ecos (E) cos (E) e 1 ecos (E) 1 CA (2.13) where tan 1 refers to the four-quadrant inverse tangent. Next the argument of latitude, , can be calculated to lie within the range of 0 and 2 as = +! (2.14) Using the C terms from the ephemeris parameters in Table 2.2, corrections for the argument of latitude, radius, and inclination can be calculated as uoos = Cus sin (2 ) +Cuc cos (2 ) (2.15) roos = Crs sin (2 ) +Crc cos (2 ) (2.16) i = Cis sin (2 ) +Cic cos (2 ) (2.17) 17 uoos = + uoos (2.18) roos = A(1 ecos (E)) + roos (2.19) i = i0 + i+ _itk (2.20) Now the 2D position in the orbital plane can be found as xoos = roos cos (uoos) (2.21) yoos = roos sin (uoos) (2.22) The correction to the ascending node , which is the angle determining where the orbit crosses the Earth, can then be calculated to be within 0 to 2 as = 0 + _ e tk e (toe +tt +dtsv) (2.23) With these values, the ECEF position of the satellite at time ts can be calculated as xees = xoos cos ( ) yoos cos (i) sin ( ) (2.24) yees = xoos sin ( ) +yoos cos (i) cos ( ) (2.25) zees = yoos sin (i) (2.26) Satellite Velocity For some processing procedures, the satellite velocity is also required. A numerical approximation to this value can be generated by calculating the satellite positions at two successive times and dividing by the time di erence in the two epoch. Assuming the time 18 di erence is a su ciently small value, this value can be used as the satellite velocity. Al- ternatively, the orbit Equations 2.10 thru 2.26 can be di erentiated to get an analytical solution for satellite velocity [14]. _E = !is + n 1 ecos (E) (2.27) _ = sin ( ) sin (E _E (2.28) _roos = Aesin (E) _E + 2 (Crs cos (2 ) Crc sin (2 )) _ (2.29) _uoos = (1 + 2Cus cos (2 ) 2Cuc sin (2 )) _ (2.30) Therefore the time derivative of the satellite?s orbit coordinates are _xoos = _roos cos (uoos) roos _uoos sin (uoos) (2.31) _yoos = _roos sin (uoos) roos _uoos cos (uoos) (2.32) The changes in the ascending node and inclination are calculated as _ = __ e (2.33) _i = _ _i+ 2 (Cis cos (2 ) Cic sin (2 )) _ (2.34) 19 Thus the satellite ECEF velocity is found as _xees = _xoos cos ( ) _yoos cos (i) sin ( ) + _iyoos sin (i) sin ( ) (2.35) + e __ (xoos sin ( ) +yoos cos (i) cos ( )) _yees = _xoos sin ( ) + _yoos cos (i) cos ( ) _iyoos sin (i) cos ( ) (2.36) + e __ ( xoos cos ( ) +yoos cos (i) sin ( )) _zees = _yoos sin (i) _iyoos cos (i) (2.37) 2.4 Positioning Four satellites are required to determine a user?s position with reasonable accuracy with the four unknowns of user ECEF position and clock bias, (xu;yu;zu;c tu). Additional satellites allow for an overdetermined solution and other techniques, to be discussed in subsequent chapters, make use of this situation. Several hand-held GPS receivers allow an additional constraint of being on the Earth?s surface to remove altitude as an unknown. This approach only requires three satellites to determine two position coordinates along with the receiver?s clock bias [13]. However, this is often a poor assumption as local height changes relative to the Earth geoid are di cult to account for, and the user may violate this constraint. 20 Considering a single time epoch, the user?s state vector X is made up of the receiver?s ECEF position reeb and clock bias in range form c tu. X = 2 66 66 66 66 4 xeb yeb zeb c tu 3 77 77 77 77 5 (2.38) The measurement vector at this epoch is generated by placing all available pseudorange measurements in a column vector for all m satellites being tracked, Y = 2 66 66 4 1 ... m 3 77 77 5 (2.39) The observation-state relationships are found by placing the right sides of Equation (2.3) into vector form so that G = 2 66 66 4 q (x1 xu)2 + (y1 yu)2 + (z1 zu)2 +c tu ... q (xm xu)2 + (ym yu)2 + (zm zu)2 +c tu 3 77 77 5 (2.40) To e ciently solve this set of equations for the state, linearization is used to change the problem into a recursively solved system. The linearization is taken about point X and a state correction vector is de ned as x = X X (2.41) 21 Using Taylor series expansion on Equation (2.40) and neglecting higher order non-linear terms yields Y G X + @ G @ X X x = Y +H x = 2 66 66 4 1 ... m 3 77 77 5 + 2 66 66 4 ( e u1)T 1 ... ... ( e um)T 1 3 77 77 5 x (2.42) where represents the estimated pseudorange using the linearization point as the user?s ECEF position and clock bias and e us represents the unit vector from the user to the satellite. It is determined by e us = 2 66 66 4 x u xs r s y u ys r s z u zs r s 3 77 77 5 (2.43) Therefore a measurement correction vector is calculated as y = Y Y = H x (2.44) A least-squares solution to Equation (2.44) minimizes the error between the measurement correction and the transformed state correction according to a cost function, where the error is de ned as = y H x (2.45) 22 In the case of least-squares, this cost function is JLS = T (2.46) Thus, it minimizes the sum of the squared error. The solution of this problem is well documented in several sources [31, 32] and is calculated as the solution to HTH ^x = HT y (2.47) Methods to solve this system include the pseudoinverse, decomposition, etc. The result of this least-squares solution method on a typical set of static data is shown below in Figure 2.4. Notice in this gure that this method yields jumps approximately tens of meters from the mean position. The source of these errors will be discussed in Chapter 3. Figure 2.4: Position Using Least Squares Estimate An improved solution can be found by using a weighted least squares method if variance information is available for each measurement [32]. In this method, the variances for each pseudorange measurement are placed along the diagonal of a covariance matrix R. Using 23 these weights changes the cost function to be JWLS = TR 1 (2.48) The resulting minimization gives the relation HTR 1H 1 HT ^x = R 1 y (2.49) Similar methods used to solve Equation 2.47 can be used to solve Equation 2.49. As will be described later in Chapter 3, many of the errors that a ect a GPS receiver have been well studied and their variances described in the literature [27]. Major error sources a ecting a well placed static receiver are atmosphere errors and receiver errors. The overall pseudorange variance can be approximated as 2 = 2tDLL + 2atm (2.50) where 2tDLL is the thermal noise variance of the receiver?s delay locked loop, which generates the pseudorange measurements, and 2atm is the variance of the atmospheric e ects on the pseudorange measurement. Taking the total e ect of the ionospheric and tropospheric error gives a variance approximated as 2atm = 5:22 [24]. The thermal noise variance of the receiver?s delay locked loop is shown as a function of the carrier to noise ratio C=N0 as shown in Equation 2.51 [24]. tDLL = c s 4F1d2Bn C=N0 2(1 d) + 4F2dTC=N 0 (2.51) 24 The description of the receiver speci c terms are given in Table 2.3 along with values taken from [24]. Using this variance, an example set of position solutions is shown in Figure 2.5. Table 2.3: Receiver Parameters from [24] Parameter Description Value Units F1 discriminator correlator factor 1 - F2 discriminator type factor 1 - d correlator spacing 1/2 chips Bn code loop noise bandwidth 2 Hz T prediction integration time 2 ms c code chipping rate 293.05 chips/s Compared to solutions shown in Figure 2.4, this method produces a less noisy and more accurate position solution by de-weighting pseudoranges that are comparatively weak (low C=N0 values). Figure 2.5: Position Using Weighted Least Squares Estimate 2.5 Summary This chapter describes the basics necessary for a GPS receiver to calculate its position using the ephemeris parameters from the GPS data message and the pseudoranges found 25 from determining the di erence in transmission time, ts, and the user?s measurement time tu. Chapter 3 will build on this background and show the e ects of various error sources on GPS operation. 26 Chapter 3 Overview of GPS Errors Much work has been done in analyzing the errors in GPS since its use began. A central source of information could be considered [27], which details the major error sources and includes a commonly quoted error budget, shown in Table 3.1. Several error modes have been heavily studied when it comes to the use of GPS receivers. They are typically grouped into three di erent error regions: satellite, atmospheric, and local. The satellite errors are the ephemeris data and satellite clock errors. The atmospheric errors are the ionosphere and troposphere delays. Finally, the local errors are the multipath and receiver measurement errors. Table 3.1: GPS Standard Error Budget [27] One-sigma error, m Error source Bias Random Total Ephemeris data 2.1 0.0 2.1 Satellite clock 2.0 0.7 2.1 Ionosphere 4.0 0.5 4.0 Troposphere 0.5 0.5 0.7 Multipath 1.0 1.0 1.4 Receiver measurement 0.5 0.2 0.5 UERE, rms 5.1 1.4 5.3 Filtered UERE, rms 5.1 0.4 5.1 3.1 Satellite Errors The GPS constellation was engineered to provide high accuracy position using ranges from the satellites. As with all implementations, there are still errors that must be accounted for. The errors in this section deal with the design and implementation of the satellites. 27 Both of these error sources have broadcast correction models that signi cantly decrease their e ect, but there are still unmodeled e ects that a ect the user in navigation calculations. These errors are the same for all users of GPS and therefore are exactly correlated between any two locations. This fact can be used in certain error mitigation techniques described later. 3.1.1 Errors in Ephemeris Data The satellite positions are not perfectly known to the user. To determine a satellite?s position in ECEF coordinates, the user receives the satellite?s ephemeris parameters in the navigation message. These parameters de ne the satellite?s path estimated by the GPS control segment. This path is evaluated at the time the signal leaves the satellite?s antenna. Since this path is an estimate, there is a di erence between the true satellite path and the path described by the ephemeris parameters. These errors are typically 3-5 m rms [25]. However, most of this error is in the cross-track direction which means it a ects the direction to the satellite rather than the range, as shown in Figure 3.1. Errors in the direction to the satellite (which arise in the unit vector from the user to the satellite) have a much smaller impact than along-track errors [27]. The resulting ranging error from the satellite?s position is therefore on the order of 1.5 m. The orbit model is updated by the GPS control segment periodically (anywhere from about eight hours to daily). At the time of update, the ephemeris error is nearly zero since the time is near the reference time for the orbit. As time progresses between ephemeris updates, the satellite position error grows. 28 Figure 3.1: GPS Ephemeris Errors In order to compensate for these positioning errors, precise ephemerides are available post-process (typically one to a few days later, depending on accuracy desired). The Na- tional Geodetic Survey (NGS) posts sets of these orbit parameters at [2]. More complicated models are used to generate these solutions. The model described in Section 2.3.3 was chosen so its parameters would t compactly in the navigation message. Increases in model complexity would alter this message and therefore make signi cant changes to the GPS signal structure. 3.1.2 Satellite Clock Errors The satellites in the GPS use highly stable atomic clocks so the assumption of syn- chronized signal transmission can be used. However, there are errors in the satellite clocks due to drift. Most of these errors can be compensated for by using a clock error model. In the navigation message,there is a clock model to use that is also estimated by the control segment, described in Section 2.3.3. The error from satellite clock drift is also on the order of 1.5 m [25]. This error is reduced from that found in Table 3.1 due to increases in control 29 segment capabilities and the use of more stable atomic clocks in more recent GPS satellite blocks [21]. 3.2 Atmospheric Errors As the GPS signals travel through the Earth?s atmosphere, they are subject to various changes in speed. The majority of these delays come from two layers of the atmosphere: the ionosphere and troposphere. Due to the variation in composition in these layers, the amount and means of the e ect are di erent. The various layers of the atmosphere are shown in Figure 3.2, from [3]. Since these e ects are caused by the satellite signal passing through a certain portion of the atmosphere, these errors are highly correlated with respect to location. That is, if two users are in close proximity (usually taken to be in the kilometer range), the atmospheric errors on a particular satellite signal are approximately equal. The farther apart two receivers are, the less correlation between the atmospheric errors. Figure 3.2: Atmospheric Layers [3] 30 3.2.1 Ionospheric Errors As seen from Figure 3.2, the ionosphere is a portion of the Earth?s atmosphere extending from around 85 km to over 600 km above the Earth?s surface. It is characterized by ionized partiles due to excitation by the Sun?s ultraviolet radiation [27]. The magnitude of the e ects the ionosphere has on the GPS signals is a function of the total electron content, which can change quickly as time progresses. This e ect is dispersive, meaning its e ect on the signal is a function of the signal frequency. This fact led, at least in part, to the use of multiple frequencies on the GPS satellites. By using measurements on multiple frequencies, the ionospheric error can be estimated and subsequently removed [6]. However, this approach requires the use of dual frequency measurements. These measurements are not often available on low-cost GPS receivers. This is due to the fact that the code on the L2 frequency is encrypted for use by authorized users only, such as the military. However, all new satellites transmit a civilian code on the L2 frequency commonly called L2C [35]. Once older satellites are phased out and replaced with updated ones, the ionosphere correction will be available to all users. Another e ect the ionosphere has on the satellite signal is that it a ects the code and carrier signals di erently. The dispersive media in the ionosphere delays the code, called group delay, while advancing the carrier phase, called phase advance. These two e ects are equal in magnitude but opposite in sign [25]. This arises due to the fact that dispersive media make signals of di erent frequencies travel at di erent rates through the media. Since the code and carrier are signals of signi cantly di erent frequencies, their speeds are altered. For a satellite s, once the L1 ionospheric delay (Is1) has been calculated, the L2 delay (Is2) 31 is also found by Is2 = Is1 (3.1) = f L1 fL2 2 (3.2) Included in the satellite?s broadcast navigation message are parameters for an ionospheric delay model called the Klobuchar model, shown in Equation (3.3). This model gives the L1 zenith ionospheric delay, ^Iz;L1, as a function of local time, t, as ^Iz;L1 c = 8 < : A1 +A2 cos 2 (t A 3) A4 jt A3j< A44 A1 otherwise (3.3) where A1 is the nighttime value of the zenith delay ( xed at 5 10 9 s), A2 is the amplitude for the daytime values, A3 is the phase peak time ( xed at 14 hours, local time), and A4 is the period of the cosine function. Using some typical values of these parameters (A2 = 7 m, A4 = 28 hours) yields corrections shown in Figure 3.3 [25]. Since the ionospheric e ect is a function of the amount of ultraviolet rays absorbed by the atmosphere, the model has to compensate more during the middle of the day when the Sun is directly overhead. An obliquity factor, OF, is used to scale the zenith delay, ^Iz;L1, as a function of the elevation angle to the satellite, el, as OF (el) = 1:0 + 16:0 (0:53 el)3 (3.4) This factor is needed since the amount of atmosphere the signal travels through is a function of the elevation angle from the horizon. At low elevation (near the horizon), the signal travels 32 through more of the atmosphere. Thus, the ionospheric delay is more and the model must be scaled. A plot of the obliquity factor is shown in Figure 3.4 [25]. Figure 3.3: Typical Klobuchar Ionosphere Model [25] Figure 3.4: Ionospheric Obliquity Factor Model [25] 33 3.2.2 Tropospheric Errors The troposphere also causes a delay in the signals passing through the atmosphere. Un- like the ionosphere, however, the delay is not a function of the frequency, so dual frequency measurements can not be used to compensate for the tropospheric error. This error mode is often broken into wet and dry components to be modeled. The wet model is dependent on the amount of moisture in the air and is therefore highly variable. However, it makes up only approximately 10% of the tropospheric error when compared to the delaying na- ture of the dry component. In order to compensate for this error (which is often neglected compared to other errors), a model is required [25]. 3.3 Local Errors Local errors are those that a ect users on an individual basis. While the other error groupings are correlated between users, these local e ects are either very weakly correlated (in the case of multipath) or uncorrelated (with regards to receiver measurement errors). Often these errors are best dealt with in receiver and antenna design as well as the user choosing a good location for the antenna. In the shadowed environments, it is the local errors that change drastically and are analyzed in this research. 3.3.1 Multipath Error Multipath error occurs when the signal broadcast by the satellites bounces o surfaces before reaching the receiver antenna. This has a twofold e ect on the signal. It rst delays the signal since it takes a longer path to the receiver antenna than the line-of-sight signal. It also attenuates the signal since some of the energy is re ected in directions away from 34 the receiver. Research on this error source has increased in the last decade due to the e ectiveness of mitigating other error sources such as the ionospheric delay, satellite errors, and the removal of Selective Availability (SA). Due to these advances, one of the next major sources of error comes from multipath [4]. Due to the fact that multipath is by nature highly dependent on the receiver antenna?s immediate surroundings, it cannot be removed by di erential GPS processing methods [9]. Multipath has been broken down into three di erent categories, each resulting from a di erent type of impact from surrounding objects and each having di erent e ects on the receiver [26]. The rst is specular re ection which arises from re ection o of a smooth surface. Due to the re ection, the amplitude of the signal is reduced, and the path from satellite antenna to user antenna is longer. This results in a waveform that is both lower in amplitude and out of phase with the line-of-sight signal [12]. This category greatly a ects the carrier phase and is thus the major multipath e ect in precise applications. The second multipath category is di raction. This e ect appears due to re ections around edges and corners of objects in the path of the signal. Lastly, when a signal bounces o a rough surface, many specular re ections occur. This is referred to as di use multipath. These three types of multipath are illustrated in Figure 3.5. The e ects of multipath will be described more in Section 4.1. It is also noted that the multipath e ect on the carrier phase measurement is much less than that on the pseudorange measurement. This will be used as a simplifying assumption in Section 4.1. 35 Figure 3.5: Three Multipath Types 3.3.2 Receiver Measurement Error Several errors arise when a GPS receiver generates a measurement and brings the infor- mation it is receiving from the satellites into the discrete domain for processing. Receivers are subject to thermal noise in which the receiver tracking loops are attempting to drive an error signal to zero. This error signal is the di erence between the incoming signal and the local replica of the signal. As the noise on the measurement increases, as is the case with a temperature increase, the uncertainty in the measurements is increased. Also, discretization of the signal and its subsequent processing leads to greater error. However, as advances are made in computing capabilities, these issues become less and less severe. 36 3.4 GPS Observable Error Models Each of these error modes can be treated as a delay in the signal that corresponds to an additive factor in the pseudorange and carrier phase observable models. Therefore, for satellite s and L-band frequency l where l = L1, L2, the GPS observable models are extended from Equation (2.3) to include the errors described in this chapter as sl = rbs +c( tu + ts) +Isl +Ts +M sl + sl (3.5) sl = rbs +c( tu + ts) +Nsl l Isl +Ts +M sl + sl (3.6) where c ts is the satellite clock error, Isl is the ionospheric error, Ts is the tropospheric error, M sl is the pseudorange multipath error, M sl is the carrier phase multipath error, Nsl is the carrier phase integer ambiguity, l is the wavelength for frequency l, and sl contains the other errors on the carrier phase measurement. 3.5 Summary This chapter has discussed the basic common errors experienced by all users of GPS receivers. As was mentioned, the three error groupings (satellite, atmospheric, and local) also roughly correspond to the amount of correlation in these errors between users. It is the local errors that are signi cantly a ected by the surrounding environment, and it is these that are of concern in this thesis and will be analyzed in Chapter 4. 37 Chapter 4 Shadowed Environments Shadowed environments such as heavy foliage are distinct in the errors a ecting GPS operation. Although all users of GPS su er from error modes mentioned in Chapter 3, the presence of a large number of trees also causes changes in these modes that must be considered for a user to operate under these conditions. This and other environments like urban canyons create signal blockages where a receiver is unable to track a satellite due to an obstacle blocking satellite visibility. While this adversely a ects performance, there are cases when a signal is degraded so much its presence in the solution increases the error more than if it were not included at all. These environments are subject to some sort of signal blockage that degrades receiver performance but does not cause the receiver to lose lock on the signal. This degradation comes from quickly changing multipath due to a large number of objects in close proximity as well as signal attenuation due to interfering objects, shown in Figure 4.1. These are the main e ects considered in this research. 4.1 Environmental Error Monitoring Parameters In order to study how these error sources occur in heavy foliage environments, the e ects considered must be determined among the general errors occurring in the GPS mea- surements. While monitoring the pseudorange and pseudorange rate errors is ideal, the true calculation of these metrics requires the use of a highly accurate truth system. Therefore, alternative monitoring methods were investigated. To determine signal attenuation e ects 38 Figure 4.1: Illustration of GPS Signal Shadowing Due to Foliage the carrier to noise ratio (C=N0) is monitored. This gives information as to when a sig- nal is degraded but loss-of-lock has not occurred. To monitor multipath, observation of a parameter M1 has been shown to be related to a receiver?s pseudorange multipath [29]. 4.1.1 Signal Attenuation Monitoring Parameter Signal attenuation arises when the signal passes through foliage cover. These obstacles cause both a delay and a reduced signal amplitude which increases the di culty of tracking the signal. This reduced amplitude e ect can be seen in the C=N0 that is reported by the GPS receiver. Decreases in the C=N0 increase the receiver?s delay-locked-loop uncertainty, tDLL, shown in Equation (2.51). The pseudorange variance, 2 , is the combination of the tracking error and the atmospheric errors shown in Equation (2.50). Similarly the C=N0 also shows the increase in the pseudorange rate variance. The pseudorange rate is related 39 to the receiver?s measurement of the Doppler frequency as _ s = cf L1 fD;s (4.1) The variance of the Doppler frequency is related to the noise on the Frequency-Lock- Loop (FLL) that tracks the frequency of the incoming signal. The thermal variance of the FLL is therefore taken to be [36] tFLL = L2 T s 4FBn C=N0 1 + 1TC=N 0 (4.2) Again the values of the parameters in Equation 4.2 are assumed from typical values found in [36] and shown in Table 4.1. Table 4.1: Frequency-Lock-Loop Parameters from [36] Parameter Description Value Units F loop factor 1 - Bn frequency loop noise bandwidth 2 Hz T predetection integration time 2 ms L carrier wavelength 0.19 m However, the FLL (and therefore the pseudorange rate measurement) is also a function of the dynamic stress error on the tracking loop, fe. These stresses are due to the dynamics of the receiver antenna. Assuming mild dynamics with a dynamic stress of fe = 3Hz and taking the FLL variance to be the pseudorange rate variance, i.e. 2_ = 2FLL, the pseudorange rate variance is therefore [36] 2_ = tFLL + fe3 2 (4.3) 40 Since the variances on the pseudorange and pseudorange rate are both functions of the C=N0, this parameter is chosen for monitoring the errors in shadowed environments. 4.1.2 Multipath Monitoring Parameter The other dominant e ect to monitor is the changing multipath. As was discussed in Section 3.3.1, objects near the GPS antenna can alter the propagated signal by re ection. Depending on the local surroundings, these objects may re ect toward the antenna multiple delayed copies of the same signal. A receiver attempts to track the combination of all copies of the signal, which leads to decreased performance. Since the re ected path is always longer than the direct path, the multipath signals are always delayed. The re ected signals are also typically weaker than the line-of-sight signal depending on the nature of the re ection. As seen in Figure 4.1, multipath often causes a large change in the line-of-sight to the signal source. This error mode also a ects the receiver?s range rate measurement since the antenna?s velocity projected onto the line-of-sight vector to the satellite is di erent from its projection onto the re ected path. In order to quantify these multipath e ects, a multipath monitoring variable, labeled M1 in this thesis, is used. For a given satellite, three measurements are used to derive the M1 parameter: the L1 pseudorange and L1 and L2 carrier phase. These measurements are shown in their common form with the error sources being added to the true range in Equations (3.5) and (3.6). It should be noted that the multipath on the carrier phase, M i, is signi cantly less than the multipath on the pseudorange, M i [29], i.e. M i < yt. The threshold value is determined using the assumption that the normalized innovations are normally distributed with zero mean and unit variance [14]. The FDE requires the designer to set a false alarm probability. This is the probability that a non-erroneous measurement is rejected. Thus information that could have been useful is rejected. From this probability, a threshold is calculated by selecting a scaling on the normal distribution standard deviation to exclude the false alarm probability as shown in Figure 5.6. By decreasing the false alarm probability, the threshold increases and fewer outlier measurements will be rejected. The value used in this 68 work was 3, suggested from [14] to include 99.73 % of genuine measurements. This value corresponds to a false alarm probability of 0.27 %, which is relatively high. However, since this is a snapshot method, the e ect of rejecting a good measurement would only a ect a single epoch. Figure 5.6: Fault Detection and Exclusion Threshold Selection 5.4 Summary This chapter details the methods investigated to compensate for the errors inherent in general GPS operation and in operation in shadowed environments. For normal GPS operation, the code di erential and carrier smoothed methods were presented. However, for short baselines the performance of the code di erential algorithm is not greatly improved over position di erencing due to the magni cation of noise and unmodeled errors in the double di erence generation. The carrier smoothed code method was presented as an im- proved positioning method for general operation. Also, this smoothing technique can be 69 adapted to other cases where pseudorange measurements are used. This decreases the noise in the range measurement for improved performance. However, these techniques are not viable in shadowed environments since satellite visibility is compromised and large multi- path changes cannot be di erentially corrected. In heavy foliage, the likelihood of both rover and base receivers accurately tracking at least ve common satellites is low. As an alternative to di erential operation, the low-level coupling architectures were described and compared. The loosely coupled method has disadvantages similar to the di erential tech- niques; namely, satellite visibility can cause the corrections to be unavailable. The closely coupled method overcomes this di culty by using any raw GPS observables from visible satellites. Therefore it is capable of supplying corrections even in low satellite visibility situations. Alternatively, a tightly coupled method was described but its requirement for special GPS equipment make it more di cult to implement, and therefore it is not explored further in this thesis. In addition to coupling, a fault detection and exclusion method was used to increase the integrity of the system?s solution. This is accomplished by rejecting measurements considered to be outliers by comparing the normalized innovation parameter to a pre-determined threshold. 70 Chapter 6 Results To test the system, a path was chosen to include clear and heavy foliage areas, shown in Figure 6.1. The route was located in Auburn, AL and began along a relatively clear roadway, shown in the top of Figure 6.2. This section allows for good initialization of the coupling lter. It also gives a segment for comparing all methods without dealing with the e ects of shadowed environments. Near the southern portion of the path, the test included heavy foliage, shown at the bottom of Figure 6.2. This segment degraded signal accuracy and satellite visibility, even dropping to only one satellite being reported by the GPS receiver. This path was chosen to test the system in varying conditions and to compare the system with stand-alone GPS solutions. 6.1 Pseudorange Calculated Position As a baseline comparison, only the reported L1 pseudoranges and satellite positions from broadcast ephemerides were used to calculate the receiver position. This method was described in detail in Section 2.4. Due to the foliage conditions, there were points at which no solution could be generated since too few satellites were reported. The overall position is shown in Figure 6.3, and a zoomed segment is shown in Figure 6.4 detailing the operational di culties of using GPS in foliage environments. As is clear from Figures 6.3 and 6.4, this solution is unacceptable for position critical vehicle operations since position jumps of approximately 100 meters occur in several places. Notice these jumps also occur in the shadowed portion of the track located along the southern straight section. 71 Figure 6.1: Dynamic Path 72 Figure 6.2: Clear Sky and Heavy Foliage Environments Along Dynamic Path 73 Figure 6.3: Pseudorange Calculated Positions Figure 6.4: Zoom on Pseudorange Calculated Positions 74 The zoomed region shown in Figure 6.4 shows one of the characteristic e ects of GPS operation in shadowed environments. As a heavily shadowed satellite drops in and out of visibility, it causes distinct spikes to be generated in a consistent direction. The magnitude of these jumps is large indicating the large amount of shadowing a ecting the receiver in this area. 6.2 Closely Coupled Implementation Results Using the closely coupled algorithm (described in Section 5.2) by including the IMU allows the navigation system to bridge GPS signal degradation. For this implementation, an automotive-grade IMU (Crossbow 440) was used. This method also increases the system solution rate to 50Hz, which is bene cial for vehicle control. The solution improves over the pseudorange position since the e ect of jumps due to foliage is ltered out, as seen in Figure 6.5. The inclusion of the IMU in the lter allows the navigation system to remain on the path even though the shadowing e ects would cause the solution to jump away from the path. However, the solution still su ers from position and velocity jumps due to tree cover errors on the GPS measurements. These appear due to the innovation outliers, and their e ect can be seen along the straight southern portion of the path shown in Figure 6.6. At the western jump, a satellite is reported at a single time epoch, and its innovation is large compared to the other measurements (magnitude of 7 compared to < 2). In this case the pseudorange measurement does not introduce the jump. The error occurs in the pseudorange rate measurement. This fault causes erroneous corrections to be made to the velocity in the navigation lter. This velocity then propagates to the jump in position 75 Figure 6.5: Zoom on Closely Coupled Positions solution which is corrected over time. This is shown as the stepping in Figure 6.6 where the introduced velocity error causes the position solution to diverge over time before it is corrected. 6.3 Closely Coupled with FDE Implementation Results By including the normalized innovation monitoring described in Section 5.3, these erroneous jumps are removed as shown in Figure 6.7. This implies that the correct outlier was detected and removed from the solution. As can be seen, this system is able to bridge parital signal loss while still estimating state corrections. In this case, the pseudorange rate innovation causes a spike in the normalized innovation parameter corresponding to a shadowed signal. The e ects of this spike are removed, and operation is continued without that measurement. These results show the method is quite robust for operation in foliage environments like those encountered in the test path. 76 Figure 6.6: Comparison of Closely Coupled and Pseudorange Solutions Figure 6.7: Comparison of Closely Coupled with FDE and Pseudorange Solutions 77 The normalized innovations are shown for the entire path as well as this portion of the path in Figures 6.8 and 6.9. Figure 6.8: Normalized Innovations Over Entire Path Figure 6.9: Normalized Innovations Over Zoom Segment These plots show the threshold and the distribution of the normalized innovations. It is noted that during the middle portion of Figure 6.8, the shadowing e ects are seen as a 78 spreading of the normalized innovations. The innovation thrown out at the beginning of Figure 6.9 is the one that causes the jump at the left part of Figure 6.6. 6.4 Comparison of Methods To compare the methods of operation in shadowed environments, the paths for each method are plotted together above aerial photography via [1] in Figures 6.10 thru 6.12. As can be seen, the pseudorange positions are subject to large jumps in solution in foliage areas and even some jumps in clear sky areas. The GPS/INS closely coupled solution lters these jumps but also introduces jumps of lower magnitude since poor GPS measurements are still used in the navigation EKF. However, these jumps are removed with the FDE technique as seen in Figure 6.7. Figure 6.10: Overlay of Positioning Methods In Heavy Foliage 79 Figure 6.11: Overlay of Positioning Methods In Clear Sky Figure 6.12: Overlay of Positioning Methods In Light Foliage 80 6.5 Summary In this chapter, implementation results are presented for the closely coupled system with and without fault detection and exclusion described in Chapter 5. Comparison is made to stand-alone GPS operation by calculating pseudorange positions at every measurement update, wherever enough information was available. It is shown that the FDE method aids in navigation due to its removal of error-causing outliers in the measurement domain. 81 Chapter 7 Conclusion This thesis has shown that GPS operation in shadowed environments such as heavy foliage poses diverse challenges. Although GPS receivers are subject to various error sources from satellite, atmospheric, and local e ects, shadowed environments add complexity to the signal degradation. The work presented in this thesis develops a method of analysis for the errors speci c to shadowed environments, namely the rapidly changing multipath and the signal attenuation caused by signal degradation. These sources of error a ect the ability of a receiver?s tracking loops to e ectively track the incoming signal and thus negatively impact the receiver?s performace in generating measurements. By using the error monitoring parameters (M1 and C=N0) described in Chapter 4, the e ects of these error sources can be tracked and visualized. This method makes error analysis more e cient than attempting to accurately determine the exact range error e ects to which the GPS receiver is subject. A visualization technique for both a single satellite signal and for all satellites in view was developed to aid in the analysis of GPS operation in heavy foliage environments. As was shown in Chapter 4, the presence of foliage between the GPS receiver and the broadcasting satellite causes quickly varying and spontaneous drops in signal strength and also large changes in the signal multipath. The occurrence of these errors was seen to correspond to each other. This analysis led to the conclusion that foliage e ects on the GPS signal was a quickly changing error mode and thus a snapshot method of fault detection could be used. 82 With insight into the errors a ecting navigation operation, methods were detailed to handle such cases in Chapter 5. These methods included di erential operation and iner- tial sensor integration. The performance of code-phase di erential methods were compared and their shortcomings in shadowed environment operation described. Three integration methods (loosely coupled, closely coupled, and tightly coupled) were described and their advantages and shortcomings compared for operation in foliage. The closely coupled im- plementation was chosen since this architecture makes use of all available GPS observables along with the outputs of an IMU mechanization. This level of integration allows for oper- ation in lower satellite visibility, which is common in shadowed environments. Comparison of the closely coupled navigation system with raw GPS processing (independent of other sensors) showed that integration reduced the large erroneous jumps in the navigation solu- tion by combining GPS measurements with an INS calculated solution. It was also shown in Chapter 5 that the closely coupled architecture alone could not operate e ectively in a shadowed environment. Due to the nature of the foliage-speci c errors, a snapshot inno- vation ltering scheme was presented that allowed for normalized outlier rejection to add integrity to the navigation solution. Inclusion of the fault detection and exclusion (FDE) method further improved the operation of the navigation system during particularly dense foliage cover. 7.1 Future Work The next step in this research is to package the algorithms and hardware into a deploy- able module for use on actual systems. This platform has been investigated and advances will be forthcoming. 83 Further analysis of the multipath e ects could improve the processing by allowing the navigation processor to estimate these errors. Therefore rejection could be avoided by removal of these error sources. Improved multipath monitoring could also be extended to other applications such as more advanced di erential processing methods like real-time kinematic (RTK). This improvement would be bene cial since local e ects are errors that di erential methods cannot intrinsically remove. The navigation methods presented in this thesis can also be improved upon by adding more sophisticated integrity monitoring schemes to the processing. With these statistical techniques, more explicit bounds on the system integrity would be available. Therefore the bounding thresholds could be set as a function of desired performance. Further performance improvement would come by using a receiver capable of accepting aiding for signal tracking. This could be developed as part of a software receiver platform as this functionality is not available to receivers used in Auburn?s GPS and Vehicle Dynamics Laboratory. 84 Bibliography [1] Gps visualizer, http://www.gpsvisualizer.com/. [2] National geodetic survey precise gps orbits, http://www.ngs.noaa.gov/orbits/. [3] Bhamer, Ionosphere, http://en.wikipedia.org/wiki/Ionospherevg, May 2007. [4] Sunil B. Bisnath and Richard B. Langley, Pseudorange multipath mitigation by means of multipath monitoring and de-weighting, Proceedings of KIS 2001 (Ban , Alberta), June 2001. [5] Michael H. Bruch, G.A. Gilbreath, J.W. Muelhauser, and J.Q. Lum, Accurate waypoint navigation using non-di erential gps, Tech. report, Space and Naval Warfare Systems Center, 2002. [6] Rob Conley, Ronald Cosentino, Christopher J. Hegarty, Elliott D. Kaplan, Joseph L. Leva, Maarten Uijt de Haag, and Karen Van Dyke, Performance of stand-alone gps, Understanding GPS: Principles and Applications (Elliott D. Kaplan and Christopher J. Hegarty, eds.), Artech House, 2006. [7] Arinc Research Corporation, Navstar interface control document, http://www.navcen.uscg.gov/gps/geninfo/IS-GPS-200D.pdf, April 2000. [8] Tom Creel, Arthur J. Dorsey, Philip J. Mendicki, Jon Little, Richard G. Mach, and Brent A. Renfro, New, improved gps: The legacy accuracy improvement initiative, GPS World (2006). [9] Donghai Dai, Todd Walter, C.J. Comp, Y.J. Tsai, P.Y. Ko, Per Enge, and J. David Powell, High integrity multipath mitigation techniques for ground reference stations, Proceedings of the 1997 ION GPS Conference, 1997. [10] Nicholas J. DeCesare, John R. Squires, and Jay A. Kolbe, E ect of forest canopy on gps-based movement data, Wildlife Society Bulletin 33 (2005), no. 3, 935{941. [11] Jay A. Farrell and Matthew Barth, The global positioning system & inertial navigation, McGraw-Hill, 1998. [12] Julio C. Farret and Marcelo C. Santos, An alternative method for detection and mit- igation of static multipath in l1 carrier phase measurements, Proceedings of the ION NTM 2001, 2001. [13] Garmin, Gps glossary, http://www8.garmin.com/aboutGPS/glossary.html, 2008. 85 [14] Paul D. Groves, Principles of gnss, inertial, and multisensor integrated navigation systems, Artech House, 2008. [15] Christopher R. Hamm, IV Warren S. Flenniken, David M. Bevly, and Daniel E. Law- erence, Comparative performance analysis of aided carrier tracking loop algorithms in high noise/high dynamic environments, Proceedings of the ION GNSS (Long Beach, CA), ION, September 2004. [16] Hisashi Hasegawa and Tetsuhiko Yoshimura, Estimation of gps positional accuracy un- der di erent forest conditions using signal interruption probability, Journal of Forestry Research 12 (2007), 1{7. [17] Stephen Hilla, Plotting pseudorange multipath with respect to satellite azimuth and elevation, GPS Solutions 8 (2004), 44{48. [18] J. J. Spilker Jr., Foliage attenuation for land mobile users, Global Positioning System: Theory and Application, Volume 1, American Institute of Aeronautics and Astronau- tics, Inc., 1996. [19] , Gps navigation data, Global Positioning System: Theory and Applications, Volume 1 (Bradford W. Parkinson and James J. Spilker Jr., eds.), American Institute of Aeronautics and Astronautics, Inc., 1996. [20] , Satellite constallation and geometric dilution of precision, Global Positioning System: Theory and Application, Volume 1, American Institute of Aeronautics and Astronautics, Inc., 1996. [21] Elliott D. Kaplan and Christopher J. Hegarty (eds.), Understanding gps: Principles and applications, Artech House, 2006. [22] G. Lachapelle, J. Hendriksen, and T. Melgara, Seasonal e ect of tree foliage on gps signal availability and accuracy for vehicular navigation, Proceedings of the 7th In- ternational Technical Meeting of The Satellite Division of the Institute of Navigation (Salt Lake City, UT), September 1994, pp. 527{532. [23] David Gary Lawrence, Aircraft landing using gps, Phd dissertation, Stanford Univer- sity, September 1996. [24] Helena Leppakoski, Heidi Kuusniemi, and Jarmo Takala, Raim and complementary kalman ltering for gnss reliability enhancement, Proceedings of the PLANS Confer- ence, 2006. [25] Pratap Misra and Per Enge, Global positioning system: Signals, measurements, and performance, second ed., Ganga-Jamuna Press, 2006. [26] Dignus-Jan Moelker, Multiple antennas for advanced gnss multipath mitigation and multipath direction nding, Proceedings of ION GPS-97, September 1997. 86 [27] Bradford W. Parkinson, Gps error analysis, Global Positioning System: Theory and Application, Volume 1 (Bradford W. Parkinson and James J. Spilker Jr., eds.), Amer- ican Institute of Aeronautics and Astronautics, Inc., 1996. [28] Bradford W. Parkinson and Per K. Enge, Di erential gps, Global Positioning System: Theory and Application, Volume 2 (Bradford W. Parkinson and James J. Spilker Jr., eds.), American Institute of Aeronautics and Astronautics, Inc., 1996. [29] C. Rocken, C. Meertens, B. Stephens, J. Braun, T. VanHove, S. Perry, O. Rudd, and M. McCallumand J. Richardson, Unavco academic research infrastructure (ari) receiver and antenna test report, Tech. report, UNAVCO, 1996. [30] P. Sigrist, P. Coppin, and M. Hermy, Impact of forest canopy on quality and accuracy of gps measurements, Int. J. Remote Sensing 20 (1999), no. 18, 3595{3610. [31] Robert F. Stengel, Optimal control and estimation, Dover Publications, 1994. [32] Byron D. Tapley, Bob E. Schutz, and George H. Born, Statistical orbit determination, Elsevier Academic Press, 2004. [33] William Travis, Robert Daily, David M. Bevly, Kevin Knoedler, Reinhold Behringer, Hannes Hemetsberger, Jrgen Kogler, Wilfried Kubinger, and Bram Alefs, Sciautonics- auburn engineering?s low-cost high-speed atv for the 2005 darpa grand challenge, Jour- nal of Field Robotics 23 (2006), no. 8, 579{597. [34] United States Naval Observatory (USNO), Gps constellation status, ftp://tycho.usno.navy.mil/pub/gps/gpstd.txt. [35] Phillip W. Ward, John W. Betz, and Christopher J. Hegarty, Gps satellite signal characteristics, Understanding GPS: Principles and Applications (Elliott D. Kaplan and Christopher J. Hegarty, eds.), Artech House, 2006. [36] , Satellite signal acquisition, tracking, and data demodulation, Understanding GPS: Principles and Applications (Elliott D. Kaplan and Christopher J. Hegarty, eds.), Artech House, 2006. [37] IV Warren S. Flenniken, Modeling inertial measurement units and analyzing the e ect of their errors in navigation applications, Master?s thesis, Auburn University, December 2005. [38] Hayati Zengin and Ahmet Yesil, Comparing the performances of real-time kinematic gps and a handheld gps receiver under forest cover, Tech. report, Istanbul University, Faculty of Forestry, Department of Forest Management Planning, 2004. 87 Nomenclature x generic vector s pseudorange error for satellite s sl pseudorange error for satellite s and L-band freqency l sl carrier phase error for satellite s and L-band freqency l longitude angle l carrier wavelength for L-band freqency l latitude angle sl carrier phase measurement for satellite s and L-band frequency l s pseudorange from user to satellite s c tu;s clock o set of user, satellite c speed of light e Earth-Centered Earth-Fixed (ECEF) coordinate frame e body coordinate frame i inertial coordinate frame Is1;2 ionospheric delay on L1, L2 frequency for satellite s M sl carrier phase multipath for satellite s and L-band freqency l 88 M sl pseudorange multipath delay for satellite s and L-band frequency l n navigation coordinate frame Nsl carrier phase integer ambiguity for satellite s and L-band frequency l reeb;es ECEF position vector of user, satellite reb;es user, satellite distance from ECEF origin reb user range to ECEF origin rsb range from satellite to user s satellite coordinate frame tm time a signal is measured Ts tropospheric delay for satellite s ts time a signal leaves the satellite x x vector from origin to origin expressed in coordinates x magnitude of x vector from orign to origin xeb;es ECEF x coordinate of user, satellite yeb;es ECEF y coordinate of user, satellite zeb;es ECEF z coordinate of user, satellite 89 Appendix A Coordinate Frames and Transformations Part of navigation solution presentation is a clear understanding of what coordinate frames are being used. Also, transformations between these coordinate systems make the combination of di erent system types (like GPS and INS) compatible. A description of the frames used in this work is given followed by conversions between them used in this work. A.1 Coordinate Frames It is necessary to clearly delineate what coordinate frame system is being used and what frame measures are related to. This is particularly important in combining systems that give values of the same quantity in di erent frames. A.1.1 Earth-Centered Inertial (ECI) Frame The ECI frame is approximately an inertial frame, meaning it can be su ciently ap- proximated as a non-rotating coordinate frame. This is not strictly true but for the purposes of the calculations used, it can be approximated as such. The necessity of describing this frame is that this is the reference system to which inertial sensors measure. The origin of the ECI frame is located at the center of the Earth. Its z axis is coincident with the Earth?s axis of rotation. The x axis points in a non-rotating direction, usually taken to be the vernal equinox [14]. The y axis completes the right-handed coordinate system. This frame is illustrated in Figure A.1. 90 Figure A.1: Earth-Centered Inertial (ECI) Frame A.1.2 Earth-Centered Earth-Fixed (ECEF) Frame The ECEF frame is a frame in which the origin is the center of the earth, the z axis is coincident with the Earth?s axis of rotation, the x axis points along 0 longitude, and the y axis completes the right-handed coordinate system by pointing along 90 longitude. This frame is illustrated in Figure A.2. A.1.3 Navigation Frame The local navigation frame is de ned with an origin on the user body (usually center of mass or sensor coordinate system center). It is the point for which the navigation solution is sought [14]. One axis points toward the local North direction, co-planar with the ECEF z axis. The Down direction is de ned to be perpendicular to the Earth ellipsoid in the direction of the center of the Earth. The East direction completes the right-hand coordinate 91 Figure A.2: Earth-Centered Earth-Fixed (ECEF) Frame system. This frame is illustrated in Figure A.3. Note that there are singularities for this frame at each pole because of the nature of the North direction de nition. A.1.4 Body Frame The body frame is the frame rigidly attached to the user body (assumed to be coincident with the sensor coordinate system). The x axis points in the forward direction of the body, the z axis downward on the body, and the y axis completes the right-hand coordinate system. This frame is illustrated in Figure A.4. A.1.5 Orbit Frame The orbit frame is a planar system with the origin at the Earth?s center and inclined from the polar axis by an inclination angle, i, as shown in Figure A.5. This frame is also rotated about the polar axis by , the longitude of the ascending node. The ascending node 92 Figure A.3: Navigation Frame Figure A.4: Body Frame 93 is the point at which a satellite in the orbit crosses the equatorial plane in the positive z direction. This angle is measured from the IERS reference meridian as shown in Figure A.5 [14]. Within the orbit plane, the x axis is de ned from the Earth center to the ascending Figure A.5: Orbital Plane With Respect To Equatorial Plane node and the y axis completes the right-hand coordinate system as shown in Figure A.6. The orientation of the plane is de ned by the argument of perigee, !. The perigee is the point of closest approach in the orbit. Figure A.6: Orbit Frame 94 A.1.6 Satellite Frame The satellite frame is de ned for satellitesas the coordinate frame centered at the phase center of the satellite antenna. Due to its use in this work, directions of the coordinate axes are not important since the origin location is the only important set of coordinates to be determined. A.2 Coordinate Transformations Transformation between sets of coordinate frames is necessary since various quantities used in the implementation are measured or given in di erent coordinate frames. Also, the user may need the resulting coordinates in a more usable form for their application. For example, ECEF coordinates are not as helpful as navigation coordinates for vehicle operation. Also, most mapping applications use geodetic coordinates since the origin of the navigation coordinates is di cult to correlate with positions on the Earth?s surface. A.2.1 Coordinate Transformation Matrix In order to relate the various coordinate frames, a transformation matrix is used. To take a vector quantity between two coordinate frames and that is expressed in coordinate frame , x , to be expressed in coordinate frame , x can be accomplished by x = C x (A.1) 95 The inverse operation is accomplished by using the transpose of the transformation matrix, that is C = C T (A.2) If an angular rate vector is expressed in skew-symmetric form then it can be transformed to another coordinate frame as = C C (A.3) The rate of change of the transformation matrix is found as _C = C (A.4) A.3 ECEF and Geodetic Coordinates To translate between ECEF coordinates and geodetic coordinates, the Earth?s ellip- soidal model must be used. For these transformations, the transverse radius of curvature, RE, is needed. This is the radius of curvature of constant latitude lines calculated as RE (Lb) R0p1 e2 sin2L (A.5) where R0 is the equatorial radius and Lb is the geodetic latitude. Therefore ECEF coordi- nates can be calculated from geodetic coordinates as xeeb = (RE (Lb) +hb) cosLb cos b (A.6) 96 yeeb = (RE (Lb) +hb) cosLb sin b (A.7) zeeb = h 1 e2 RE (Lb) +hb i sinLb (A.8) and geodetic coordinates can be calculated from ECEF coordinates as sinLb = z eeb (1 e2)RE (Lb) +hb tan b = y eeb xeeb hb = q xeeb 2 + yeeb 2 cosLb RE (Lb) (A.9) This solution has to be iterated through since RE is a function of latitude, and latitude and height must be solved for iteratively. 97