You are on page 1of 40

How GPS Works

Kristine M. Larson
Professor of Aerospace
Engineering Sciences
University of Colorado

Outline

What is GPS
How GPS works
How GPS codes work
Why I use GPS for my research

The Global Positioning System is a constellation of 31


satellites that is used to calculate your position.

How do you use these satellites to calculate your position?

Instead of satellites, lets use transmitters on the ground.

Grand Junction sends a signal to Radons GPS.


What kind of signal? it puts the time on the signal.
GPS

Grand Junction
Transmitter

Radon in Boulder

For this to work, well need for both the


transmitter and Radon to have clocks.

When Radons GPS receiver gets the signal, he


compares the time on the signal with the time on his
clock.
Time Difference (in seconds) * 2.99792458 108 meters/second =
Distance (in meters)

So, a GPS signal tells you how far you are from
the transmitter.

If the distance from the GPS transmitter is 250 miles, that means
you are somewhere on a circle of radius 250 miles.

Now add a 2nd transmitter in Ft. Collins.

And a third transmitter in Pueblo

Radon is at the intersection


of the 3 circles

This only works if:

You know where the transmitters are.


GPS signals also transmit the satellite locations.
Everyone has good clocks.
The GPS satellites have very good clocks. A GPS user
can use a 4th signal to piggy-back onto the GPS
satellite clocks.
And you can tell the transmitters apart.
The signals are made in a way so that you can tell
which transmitter sent them.
For real problems, we use the intersection of three
spheres, not three circles.

Intersecting Spheres

But only 1 point is


on the Earth

When GPS receives a signal


It compares that signal with all the known
codes (there are currently 37).
The receiver determines which satellite it is.
It decodes the timing information, multiplies
by the speed of light to find the radius of the
sphere.
Once it has done that for 3 satellites, it can
determine the location.

How do GPS signals send all


this information?
They use codes! Binary codes.
Each satellite has a different code.

For example, here are the first 1000 numbers of the code
for satellite 1
00001000101001110000111001001000100001000101011000111101110010101101100111101011
00101100101001100111111011001111001001100110100011100010010001011000101101110000
00110110010001000101101000101001000000011111000110001011111011111100110111001011
01111000111111010100101000010101001110000110100111011000111101111100001111111111
01001001001001100111010101111100001000101101001111110000100110111100111000110110
10110110101000010110100101000101001000111001110001010010111010111010101000001011
01110011011001101000000000001110111011000110110101010110110001110001100110011111
01011111001110101010000011111100100101000000111010001111011010010110110000010010
01001100001101100001111011101110001101110110100111001000110101010000110110100101
11001011111111101100011100000011011100011000000100000000100000110101000101011110
11000111011010001100101011111001111010000000110111100110011101011110000011110110
01000100101011100000000100001010101001111101100111011011111100101111000100110101

This is the code for satellite 6


10011110111010001001101111111110111100101101111011001101111101010100011111011000
11000100110011010000100000101111111000010000110101101011101011010011000001101000
01100010101011001000100100000110000011110000111010000011100100111011000000010110
01111000100101010111110101001111001011111011001010001011100001001110000111110111
01011101011011001111001001101011100100011011011111011001101011100001110101110001
10001111000001000111011011100010000011010011001001110000100010111000100100011011
11100011101010100110000000011001111001110101000010010001110010101010011100101101
11110011111110011010011101100111011001010010100110010101110111001110001101111001
10000010100011110011011110110011110100110111010011100110101010110100000101110001
11000111010110001111000100101001110101011000011000100011001010111001100001111100
00011111000100100011010001010001010010010001100001100100000110001100010100001101
10010110100110011000101101110011110010001010010100011110011101100001111101100101

Strategy
First we need to learn how GPS creates
these codes
Then we need to come up with a way to
quickly tell the codes apart.

How do you create codes?

You use binary addition rules.


0+0=0
1+0=1
0+1=1
1+1=10 (but only use the last bit, 0)
GPS uses shift registers.
The more shift registers you have, the more
complicated you can make your code.

Here is an example with 3 shift registers


Register1 Register2 Register3
1
1
1

Code
-

Start with all 1s in your shift registers


Add Register 1 and Register 3
For this example, 1+1 =10 ==> 0
The answer 0 goes into Register 1 and
everything shifts to the right.

Resulting in
Register1 Register2 Register3
1
1
1
0

Code
1

Next 0+1=1
Register1 Register2 Register3
1
1
1
0
1
1
1

Code
1
1

After 2N -1 steps (N is the number of


registers), the code repeats
Register1 Register2 Register3
1
1
1
0
1
1
1
0
1
0
1
0
0
0
1
1
0
0
1
1
0
1
1
1

Code
1
1
1
0
1
0
0

For 3 shift registers, the code repeats after 7 steps.

Real GPS
Uses 10 shift registers.
They add different registers to produce
the codes for different satellites.
Satellite 1 uses 2 and 6.
Satellite 2 uses 3 and 7, and so on.
A 10-shift register code repeats after
210-1, or 1023.

How do you compare codes?


100111101110100010011011111111101
000010001010011100001110010010001
Every time the numbers agree, add 1.
Every time the numbers disagree, subtract 1.

This example: 2 different satellites

100111101110100010011011111111111
000010001010011100001110010010001
14 agree
11 disagree

Total score: 3
Perfect agreement would be 35

This example: same satellite codes, but shifted


Not so good - score of -3.
01100010101011001000100100000110000011110000
11000101010110010001001000001100000111100001
But if you recognize they are shifted by 1:
01100010101011001000100100000110000011110000
11000101010110010001001000001100000111100001
Agreement is perfect

Its useful to have a computer


to do these comparisons,
especially since you have to
test a lot of different shifts.
Then you can plot how good
the agreement is as a
function of shift.

Satellite 9 compared to Satellite 10 code

Satellite 10 compared to Satellite 10 code

Very good agreement here.

Satellite 10 compared to Satellite 10 code that has


been shifted by 200.

Why two peaks?


Start with 2 codes
Is red shifted by 200?

Or is black shifted by 823?

Why are the codes shifted? The shift gives the


GPS receiver the time difference.
Time Difference (in seconds) * 2.99792458 108 meters/second =
Distance (in meters)

What is a typical Time Difference? GPS


satellites are ~20,000,000 meters above
the Earth.
20,000,000/300,000,000~ 70 milliseconds

Plate tectonics

The Earth is a spherical jigsaw puzzle. Different tectonic plates


move in different directions at different speeds.

I mostly use GPS to study how the Earth


changes. I study plate tectonics,
volcanoes, and earthquakes.

Southern California
Iceland operating all over the world.
We have GPS receivers
Holland
Australia
Hawaii

Antarctica

Lets use a GPS site in Canada as an example


Churchill, Manitoba

Each red dot tells


you the position of
a GPS receiver on
a single day.
Churchill is moving
1.9 cm/yr west, 0.6
cm/yr south, and 1.1
cm/yr up.

Churchill, Manitoba

The North American plate is rotating about the blue triangle

All the plates together

Blue boundaries are the different plates

Why is Churchill going up 1.1 cm/yr?

Canada was covered by ice 11,000-14,000 years ago.

And ice is very heavy.

Postglacial rebound

You might also like