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?)