ANALYSIS OF SIMULATED PERFORMANCE OF INTEGRATED VECTOR TRACKING AND NAVIGATION LOOPS FOR GPS 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 classified information. Christopher Robert Hamm Certificate of Approval: David M. Bevly, Co-Chair Assistant Professor Department of Mechanical Engineering A. Scottedward Hodel, Chair Associate Professor Department of Electrical Engineering Jitendra Tugnait James B. Davis and Alumni Professor Department of Electrical Engineering Stephen L. McFarland Dean, Graduate School ANALYSIS OF SIMULATED PERFORMANCE OF INTEGRATED VECTOR TRACKING AND NAVIGATION LOOPS FOR GPS Christopher Robert Hamm A Thesis Submitted to the Graduate Faculty of Auburn University in Partial Fulfillment of the Requirements for the Degree of Master of Science Auburn, Alabama December 16, 2005 ANALYSIS OF SIMULATED PERFORMANCE OF INTEGRATED VECTOR TRACKING AND NAVIGATION LOOPS FOR GPS Christopher Robert Hamm 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 iii VITA Christopher Robert Hamm was born in Baton Rouge, Louisiana, the first child of Robert and Charlotte Hamm. After living in several different places, his family settled in Summerville, South Carolina for a number years. While residing there, Christopher graduated from Northside Christian School in North Charleston, South Carolina in the spring of 1999. In the fall of that year, he began studying computer engineering at Auburn University, graduating with a Bachelor?s of Science degree in that field of study in the spring of 2003. Shortly thereafter, he married Emily Rose Henry of Jacksonville, Florida whom he met while in school at Auburn. He began his graduate studies in electrical engineering in May of 2003. While pursuing his Master?s of Science degree, he worked as a Graduate Research Assistant in the GPS and Vehicle Dynamics Lab at Auburn University where he researched deeply-integrated GPS/INS algorithms and their performance in high noise environments. In September of 2005, he accepted a position with 5-D Systems, Inc. in Austin, Texas where he and his wife now live. iv THESIS ABSTRACT ANALYSIS OF SIMULATED PERFORMANCE OF INTEGRATED VECTOR TRACKING AND NAVIGATION LOOPS FOR GPS Christopher Robert Hamm Master of Science, December 16, 2005 (B.E.E., Auburn University, 2003) 97 Typed Pages Directed by A. Scottedward Hodel An alternative GPS signal tracking method that uses an extended Kalman-Bucy fil- ter in place of traditional independent, parallel tracking loops is presented in this thesis. Furthermore, this method is extended into a combined tracking and navigation filter cou- pled with inertial sensors. This approach significantly reduces filter design complexity and allows for optimal navigation performance in a variety of conditions. Specifically, the proposed method is demonstrated under high dynamic platform motion while experienc- ing significant levels of jamming. A simulation in a single-axis configuration was used to compare the proposed method to an existing, aided fixed-gain method in order to ascertain the expected level of anti-jam performance as well as immunity to dynamic stress. Results from this simulation indicate a nominal, expected positioning performance improvement of 5 meters with improvements of up to 25 meters in some cases. Additionally, increased jam- ming immunity of 17 dB J/S was seen in the simulations. A simulation comparing IMU?s of v differing grades was also run to ascertain the proposed method?s dependence upon inertial sensor quality. vi ACKNOWLEDGMENTS I would like to thank, first and foremost, Jesus Christ, for His provision of strength and clarity throughout my life and in particular throughout my graduate studies. Second, I would like to thank my wife, Emily, for her nearly unlimited patience and encouragement throughout our graduate studies together. I would also like to thank my parents, Robert and Charlotte Hamm, and my parents-in-law, Fred and Vicki Henry, for their support and encouragement. I also wish to express my gratitude to my advisors, Dr. A. Scottedward Hodel and Dr. David Bevly, for their technical and financial support. I am also indebted to the members of the GPS and Vehicle Dynamics Lab for their technical expertise which they so willingly shared. Additionally, I would like to thank the U.S. Army Aviation and Missile Research, Development, and Engineering Center (AMRDEC) for their financial and technical support of the research presented here. vii Style manual or journal used Journal of Approximation Theory (together with the style known as ?aums?). Bibliography follows the style of the IEEE Computer software used The document preparation package TEX (specifically LATEX) together with the departmental style-file aums.sty. viii TABLE OF CONTENTS LIST OF FIGURES xi LIST OF TABLES xiii 1 INTRODUCTION 1 1.1 Background and Motivation . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 Review of the Current and Prior Literature . . . . . . . . . . . . . . . . . . 3 1.3 Contributions and Outline of this Thesis . . . . . . . . . . . . . . . . . . . 7 2 NAVIGATION SIGNALS 9 2.1 GPS Signal Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.1.1 Carrier Signal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.1.2 Code Signal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.1.3 Navigation Data . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.1.4 Signal Properties at Reception . . . . . . . . . . . . . . . . . . . . 13 2.2 Inertial Sensor Measurements . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.2.1 Inertial Navigation . . . . . . . . . . . . . . . . . . . . . . . . . . 17 2.2.2 Inertial Sensor Errors . . . . . . . . . . . . . . . . . . . . . . . . . 21 3 GPS RECEIVERS AND KALMAN FILTERING 28 3.1 Typical GPS Reception and Navigation . . . . . . . . . . . . . . . . . . . 28 3.1.1 Receiver RF Front-end . . . . . . . . . . . . . . . . . . . . . . . . 29 3.1.2 Acquisition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 3.1.3 Tracking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 3.1.4 Navigation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 3.2 GPS and Kalman Filtering . . . . . . . . . . . . . . . . . . . . . . . . . . 38 4 INTEGRATED VECTOR TRACKING LOOPS 43 4.1 Derivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 4.1.1 Tracking Loops as Kalman filters . . . . . . . . . . . . . . . . . . 47 4.1.2 Inertial Augmentation . . . . . . . . . . . . . . . . . . . . . . . . 53 4.1.3 Extending the Tracking Filter to Navigation . . . . . . . . . . . . . 55 4.2 Integrated Vector PLL?s and DLL?s . . . . . . . . . . . . . . . . . . . . . . 56 4.3 6-DOF Vector Tracking Loop . . . . . . . . . . . . . . . . . . . . . . . . . 58 4.4 Theoretical Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 ix 5 ANALYSIS OF SIMULATION RESULTS 62 5.1 Simulation Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 5.2 Tracking Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 5.3 Positioning Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 5.4 Comparison of IMU Quality . . . . . . . . . . . . . . . . . . . . . . . . . 74 6 CONCLUSIONS 79 BIBLIOGRAPHY 81 x LIST OF FIGURES 1.1 Loosely Coupled GPS/INS Architecture . . . . . . . . . . . . . . . . . . . 4 1.2 Tightly Coupled GPS/INS Architecture . . . . . . . . . . . . . . . . . . . 5 1.3 Deeply Integrated GPS/INS Architecture . . . . . . . . . . . . . . . . . . . 6 2.1 Direct Sequence Spread Spectrum Effects in GPS Signals . . . . . . . . . . 12 2.2 GPS Signal Component Breakdown . . . . . . . . . . . . . . . . . . . . . 14 2.3 Inertial Motion in Six Degrees of Freedom . . . . . . . . . . . . . . . . . . 17 2.4 IMU Misalignment: Rotational Diagram . . . . . . . . . . . . . . . . . . . 26 2.5 IMU Nonorthogonality: Angular Deviations . . . . . . . . . . . . . . . . . 27 3.1 Generic GPS Receiver Diagram . . . . . . . . . . . . . . . . . . . . . . . 29 3.2 Basic Tracking Loop Architecture . . . . . . . . . . . . . . . . . . . . . . 31 3.3 Carrier Loop Discriminator Curve . . . . . . . . . . . . . . . . . . . . . . 33 3.4 Carrier Tracking Loop . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 3.5 Code Loop Discriminator Curve . . . . . . . . . . . . . . . . . . . . . . . 35 3.6 Code Tracking Loop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 3.7 Discrete-time, Linear Kalman Filter . . . . . . . . . . . . . . . . . . . . . 40 4.1 The Raytheon Method (from [Horslund and Hooker, 1999]) . . . . . . . . . 44 4.2 The Draper Method (from [Gustafson et al., 2001]) . . . . . . . . . . . . . 45 4.3 The Tony Abbot Method (from [Abbott and Lillo, 2003]) . . . . . . . . . . 46 4.4 Linear Model of a Basic Tracking Loop . . . . . . . . . . . . . . . . . . . 48 xi 4.5 Initialization Error Constraints on Vector Tracking Loops . . . . . . . . . . 57 5.1 Generalized Acceleration Profile . . . . . . . . . . . . . . . . . . . . . . . 65 5.2 Navigation State Estimates over Time . . . . . . . . . . . . . . . . . . . . 66 5.3 Sensor Error State Estimates over Time . . . . . . . . . . . . . . . . . . . 67 5.4 Code Phase Error versus J/S, 20 ms PDI . . . . . . . . . . . . . . . . . . . 69 5.5 Code Phase Error versus Maximum Acceleration, 20 ms PDI . . . . . . . . 70 5.6 Positioning Error versus J/S, 20 ms PDI . . . . . . . . . . . . . . . . . . . 72 5.7 Positioning Error versus Maximum Acceleration, 20 ms PDI . . . . . . . . 73 5.8 Code Phase Error versus J/S, 20 ms PDI . . . . . . . . . . . . . . . . . . . 75 5.9 Code Phase Error versus Maximum Acceleration, 20 ms PDI . . . . . . . . 76 5.10 Positioning Error versus J/S, 20 ms PDI . . . . . . . . . . . . . . . . . . . 77 5.11 Positioning Error versus Maximum Acceleration, 20 ms PDI . . . . . . . . 78 xii LIST OF TABLES 2.1 Frame Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.2 Spread Spectrum Processing Gain Factor, Q . . . . . . . . . . . . . . . . . 15 3.1 Kalman Filter Variable Definitions . . . . . . . . . . . . . . . . . . . . . . 42 4.1 Description of 6DOF State Vector Elements . . . . . . . . . . . . . . . . . 58 4.2 J/S Tracking Performance in a Single-Axis . . . . . . . . . . . . . . . . . . 61 5.1 Simulated Accelerometer Error Mechanisms . . . . . . . . . . . . . . . . . 74 xiii CHAPTER 1 INTRODUCTION The United States Department of Defense, with particular support from the U.S. Air Force, relies heavily on the availability and precision of the NAVSTAR System, or Global Positioning System (GPS) as it is commonly known, for munitions guidance. Addition- ally, GPS is now a part of daily civilian life in everything from cell phones to automobiles. However, GPS suffers from a fundamental weakness - low received signal power. This low signal power makes GPS receivers extremely susceptible to RF interference, both in- tentional and unintentional. This weakness is further exacerbated by platform dynamics which can cause a GPS receiver?s signal tracking subsystem to ?unlock.? Through simula- tion, the performance of deeply-integrated GPS/INS is examined as an improved technique for use under high platform dynamics in environments with high levels of RF interference. 1.1 Background and Motivation The United States Department of Defense constructed the Global Positioning Sys- tem during the 1980?s to provide a globally accessible and reliable means of navigation and guidance for the U.S. military. Two kinds of GPS signals are available, a signal for general civilian-access and a signal for government-authorized users. Only the civilian signal is discussed in this thesis, and aspects of the restricted signal are only mentioned for informative purposes. The GPS consists of twenty-nine orbiting satellites along with four ground-based monitoring stations. All twenty-nine orbital vehicles contain a precise 1 clock which is synchronized to a single common time. These clocks are driven by highly- accurate atomic oscillators to maintain their stability over many years. Each satellite also maintains a record of its orbital parameters from which its exact position at any moment in time may be computed. These parameters, known as ephemeris, along with the current time are broadcast toward Earth by each GPS satellite. A typical GPS receiver unit receives these signals and notes the time of reception. Using the time of reception, the time of trans- mission, and the computed positions of the satellites in view, the position of the receiver can be calculated. Additionally, the velocity of the receiver can also be calculated from the received signal information. The primary advantages of the Global Positioning System are the global availability of the system and the global reference frame of the computed positioning solution. The primary disadvantage to GPS relates to the relatively low power of the received signal which makes the signal susceptible to interference, both intentional and unintentional. Prior to the advent of GPS, inertial navigation systems (INS) provided the most reli- able positioning system. In an inertial navigation system, three orthogonally-mounted ac- celerometers measure the acceleration of the vehicle to which the inertial measurement unit (IMU) is mounted. These accelerations are measured relative to the body-fixed reference frame of the vehicle and as such must be translated into a global reference frame in order to be useful for navigation. To enable this transformation, three gyroscopes are added to the IMU such that they measure the rate of rotation around the axes of body-fixed reference frame. The set of Euler angles, which define the vehicle?s attitude in space, are obtained by integrating the rate of rotation from the inertial sensors. Using these Euler angles, the mea- sured accelerations in the body framed may be translated into a global reference frame and double integrated to obtain position. In comparison to GPS-provided navigation solutions, 2 inertial navigation systems demonstrate an immunity to unexpected interference. However, the integration of the inertial measurements to obtain a navigation solution presents the pri- mary disadvantage to this approach due to the dependence on the initialization of the INS and the accumulation of sensor errors present in the sensor measurements. 1.2 Review of the Current and Prior Literature The idea of combining GPS and INS together as a single system for improved perfor- mance originated while the Global Positioning System was in its infancy [Nielson, 1986]. Combining these two approaches to navigation mitigates the disadvantages inherent to each system. Most approaches to coupling GPS and INS integration utilize Kalman filters to combine the two systems. Detailed descriptions of the various coupling schemes available at the time of this writing can be found in [Phillips and Schmidt, 1996]. The first approach proposed, referred to as loosely coupled, allows each system to operate more or less inde- pendently. A Kalman filter computes a navigation solution based on the inertial measure- ments, utilizing GPS position and velocity solutions to calculate the filter innovation and remove the INS error estimates from the overall navigation [Foss and Geier, 1996]. This approach, depicted in Figure 1.1, is deficient in removing a GPS receiver?s vulnerability to RF interference since the receiver is still independent in its derivation of a navigation so- lution [Rounds, 2004]. Tight coupling is an approach that seeks to remedy this deficiency by adding feedback to the GPS receiver in order to improve signal tracking capabilities and to improve its resistance to interference. Additionally, tight coupling combines the INS error-correction and navigation filter with the navigation filter of the GPS receiver to form a single navigation processor utilizing a nonlinear state estimation technique, typically an extended Kalman estimator. A block diagram of this technique is shown in Figure 1.2. 3 In high-dynamic and/or high-noise environments, the use of tight-coupling as a navigation method is common [Foss and Geier, 1996]. Several alternative anti-jam methods have been proposed as additions to or re- placements for tight-coupling. Adaptive beamforming, a well known signal processing technique that utilizes steerable antenna gain patterns to ?null out? interference, has been applied to GPS, providing 5 to 30 dB improvement in interference rejection [Brown and Gerein, 2001]. A technique known as data wipe-off provides additional signal-to-noise power ratio increases by increasing the integration time of the GPS tracking loops past the limits imposed by signal structure. Performance gains using data wipeoff are proportional to the amount of increase in integration time [Rounds, 2004, Ward, 1996c]. An effective alternative to tight coupling is Doppler-aiding, which provides an estimate of the Doppler shift to the receiver?s tracking loops based on inertial sensor measure- ments without performing the full navigation computation. This method has been investigated by several groups with varying results and opinions regarding nomenclature [Alban et al., 2003, Kreye et al., 2001, Gebre-Egziabher et al., 2003]. Several integrated, vector methods of tracking and navigation exist which are exten- sions of vector delay-locked loops [Spilker, Jr., 1996a]. These integrated methods usually Ant. GPS Receiver Kalman Filter Combined Nav. Solution INS GPS Nav. Solution Inertial Nav. Solution Figure 1.1: Loosely Coupled GPS/INS Architecture 4 go by the names of ultra-tight coupling or deeply integrated GPS/INS. These methods com- bine the low-level tracking measurements with inertial measurements into a large Kalman filter for tracking and possibly navigation as depicted in Figure 1.3. Three patented meth- ods, or derivations thereof, are currently being pursued among many commercial GPS/INS vendors [Abbott and Lillo, 2003, Gustafson et al., 2001, Horslund and Hooker, 1999]. Several publications detailing the performance gains offered by deeply integrated GPS/INS have been presented by the inventor of this method and accounts for the pri- mary source of performance knowledge [Gustafson et al., 2000b, Gustafson et al., 2000a, Gustafson and Dowdle, 2003]. While these kinds of methods are currently popular in the field of GPS research, independent research has not been performed to validate the specific performance of these methods in comparison to each other [Rounds, 2004]. Furthermore, scholarly publications which mathematically detail the algorithms used in the reported research are sparse as of this writing [Kreye et al., 2004, Soloviev et al., 2004]. GPS Receiver Ant. Pseudo-range & Rate Range & Rate Estimate Tracking Loops Kalman Filter Nav. Solution INS Figure 1.2: Tightly Coupled GPS/INS Architecture 5 Ant. Frequency Estimate GPS Receiver Kalman Filter Nav. Solution INS RF Frontend & Correlators NCO Correlator Samples Figure 1.3: Deeply Integrated GPS/INS Architecture 6 1.3 Contributions and Outline of this Thesis While several methods exist that implement inertially-aided vector tracking, no sin- gle implementation provides enough generality by which to evaluate the performance of vector tracking alone. As such, this thesis develops a generic formulation of an inertially- aided vector tracking and navigation algorithm for GPS. Furthermore, the theoretical per- formance of this algorithm in several specific implementations is determined through ana- lytical methods and presented here. Finally, the developed method is simulated dynamically in a single-axis along the satellite line-of-sight. The tracking and positioning performance of the developed algorithm is tested under a variety of jamming and dynamic conditions and compared to an inertially-aided fixed-gain tracking and navigation framework. As an additional effort, the developed algorithm is compared in similar scenarios as previously simulated using differing grades of inertial sensor. Results provided in this thesis give tracking and positioning performance as a function of platform motion, level of interfer- ence, and IMU quality. A detailed presentation of the GPS signals and the inertial measurements used throughout this thesis is presented in Chapter 2. Specifically, the transmission of GPS signals from the satellites, their message format, and their received signal properties are detailed in addition to the formulation of an inertial navigation system and the associated inertial sensor errors that must be mitigated in such a system. The steps necessary to receive GPS signals and compute an estimate of position and velocity as well as a discus- sion of appropriate Kalman filtering techniques for use in GPS are examined in Chapter 3. The Kalman filter technique used in this research is also presented in this chapter as well. The primary contribution of this thesis, which is the development of an integrated 7 vector-based tracking and navigation algorithm for GPS, is presented in Chapter 4. This algorithm is developed from the traditional approach to GPS signal tracking presented in Chapter 3. Specific details affecting the implementation of this algorithm are presented as well as an extension of the developed algorithm from a single axis solution to a full six degrees-of-freedom solution. An analysis of the results from a simulation of the single axis method are presented in Chapter 5. The simulation used in this chapter examines the performance of the developed algorithm in high dynamic and high noise environments. Finally, a summary of the conclusions that may be drawn from the material presented in this thesis along with recommendations for future work is given in Chapter 6. 8 CHAPTER 2 NAVIGATION SIGNALS The design goal of the Global Positioning System was an accurate global space-based navigation system capable of all-weather performance. The system was to provide a level of accuracy unavailable by any other means at the time of its inception and was to be available for civilian use at a degraded accuracy. The signal structure selected met these goals and provided some additional enhancements to navigation accuracy that have only recently been exploited (e.g., differential corrections, real-time kinematic positioning). 2.1 GPS Signal Structure The three main components of a GPS signal are the carrier signal, the code signal, and the navigation data. The carrier signal forms the basis of the transmitted signal and is modulated by the code signal and navigation data using binary phase-shift keying (BPSK). While it is not an identifiable component of the transmitted signal, the Global Positioning System depends completely on the availability of reliable and accurate timing. To this end, each GPS satellite contains two rubidium oscillators and one cesium oscillator, each oper- ating at 10.23 MHz [Aparicio et al., 1996]. These oscillators provide the required stability of 1 part per 1013 over several days [Parkinson, 1996] and drive the three components of the GPS signal. 9 2.1.1 Carrier Signal GPS satellite signals operate in the L band of the microwave spectrum. At the time of this writing, GPS satellites transmit on two center frequencies, L1 (1575.42 MHz or 154?10.23 MHz) and L2 (1227.60 MHz or 120?10.23 MHz). GPS satellites transmit two types of signals, a civilian access signal referred to as the C/A (for coarse/acquisition) signal and a precision signal, which is only available to authorized users, known as the P signal. Both signals are transmitted orthogonally (i.e., with a 90 degree phase shift) on L1 while only the P signal is transmitted on the L2 frequency band. Modernization efforts will eventually provide a third civilian frequency, L5, at 1176.45 MHz and enable C/A signal access on L2 [GPS JPO, 2005]. These signals share the common property that they are unaffected by localized weather phenomena in the lower atmosphere. This property was a deciding factor in the selection of the L band as the home of GPS. 2.1.2 Code Signal In order to allow multiple satellites to broadcast on the same frequency band simul- taneously without interference, a multiple-access (MA) scheme had to be chosen. The scheme that was chosen for the NAVSTAR system was code-division multiple-access (CDMA), the same scheme used by many modern U.S. cell-phone systems. Under a CDMA system, each satellite signal is encoded with a unique, pseudo-random bit se- quence. The bit sequences used in GPS are from a family of maximal length codes known as Gold codes. Each Gold code sequence has a very low cross-correlation with any other sequence in the family and a low auto-correlation with itself. The codes are formed using two 10-bit shift registers with taps at selected bit locations. These taps create the 10 unique 1023 bit sequence, which is often called the psuedo-random noise (PRN) code [Ward, 1996b]. The PRN code modulates the carrier wave at rate of 1023 kilo-bits per second which results in a sequence that repeats every millisecond. This point of repetition is referred to as the code epoch and is used to provide the timing for the navigation message, which is discussed in Section 2.1.3. The code modulation rate introduces a second design feature of most CDMA systems, spread-spectrum transmission. The effect of modulating a carrier wave by a square-pulse signal wave is to spread the signal power of the carrier wave out over a frequency band proportional to the frequency of the square-pulse wave. For example, a random 1.023 MHz binary sequence is applied to a 1.5754 GHz sinusoid which was pre- viously modulated by a 50 Hz binary data message. The resultant power spectral density, shown in Figure 2.1, illustrates the effects of the three GPS components. The binary se- quence has spread the signal power across a bandwidth equivalent to two times the data rate of the binary signal. Together, the application of a known sequence at a high data rate, rela- tive to actual message data rate is known as direct-sequence spread-spectrum transmission. A more detailed discussion of this technique may be found in [Ward, 1996b, Sklar, 2001]. 2.1.3 Navigation Data The primary information that each GPS satellite broadcasts is its orbital parameters or ephemeris and the current GPS time. These orbital parameters allow the user to com- pute the perturbed Keplerian orbit of that satellite [Kaplan et al., 1996]. From this cal- culation of orbit along with a knowledge of the exact time of reception and transmis- sion, the user can compute the position of the transmitting satellite in orbit and subse- quently its position in the Earth-Centered, Earth-Fixed (ECEF) coordinate system defined 11 1.573 1.5735 1.574 1.5745 1.575 1.5755 1.576 1.5765 1.577 1.5775?250 ?240 ?230 ?220 ?210 ?200 ?190 ?180 ?170 ?160 Frequency (GHz) Power Spectral Density (db/Hz) Carrier Wave Carrier + Data Carrier + Data + Code Noise Floor Figure 2.1: Direct Sequence Spread Spectrum Effects in GPS Signals in [US Dept. of Defense, 2000a]. In addition to its own orbital parameters, each satellite transmits a subset of orbital parameters known as the almanac for every other satellite in the GPS constellation. These subsets of parameters enable the computation of a coarse esti- mate of each satellite?s orbit. The broadcast ephemeris, while very accurate, requires daily updating in order to maintain the overall expected accuracy of the system. The updates to these parameters are computed by several ground monitoring stations maintained by the U. S. Air Force and are uplinked to the individual GPS satellites at least once per day. 12 The navigation message (1 frame) of each satellite is 1500 bits long, transmitted at a rate of 50 bits per second for frame transmission time of 30 seconds. The code epoch drives this data rate of 50 bits per second, which is an integer multiple of the code epoch. Each frame is subdivided into 5 equal-length subframes with each subframe further divided into ten 30-bit words. To guard against error in reception, each word includes a 6-bit Hamming code within its 30 bits for error detection and correction. The first two words of each subframe form a header, which includes an 8-bit preamble for synchronization and a portion of the GPS time of week (TOW) count. The message content of a frame changes according to a known 25-frame pattern with each frame within pattern referred to as a page. Of the five subframes in each page, subframes 1, 2, and 3 repeat in each subsequent frame while subframes 4 and 5 change according to the page number [Spilker, Jr., 1996b]. Table 2.1 provides a description of the contents of each frame of the navigation data. Figure 2.2 provides a hierarchical display of the relation between the various components of a GPS signal. Table 2.1: Frame Format Subframe Number Subframe Contents 1 Timing, Clock Corrections, Satellite Health 2,3 Ephemeris Parameters 4 Almanac and Health for SV?s 25 - 32, Ionospheric Corrections, UTC Corrections 5 Almanac and Health for SV?s 1 - 24 2.1.4 Signal Properties at Reception GPS satellites transmit with a constant signal strength of 22 dBW with a conical dis- persion pattern focused toward Earth. However, the sky view of the satellite constellation available to the receiver will most likely have several satellites near the horizon. Since 13 Super-frame (25 frame) (12 minutes) Frame ( 5 subframes) (30 seconds) Subframe (10 words) (6 seconds) Word (30 bits) (600 milliseconds) Bit (20 code periods) (20 milliseconds) Code Period (1023 chips) (1 millisecond) Chip (1540 Carrier Period) (approx. 978 nanoseconds) Figure 2.2: GPS Signal Component Breakdown the signals from these satellites are traveling further through the Earth?s atmosphere, they experience greater attenuation in signal power than signals from satellites directly over- head. To account for this signal loss, GPS satellites use a special power dispersion pattern which allows satellites on the horizon to have a received signal strength equal to that of satellites directly overhead [Aparicio et al., 1996]. As specified in the military standard for the NAVSTAR system [US Dept. of Defense, 2000b], the received carrier power must be at least -160 dBW. After modulation by the data message and the code sequence, the mini- mum received signal power is -220.1 dBW. The typical noise floor is -205 dBW. Therefore, GPS signals are undetectable without demodulation. The techniques for acquiring and suc- cessfully tracking GPS signals are discussed in Chapter 3. 14 Often a receiver?s ability to maintain tracking in the presence of high-noise is quoted in terms of a ratio of jammer power to GPS signal power (J/S). The computation of this value requires two measures of power. The first measure is the baseline, unjammed carrier- to-noise ratio, C/No, which can be computed using the minimum received power of -160 dBW [US Dept. of Defense, 2000b] and the known receiver gains and losses along the RF and IF signal path. The second measure is the carrier-to-noise tracking threshold, [C/No]eq, of the receiver typically based upon the tracking performance of the carrier tracking loop. This value must be determined via Monte Carlo analysis due to the nonlinearities in the tracking loop [Ward, 1996a]. Tracking loops will be discussed in detail in Chapter 3. The equation for combining these two measures and reporting the J/S ratio in decibels is J/S = 10log bracketleftbigg QRc parenleftbigg 1 10[C/No]eq/10 ? 1 10[C/No]/10 parenrightbiggbracketrightbigg (2.1) where Rc is the signal chipping rate and Q is a dimension less adjustment factor that ac- counts for the kind of jamming being experienced [Ward, 1996a]. The values for this ad- justment factor are given in Table 2.2. Table 2.2: Spread Spectrum Processing Gain Factor, Q Jammer/Noise Type Q Vaule Narrowband Jamming 1 Wideband Spread-Spectrum Jamming 1.5 Wideband Gaussian Noise Jamming 2 The dynamic motion of the receiver relative to the transmitting satellite also has an effect on received GPS signals. The effect is a Doppler shift ?? in the carrier frequency that is proportional to the relative velocity between the satellite and the receiver?s antenna. 15 This relationship is quantified as ?? = 2?|vs?vr|? fc (2.2) where vs is the transmitting satellite?s velocity vector, vr is the receiver?s velocity vector, and fc is the carrier frequency as transmitted by the satellite. While the satellite?s velocity is much greater in magnitude than the receiver?s velocity, the induced Doppler shift changes very slowly due to the satellite?s angle of incidence with the Earth. Conversely, the receiver?s velocity relative to the transmitting satellite is small but prone to rapid changes due to accelerations of the receiver platform. With regard to another aspect of the relationship shown in Equation (2.2), formulations for absolute phase as a function of position can be formed in addition to formulations of the change in frequency due to acceleration. These formulations are used extensively in the development of vector tracking loops presented in Chapter 4. 2.2 Inertial Sensor Measurements Prior to the widespread use of GPS as a primary navigation system, inertial navigation systems were the preeminent navigation system. Typically, modern inertial navigation sys- tems are made up of three rate gyroscopes and three accelerometers mounted orthogonally in order measure to angular velocity, ?, and translational acceleration, a, in each axis, as shown in Figure 2.3 and defined according to Equations (2.3) and (2.4). Collectively, the axes set{XB, YB, ZB}comprise the body-fixed reference frame, FB. 16 ? = ? ?? ?? ?? ?? p q r ? ?? ?? ?? ?? = ? ?? ?? ?? ?? Rolling Rate Pitching Rate Yawing Rate ? ?? ?? ?? ?? (2.3) a = ? ?? ?? ?? ?? ?u ?v ?w ? ?? ?? ?? ?? = ? ?? ?? ?? ?? Longitudinal Acceleration Lateral Acceleration Vertical Acceleration ? ?? ?? ?? ?? (2.4) Figure 2.3: Inertial Motion in Six Degrees of Freedom 2.2.1 Inertial Navigation To obtain position, velocity, and attitude of the platform to which the inertial measure- ment unit (IMU) is mounted, inertial navigation systems compensate for sensor errors in the measurement, rotate the accelerometers into the proper reference frame, and integrate 17 the result to obtain the position and velocity. Two main approaches exist for aligning the ac- celerometers with tangent plane of the Earth. The older approach relied on a gimbaled plat- form in which angular gyroscopes (as opposed to rate gyroscopes) provided control com- mands to a set of servo motors which prevented the platform from rotating relative to the plane of the Earth. A more recent approach makes use of the increase in miniaturized com- puting power. Instead of a platform IMU, the alternative method attaches the IMU to the vehicle frame and uses numerical computations to rotate the accelerations into the correct reference frame. This method is referred to as a strap-down approach [Grewal et al., 2001]. An implementation of this strap-down approach that uses error-free measurements is given in Equations (2.5 - 2.15) which very similar to basic aeronautical navigation equations as presented in [Rauw, 2001]. The first step in navigation is the determination of platform attitude (i.e., roll, pitch, and yaw) relative to the nearest plane which is tangent to the Earth. These three angles are computed via ? ?? ?? ?? ?? ? ? ? ? ?? ?? ?? ?? = ? ?? ?? ?? ?? Roll Angle Pitch Angle Yaw Angle ? ?? ?? ?? ?? = ? ?? ?? ?? ?? ?t1 +integraltextt2t1 p+ (qsin?+rcos?)tan?d? ?t1 +integraltextt2t1 qcos??rsin?d? ?t1 +integraltextt2t1 qsin?+rcos?cos? d? ? ?? ?? ?? ?? (2.5) The acceleration vector as measured from the accelerometers must be rotated from the body-fixed reference frame, FB, into a coordinate frame that is tangent to the Earth. To perform this rotation, the previously determined platform attitude is used. The axes of the localized, Earth-tangential coordinate frame FL? are such that XL? points North, YL? points East, and ZL? points Down. To perform this transformation, a series of three rotations, 18 whose inverse matrices are ? = ? ?? ?? ?? ?? 1 0 0 0 cos? sin? 0 ?sin? cos? ? ?? ?? ?? ?? (2.6) ? = ? ?? ?? ?? ?? cos? 0 ?sin? 0 1 0 sin? 0 cos? ? ?? ?? ?? ?? (2.7) ? = ? ?? ?? ?? ?? cos? sin? 0 ?sin? cos? 0 0 0 1 ? ?? ?? ?? ?? (2.8) must be performed around each axis. After the transformation TB?L? = (???)?1 (2.9) the platform?s acceleration vector is defined in an North-East-Down right-handed coordi- nate frame, F?L. However, in the field of navigation, particularly in GPS, East-North-Up (ENU) is a more standard coordinate system. Therefore, a suitable additional transforma- tion TL??L = ? ?? ?? ?? ?? 0 1 0 1 0 0 0 0 ?1 ? ?? ?? ?? ?? (2.10) 19 is applied to yield the platform?s acceleration vector in the ENU geodetic coordinate system FL ?vL = (TL??L)(TB?L?) bracketleftbigg ?u ?v ?w bracketrightbiggT (2.11) To transform the above motion into a global reference frame an additional coordinate transformations must be performed. To perform this transformation, the origin of the ENU reference frame FL must be known relative to a globally-defined reference frame. For this application, a relevant and useful reference frame is the WGS84 ellipsoidal coordinate system which is a ?spherical?, geodetic coordinate system with positions identified by coordinate sets of longitude, ?; latitude, ?; and height of the ellipsoid, h [US Dept. of Defense, 2000a]. These values must be accurately initialized at the start of the navigation algorithm from an external source or else significant positioning error will rapidly accumulate. The acceleration vector in localized coordinates is translated into the global Earth-Centered, Earth-Fixed (ECEF) coordinate frame FG by applying the transformation, TL?G = ? ?? ?? ?? ?? ?sin? ?sin?cos? cos?cos? cos? ?sin?sin? sin?cos? 0 cos? sin? ? ?? ?? ?? ?? (2.12) which yields ?vG = TL?G?vL (2.13) 20 With a formulation of acceleration ?vG in a globally-defined reference frame, the posi- tion pG and velocity vG of the IMU platform can be calculated by performing the integra- tions vG = vGt1 + integraldisplay t2 t1 ?vG d? (2.14) pG = pGt1 + integraldisplay t2 t1 vG d? (2.15) 2.2.2 Inertial Sensor Errors Thus far, inertial sensors and their use as navigation devices have been presented de- void of error mechanisms. In practical applications, several forms of error contribute to an inertial sensor measurement. Each type of error has a different effect on the usability of the sensor measurements. Provided these errors are identified and modeled, the ef- fects of these errors may be reduced or eliminated through the use of filtering techniques [Grewal et al., 2001]. The five error components presented here are common to both gyro- scopes and accelerometers and are presented in order of severity. A six degree-of-freedom model of an IMU which incorporates the various error terms is presented as well. Through- out this model, sensor output, true acceleration, and true angular rate of rotation are repre- sented as u, a, and ?, respectively. The first error component is known as the random walk wr which in simplistic terms is sensor noise. This noise is typically modeled as zero-mean white noise wra ?N (0,?2a) wr? ?N (0,?2?) (2.16) 21 and specified by its standard deviation ? in units of degrees per square root hour for gy- roscopes and meters per second per square root hour for accelerometers. The IMU input- output model that incorporates this error term is ua = a+wra u? = ?+wr? (2.17) The second most severe error component is bias which typically appears as both a constant, bc, and drifting bias, b. The drifting bias is typically specified as a white noise process, quanitfied by its standard deviation in degrees per hour for gyroscopes and in g?s for accelerometers. This specification, however, assumes a Gaussian process as the model for the error source. The drifting bias component changes more slowly over time than a Gaussian process and thus lacks the high-frequency content of a Gaussian process. An alternative method which captures this behavior is to model the drifting error term as a first-order Markov process ?ba = ?1 ?ba ba +wba ?b? = ?1 ?b? b? +wb? (2.18) driven by zero-mean white noise wba ?N parenleftBig 0,?2ba parenrightBig wb? ?N parenleftBig 0,?2b? parenrightBig (2.19) To implement this alternative model using the existing specification drift specification, ?o, the variance on the process driving noise is modified so that ?2b = 2? 2 o ?b (2.20) 22 which is discussed in [Flenniken, IV, 2005]. This results in an updated IMU model ua = a+bca +ba +wra u? = ?+bc? +b? +wr? (2.21) The third error type is scale factor which is defined as the ratio between the measured output and the desired quantity [IEEE AES, 2001]. This quantity is typically modeled as a constant parameter with the exact value often provided by the manufacturer and incorpo- rated into the IMU model as S = ? ?? ?? ?? ?? SF 0 0 0 SF 0 0 0 SF ? ?? ?? ?? ?? (2.22) ua = Saa+ba +wra u? = S??+b? +wr? (2.23) The final two error sources discussed here differ from the previous three in that they are not independent in each axis. Rather these two errors, known as IMU misalignment and IMU nonorthogonality, have a coupling affect on the IMU outputs as a whole. The first of these errors is IMU misalignment. Misalignment refers to angular errors between the axes of the platform and the axes of the sensors themselves. This error term appears in two forms but both forms have the same effect and are typically lumped into a single term. The first form is a misalignment of the sensors inside the IMU enclosure and is usually small particularly in high-grade units. The second form is a misalignment between the IMU enclosure and the platform axes, which may be relatively large in comparison to the 23 previous misalignment. An illustration of axis misalignment in terms of Euler angles is given in Figure 2.4 along with the intermediate rotational axes. The translational effect of IMU misalignment is given by the matrix M = (AB?)?1 (2.24) where A = ? ?? ?? ?? ?? 1 0 0 0 cos? sin? 0 ?sin? cos? ? ?? ?? ?? ?? (2.25) B = ? ?? ?? ?? ?? cos? 0 ?sin? 0 1 0 sin? 0 cos? ? ?? ?? ?? ?? (2.26) ? = ? ?? ?? ?? ?? cos? sin? 0 ?sin? cos? 0 0 0 1 ? ?? ?? ?? ?? (2.27) Physically, the matrix M is the matrix inverse of the Euler angle Direction Cosine matrix for the model described in Figure 2.4. An IMU model which includes this rotational effect is ua = [Sa][M]a+ba +wra u? = [S?][M]?+b? +wr? (2.28) Nonorthogonality refers to error in the mounting configuration of the sensors in the IMU enclosure such that the angles between the sensing axes are not equal to 90 degrees. 24 These angular errors, ?, are defined pictorially in Figure 2.5. The effects of these errors are transmitted into the sensor output, u, as ua = [Sa][M][N]a+ba +wra u? = [S?][M][N]?+b? +wr? (2.29) via the scaling matrix N = ? ?? ?? ?? ?? cos?xy cos?xz sin?xy sin?xz sin?yx cos?yx cos?yz sin?yz sin?zx sin?zy cos?zx cos?zy ? ?? ?? ?? ?? (2.30) To correct the errors described in Equations (2.17 - 2.29) and perform the computation of a navigation solution using the method described in Equations (2.5 - 2.15), nonlinear Kalman filtering techniques are typically used in order to obtain a solution which com- pensates for the severity of the various sensor errors. Kalman filtering is discussed in a generalized form in Section 3.2. 25 Figure 2.4: IMU Misalignment: Rotational Diagram 26 Figure 2.5: IMU Nonorthogonality: Angular Deviations 27 CHAPTER 3 GPS RECEIVERS AND KALMAN FILTERING After a GPS signal finishes its transit from satellite to receiver, several steps must be performed in order generated a navigation solution from the received signal. In general, the number of received signals, one per satellite, may vary from a minimum of four to at most ten signals. These signals are hidden beneath the noise floor at reception and thus, requires a blind signal acquisition scheme. After acquisition, a signal is ?tracked? to remove its navigational message and obtain a precise measure of its transit time. These measures of time, one for each satellite signal being tracked, and each satellite?s position are combined in a set of equations from which the receiver?s position is computed by solving the system of equations. Kalman filtering is used extensively in GPS to solve these systems of equations, and various formulations of Kalman filters are discussed in Section 3.2 of this chapter. 3.1 Typical GPS Reception and Navigation In this section, the generic processing of GPS signals is discussed. GPS signal track- ing is given special attention since material presented in subsequent chapters relies on the fundamental concepts presented here. A high-level diagram of the interconnecting sub- components of a generic GPS receiver is shown in Figure 3.1 for the benefit of the reader. 28 Figure 3.1: Generic GPS Receiver Diagram 3.1.1 Receiver RF Front-end The receiving and processing of GPS signals begins at the antenna. Due to the low received power of GPS signals, active antennas are commonly used to increase the dynamic range of the incoming signal prior to discretization. After the antenna, the signal typically passes through several mix-down stages which manipulates the signal from 1.5754 GHz to something close to 5 MHz. At this point, the signal is sampled using analog-to-digital (A/D) conversion hardware. Since the actual GPS signal is still below the noise floor, only a few digital bits are necessary to capture the underlying signal and permit signal acquisition and demodulation. Some receiver?s use as many as four bits for discretization while low- cost receivers may only use one bit per sample [Dierendonck, 1996, Thor and Akos, 2002]. In order to maintain the maximum effectiveness per sample, an automatic gain control technique is used to calculate an average power of the incoming signal and applies pre- sampling gain to the signal to keep it within the effective range of the analog-to-digital conversion hardware [Dierendonck, 1996]. 29 3.1.2 Acquisition GPS signal tracking begins with the signal acquisition phase. As discussed in Section 2.1.4, the received signal is below the noise floor due to the intentional spectrum spread- ing. To acquire the incoming signal, each channel conducts a three-dimensional search across PRN code, chip offset, and Doppler frequency. The search process begins with the selection of a probable satellite PRN code, which may be selected at random or based on a coarse knowledge of the satellite constellation sky view. The selected PRN code is shifted through the complete code space, typically, in half-chip increments. Each offset code sequence is modulated by a sine wave whose frequency has been shifted from the intermediate frequency by a fixed amount. These fixed frequency shifts span a range of probable frequencies for the Doppler shift of the received signal. The received Doppler shift is due to both satellite velocity relative to the user and the drift characteristics of the receiver?s internal clock. Each increment in chip offset and Doppler frequency can be con- sidered as a ?bin?. The actual acquisition algorithm moves through each bin applying the corresponding estimated signal to the received signal. If the algorithm detects a correlation between the two signals greater than some predetermined threshold, a match is declared and the algorithm passes the information from that bin to the signal tracking loops which lock on to the signal and begin tracking the signal. 3.1.3 Tracking The basic architecture of a signal tracking loop is shown in Figure 3.2. In general, a tracking loop consists of three major components: a comparator or discriminator, a filter, and an oscillator. A comparator functions like its namesake; the received signal and esti- mated signal are compared and a measure of error between the two is produced. In some 30 Figure 3.2: Basic Tracking Loop Architecture tracking loops, a simple scalar comparison is not possible or practical. Instead, several combinations of the estimated signal and the received signal are produced. A discriminator operates on these multiple combinations to produce a single measure of error. The typical loop filter is a low-pass filter with one or more integrator terms. The integrator terms in the loop filter determine the type of dynamics in a received signal that the loop can track. The third component of a tracking loop is the oscillator whose frequency is controlled by the output of the loop filter. Two of the types of tracking loops common to most GPS receivers are delay-locked loops (DLL?s) and phase-locked loops (PLL?s). In the descriptions that follow, the received signal is assumed to be r(t,x) = p(t,x)sin(?(t,x)) +n(t) (3.1) which has two components to be tracked: the code signal, p(t,x) and the carrier signal, s(t,x) which is equivalent to sin(?(t,x)). Most GPS receivers use a phase-locked loop (PLL) to track the carrier component of a received signal. While some formulations of a PLL are capable of tracking a BPSK sig- nal like the one transmitted by GPS satellites, a more typical approach is to use a Costas 31 loop which is a subtype of phase-locked loops. Under a Costas loop, the received signal is split into two branches with one branch being combined with an in-phase estimate of the received carrier component and the other branch being combined with a quadrature-phase (i.e., 90 degrees out of phase with the in-phase branch) estimate of the received carrier component. The separate signal paths are often referred to as in-phase (I) and quadrature- phase (Q) channels respective to their signal components. The mechanism which combines the received signal with the estimated signal component is called the correlator. At each iteration of the loop, the Costas loop discriminator uses the I and Q measurements to gen- erate a measure of the phase error between the received signal and the replica signal. While several common discriminator functions exist, the most powerful as well as the most com- putationally intensive function is the arctangent discriminator implemented as IP = r(t,x)p(t,?x)sin(?(t,?x)) (3.2) QP = r(t,x)p(t,?x)cos(?(t,?x)) (3.3) D(?s) = arctan parenleftbiggQ P IP parenrightbigg (3.4) The discriminator curve, which relates true error to function output, for Equation (3.4) is shown in Figure 3.3. After the discriminator, signal flow through a Costas loop continues as in a basic track- ing loop with the signal separating back into the I and Q channels after the numerically controlled oscillator (NCO) as shown in Figure 3.4. Delay-locked loops (DLL), as utilized in GPS receivers, track the PRN code sequence. After the initial acquisition phase in which the code generator is initialized to the proper chip offset, the code generator splits each of the incoming I and Q channels into three 32 ?1 ?0.5 0 0.5 1?0.5 ?0.4 ?0.3 ?0.2 ?0.1 0 0.1 0.2 0.3 0.4 0.5 True Phase Error Input, ?s (? pi radians) Costas Loop Discriminator Output, D( ? s) ( ? pi radians) Figure 3.3: Carrier Loop Discriminator Curve additional channels for a total of six channels in all. One of three replica code signals are applied to each I and Q channel to make up the six new channels or correlators. The three replica code sequences are the prompt, early, and late sequences. The prompt sequence is the aligned estimate of the received code sequence. The early and late sequences are shifted versions of the prompt sequence where the early sequence is a half-chip advance and the late sequence is a half-chip delay. Other chips spacings are possible (up to a maximum of one full-chip), but one half-chip is the most common correlator spacing used. The correlator 33 Figure 3.4: Carrier Tracking Loop outputs from the code generator are described as IE = r(t,x)p(t+?,?x)sin(?(t,?x)) QE = r(t,x)p(t+?,?x)cos(?(t,?x)) IP = r(t,x)p(t,?x)sin(?(t,?x)) QP = r(t,x)p(t,?x)cos(?(t,?x)) IL = r(t,x)p(t??,?x)sin(?(t,?x)) QL = r(t,x)p(t??,?x)cos(?(t,?x)) (3.5) The most accurate discriminator to combine these outputs that is used in delay-locked loops is the dot product discriminator D(?p) = (IE?IL)IP + (QE?QL)QPradicalBig I2P +Q2P (3.6) whose discriminator curve is shown in Figure 3.5. A block diagram of the DLL is given in Figure 3.6. 34 ?1.5 ?1 ?0.5 0 0.5 1 1.5?1 ?0.8 ?0.6 ?0.4 ?0.2 0 0.2 0.4 0.6 0.8 1 True Error Input, ?p (chips) Code Discriminator Output, D( ? p), (chips) Figure 3.5: Code Loop Discriminator Curve While GPS signal tracking may be accomplished in an analog domain, most modern receivers use digital electronics past the RF front-end. As mentioned in Section 3.1.1, these received GPS signals are sampled at a rate of approximately 5 MHz. Direct signal track- ing at this rate impractical and cost ineffective using currently available digital hardware [Ward, 1996c]. Since the GPS signal is buried in the thermal noise prior to acquisition and tracking, only a few bits are needed to capture the signal for correlation. However, the numerical equivalents of these samples are insufficient for preforming signal tracking. By using an integrate-and-dump filter, the correlators effectively down-sample and accumu- late the combined received and estimated signals, generating a meaningful error measure [Ward, 1996c]. The subsequent output rate from the correlators may range from 1 kHz to 50 Hz, bounded by the period of the PRN sequence and the period of the navigation bits. Thus, the integrate-and-dump filter solves both the update rate and the numerical computa- tion issue. 35 Figure 3.6: Code Tracking Loop 3.1.4 Navigation In addition to signal tracking, each code and carrier loop plays a part in the computa- tion of the navigation solution. The carrier loop in a GPS receiver demodulates the satellite data message off the received carrier signal. The individual demodulated bits are passed to a central processor which computes each satellite?s ephemeris and subsequently its position information. Transmitted error correction terms are also computed by the central processor. The range to a satellite must first be determined in order to compute the receiver?s position. The range to a satellite is the signal transit time between the satellite and receiver, scaled by the speed of light. The code loop plays the primary roll in computing the signal transit time. An accumulator for each channel is incremented by the clock signal from the code loop?s oscillator, thus maintaining a count of the number of chips that have occurred since the last fundamental time frame. This count, along with a fractional chip count from the discriminator provides an estimate of the transit time ?T of the signal from the satellite. Pseudorange ? is computed by multiplying the transit time of a signal by the speed of light 36 c. This computation is called psuedorange because each measurement of transit time also includes a clock bias that is common across all channels. With a vector of ranges to each satellite being tracked whose position is s = ? ?? ?? ?? ?? Sx Sy Sz ? ?? ?? ?? ?? = ? ?? ?? ?? ?? Satellite Position in X (ECEF) Satellite Position in Y (ECEF) Satellite Position in Z (ECEF) ? ?? ?? ?? ?? (3.7) determining the user?s position and clock bias x = ? ?? ?? ?? ?? ?? ?? Px Py Pz bCLK ? ?? ?? ?? ?? ?? ?? = ? ?? ?? ?? ?? ?? ?? User Position in X (ECEF) User Position in Y (ECEF) User Position in Z (ECEF) Clock Bias ? ?? ?? ?? ?? ?? ?? (3.8) becomes an issue of solving an overdetermined system of nonlinear equations yi = ?i = radicalBig (Sx?Px)2 + (Sy?Py)2 + (Sz?Pz)2 +cbCLK (3.9) y = h(x,s) (3.10) The simplest approach to solve for the state vector x is to use a linear least-square approach yk = Hkxk (3.11) xk = parenleftBig HTk Hk parenrightBig?1 HTk yk (3.12) 37 by forming a linear approximation to the measurement equations Hk = bracketleftBigg?h(x) ?x bracketrightBigg x=xk (3.13) 3.2 GPS and Kalman Filtering A Kalman filter is a recursive state estimation technique that, under the proper as- sumptions, provides the optimal estimate of system state with regard to both process and measurement noise. Furthermore, if the assumed values for process and measurement noise are incorrect but near the correct values, the performance of the Kalman filter is near op- timal. The role of Kalman filtering in GPS is tied to the use of least squares as a method for computing position, velocity, clock errors, etc of the receiver. A navigation solution ob- tained using least squares estimation treats all measurements as having equal weight and all states as experiencing equal disturbances. Often, this treatment is unrealistic. The expected deviation in position is much different from the expected deviation in velocity. The same is true for many other states that might be incorporated into a receiver?s state estimate. While a weighted least squares technique can remedy this problem, a second weakness to least squares, and by extension weighted least squares, remains. Solutions obtained using least squares techniques do not retain any information about the previous state of the system. As such, state estimates may vary widely and unrealistically. A Kalman filter adds a smoothing effect to changes in the system state since estimates of the system state are constrained by the dynamic equations that define the system. Additionally, estimates of the system state are updated based on weighting of the disturbances to the system relative to the noise on the system measurements. The use of Kalman filtering as an alternative to least-squares and 38 other similar solutions is pervasive throughout the GPS community and detailed examples of this usage may be found in [Brown and Hwang, 1996]. A flow diagram of a basic, discrete-time linear Kalman filter is shown in Figure 3.7. The governing equations, which are executed in sequence per iteration, are Kk = P(?)k HT parenleftBig HP(?)k HT +Rk parenrightBig?1 (3.14) ?x(+)k = ?x(?)k +Kk (yk??yk) = ?x(?)k +Kk parenleftBig yk?H?x(?)k parenrightBig (3.15) P(+)k = (I?KkH)P(?)k (I?KkH)T +KkRKTk (3.16) ?x(+)k+1 = F?x(+)k +Guk (3.17) P(?)k+1 = FP(+)k FT +Q (3.18) k ? k + 1 (3.19) where the variables are as shown in Table 3.1. Time is implicitly discrete in all equations denoted by the subscripted index, k. While commonly used techniques exist for the approximation of nonlinear systems with linear models, some systems exhibit dynamics that do not permit such approximations from being practically used. GPS navigation is one such system whose dynamic behavior does not lend itself to a linearized Kalman filter approach. One nonlinear estimation tech- nique is the extended Kalman filter whose algorithm is similar to that given in Equations (3.14 - 3.19) with Equations (3.15) and (3.17) replaced by ?x(+)k = ?x(?)k +Kk (yk??yk) = ?x(?)k +Kk parenleftBig yk?h parenleftBig ?x(?)k parenrightBigparenrightBig (3.20) ?x(+)k+1 = ?x(+)k + integraldisplay tk+1 tk f(t,?x,u)d? (3.21) 39 Figure 3.7: Discrete-time, Linear Kalman Filter respectively, where h(t,?x) is the nonlinear measurement function and f(t,?x,u) is the non- linear state equation [Gelb, 1974]. An additional requirement for this algorithm is that the Jacobians of the measurement functions, C, and the state functions, A, must be updated at each iteration. While this approach is appealing and useful in many applications, the extended Kalman filter suffers from a numerically undesirable necessity. While the propagation of the states is computed using standard ordinary differential equation integration routines, a discrete-time, linear matrix is still required for the propagation of the estimate error covariance estimate, Pk. To compute this matrix requires the computation of a matrix exponential which is expensive to calculate numerically, particularly if it is done at every time step. A simple alternative is the extended Kalman-Bucy filter [Stengel, 1994] which 40 replaces Equation (3.18) with P(?)k+1 = P(+)k + integraldisplay tk+1 tk bracketleftBig FP(+)k +P(+)k FT +LQcLT bracketrightBig d? (3.22) 41 Table 3.1: Kalman Filter Variable Definitions State Vector x Estimated State Vector ?x Input Vector u Disturbance Vector w Measurement Noise Vector v Governing Differential Equations of the Actual State Vector ?x = f (?x,u,w) Measurement Vector y = h(x,v) Estimated Measurement Vector ?y = h(?x,u) State Matrix, Linearized F = ?f(?)?x vextendsinglevextendsingle vextendsinglex,u Input Matrix, Linearized G = ?f(?)?u vextendsinglevextendsingle vextendsinglex,u Disturbance Input Matrix, Linearized L = ?f(?)?w vextendsinglevextendsingle vextendsinglex,u Measurement Matrix, Linearized H = ?h(?)?x vextendsinglevextendsingle vextendsinglex Propagated Estimated Covariance Matrix of the State Estimate Error P ? = E bracketleftBig (x??x)(x??x)T bracketrightBig Updated Estimated Covariance Matrix of the State Estimate Error P + Disturbance or Process Noise Covariance Matrix, Continuous Qc Measurement Noise Covariance Matrix, Continuous Rc Kalman Estimator Gains K 42 CHAPTER 4 INTEGRATED VECTOR TRACKING LOOPS The concept of coupling GPS measurements with inertial signals was introduced while GPS was still in its infancy and not yet fully operational. At the time of this writing, three main categories of coupling approaches exist ? loose coupling, tight coupling, and ultra-tight coupling [Phillips and Schmidt, 1996]. Loose coupling and tight coupling were discussed briefly in Chapter 1. The technical focus of this thesis is on coupling tech- niques that combine correlator measurements or discriminator outputs with inertial mea- surements in some form of Kalman filter to directly or indirectly form a navigation so- lution. This family of techniques has several names by which it is referenced, many of which are names of specific algorithms in the family. The two most common names are ultra-tightly coupled GPS/INS [Abbott and Lillo, 2003] and deeply integrated GPS/INS [Gustafson et al., 2000b]. The method depicted in Figure 4.1 and commonly known as the Raytheon method is the simplest and most direct of the three patented methods being discussed here. This method provides code and carrier discriminator outputs as residual inputs to a Kalman filter that are subsequently combined with inertial measurements to form an estimate of position and velocity. Additionally, the estimate of position is combined with the knowledge of the transmitting satellites position to provide a line-of-sight aiding signal to the local os- cillator [Horslund and Hooker, 1999]. The second method, shown in Figure 4.2, extends the vector tracking concept by creating a code discriminator with a much wider tracking 43 range. This enhancement is incorporated in the bank of correlators shown in the relevant figure. This bank of correlators, which services a single channel, includes more than the usual number of 2 or 3 correlators with a wider chip spacing over the bank of correlators [Gustafson et al., 2001]. The third method, which is shown in Figure 4.3, simplifies the computational complexity of handling large state vectors in a Kalman filter. The approach in the Abbot method is to break the total tracking and navigation processing into smaller, cascaded or federated Kalman filters [Abbott and Lillo, 2003]. With regard to this thesis, the method derived in Section 4.1 is most similar to the Raytheon method presented in [Horslund and Hooker, 1999]. Figure 4.1: The Raytheon Method (from [Horslund and Hooker, 1999]) 44 Figure 4.2: The Draper Method (from [Gustafson et al., 2001]) 45 Figure 4.3: The Tony Abbot Method (from [Abbott and Lillo, 2003]) 46 4.1 Derivation As discussed in Chapter 3, the most fundamental type of measurement in a GPS re- ceiver is the correlator output with each receiver having at least four correlators per channel. Each correlator is a nonlinear combination of the received signal and the receiver?s estimate of the signal. Typically, these measurements are combined according to a discriminator function to produce a linear or nearly linear estimate of the error between the received sig- nal and the estimated signal. The navigation algorithm under investigation here takes as its primary measurement these correlator outputs rather than using an intermediary computa- tion such as pseudorange and combines these measurements with inertial measurements to generate a unified navigation solution. 4.1.1 Tracking Loops as Kalman filters Phase-locked loops and delay-locked loops are forms of nonlinear output estimators but do not lend themselves to the use of an extended Kalman-Bucy filter to handle the corresponding nonlinearities. The primary nonlinear components in a PLL or DLL are the discriminator and the numerically-controlled oscillator (NCO). The extended Kalman- Bucy filter as presented in Section 3.2 relies on a linear computation of the error between the received signal and estimated signal. While PLL?s and DLL?s are typically modeled as linear systems based on a small phase-angle approximation, these tracking loops may be modeled as linear systems over a much wider range without loss of accuracy under two conditions: (1) the loop discriminator uses a function whose output is linear, and (2) the input-output relationship from the NCO input to discriminator output is linear. In the 47 Figure 4.4: Linear Model of a Basic Tracking Loop case of the carrier tracking loop, the arctangent function used in a Costas-loop arrange- ment provides linear output as shown previously in Figure 3.3. While the output is only linear between ?pi2 radians, this range is both typical and more than adequate for Costas PLL tracking. Similarly in the case of the code tracking loop, a normalized dot product function provides the linear output shown in Figure 3.5 with the linear range of?12 chips. With regard to the linearity of the NCO, the input to the NCO must be linear in output as perceived at the output of the discriminator. The resultant linear model of the tracking loop diagram shown previously in Figure 3.2 is now shown in Figure 4.4. For the purpose of an example continued throughout this paper, a second-order loop is shown in the diagram and the Laplace transform of its closed-loop transfer function from received signal, Y(s) to estimated signal, ?Y(s), is defined as ?Y(s) Y(s) = KPs?KI s2 +KPs?KI (4.1) A linear model in transfer function form implies that a state-variable representation can be formed as well. The fractional relation of the transfer function is cross-multiplied 48 such that s2 ?X1(s) +KPs ?X1(s)?KI ?X1(s) = KPsU(s)?KIU(s) (4.2) where ?X1(s) is substituted for ?Y(s) and U(s) is substituted for Y(s). This equation is manipulated into an expression describing the highest order term of the transfer function s2 ?X1(s) =?KPs ?X1(s) +KPsU(s) +KI ?X1(s)?KIU(s) (4.3) A state-variable representation consists entirely of first-order equations and as such the previous expression is divided throughout by the Laplace variable s s ?X1(s) =?KP ?X1(s) +KPU(s) + KIs ?X1(s)?KIs U(s) (4.4) A new variable, ?X2(s), is created and defined as ?X2(s) = KI s ?X1(s)?KI s U(s) (4.5) which leads to s ?X1(s) =?KP ?X1(s) +KPU(s) + ?X2(s) (4.6) ?X2(s) is scaled by s to obtain the first-order equation s ?X2(s) = KI ?X1(s)?KIU(s) (4.7) 49 These two first-order expressions are combined into a matrix representation s?X(s) = ? ?? ? ?KP 1 KI 0 ? ?? ? ?X(s) + ? ?? ? KP ?KI ? ?? ?U(s) (4.8) and inverse Laplace transform L?1 is applied to this matrix representation L?1 braceleftBig s?X(s) bracerightBig = L?1 ?? ?? ??? ? ?? ? ?KP 1 KI 0 ? ?? ? ?X(s) + ? ?? ? KP ?KI ? ?? ?U(s) ?? ?? ??? (4.9) to obtain ??x(t) = ? ?? ? ?KP 1 KI 0 ? ?? ??x(t) + ? ?? ? KP ?KI ? ?? ?u(t) (4.10) The estimator dynamics for a classical, fixed-gain estimator can be described as ??x(t) = (A?KC)?x(t) +Ky(t) (4.11) provided the system is fully observable [Brogan, 1990]. The relationship between signal tracking loops and state estimation filters becomes apparent by comparing Equation (4.10) to Equation (4.11). The extension from a classical estimator to a Kalman estimator is a matter of recursively computing the estimation gain K based on the known characteristics of the system?s disturbances and sensor noise. Implementing this analogue requires a for- mulation of state equations which relate correlator measurements to code or carrier phase. A generic set of state equations that describe the phase and frequency of a code or carrier 50 signal are x = ? ?? ? ? ? ? ?? ? = ? ?? ? Phase Frequency ? ?? ? (4.12) ?x = ? ?? ? ? w ? ?? ? (4.13) y = bracketleftbigg ?+v bracketrightbigg (4.14) In traditional GPS tracking loops, a nonlinear discriminator function must be used to form an error estimate from the correlator measurements. This error estimate becomes the innovation term of a classical estimator so that the estimator dynamics for the general case become ??x(t) = A?x(t) +KD(?(t)) (4.15) Thus far, the formulation of the tracking loops as classical state estimators have been given as continuous time state equations. As mentioned in Section 3.1.3, the correlators, and subsequently, the discriminator and tracking loops update at discrete intervals based on the pre-detection integration time. Thus, the state estimators, which are replacing the tracking loops, must also be updated at the same discrete interval. From the state formulation given above, a Kalman estimator may be formed in which the estimator gains K are computed as function of the system model and the estimate error covariance matrix P. The propagation of the estimate error covariance matrix over time relies on the process noise covariance matrix, Q = E[wwT], and the measurement noise covariance matrix, R = E[vvT]. Subsequently, the computation of the estimator gains 51 depend on these two matrices as well. The measurement noise covariance is composed pri- marily of the noise due to the environment (e.g., thermal noise, RF interference, intentional jamming). This environmental noise covariance can be approximated by TC/No2 where T is the pre-detection integration interval. Using the current formulation of the vector tracking state model, analytically derived values for the process noise model that physically relate to the system may not be available. Instead, an estimate of the process noise covariance should be formed based on some expectation of the receiver?s dynamics. The process noise should be modeled as entering the system at the highest modeled dynamic. In the second-order example being used in this section, this dynamic is frequency, which is the first deriva- tive of phase, and as such the process noise is injected into the model at the frequency state. As mentioned previously, the two primary design constraints for tracking loops are environmental noise and dynamic stress. Since environmental noise is modeled by the mea- surement noise covariance matrix, the remaining constraint is dynamic stress which in the second-order case would be acceleration. The process noise covariance matrix can be used to account for this effect using the approximation ?2w = 1N Nsummationdisplay k=0 parenleftbigga k ? parenrightbigg2 ? parenleftBigg 1 N Nsummationdisplay k=0 ak ? parenrightBigg2 (4.16) where ak is the line-of-sight acceleration at a sample interval, N is some arbitrarily large number of samples, and ? is the wavelength of the signal being tracked. In other words, an average over time of the expected acceleration, which has been scaled according to the wavelength of the signal being tracked, is used as a value for the process noise covariance matrix. Recall that the bandwidth of a Kalman estimator from measurement to estimate depends on the ratio between the measurement and process noise models and the system 52 model. Therefore, modeling the process noise by this method is similar to designing fixed- gain tracking loops throught the use of the design constraints of carrier-to-noise ratios and desired dynamic stress performance. 4.1.2 Inertial Augmentation As discussed in Chapter 1, traditional GPS signal tracking fails under high-dynamics experienced at the receiver antenna. The same is also true for the vectorized tracking loop modeled in Equations (4.12 - 4.14) as it also lacks a measurement of the experienced dy- namic behavior of the receiver. The Kalman filter as shown thus far only has prior knowl- edge of the expected noise characteristics in the environment of operation and an approxi- mation of the expected platform dynamics. To provide tracking and navigation under high dynamics, the governing state equations can be altered so that inertial sensors directly aid the signal tracking aspect. Using the sensor models developed in Section 2.2, accelerome- ter measurements are applied as inputs, u, to the state model given in Equation 4.13. These measurements are assumed to be in the axis of modeled motion (i.e., satellite line-of-sight). A full six degree-of-freedom formulation which rotates a vector of these measurements from a reference frame that is not in the satellite line-of-sight is discussed in Section 4.3. As discussed in Section 2.2, the relevant error sources for a single axis accelerometer are scale factor SF, bias b(t), and random walk w. Using the accelerometer error model given previously in Equation (2.23), an inertially aided tracking filter that compensates for 53 errors in the inertial sensor is given by x = ? ?? ?? ?? ?? ?? ?? ? ? b SF ? ?? ?? ?? ?? ?? ?? = ? ?? ?? ?? ?? ?? ?? Phase Frequency Accelerometer Bias Accelerometer Scale Factor ? ?? ?? ?? ?? ?? ?? (4.17) ?x = ? ?? ?? ?? ?? ?? ?? ? g(u?b) ?SF +wu ?b ?b +wb ?b ?SF +wSF ? ?? ?? ?? ?? ?? ?? (4.18) y = bracketleftbigg ?+v bracketrightbigg (4.19) In this model, both bias and scale factor are modeled as first-order Markov processes and are incorporated into the state vector to be estimated by the Kalman filter. The observed scale factor is constant as described in Equation (2.23). However, modeling the scale factor term as a Markov process with a very large time constant (i.e., varying very slowly) pre- vents the Kalman estimate of that term from approaching steady-state prior to reaching an accurate estimate of the scale factor. The covariance of the driving noise for these process models along with the random walk form the process noise covariance matrix Qc = ? ?? ?? ?? ?? ?2w 0 0 0 ?2b 0 0 0 ?2SF ? ?? ?? ?? ?? (4.20) 54 which replaces the dynamic approximation given in Equation (4.16) as the process noise model in the Kalman filter of the vector tracking loop implementation. 4.1.3 Extending the Tracking Filter to Navigation As GPS signals are similar to a kind of radar signal, the measured and/or estimated components of a received signal are analogous to the navigational states of the receiver. Delta phase ?? is analogous to position Px; delta frequency ?? is analogous to velocity Vx; and change in delta frequency ??? is analogous to acceleration Ax. In each case, the link between these quantities is a linear scaling by the signal wavelength?in units of meters per signal period. Thus, Px = ?(?0??) = ??? (4.21) Vx = ?(?0??) = ??? (4.22) Ax = ?(??0? ??) = ???? (4.23) The vector tracking filter described thus far may be extended to provide navigation so- lutions as well by using this linear relation. The resulting state and measurement equations become x = ? ?? ?? ?? ?? ?? ?? Px Vx b SF ? ?? ?? ?? ?? ?? ?? = ? ?? ?? ?? ?? ?? ?? Position Velocity Accelerometer Bias Accelerometer Scale Factor ? ?? ?? ?? ?? ?? ?? (4.24) 55 ?x = ? ?? ?? ?? ?? ?? ?? Vx g(u?b) SF +wu ?b ?b +wb ?b ?SF +wSF ? ?? ?? ?? ?? ?? ?? (4.25) y = bracketleftbigg ?+v bracketrightbigg = bracketleftbigg ?Px +v bracketrightbigg (4.26) Additionally, the measurement noise covariance matrix R and the process noise co- variance matrix Q must also account for this scaling in their respective model formulation. 4.2 Integrated Vector PLL?s and DLL?s In order to apply practically the state vector apporach to inertial sensor integation, in the tracking of code and carrier signals several issues must be addressed. As with unaided vector DLL?s, integrated vector DLL?s must be initialized within the tracking threshold of the filter [Spilker, Jr., 1996a]. This initialization is typically accomplished using standard GPS reception techniques as detailed in Chapter 3. For an integrated vector DLL, the tracking threshold is one-half chip. Of the four states in the formulation given in Equation (4.24), the dynamic effects of accelerometer bias and scale factor may be ignored due to the slow rate of change relative to the update rate of the tracking filter which is limited to 20 milliseconds by the GPS navigation data bits. Since only the remaining two states need be considered, the limitation on state initialization becomes Px + ?TVx ?Code < 0.5 chips (4.27) 56 0 50 100 1500 1 2 3 4 5 6 7 8 Initial Position Error Magnitude, (meters) Initial Velocity Error Magnitude, (kilometers/second) 0.5 Chip Error Boundary 0 0.5 1 1.5 2 2.50 0.2 0.4 0.6 0.8 1 1.2 1.4 Initial Position Error Magnitude, (centimeters) Initial Velocity Error Magnitude, (meters/second) 45 Degree Error Boundary (a) Vector DLL Constraints (b) Vector PLL Constraints Figure 4.5: Initialization Error Constraints on Vector Tracking Loops where ?T is the update rate of the tracking filter. The same principle can also be applied to carrier tracking as well using a PLL tracking threshold of 45 degrees which yields the bound Px + ?TVx ?Carrier < 45 degrees (4.28) A graphical representation of the limitations presented in Equations (4.27) and (4.28) is given in Figure 4.5 with shaded regions indicating acceptable initial error combinations of position and velocity. While the margin of error indicated in Figure 4.5 (a) is quite wide and typically achievable with standard GPS receivers, Figure 4.5 (b) indicates that the level of accuracy required during initialization for a vector PLL is quite high. At the time of this writing, this level of positioning accuracy is typically only available through the use of carrier-phase differential GPS at a cost significantly higher than that of traditional receivers [Trimble, 2005, Leica Geosystems, 2005, Topcon, 2005]. 57 Table 4.1: Description of 6DOF State Vector Elements Description of States NumericDesignation of States ECEF Position,{PX,PY,PZ} {x1,x2,x3} ECEF Velocity,{VX,VY,VZ} {x4,x5,x6} Attitude,{?,?,?} {x7,x8,x9} Accelerometer Bias,{b?u,b?v,b?w} {x10,x11,x12} Gyroscope Bias,{bp,bq,br} {x13,x14,x15} Accelerometer Scale Factor,{SF?u,SF?v,SF?w} {x16,x17,x18} Gyroscope Scale Factor,{SFp,SFq,SFr} {x19,x20,x21} IMU Axes Misalignment,{?,?,?} {x22,x23,x24} IMU Axes Nonorthogonality, {?xy,?xz,?yx,?yz,?zx,?zy} {x25???x30} Receiver Clock Bias & Drift, bCLK,?bCLK {x31,x32} 4.3 6-DOF Vector Tracking Loop While a single axis formulation is informative, the practicalities of navigation require the state model to be extended a full, six degrees-of-freedom (6DOF). This extension swells the state vector from 4 states to 32 states. The states included in the expanded state vector are declared and enumerated in Table 4.1. The full six degree-of-freedom algorithm for vector tracking and navigation is essen- tially a Kalman filter-based inertial navigation system with a residual vector comprised of outputs from the GPS discriminators. The state equations for the state vector defined in Table 4.1 are the same as those which were presented in Section 2.2. The measurement equation for each satellite tracking channel yi = radicalBig (Sx?x1)2 + (Sy?x2)2 + (Sz?x3)2 +cx31 ? (4.29) where the satellite?s position coordinates are {Sx,Sy,Sz} and the tracked signal, code or carrier, wavelength is ?. This expression is similar to the equation for pseudorange given 58 previoulsy in Equation (3.9). The process noise covariance matrix for the 6DOF approach is composed of models of the noise processes of the inertial sensors being used. The mea- surement noise covariance contains models for the environmental noise including jamming on the received signal. Typically, the covariance for the measurement noise will be equal across all channels since the received noise level at the antenna will affect all channels equally. Scenarios in which this is not the case involve adaptive beamforming to ?null? out incoming jamming signals [Brown and Gerein, 2001]. 4.4 Theoretical Performance The theoretical performance of the integrated vector tracking loops is of primary im- portance in determining the level of improvement that might be obtained over alternative methods of coupling. While navigation is performed using the output of the code loop, the carrier tracking loop is a necessary component and the greatest point of weakness in most GPS signal tracking methods [Ward, 1996a]. The alternative methods shown here for com- parison are an unaided third-order carrier tracking loop with a fixed bandwidth of 18 Hz and an aided third-order carrier tracking loop with a fixed bandwidth of 3 Hz with performance values being obtained from [Ward, 1996a] and [Foss and Geier, 1996, Alban et al., 2003] respectively. A common metric is needed in order to compare the integrated vector tracking method developed in this thesis to fixed-gain tracking loops. Typically, the metric used for compar- ison is a receiver?s jammer-to-signal tracking performance (J/S) discussed in Section 2.1.4. While J/S performance may be computed for a given steady-state estimate error covariance 59 matrix P? via the continuous-time algebraic Riccatti equation [Stengel, 1994] ?P(t) = F(t)P(t) +P(t)FT(t)+ L(t)Qc(t)LT(t) ?P(t)HT(t)R?1C H(t)P(t) (4.30) the tracking threshold may only be specified in terms of phase?T. The remaining estimated states that do not directly relate to the phase tracking in a deeply-coupled framework be- come free variables rendering the problem under-determined. This deficiency means the problem cannot be solved analytically without further constraints. An iterative solution is still possible by substituting varying values of J/S for R and values for Q which corre- spond to the appropriate quality of IMU and solving for P?. By defining an appropriate relationship between the estimated state vector ?x and phase ? such that ? = f(?x) (4.31) a theoretical upper bound on the algorithms tracking performance may be determined f( radicalBig P?)