Chapter 1

GLOBAL POSITIONING SYSTEM

He-Sheng Wang

Department of Communications and Guidance Engineering

National Taiwan Ocean University

Taipei, Taiwan

Abstract The Global Positioning System (GPS) is a space-based radionavigation

system managed and operated by the United States (U.S.) Government.

Through the developments of a few decades, GPS is now a very well-

known public science. The objective of this chapter is to provide a

compact, technical overview of GPS. Many aspects about GPS will be

discussed including the system, signals, measurements, performance,

and applications.

Keywords: Global Positioning System, Standard Positioning Service, Precise Posi-

tioning Service, Pseudo Random Noise, Pseudorange, GPS Observables,

Code Division Multiple Access, Spread Spectrum, Binary Phase Shift

Keying

1. What is Navigation?

Navigation is without a doubt one of the oldest scientiﬁc problems

in the world. Since prehistoric times, people have been trying to ﬁgure

out a satisfactory way to tell where they are and to help guide them

to where they are going. Cavemen probably used stones and twigs to

mark a trail when they set out hunting for food. The earliest mariners

followed the coast closely to prevent from getting lost. When navigators

ﬁrst sailed into the open ocean, they discovered they could chart their

course by following the stars. The ancient Phoenicians used the North

Star to journey from Egypt and Crete. According to Homer, the god-

dess Athena told Odysseus to keep the Great Bear on his left during his

travels from Calypsos Island. Unfortunately, the stars are only visible

2 Fundamentals of Electrical Engineering

at night - and only on clear nights.

The next major developments in the quest for the perfect method of

navigation were the magnetic compass and the sextant. The needle of

a compass always points north, so it is always possible to know in what

direction you are going. The sextant uses adjustable mirrors to measure

the exact angle of the stars, moon, and sun above the horizon.

In the early 20th century several radio-based navigation systems were

developed, which were used widely during World War II. Both allied and

enemy ships and airplanes used ground-based radio-navigation systems

as the technology advanced. One drawback of using radio waves gener-

ated on the ground is that you must choose between a system that is

very accurate but doesnt cover a wide area, or one that covers a wide

area but is not very accurate. High-frequency radio waves (like UHF

TV) can provide accurate position location but can only be picked up

in a small, localized area. Lower frequency radio waves (like AM radio)

can cover a larger area, but are not a good yardstick to tell you exactly

where you are.

Scientists, therefore, decided that the only way to provide coverage

for the entire world was to place high-frequency radio transmitters in

space. A transmitter high above the Earth sending a high-frequency

radio wave with a special coded signal can cover a large area and still

overcome much of the noise encountered on the way to the ground. This

is one of the main principles behind the GPS system.

GPS is actually a property of the U.S. government. It was developed

under the supervision of the U.S. Department of Defense (DoD). GPS

was designed as a dual-use system with the primary purpose of enhanc-

ing the eﬀectiveness of U.S. and allied military forces. It is expected

to provide a substantial military advantage and is now being integrated

into virtually every facet of military operations. GPS is also becoming an

integral component of the Global Information Infrastructure, with appli-

cations ranging from mapping and surveying to international air traﬃc

management and global climate change research. In an eﬀort to make

this beneﬁcial service available to the greatest number of users while

ensuring that the national security interests of the United States are ob-

served, two GPS services are provided. The Precise Positioning Service

(PPS) is available primarily to the military and other authorized users

of the United States and its allies equipped with PPS receivers. The

Standard Positioning Service (SPS) was originally designed to provide

Global Positioning System 3

civil users with a less accurate positioning capability than PPS through

the use of a technique known as Selective Availability (SA). On May 1,

2000, the President directed the U.S. Department of Defense (DoD) to

discontinue the use of SA eﬀective midnight May 1, 2000.

2. The Basic GPS Concept

The method of radionavigation is parcitularly attractive mainly be-

cause its relatively simple principle. The radio waves travel at a know

speed. Therefore, if the transit time of a signal from a transmitting

station can be measured, the distance between the transmitter and the

observer can be determined. Given distances to three transmitters at

known locations, the observer can compute his position unambiguously.

Estimation of a position based on measurement of distances is referred

to as trilateration. A radionavigation system based on this idea is re-

ferred to as a time-of-arrival (TOA) system. GPS is a TOA system.

Figure 1.1 shows a two-dimensional case. In order to determine the

user position, three satellites and three distances are required. The trace

of a point with constant distance to a ﬁxed point is a circle in the two-

dimensional case. Two satellites and two distances give two possible

solutions because two circles intersect at two points. A third circle is

needed to uniquely determine the user position.

For similar reasons one might decide that in a three-dimensional case

four satellites and four distances are needed. The equal-distance trace

to a ﬁxed point is a sphere in a three-dimensional case. Two spheres in-

tersect to make a circle. This circle intersects another sphere to produce

two points. In order to determine which point is the user position, one

more satellite is needed.

In GPS the position of the satellite is known from the ephemeris data

transmitted by the satellite. One can measure the distance from the

receiver to the satellite. Therefore, the position of the receiver can be

determined. In the above discussion, the distance measured from the

user to the satellite is assumed to be very accurate and there is no bias

error. However, the distance measured between the receiver and the

satellite has a constant unknown bias, because the user clock usually

is diﬀerent from the GPS clock. In order to resolve this bias error one

more satellite is required. Therefore, in order to ﬁnd the user position

4 Fundamentals of Electrical Engineering

Figure 1.1. Two-dimensional user position

ﬁve satellites are needed.

If one uses four satellites and the measured distance with bias error

to measure a user position, two possible solutions can be obtained. The-

oretically, one cannot determine the user position. However, one of the

solutions is close to the earths surface and the other one is in space.

Since the user position is usually close to the surface of the earth, it

can be uniquely determined. Therefore, the general statement is that

four satellites can be used to determine a user position, even though the

distance measured has a bias error.

3. System Architecture[12]

The GPS system is comprised of three segments, whose purpose is to

provide a reliable and continuous positioning and timing service to the

GPS user community. These three segments are known as the Space

Segment, Control Segment, and User Segment. See Figure 1.2. The

Global Positioning System 5

Space Segment consists of 24 satellites, each in its own orbit 26,560

km above the Earth. The Control Segment consists of ground stations

(ﬁve of them, located around the world) that make sure the satellites

are working properly. The DoD is responsible for both the Space and

Control Segments. The User Segment is comprised of receivers from a

wide variety of international agencies (a relative large part of them is

from U.S., of course), in addition to the growing private user base[2].

Figure 1.2. GPS consists of three major segments: the Space Segment, the Control

Segment, and the User Segment.

3.1 The GPS Space Segment

The GPS space segment consists nominally of a constellation of 24

operational Block II satellites (Block II, IIA, and IIR). The GPS satel-

lite constellation is shown in Figure 1.3 The satellites are arranged in six

orbital planes inclined at 55 degree relative to the equatorial plane, with

four primary satellite slots distributed unevenly in each orbit. Charac-

teristics of GPS satellites are summarized in Table 1.1. Each satellite

broadcasts a navigation message based upon data periodically uploaded

from the Control Segment and adds the message to a 1.023 MHz Pseudo

Random Noise (PRN) Coarse/Acquisition (C/A) code sequence. The

6 Fundamentals of Electrical Engineering

Table 1.1. Characteristics of GPS Satellites

Constellation

Number of Satellites 24

Number of Orbital Planes 6

Number of Satellites Per Orbit 4

Orbital Inclination 55

o

Orbital Radius 26560 km

Period 11 hrs 57 min 57.26 sec

Ground Track Repeat Sideral Day

satellite modulates the resulting code sequence onto a 1575.42 MHz L-

band carrier to create a spread spectrum ranging signal, which it then

broadcasts to the user community. This broadcast is known as the SPS

ranging signal or the L1 signal. Each C/A code is unique, and pro-

vides the mechanism to identify each satellite in the constellation. A

block diagram illustrating the Block IIA satellite’s SPS ranging signal

generation process is provided in Figure 1.4. The GPS satellite also

transmits a second ranging signal known as L2, that supports PPS user

two-frequency corrections. L2, like L1, is a spread spectrum signal and

is transmitted at 1227.6 MHz.

The Block II satellites are designed to provide reliable service over a

7.5- to 10-year design life, depending on the production version, through

a combination of space qualiﬁed parts, multiple redundancies for critical

subsystems, and internal diagnostic logic. The Block II satellite requires

minimal interaction with the ground and allows all but a few mainte-

nance activities to be conducted without interruption to the ranging

signal broadcast. Periodic uploads of data to support navigation mes-

sage generation are designed to cause no disruption to the SPS ranging

signal, although Block II/IIA satellites may experience a 6- to 24-second

disruption upon transition to the new upload.

3.2 The GPS Control Segment

The GPS Control Segment (CS) is comprised of four major compo-

nents: a Master Control Station (MCS), Backup Master Control Station

(BMCS), four ground antennas, and six monitor stations. An overview

of the CS is provided in Figure 1.5. The MCS is located at Schriever Air

Force Base, Colorado, and is the central control node for the GPS satel-

lite constellation. Operations are maintained 24 hours a day, seven days

Global Positioning System 7

Figure 1.3. The GPS Space Segment consists of a baseline constellation of 24 satel-

lites distributed in six orbital planes.

a week throughout each year. The MCS is responsible for all aspects of

constellation command and control, to include:

Routine satellite bus and payload status monitoring.

Satellite maintenance and anomaly resolution.

Managing SPS performance in support of all performance stan-

dards.

Navigation data upload operations as required to sustain perfor-

mance in accordance with accuracy performance standards.

Prompt detection and response to service failures.

In the event of a prolonged MCS outage, GPS operations can be

moved to a contractor-owned BMCS located at Gaithersburg, MD. When

required, personnel from the MCS deploy to the BMCS within 24 hours.

The BMCS is operationally exercised approximately four times per year

to ensure system capability. The CS’s four ground antennas provide a

8 Fundamentals of Electrical Engineering

Figure 1.4. Block IIA SPS Ranging Signal Generation and Transmission

near real-time Telemetry, Tracking, and Commanding (TT&C) inter-

face between the GPS satellites and the MCS. The six monitor stations

provide near real-time satellite ranging measurement data to the MCS

and support near-continuous monitoring of constellation performance.

The current CS monitor stations provide approximately 93% global cov-

erage, with all monitor stations operational, with a 5 degree elevation

mask angle. The actual elevation angle that a monitor station acquires

any given satellite varies due to several external factors.

3.3 The GPS User Segment

The GPS User Segment consists of the GPS receivers and the user

community. GPS receivers convert satellite signals into position, veloc-

ity, and time estimates. Four satellites are required to compute the four

dimensions of X, Y, Z (position) and Time. GPS receivers are used for

navigation, positioning, time dissemination, and other research. Because

new receivers are continuously being developed, it seems inappropriate to

Global Positioning System 9

Figure 1.5. The GPS Control Segment

expend much eﬀort in describing individual receivers in detail. However,

the technology inside the receiver is intellectually challenging, stimulat-

ing, and truely in line with today’s hige tech.

A partial listing of the applications of GPS including the following:

Aircraft navigation - GPS and diﬀerential GPS, commercial and

general aviation aircraft

Land mobile navigation - automobiles, trucks, and buses

Marine vessel navigation - GPS and diﬀerential GPS

Time transfer between clocks

Spacecraft orbit determination

Attitude determination using multiple antennas

Kinematic survey

Ionospheric measurement

10 Fundamentals of Electrical Engineering

4. Signals

Currently, the GPS satellite transmits two Right Hand Circularly Po-

larized (RHCP) L-band signals known as Link 1 (L1) and Link 2 (L2).

The L-band covers frequencies between 1 GHz and 2 GHz, and is a sub-

set of the ultra-high frequency (UHF) band. The center frequencies of

L1 and L2 are as follows:

L1 : f

L1

= 1575.42MHz, L2 : f

L2

= 1227.60MHz.

Two signals are transmitted on L1, one for civil users, and the other for

U.S. government-authorized users. L2 transmits only one signals, which

is intended for the authorized users only. Each signal consists of three

components:

Carrier: RF sinusoidal signal with frequency f

L1

or f

L2

.

Ranging Code: a unique sequence of 0s and 1s assigned to each

satellite which allows the receiver to determine the signal transit

time instantaneously.

Navigatioln Message: a binary-coded message consisting of data

on the satellite health status, ephemeris (satellite position and

velocity), clock bias parameters, and an almanac given reduced-

precision ephemeris data on all satellites in the constellation.

As the name implies, the carrier waves provide the means by which

the ranging codes and Navigation Message is transmitted to earth (and

hence to the user). The primary function of the ranging codes is to per-

mit the signal transit time (from satellite to receiver) to be determined.

(This quantity is also sometimes referred to in the navigation literature

as the time-of-arrival – TOA.) The transit time when multiplied by the

speed of electromagnetic radiation (c = 299792458 m/s in a vacuum)

gives the receiver-satellite range. The Navigation Message is modulated

on both carrier frequencies and contains the satellite ephemeris, satel-

lite clock parameters, and other pertinent information such as general

system status messages and an ionospheric delay model, necessary for

real-time navigation to be performed.

Global Positioning System 11

4.1 Code-Division Multiple Access (CDMA)

Signals

In the communication theory, a signal S can be generally written in

the following form:

S = Asin(2πft + φ) (1.1)

where A is the amplitude, f is the frequency, and φ is the initial

phase. These three parameters can be modulated to carry information.

If A is modulated, it is referred to as amplitude modulation. If f is

modulated, it is frequency modulation. If φ is modulated, it is phase

modulation. The GPS signal is a phase-modulated signa with φ = 0, π;

this type of phase modulation is referred to as binary phase shift keying

(BPSK). The phase change rate is often referred to as the chip rate. The

spectrum shape can be described by the sinc function (sinx/x) with the

spectrum width proportional to the chip rate. For example, the chip

rate of C/A-code is 1.023 MHz, therefore the main lobe of the spectrum

has a null-to-null width over 2 MHz. The chip rate of P-code is 10.23

MHz so that its band width is about 20.46 MHz. This type of signal is

also referred to as a spread-spectrum signal. If the modulation code is a

digital sequence with a frequency higher than the data rate, the system

can be called a direct-sequence modulated system. Spectra of the GPS

C/A-code and P-code are shown in Figure 1.6.

Figure 1.6. Power spectra of signals transmitted by a GPS satellite. The energy of

the signal for civil users carrying a C/A-code on L1 is spread mainly over a 2-MHz-

wide frequency band. The bandwidths of the signals for military users on L1 and L2

carrying a P(Y)-code are ten times wider.

12 Fundamentals of Electrical Engineering

A code division multiple access (CDMA) signal in general is a spread-

spectrum system. All the signals in the system use the same center

frequency. The signals are modulated by a set of orthogonal (or near-

orthogonal) codes. In order to acquire an individual signal, the code of

that signal must be used to correlate with the received signal. The GPS

signal is CDMA using direct sequence to bi-phase modulate the carrier

frequency. Since the CDMA signals all use the same carrier frequency,

there is a possibility that the signals will interfere with one another. This

eﬀect will be more prominent when strong and weak signals are mixed

together. In order to avoid the interference, all the signals should have

approximately the same power levels at the receiver. Sometimes in the

acquisition one ﬁnds that a cross-correlation peak of a strong signal is

stronger than the desired peak of a weak signal. Under this condition,

the receiver may obtain wrong information.

4.2 Ranging Codes

In a GPS satellite, all signal components are derived from the output

of a highly stable atomic clock. In the operational GPS system each

satellite is equipped with two cesium and two rubidium atomic clocks.

(The Block IIF satellites may be equipped with a space-qualiﬁed hy-

drogen maser.) The clocks generate a pure sine wave at a frequency

f

0

= 10.23 MHz, with a stability of the order of 1 part in 1013 over one

day. This is referred to as the fundamental frequency. Multiplying the

fundamental frequency f

0

by integer factors yields the two microwave

L-band carrier waves L1 and L2 respectively. The frequency of the two

waves are obtained as follows:

f

L1

= f

0

×154 = 1575.42MHz

equivalent wavelength: L1 = c/f

L1

≈ 19cm

f

L2

= f

0

×120 = 1227.60MHz

equivalent wavelength: L2 = c/f

L2

≈ 24cm

These are righthand circularly polarized radio frequency waves capa-

ble of transmission through the atmosphere over great distances, but

they contain no information. All satellites broadcast the same frequen-

cies (though the received frequencies are slightly diﬀerent because of the

Doppler shift). In order to give the carriers information they must be

modiﬁed, or modulated, in some way. In the Global Positioning Sys-

tem there are two distinct codes used to modulate the L-band carriers,

namely the ranging codes and the Navigation Message. As described in

Global Positioning System 13

Table 1.2. Power Level of GPS Signals

P C/A

L1 -133 dBm -130 dBm

L2 -136 dBm -136 dBm

∗

*Currently not in L2 frequency

the previous section, the speciﬁc form of modulation used is BPSK: a 0

bit leaves the carrier signal unchanged; and a 1 bit multiplies the carrier

by -1, which is equivalent to shifting the phase of the sinusoidal signal

by 180

o

. At code transition from 0 to 1, or from 1 to 0, the phase of the

carrier is shifted by 180

o

.

Two ranging codes used in the satellites are given as follows:

The C/A code, the ”clear/access” or ”coarse/acquisition” code

(sometimes also referred to as the ”S code”).

The P code, the ”private” or ”precise” code, which under Anti-

Spooﬁng (AS) is replaced by the ”Y” code.

From the above discussion, the signal leaving the antenna of the k-th

satellite can be modeled as:

s

(k)

=

√

2P

C

x

(k)

(t)D

(k)

(t) sin(2πf

L1

t + θ

L1

)

+

_

2P

Y,L1

y

(k)

(t)D

(k)

(t) cos(2πf

L1

t + θ

L1

)

+

_

2P

Y,L2

y

(k)

(t)D

(k)

(t) cos(2πf

L2

t + θ

L2

)

(1.2)

where P

C

is the signal power of C/A-code, P

Y,L1

, and P

Y,L2

are the

signal powers of P(Y)-code on L1 and L2, respectively; x

(k)

(t) = ±1

and y

(k)

(t) = ±1 represent the C/A-code and P(Y)-code sequences,

repsectively, assigned to satellite number k; D

(k)

(t) = ±1 denotes the

navigation data bit stream; f

L1

and f

L2

are the carrier frequencies cor-

reponding to L1 and L2, respectively; θ

L1

and θ

L2

are the initial phase

oﬀsets.

The minimum power levels of the signals must fulﬁll the values listed

in Table 1.2 at the receiver. These power levels are very weak and the

spectrum is spread, therefore they cannot be directly observed from a

spectrum analyzer. Even when the signal is ampliﬁed to a reasonable

power level, the spectrum of the C/A code cannot be observed because

the noise is stronger than the signal.

14 Fundamentals of Electrical Engineering

Table 1.3. Modulo-2 Addition

Input 1 Input 2 Output

0 0 0

0 1 1

1 0 1

1 1 0

The C/A and P (or Y) codes can be considered as the measuring rods

– they provide the means by which a GPS receiver can measure one-

way distances to the satellites. Both codes have the characteristics of

random noise, but are in fact binary codes generated by mathematical

algorithms and are therefore referred to as ”pseudo-random-noise” (or

PRN) codes. Figure 1.7 illustrates the C/A code generation procedure

based on ”Gold Codes”. Tapped Feedback Shift Registers (TFSR) are

used to generate a sequence of ”0”s and ”1”s (also known as maximum-

length sequence) at the clock rate of 1.023 MHz. At each clock pulse

the bits in the registers are shifted to the right where the contents of

the rightmost register is read as output. A new value in the leftmost

register is created by the modulo-2 addition (Table 1.3) of the contents

of a speciﬁed group of registers. In the case of the C/A code two 10-bit

TFSRs are used, each generating a Gold Code (See Figure 1.8): (1) the

G1 (represented here as the polynomial: 1 +X

3

+X

10

), and (2) the G2

(represented here as the polynomial: 1+X

2

+X

3

+X

6

+X

8

+X

9

+X

10

).

The output of the G1 TFSR (rightmost register) is modulo-2 added to

the register contents of the G2. Diﬀerent combinations of the outputs

of the registers of G2 (or ”taps” from the register) when added to the

output of the G1 code lead to diﬀerent PRN codes. There are 37 unique

codes that can be generated in such a straightforward manner. Among

these 37 codes, 32 are utilized for the C/A codes of 32 satellites, but

only 24 satellites are in orbit. The other ﬁve outputs are reserved for

other applications such as ground transmission.

Table 1.4 lists the code phase assignments. In this table there are ﬁve

columns and the ﬁrst column gives the satellite ID number, which is from

1 to 32. The second column gives the PRN signal number; and it is from

1 to 37. It should be noted that the C/A codes of PRN signal numbers

34 and 37 are the same. The third column provides the code phase

selections that are used to form the output of the G2 generator. The

fourth column provides the code delay measured in chips. This delay is

the diﬀerence between the maximal length sequence (MLS) output and

the G2 output. This is redundant information of column 3, because once

Global Positioning System 15

Figure 1.7. C/A Code Generator (Reproduced from [11])

the code phase selections are chosen this delay is determined. The last

column provides the ﬁrst 10 bits of the C /A code generated for each

satellite. These values can be used to check whether the generated code

is wrong. This number is in an octal format.

4.3 Correlation Properties of C/A-Code

The PRN sequences have two special properties. First, PRN se-

quences are nearly orthogonal to each other. The sum of the term-

by-term products of two diﬀerent sequences is nearly zero. For satellites

k and l, which are assigned unique PRN sequences x

(k)

and x

(l)

, respec-

tively, have the following correlation:

1022

i=0

x

(k)

(i) · x

(l)

(i + n) ≈ 0, for all n, k = l, (1.3)

where x

(·)

(1023 + m) = x

(·)

(m). The left-hand side of (1.3) deﬁnes the

cross-correlation function of the two sequences for shift n. The PRN

16 Fundamentals of Electrical Engineering

Table 1.4. Code Phase Assignments

Satellite ID GPS PRN Code Phase Code Delay First 10 Chips

Number Signal Number Selection Chips C /A Octal

1 1 2 ⊕6 5 1440

2 2 3 ⊕7 6 1620

3 3 4 ⊕8 7 1710

4 4 5 ⊕9 8 1744

5 5 1 ⊕9 17 1133

6 6 2 ⊕10 18 1455

7 7 1 ⊕8 139 1131

8 8 2 ⊕9 140 1454

9 9 3 ⊕10 141 1626

10 10 2 ⊕3 251 1504

11 11 3 ⊕4 252 1642

12 12 5 ⊕6 254 1750

13 13 6 ⊕7 255 1764

14 14 7 ⊕8 256 1772

15 15 8 ⊕9 257 1775

16 16 9 ⊕10 258 1776

17 17 1 ⊕4 469 1156

18 18 2 ⊕5 470 1467

19 19 3 ⊕6 471 1633

20 20 4 ⊕7 472 1715

21 21 5 ⊕8 473 1746

22 22 6 ⊕9 474 1763

23 23 1 ⊕3 509 1063

24 24 4 ⊕6 512 1706

25 25 5 ⊕7 513 1743

26 26 6 ⊕8 514 1761

27 27 7 ⊕9 515 1770

28 28 8 ⊕10 516 1774

29 29 1 ⊕6 859 1127

30 30 2 ⊕7 860 1453

31 31 3 ⊕8 861 1625

32 32 4 ⊕9 862 1712

** 33 5 ⊕10 863 1745

** 34* 4 ⊕10 950 1713

** 35 1 ⊕7 947 1134

** 36 2 ⊕8 948 1456

** 37* 4 ⊕10 950 1713

*34 and 37 have the same C /A code.

**GPS satellites do not transmit these codes; they are reserved for other uses.

Global Positioning System 17

Figure 1.8. G1, G2 maximal-length sequence generators (Reproduced from [11])

sequences are nearly uncorrelated for all shifts.

The second important property is that a PRN sequence is nearly un-

correlated with itself, except for zero shift. For a C/A-code, the auto-

correlation function of a sequence for shift n is deﬁned as:

1022

i=0

x

(k)

(i) · x

(k)

(i + n) ≈ 0, for all |n| ≥ 1. (1.4)

In order to detect a weak signal in the presence of strong signals, the

autocorrelation peak of the weak signal must be stronger than the cross-

correlation peaks from the strong signals. If the codes are orthogonal,

the cross correlations will be zero. However, the Gold codes are not

orthogonal but near orthogonal, implying that the cross correlations are

not zero but have small values.The cross correlation of the Gold code is

listed in Table 1.5.

For the C/A-code n= even = 10, thus, P = 1023. Using the relations

in the above table, the cross-correlation values are: -65/1023 (occurrence

18 Fundamentals of Electrical Engineering

Table 1.5. Cross-Correlation of Gold Codes

Number of Shift Normalized Cross Probability of

Code Period Register Stages Correlation Level Level

P = 2

n

−1 n=odd

_

¸

¸

¸

_

¸

¸

¸

_

−

2

(n+1)/2

+ 1

P

0.25

−

1

P

0.5

2

(n+1)/2

−1

P

0.24

P = 2

n

−1 n=even

_

¸

¸

¸

_

¸

¸

¸

_

−

2

(n+1)/2

+ 1

P

0.125

−

1

P

0.75

2

(n+1)/2

−1

P

0.125

12.5%), -1/1023 (75%), and 63/1023 (12.5%). The autocorrelation of the

C/A-codes of satellite 19 and the cross correlation of satellites 19 and 31

are shown in Figures 1.9(a) and 1.9(b) respectively. These satellites are

arbitrarily chosen. In Figure 5.6a, the maximum of the autocorrelation

peak is 1023, which equals the C/A-code length. The position of the

maximum peak is deliberately shifted to the center of the ﬁgure for a

clear view. The rest of the correlation has three values 63, -1, and -65.

The cross-correlation shown in Figure 1.9(b) also has three values 63,

-1, -65.

These are the values calculated by using equations in Table 1.5. The

diﬀerence between the maximum of the autocorrelation to the cross cor-

relation determines the processing gain of the signal. In order to generate

these ﬁgures, the outputs from the C /A code generator must be 1 and

-1, rather than 1 and 0.

4.4 GPS Navigation Message

GPS transmits navigation data message at 50 bits per second. The

C/A-code is a bi-phase coded signal which changes the carrier phase

between 0 and π at a rate of 1.023 MHz. The navigation data bit is also

bi-phase phase code, but its rate is only 50 Hz, or each data bit is 20 ms

long. Since the C/A-code is 1 ms, there are 20 C/A-codes in one data

bit. Thus, in one data bit all 20 C/A-codes have the same phase. The

Global Positioning System 19

Figure 1.9. Auto- and Cross-Correlation of C/A Code

message is formatted into frames of 1500 bits. It takes thirty seconds

to transmit a frame. Each frame is organized into ﬁve subframes. Each

subframe is six seconds long and contains ten 30-bit words (see Figure

1.10). Subframe 1-3 typically repeat the same information from frame to

frame. Subframes 4-5 of the consecutive frames, however, contain diﬀer-

ent pages of the navigation message. It takes 25 frames (12.5 minutes) to

transmit the complete navigation message. A unit of 25 frames is called

a Master Frame. The information content of the various subframe is

summarized below.

Subframe 1: satellite clock corrections, health indicators, age of data

Subframe 2-3: satellite ephemeris parameters

Subframe 4: ionosphere model parameters, UTC data, almanac and

health status data for satellites numbered 25 and higher

Subframe 5: almanac and health status data for satellites numbered

1-24

20 Fundamentals of Electrical Engineering

Figure 1.10. GPS Navigation Message Organization

The ﬁrst two words of each six-second subframe have a spatial signif-

icance: Telemetry word (TLM) and Hand-over word (HOW). The TLM

contains a ﬁxed 8-bit synchronization pattern and a 14-bit message. The

HOW word provides time information (seconds into the week) which al-

lows a receiver to acquire the week-long P(Y)-code segment.

5. GPS Observables

GPS provides two types of measurements. Code tracking provides

estimates of instantaneous ranges to the satellites. The code phase mea-

surements at an instant from diﬀerent satellites have a common bias

and are, therefore, called pseudoranges. Carrier phase tracking provides

measurements of the reveived carrier phase relative to the phase of a si-

nusoidal signal generated by the receiver clock. The carrier phase gives

a precise measurement of change in the satellite-user pseudorange over

a time interval, and estimate of its instantaneous rate, or Doppler fre-

Global Positioning System 21

quency.

5.1 Measurement Models - Code Phase

Measurements

A code phase measurement made by a GPS receiver can be obtained

from the transit time of the signal from a satellite to the receiver. The

signal transit time is deﬁned as the time diﬀerence between the time of

reception, as determined by the receiver clock, and the time of trans-

mission, as marked on the signal by the satellire. In a GPS receiver, the

transit time is measured as the amount of time shift required to align

the C/A-code replica generated at the receiver with the signal received

from the satellite. There is no way that the satellite and the receiver

clocks can be perfectly synchronized, because each of them keeps time

independently (Each satellite generates its signals in accordance with a

clock on board, while the receiver generates a replica of each signal in

accordance with its own clock). Therefore the code phase measurements

are biased. The corresponding biased range, or pseudorange, is deﬁned

as the transit time so measured multiplied by the speed of light in a

vacuum.

There are three diﬀerent time scales to deal with: two of these are

the times kept by the satellite and receiver clocks, respectively. The

third is a common time reference. Usually it is GPS time. GPS time

is a composite time scale derived from the times kept by clocks at GPS

monitor stations.

Let τ be the transit time of the signal from a satellite arriving at the

receiver at time t per GPS time. Let t

s

(t−τ) be the time of transmission

stamped on the signal, where the superscript ”s” indicates it was derived

from the satellite’s clock. Let t

u

(t) be the arrival time measured by the

user’s receiver clock. The measured pseudorange is determined from the

apparent transit time as (See Figure 1.11:

ρ(t) = c[t

u

(t) −t

s

(t −τ)]. (1.5)

In equation (1.5), t and τ are unknow parameters that are to be

estimated by the receiver’s signal processing algorithm. To simplify no-

tation, we shall make no reference to the satellite ID or carrier frequency,

when dealing with equation (1.5).

22 Fundamentals of Electrical Engineering

Figure 1.11. A Conceptual View of Pseudorange Measurements

The time scales of the receiver and the satellite clocks can be related

to GPS time as follows.

t

u

(t) = t + δt

u

(t), (1.6)

t

s

(t −τ) = (t −τ) + δt

s

(t −τ), (1.7)

where δt

u

is the receiver clock bias and δt

s

is the satellite clock bias. Here

both δt

u

and δt

s

are measured relative to GPS time. In our notation,

δt

u

and δt

s

reﬂect the amounts by which the receiver and satellite clocks

are advanced in relation to GPS time. The satellite clock bias term is

maintained by the GPS Control Segment. The clock bias is broadcast

in the navigation message in terms of the coeﬃcient of a quadratic poly-

nomial in time.

By substituting equations (1.6) and (1.7) into the measured pseudor-

ange (1.5), we can obtain the following equation:

ρ(t) = c[t + δt

u

(t) −(t −τ + δt

s

(t −τ))] + ε

ρ

(t)

= cτ + c[δt

u

(t) −δt

s

(t −τ)] + ε

ρ

(t),

(1.8)

Global Positioning System 23

where ε

ρ

denotes the unmodelled eﬀects, such as modelling error, mea-

surement error, etc., in the code phase measurement. The transit time

multiplied by the speed of light in a vacuum can be modeled as:

cτ = r(t, t −τ) + I

ρ

(t) + T

ρ

(t), (1.9)

where r(t, t − τ) is the geometric range (or true range) between the

user position at time t and the satellite position at (t − τ). I

ρ

and

T

ρ

represent the delays associated with the transmission of the signal

through the ionosphere and the troposphere, respectively. Both of them

are positive values. Upon substitution of equation (1.9) into equation

(1.8), we then obtain the following equation.

ρ = r + c[δt

u

−δt

s

] + I

ρ

+ T

ρ

+ ε. (1.10)

Here, for simplicity, we have dropped explicit reference to the measure-

ment epoch t. Equation (1.10) is the basic measurement equation for

computing the position velocity,and time of the receiver. Ideally, one

would have liked to measure the geometric range r from the satellite to

the receiver. In practice, however, we can only have the pseudorange

ρ instead. How accurate an estimate of position, velocity, or time we

can obtain from these measurements would depend upon our ability to

compensate for, or eliminate, the biases and errors.

The radius of the earth is 6,378 km around the equator and 6,357

km passing through the poles, and the average radius can be considered

as 6,368 km. The radius of the satellite orbit is 26,560 km, which is

about 20,192 km (26,560 - 6,368) above the earths surface. This height

is approximately the shortest distance between a user on the surface of

the earth and the satellite, which occurs at around zenith or an elevation

angle of approximately 90 degrees. Most GPS receivers are designed to

receive signals from satellites above 5 degrees. For simplicity, let us

assume that the receiver can receive signals from satellites at the zero-

degree point. The distance from a satellite on the horizon to the user is

25,785 km (

_

26, 5602

2

−6, 3682

2

). These distances are shown in Figure

1.12.

From the distances in Figure 1.12) one can see that the time delays

from the satellites are in the range of 67 ms to 86 ms. If the user is on the

surface of the earth, the maximum diﬀerential delay time from two dif-

ferent satellites should be within 19 (86V67) ms. The C/A-code repeats

each millisecond, and the code correlation process essentially provides

24 Fundamentals of Electrical Engineering

Figure 1.12. Earth and Circular Satellite Orbit

a measurement of pesudo-transit time modulo 1 ms. The measurement

is ambigious in whole milliseconds. This ambiguity, however, is easily

resolved if the user has a rough idea of his location within hundreds of

kilometers. The week-long P(Y)-code provides unambiguous pseudor-

anges.

5.2 Measurement Models - Carrier Phase

Measurements

A measurement much more precise than that of code phase is the

phase of the carrier received from a satellite. The carrier phase mea-

surement is the diﬀerence between the phases of the receiver-generated

carrier signal and the carrier received from a satellite at the instant of

the measurement.

Global Positioning System 25

Consider ﬁrst an idealized case of error-free measurements with per-

fect and synchronized satellite and receiver clocks, and no relative mo-

tion between th satellite and the user. In this model, the carrier phase

measurement would remain ﬁxed at a fraction of a cycle, and the dis-

tance between a satellite and the receiver would be an unknown number

of whole cycle plus the measured fractional cycle. The measurement,

however, contains no information regarding the number of whole cycles,

referred to as the integer ambiguity.

Now suppose that the carrier phase is tracked while the receiver or

the satellite moves so that the distance between them grows by a wave-

length. The corresponding carrier phase measurement would be a full

cycle plus the fractional cycle phase measured the movement began. To

measure carrier phase in GPS, a receiver acquires phase lock with the

satellite signal, measures the initial fractional phase diﬀerence between

the received and receiver-generated signals, and from then on tracks the

change in this measurement, counting full carrier cycles and keeping

track of the fractional cycle at each epoch.

In the absence of clock biases and measurement errors, the carrier

phase measurement in units of cycles can be written as

φ(t) = φ

u

(t) −φ

s

(t −τ) + N, (1.11)

where φ

u

(t) is the phase of the receiver-generated signal; φ

s

(t −τ) is

the phase of the signal received from the satellite at time t, or the phase

of the signal at the satellite at time (t −τ); τ is the transit time of the

signal; and N is the integer ambiguity. Estimation of N is referred to

as integer ambiguity resolution or intialization. Simplifying the above

expression by writing phase as the product of frequency and time gives

φ(t) = f · τ + N =

r(t, t −τ)

λ

+ N, (1.12)

where f and λ are the carrier frequency and wavelength, respectively,

and r(t, t −τ), as before, is the geometric range between the user posi-

tion at time t and the satellite position at (t −τ).

Accounting for the various measurement errors, clcok biases and initial

phase oﬀsets, equation (1.12) can be rewritten as

φ =

1

λ

[r + I

φ

+ T

φ

] +

c

λ

(δt

u

−δt

s

) + N + ε

φ

, (1.13)

26 Fundamentals of Electrical Engineering

where I

φ

and T

φ

are the ionospheric and tropospheric propagation de-

lays in meters, respectively. Here, again for simplicity, we have dropped

explicit reference to the measurement epoch t. Note that the carrier

phase measurement in equation (1.13) is in units of cycles.

The change in carrier phase measurement over a time interval cor-

responds to change in both the user-satellite range and receiver clock

bias. This change is usually referred to as integrated Doppler or delta

pseudorange. The rate of change of the carrier phase measurement gives

the pseudorange rate, which is made up of the actual range rate plus the

receiver clock frequency bias.

The appearance of equation (1.13) is pretty much similar to equation

(1.10) which is derived based on the code phase measurement. Compar-

ing (1.13) and (1.10), it can be seen that both the carrier and code phase

measurements are contaminated by the same error sources. But there is

an important diﬀerence: Code tracking provides essentially unambiguous

pseudorange, while the carrier phase measurements being encumbered

with integer ambiguity. On the other hand, code phase measurements

are coarse in comparison with the carrier phase measurements. Luckily

enough, the integer ambiguity remain constant as long as the carrier

tracking loop remains lock. Any break in tracking could change the in-

teger values.

In order to take full advantage of the precision of the carrier phase

measurements to obtain accurate position estimates, we have to resolve

the integer ambiguities and compensate for the various errors. With

only equation (1.13) in hand, there is no way that we can expect to

determine the value of integer N. We will have to look for alternative

approaches and formulations to take advantage of the precision of these

measurements.

When phase measurement for only one frequency (L1 or L2) are avail-

able, the most direct approach is as follows. The measurements are

modeled by equation (1.13), and the linearized equations are processed.

Depending on the model chosen, a number of unkonws is estimated along

with N in a common adjustment. In this geometric approach, the un-

modeled errors aﬀect all estimated parameters. Therefore, the integer

nature of the ambiguities is lost and they are estimated as real values.

To ﬁx ambiguities to integer values, a sequential adjustment could be

performed. After an initial adjustment, the ambiguity with a computed

Global Positioning System 27

value closest to an integer and with minimum standard error is consid-

ered to be determined most reliably. This bias is then ﬁxed, and the

adjustment is repeated (with one less unknown) to ﬁx another ambi-

guity and so on. When using double-diﬀerences over short baselines,

this approach is usually successful. The critical factor is the ionospheric

refraction which must be modeled and which may prevent a correct reso-

lution of all ambiguities. Detailed discussions of the ambiguity resolution

as well as the carrier phase positioning are beyond the scope of this book,

hence are omitted.

6. PVT Estimation

In this section, we consider estimation of position, velocity, and time

(PVT) based on measurements of pseudoranges. With such measure-

ments available from four or more satellites, PVT can be estimated in-

stantaneously.

The pseudorange measurement from the k-th satellite at epoch t (GPS

time) can be modeled as

ρ

(k)

= r

(k)

(t, t −τ) + c[δt

u

(t) −δt

(k)

(t −τ)] + I

(k)

(t) + T

(k)

(t) + ε

(k)

(t),

(1.14)

where k = 1, 2, ....K denotes the k-th satellite. A user would correct

each measured pseudorange for the known errors using parameter val-

ues in the navigation message from the satellite. The main corrections

available to an SPS user are: (1) satellite clock oﬀset relative to GPS

time, (2) relativity eﬀect, and (3) ionospheric delay using the parameter

values for the Klobuchar model[6]. Step-by-step implementation of these

corrections is given in the GPS Interface Control Document[4].

Denote by ρ

(k)

c

the pseudorange obtained after accounting for the

satellite clock oﬀset and compensating for the remaining errors in the

measurements to the extent it is practical for a user. Equation (1.14)

can be rewritten for the corrected pseudorange measurements as follows.

ρ

(k)

c

= r

(k)

+ cδt

u

+ ˜ ε

(k)

ρ

, (1.15)

28 Fundamentals of Electrical Engineering

wherer the term ˜ ε

(k)

ρ

denotes the combined eﬀect of the residual errors.

Let x = (x, y, z) be the position of the user at the time of measurement.

Let x

(k)

= (x

(k)

, y

(k)

, z

(k)

), k = 1, 2, ..., K, represents the position of the

k-th satellite at the time of signal transmission. The user-to-satellite

geometric range can be represented as (See Figure 1.13):

r

(k)

=

_

_

x

(k)

−x

_

2

+

_

y

(k)

−y

_

2

+

_

z

(k)

−z

_

2

= x

(k)

−x.

Substituting the above equation into (1.15) gives

ρ

(k)

c

= x

(k)

−x + b + ˜ ε

(k)

ρ

, (1.16)

where b := cδt

u

with units of meters.

Figure 1.13. The ranges to GPS satellites measured by a receiver have a common

bias and are called pseudorange.

Usually the user clock error cannot be corrected through received in-

formation. Thus, it will remain as an unknown. A simple approach to

solving the K equations (1.16) is to linearized them about an approxi-

mate user position, and solve iteratively. The idea is to start with rough

Global Positioning System 29

estimates of the user position and clock bias, and reﬁne them in stages

so that the estimates ﬁt the measurements better. The approach de-

scribed below is generally referred to as Newton-Raphson method. Let

x

0

= (x

0

, y

0

, z

0

) and b

0

be the ﬁrst guesses of the user position and

receiver clock bias, respectively. From (1.16), the corrected pseudor-

ange measurement from satellite k is ρ

(k)

c

. Let ρ

(k)

0

be the corresponding

approximation based on the initial guesses x

0

and b

0

. Then

ρ

(k)

0

= x

(k)

−x

0

+ b

0

. (1.17)

Let the true position and true clock bias be represented as x = x

0

+δx

and b = b

0

+ δb, where δx and δb are the unknown corrections to be

applied to our initial estimates. Equation (1.16) has a ﬁrst-order Taylor

series approximation in (δx, δb) of the following form:

δρ

(k)

= ρ

(k)

c

−ρ

(k)

0

= x

(k)

−x

0

−δx −x

(k)

−x

0

+ (b −b

0

) + ˜ ε

(k)

ρ

≈ −

(x

(k)

−x

0

)

x

(k)

−x

0

· δx + δb + ˜ ε

(k)

ρ

= −1

(k)

· δx + δb + ˜ ε

(k)

ρ

,

(1.18)

where 1

(k)

is the estimated line-of-sight unit vector directed from the

initial estimate of the user position to satellite k. The elements of 1

(k)

are direction cosines of the vector drawn from the estimated receiver

location to the satellite.

1

(k)

=

1

x

(k)

−x

0

_

x

(k)

−x

0

, y

(k)

−y

0

, z

(k)

−z

0

_

T

(1.19)

It wolud be more easily to derive (1.18) if we use the long-hand notaton

as

_

_

x

(k)

−x

0

−δx

_

2

+

_

y

(k)

−y

0

−δy

_

2

+

_

z

(k)

−z

0

−δz

_

2

≈

_

_

x

(k)

−x

0

_

2

+

_

y

(k)

−y

0

_

2

+

_

z

(k)

−z

0

_

2

−

_

x

(k)

−x

0

_

δx +

_

y

(k)

−y

0

_

δy +

_

z

(k)

−z

0

_

δz

_

_

x

(k)

−x

0

_

2

+

_

y

(k)

−y

0

_

2

+

_

z

(k)

−z

0

_

2

.

A more compact form of the above equation is written as:

x

(k)

−x

0

−δx ≈ x

(k)

−x

0

−

(x

(k)

−x

0

)

x

(k)

−x

0

· δx.

30 Fundamentals of Electrical Engineering

The set of K linear equations (1.18) can be written in matrix notation

as

δρ =

_

¸

¸

¸

¸

_

δρ

(1)

δρ

(2)

.

.

.

δρ

(K)

_

¸

¸

¸

¸

_

=

_

¸

¸

¸

¸

_

(−1

(1)

)

T

1

(−1

(2)

)

T

1

.

.

.

.

.

.

(−1

(K)

)

T

1

_

¸

¸

¸

¸

_

_

δx

δb

_

+ ˜ ε

ρ

. (1.20)

These are K (≥ 4) linear equations with four unknown: (δx, δy, δz) and

δb. Equation (1.20) can be written in a more compact matrix form:

δρ = G

_

δx

δb

_

˜ ε

ρ

, (1.21)

where

G :=

_

¸

¸

¸

¸

_

(−1

(1)

)

T

1

(−1

(2)

)

T

1

.

.

.

.

.

.

(−1

(K)

)

T

1

_

¸

¸

¸

¸

_

is a (K×4) matrix characterizing the user-satellite geometry. Therefore

G is usually referred to as the geometry matrix.

If K = 4 we can generally solve the four equations for four unknown

directly. A problem would arise if the equations are linearly dependent,

making G rank-deﬁcient. This could happen, for example, if the eleva-

tion angles of all satellites measured from the user position are the same.

In this case, the tips of the unit line-of-sight vectors would all lie in a

plane, and rank(G)=3.

If K > 4, we have an over-determined system of equations, and G

would be full-rank, in general. We can now look for a solution which ﬁts

the measurement best. It is common to use the criterion of least-squares:

The best solution is the one for which the sum of squared residuals is

smallest. The least-squares solution for the corrections to the initial

estimates can be written as:

_

δˆ x

δ

ˆ

b

_

= (G

T

G)

−1

G

T

δρ, (1.22)

and the new, improved estimates of the user position and clock bias are

Global Positioning System 31

ˆ x = x

0

+ δ˜ x,

ˆ

b = b

0

+ δ

ˆ

b.

(1.23)

The observation equations may now be linearized about these new es-

timates of the user position and clock bias, and the solution may be

iterated until the change in the estimates is suﬃciently small.

The above approach can be summarized in the following steps:

1 Choose a nominal position and user clock bias x

0

, y

0

, z

0

, b

0

to

represent the initial condition. For example, the position can be

the center of the earth and the clock bias zero. In other words, all

initial values are set to zero.

2 Use equation (1.17) to calculate the pseudorange ρ

0

These ρ

0

values

will be diﬀerent from the measured values. The diﬀerence between

the measured values and the calculated values is δρ.

3 Use the calculated ρ

0

in equation (1.19) to calculate the unit line-

of-sight vectors.

4 Use equation (1.22) to ﬁnd δx, δy, δz, and δb.

5 From the absolute values of δx, δy, δz, δb calculate

δv :=

_

δx

2

+ δy

2

+ δz

2

+ δb

2

.

6 Compare δv with an arbitrary chosen threshold; if δv is greater

than the threshold, the following steps will be needed.

7 Add these values δx, δy, δz, δb to the initial chosen position x

0

,

y

0

, z

0

, and the clock bias b

0

; a new set of position and clock bias

can be obtained and they will be expressed as in equation (1.23).

These values will be used as the initial position and clock bias in

the following calculations.

8 Repeat the procedure from 1 to 7, until δv is less than the thresh-

old. The ﬁnal solution can be considered as the desired user posi-

tion and clock bias.

32 Fundamentals of Electrical Engineering

References

[1] P. Axelrad and R.G. Brown, ”GPS Navigation Algorithms,” in B.

W. Parkinson and J. J. Spilker, Jr., Global Positioning System: The-

ory and Applications, Vols. 1 and 2, American Institute of Aeronau-

tics and Astronautics, Washington, DC, 1996.

[2] FRP, 1999 Federal Radionavigation Plan, U.S. Department of De-

fense and Transportation.

[3] B. Hoﬀmann-Wellenhof, H. Lichtennegger, and J. Collins, GPS -

Theory and Practice, 4th Edition, Springer Wein, 1997.

[4] ICD-GPS-200C, NAVSTAR GPS Space Segment/Navigation User

Interfaces, U.S. Air Force, 2000.

[5] E. Kaplan, Editor, Understanding GPS: Principles and Applica-

tions, Artech House, 1996.

[6] J. A. Klobuchar, Ionospheric eﬀects on GPS, Chapter 12 in B. W.

Parkinson and J.J. Spilker, Jr., Global Positioning System: Theory

and Applications, Vols. 1 and 2, American Institute of Aeronautics

and Astronautics, Washington, DC, 1996.

[7] P. Misra and P. Enge, Global Positioning System: Signals, Measure-

ments, and Performance, Ganga-Jamuna Press, 2001.

[8] J. J. Spilker, Jr., GPS Signal Structure and Performance Char-

acteristics, Navigation, Institute of Navigation, vol. 25, no. 2, pp.

121-146, Summer 1978.

[9] J. J. Spilker, Jr., GPS signal structure and theoretical performance,

Chapter 3 in B. W. Parkinson and J. J. Spilker, Jr., Global Posi-

tioning System: Theory and Applications, Vols. 1 and 2, American

Institute of Aeronautics and Astronautics, Washington, DC, 1996.

[10] G. Strang and K. Borre, Linear Algera, Geodesy, and GPS,

Wellesley-Cambridge Press, 1997.

[11] James B.Y. Tsui, Fundamentals of Global Positoning System Re-

ceivers: a Software Approach, John Wiley & Sons, Inc., 2000.

[12] U.S. Department of Defense, Global Positioning System Standard

Positioning Service Performance Standard, Assistant Secretary of

Defense, October 2001.

[13] A.J. Van Dierendonck, ”Satellite Radio Navigation,” in Avionics

Navigation Systems, 2nd Edition, M. Kayton and W. R. Fried, Eds.,

pp. 178-282, John Wiley & Sons, 1997.