3
Signal Characteristics and
Information Extraction
Why is the GPS signal so complex? GPS was designed to be readily accessible to
millions of military and civilian users. Therefore, it is a receive-only passive system
for a user, and the number of users that can simultaneously use the system is
unlimited. Because there are many functions that must be performed, the GPS signal
has a rather complex structure. As a consequence, there is a correspondingly
complex sequence of operations that a GPS receiver must carry out in order to
extract desired information from the signal. In this chapter we characterize the signal
mathematically, describe the purposes and properties of the important signal
components, and discuss generic methods for extracting information from these
components.
3.1 MATHEMATICAL SIGNAL WAVEFORM MODELS
Each GPS satellite simultaneously transmits on two L-band frequencies denoted by
L
1
and L
2
, which are 1575.42 and 1227.60 MHz, respectively. The carrier of the L
1
signal consists of an in-phase and a quadrature-phase component. The in-phase
component is biphase modulated by a 50-bps data stream and a pseudorandom code
called the C=A-code consisting of a 1023-chip sequence that has a period of 1 ms
and a chipping rate of 1.023 MHz. The quadrature-phase component is also biphase
modulated by the same 50-bps data stream but with a different pseudorandom code
30
Global Positioning Systems, Inertial Navigation, and Integration,
Mohinder S. Grewal, Lawrence R. Weill, Angus P. Andrews
Copyright # 2001 John Wiley & Sons, Inc.
Print ISBN 0-471-35032-X Electronic ISBN 0-471-20071-9
In contrast to the L
1
signal, the L
2
signal is modulated with only the 50-bps data
and the P-code, although there is the option of not transmitting the 50-bps data
stream. The mathematical model of the L
2
waveform is
st
2P
Q
q
dtpt sinot y: 3:2
Figures 3.1 and 3.2 respectively show the structure of the in-phase and quadrature-
phase components of the L
1
signal. The 50-bps data bit boundaries always occur at
1
bit (20 ms)
1ms
1 chip (0.9775 µs)
d(t)
50
bps
data
2P
I
cos(ω t)
of the C=A-code, and there are precisely 20 code epochs per data bit, or 20,460
C=A-code chips. Within each C=A-code chip there are precisely 1540 L
1
carrier
cycles. In the quadrature-phase component of the L
1
signal there are precisely
204,600 P-code chips within each 50-bps data bit, and the data bit boundaries always
coincide with the beginning of a P-code chip [42, 56].
3.2 GPS SIGNAL COMPONENTS, PURPOSES, AND PROPERTIES
3.2.1 50-bps Data Stream
The 50-bps data stream conveys the navigation message, which includes, but is not
limited to, the following information:
1. Satellite Almanac Data. Each satellite transmits orbital data called the
almanac, which enables the user to calculate the approximate location of
every satellite in the GPS constellation at any given time. Almanac data is not
accurate enough for determining position but can be stored in a receiver where
it remains valid for many months. It is primarily used to determine which
satellites are visible at a given location so that the receiver can search for those
satellites when it is ®rst turned on. It can also be used to determine the
1 bit (20 ms)
1 chip (0.09775 µs)
d(t)
50
bps
data
2P
Q
sin(ωt)
L
convert signal propagation delay into an estimate of user position. In contrast
to almanac data, ephemeris data for a particular satellite is only broadcast by
that satellite, and the data is valid for only several hours.
3. Signal Timing Data. The 50-bps data stream includes time tagging, which is
used to establish the transmission time of speci®c points on the GPS signal.
This information is needed to determine the satellite-to-user propagation delay
used for ranging.
4. Ionospheric Delay Data. Ranging errors due to ionospheric effects can be
partially canceled by using estimates of ionospheric delay that are broadcast in
the data stream.
5. Satellite Health Message. The data stream also contains information regarding
the current health of the satellite, so that the receiver can ignore that satellite if
it is not operating properly.
Structure of the Navigation Message The information in the navigation
message has the basic frame structure shown in Fig. 3.3. A complete message
consists of 25 frames, each containing 1500 bits. Each frame is subdivided into ®ve
300-bit subframes, and each subframe consists of 10 words of 30 bits each, with the
most signi®cant bit (MSB) of the word transmitted ®rst. Thus, at the 50-bps rate it
takes 6 s to transmit a subframe and 30 s to complete one frame. Transmission of the
complete 25-frame navigation message requires 750 s, or 12.5 min. Except for
occasional updating, subframes 1, 2, and 3 are constant (i.e., repeat) with each
frame at the 30-s frame repetition rate. On the other hand, subframes 4 and 5 are
each subcommutated 25 times. The 25 versions of subframes 4 and 5 are referred to
as pages 1±25. Hence, except for occasional updating, each of these pages repeats
every 750 s, or 12.5 min.
A detailed description of all information contained in the navigation message is
beyond the scope of this text. Therefore, we only give an overview of the
fundamental elements. Each subframe begins with a telemetry word (TLM). The
®rst 8 bits of the TLM is a preamble that makes it possible for the receiver to
determine when a subframe begins. The remainder of the TLM contains parity bits
that started with the X
1
epoch occurring at approximately midnight on the night of
January 5, 1980=morning of January 6, 1980. Because WN is a modulo-1024 count,
an event called the week rollover occurs every 1024 weeks (a few months short of 20
years), and GPS receivers must be designed to accommodate it.
1
The WN is not part
of the HOW but instead appears as the ®rst 10 bits of the third word in subframe 1.
Fig. 3.3 Navigation message frame structure.
1
The most recent rollover occurred at GPS time zero on August 22, 1999, with little dif®culty.
34
SIGNAL CHARACTERISTICS AND INFORMATION EXTRACTION
Frame and Subframe Identi®cation Three bits of the HOW are used to identify
which of the ®ve subframes is being transmitted. The frame being transmitted
(corresponding to a page number from 1 to 25) can readily be identi®ed from the
TOW count computed from the HOW of subframe 5. This TOW count is the TOW at
the start of the next frame. Since there are 20 TOW counts per frame, the frame
number of that frame is simply (TOW=20) (mod 25).
Information by Subframe In addition to the TLM and HOW, which occur in
every subframe, the following information is contained within the remaining eight
words of subframes 1±5 (only fundamental information is described):
1. Subframe 1. The WN portion of the Z-count is part of word 3 in this subframe.
Subframe 1 also contains GPS clock correction data for the satellite in the
form of polynomial coef®cients de®ning how the correction varies with time.
Time de®ned by the clocks in the satellite is commonly called SV time (space
vehicle time); the time after corrections have been applied is called GPS time.
Thus, even though individual satellites may not have perfectly synchronized
SV times, they do share a common GPS time. Additional information in
messages, ionospheric correction terms, and coef®cients to convert GPS time
to UTC time. There are also spare words for possible future applications. The
components of an almanac are very similar to those of the ephemeris, and the
calculation of satellite position is performed in essentially the same way.
Table 3.1 Components of Ephemeris Data
Name Description Units
a
M
0
Mean anomaly at reference time semicircle
Dn Mean motion difference from computed value semicircle=s
e Eccentricity dimensionless
a
p
Square root of semimajor axis m
1=2
O
0
Longitude of ascending node of orbit plane at
weekly epoch
semicircle
i
0
Inclination angle at reference time semicircle
o Argument of perigee semicircle
_
O Rate of right ascension semicircle=s
IDOT Rate of inclination angle semicircle=s
C
SIGNAL CHARACTERISTICS AND INFORMATION EXTRACTION
4. Subframe 5. The 25 pages of this subframe includes the almanac for satellites
with PRN numbers from 1 to 24.
It should be noted that since each satellite transmits all 25 pages, almanac data for all
satellites is transmitted by every satellite. Unlike ephemeris data, almanac data is
valid for long periods (months) but is much less precise. Additional data contained
in the navigation message is user range error (URE), which estimates the range error
due to errors in satellite ephemeris, timing errors, and selective availability (SA) and
¯ags to indicate the health status of the satellites.
Table 3.2 Algorithm for Computing Satellite Position
m 3:986005 Â 10
14
m
3
=s
2
WGS 84 value of earth's
universal gravitational parameter
_
O
e
7:292115167Â 10
À5
rad=s WGS 84 value of earth's rotation rate
a
a
p
2
k
À e sin E
k
Kepler's equation for eccentric anomaly
f
k
cos
À1
cos E
k
À 1
1 À e cos E
k
True anomaly from cosine
f
k
sin
À1
1 À e
2
p
sin E
k
1 À e cos E
k
!
True anomaly from sine
E
k
C
rs
sin 2f
k
Second-harmonic correction to radius
di
k
C
ic
cos 2f
k
C
is
sin 2f
k
Second-harmonic correction to inclination
m
k
f
k
dm
k
Corrected argument of latitude
r
k
a1 À e cos E
k
dr
k
_
O À
_
O
0
t
k
À
_
O
e
t
0e
Corrected longitude of ascending node
x
k
x
H
k
cos O
k
À y
H
k
cos i
k
sin O
k
ECEF X coordinate
must account for beginning or end of week crossovers. That is, if t
k
is greater than 302,400 s, subtract
604,800 s from t
k
.Ift
k
is less than À302; 400 s, add 604,800 s to t
k
.
3.2 GPS SIGNAL COMPONENTS, PURPOSES, AND PROPERTIES
37
3.2.2 C=A-Code and Its Properties
The C=A-code has the following functions:
1. To enable accurate range measurements and resistance to errors caused by
multipath. To establish the position of a user to within 10±100 m, accurate
user-to-satellite range estimates are needed. The estimates are made from
measurements of signal propagation delay from the satellite to the user. To
achieve the required accuracy in measuring signal delay, the GPS carrier must
be modulated by a waveform having a relatively large bandwidth. The needed
bandwidth is provided by the C=A-code modulation, which also permits the
receiver to use correlation processing to effectively combat measurement
errors due to thermal noise. Because the C=A-code causes the bandwidth of
the signal to be much greater than that needed to convey the 50-bps data
stream, the resulting signal is called a spread-spectrum signal.
Using the C=A-code to increase the signal bandwidth also reduces errors in
measuring signal delay caused by multipath (the arrival of the signal via
multiple paths such as re¯ections from objects near the receiver antenna) since
the ability to separate the direct path signal from the re¯ected signal improves
as the signal bandwidth is made larger.
a period of 1 ms, as previously shown in Fig. 3.1. The leading edge of a speci®c chip
in the sequence, called the C=A-code epoch, de®nes the beginning of a new period.
Each chip is either positive or negative with the same magnitude. The polarities of
the 1023 chips appear to be randomly distributed but are in fact generated by a
deterministic algorithm implemented by shift registers. The algorithm produces
maximal-length Gold codes, which have the property of low cross-correlation
between different codes (orthogonality) as well as reasonably small autocorrelation
sidelobes.
Autocorrelation Function The autocovariance
2
function of the C=A-code is
ct
1
T
T
0
ctct À t dt; 3:3
where ct is the idealized C=A-code waveform (with chip values of Æ1), t is the
relative delay measured in seconds, and T is the code period (1 ms). The auto-
correlation function is periodic in t with a period of 1 ms. A single period is plotted
in Fig. 3.5, which is basically a triangle two chips wide at its base with a peak
located at t 0 [in reality ct contains small-sidelobe structures outside the
triangular region, but these are of little consequence].
The C=A-code autocorrelation function plays a substantial role in GPS receivers,
inasmuch as it forms the basis for code tracking and accurate user-to-satellite range
Fig. 3.5 Autocorrelation functions of C=A- and P(Y)-codes.
2
Strictly speaking, the autocorrelation function ctct=c0 is the autocovariance function rescaled
by the signal variance [c0], but the terms autocorrelation and autocovariance are often interchanged in
located 1.023 MHz from the central peak. Approximately 90% of the signal power is
located between these two nulls, but the smaller portion lying outside the nulls is
very important for accurate ranging. Also shown in the ®gure for comparative
purposes is a typical noise power spectral density found in a GPS receiver after
–– ––
Fig. 3.6 Power spectra of C=A- and P(Y)-codes.
40
SIGNAL CHARACTERISTICS AND INFORMATION EXTRACTION
frequency conversion of the signal to baseband (i.e., with carrier removed). It can be
seen that the presence of the C=A-code causes the entire signal to lie well below the
noise level, because the signal power has been spread over a wide frequency range
(approximately Æ1 MHz).
Despreading of the Signal Spectrum The mathematical model of the signal
modulated by the C=A-code is
st
2P
I
p
dtct cosot y3:5
where P
I
is the carrier power, dt is the 50-bps data modulation, ct is the C=A-
code waveform, o is the L
1
carrier frequency in radians per second, and y is the
carrier phase shift in radians. When this signal is frequency shifted to baseband and
tracked with a phase-lock loop, the carrier is removed and only the data modulation
and the C=A-code modulation remain. The resulting signal, which in normalized
form is
amount of interference suppression in decibels is given approximately by
Z 10 log
W
c
W
f
!
dB; 3:8
where W
c
and W
f
are respectively the bandwidths of the C=A-code (2.046 MHz) and
the signal recovery ®lter. If W
f
2000 Hz, about 30 dB of suppression can be
obtained for narrow-band interferors. When the signal recovery ®lter has a
bandwidth smaller than 1000 Hz, the situation is more complicated, since the
despread interfering sinusoid will have discrete spectral components with a 1000-
Hz spacing. As the bandwidth of the interfering signal increases, the C=A-code
despreading process provides a decreasing amount of interference suppression. For
interferors having a bandwidth greater than that of the signal recovery ®lter, the
amount of suppression in decibels provided by the C=A-code is approximately
Z 10 log
W
I
W
c
W
I
different satellites, the cross-covariance
1
T
T
0
c
1
tc
2
t À t dt 0 for all t: 3:10
Thus, when a selected satellite signal is despread using a replica of its code, the
signals from other satellites look like wide-band interferors which are below the
noise level. This permits a GPS receiver to extract a multiplicity of individual
satellite signals and process them individually, even though all signals are trans-
mitted at the same frequency. This process is called code division multiplexing
(CDM).
3.2.3 P-Code and Its Properties
The P-code, which is used primarily for military applications, has the following
functions:
1. Increased Jamming Protection. Because the bandwidth of the P-code is 10
times greater than that of the C=A-code, it offers approximately 10 dB more
protection from narrow-band interference. In military applications the inter-
ference is likely to be a deliberate attempt to jam (render useless) the received
GPS signal.
2. Provision for Antispoo®ng. In addition to jamming, another military tactic that
an enemy can employ is to radiate a signal that appears to be a GPS signal
(spoo®ng), but in reality is designed to confuse the GPS receiver. This is
prevented by encrypting the P-code. The would-be spoofer cannot know the
encryption process and cannot make the contending signal look like a properly
P-code is so long, the power spectrum may be regarded as continuous for practical
purposes. Each satellite broadcasts a unique P-code. The technique used to generate
it is similar to that of the C=A-code, but somewhat more complicated, and will not be
covered in this book.
Y-Code The encrypted form of the P-code used for antispoo®ng and denial of the
P-code to unauthorized users is called the Y-code. The Y-code is formed by
multiplying the P-code by an encrypting code called the W-code. The W-code is a
random-looking sequence of chips that occur at a 511.5-kHz rate. Thus there are 20
P-code chips for every W-code chip. Since both the P-code and the W-code have
chip values of Æ1, the resulting Y-code has the same appearance as the P-code, that
is, it also has a 10.23-MHz chipping rate. However, the Y-code cannot be despread
by a receiver replica P-code unless it is decrypted. Decryption consists of multi-
plying the Y-code by a receiver-generated replica of the W-code which is made
available only to authorized users. Since the encrypting W-code is also not known by
the creators of spoo®ng signals, it is easy to verify that such signals are not
legitimate.
3.2.4 L
1
and L
2
Carriers
The L
1
(or L
2
) carrier is used for the following purposes:
1. To provide very accurate range measurements for precision applications using
carrier phase.
2. To provide accurate Doppler measurements. The phase rate of the received
carrier can be used for accurate determination of user velocity. The integrated
and L
2
carrier frequencies, the ambiguity
resolution can be based on their frequency difference (1575:42 À 1227:6
MHz), which is smaller than either carrier frequency alone, and hence will
result in better ambiguity resolution performance.
3. Provides system redundancy (primarily for the military user).
3.3 SIGNAL POWER LEVELS
The L
1
C=A-code signal is transmitted at a minimum level of 478.63 W (26.8 dBW)
effective isotropic radiated power (EIRP), which means that the minimum received
power is the same as that which would be obtained if the satellite radiated 478.63 W
from an isotropic antenna. This effective power level is reached by radiating a
smaller total power in a beam approximately 30
wide toward the earth. The radiated
power level was chosen to provide a signal-to-noise ratio suf®cient for tracking of
the signal by a receiver on the Earth with an unobstructed view of the satellite.
However, the chosen power has been criticized as being inadequate in light of the
need to operate GPS receivers under less desirable conditions, such as in heavy
vegetation or in urban canyons where considerable signal attenuation often occurs.
For this reason, future satellites may have higher transmitted power.
As the signal propagates toward the earth, it loses power density due to spherical
spreading. The loss is accounted for by a quantity called the free-space loss factor
(FSLF), given by
FSLF
l
4pR
6. Lock onto and track the carrier.
7. Perform data bit synchronization.
8. Demodulate the 50-bps navigation data.
3.4.1 Determination of Visible Satellites
In many GPS receiver applications it is desirable to minimize the time from receiver
turn-on until the ®rst navigation solution is obtained. This time interval is commonly
called time to ®rst ®x (TTFF). Depending on receiver characteristics, the TTFF might
range from 30 s to several minutes. An important consideration in minimizing the
TTFF is to avoid a fruitless search for those satellite signals that are blocked by the
earth, that is, below the horizon. A receiver can restrict its search to only those
satellites that are visible if it knows its approximate location (within several hundred
miles) and approximate time (within approximately 10 min) and has satellite
almanac data obtained within the last several months. The approximate location
can be manually entered by the user or it can be the position obtained by GPS when
the receiver was last in operation. The approximate time can also be entered
manually, but most receivers have a suf®ciently accurate real-time clock that
operates continuously, even when the receiver is off.
Table 3.3 Calculation of Minimum Received Signal Power
Minimum transmitted signal power (EIRP) 26.8
a
dBW
Free-space loss factor (FSLF) À182.4 dB
Atmospheric loss factor (ALF) À2.0 dB
Receiver antenna gain relative to isotropic (RAG) 3.0 dB
Minimum received signal power (EIRP À FSLF À ALF RAG) À154.6 dBW
a
Including antenna gain.
46
SIGNAL CHARACTERISTICS AND INFORMATION EXTRACTION
Using the approximate time, approximate position, and almanac data, the receiver
is not the case.
1. GPS signals are spread-spectrum signals in which the C=A or P-codes spread
the total signal power over a wide bandwidth. The signals are therefore
virtually undetectable unless they are despread with a replica code in the
receiver which is precisely aligned with the received code. Since the signal
cannot be detected until alignment has been achieved, a search over the
possible alignment positions (code search) is required.
2. A relatively narrow post-despreading bandwidth (perhaps 100±1000 Hz) is
required to raise the signal-to-noise ratio to detectable and=or usable levels.
However, because of the high carrier frequencies and large satellite velocities
used by GPS, the received signals can have large Doppler shifts (as much as
Æ5 kHz) which may vary rapidly (as much as 1 Hz=s). The observed Doppler
3.4 SIGNAL ACQUISITION AND TRACKING
47
shift also varies with location on earth, so that the received frequency will
generally be unknown a priori. Furthermore, the frequency error in typical
receiver reference oscillators will typically cause several kilohertz or more of
frequency uncertainty at L-band. Thus, in addition to the code search, there is
also the need for a search in frequency.
Therefore, a GPS receiver must conduct a two-dimensional search in order to ®nd
each satellite signal, where the dimensions are C=A-code delay and carrier
frequency. A search must be conducted across the full delay range of the C=A-
code for each frequency searched. A generic method for conducting the search is
illustrated in Fig. 3.8 in which the received waveform is multiplied by delayed
replicas of the C=A-code, translated by various frequencies, and then passed through
a baseband correlator containing a low-pass ®lter which has a relatively small
bandwidth (perhaps 100±1000 Hz). The output energy of the detection ®lter serves
as a signal detection statistic and will be signi®cant only if both the selected code
delay and frequency translation match that of the signal. When the energy exceeds a
predetermined threshold b, a tentative decision is made that a signal is being
I
I
2
+Q
2
T
0
Q
∫
T
0
∫
T =3ms
P
FA
≅ 10
–3
Declare signal if Λ≥β
and no signal if Λ < β
Detection
sta tic
Λ
P
D
≅ 0.95
sit
Fig. 3.8 Signal search method.
48
SIGNAL CHARACTERISTICS AND INFORMATION EXTRACTION
threshold b. A step size of 0.5 code chip, which is used by many GPS receivers, is an
3.4 SIGNAL ACQUISITION AND TRACKING
49