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?
Grand Junction sends a signal to Radon’s GPS. What kind of signal? it puts the time on the signal. GPS Grand Junction Transmitter Radon in Boulder For this to work, we’ll need for both the transmitter and Radon to have clocks.
When Radon’s 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.
Radon is at the intersection of the 3 circles And a third transmitter in Pueblo
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 Start with all 1’s 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 1 1 1 0
Next 0+1=1 1 0 1 1
After 2N -1 steps (N is the number of registers), the code repeats 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 Total score: 3 11 disagree 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
It’s 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 10 compared to Satellite 10 code Very good agreement here.
Satellite 10 compared to Satellite 10 code that has been shifted by 200.
Start with 2 codes Is red shifted by 200? Or is black shifted by 823? Why two peaks?
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 We have GPS receivers operating all over the world. Holland Australia Hawaii Antarctica
Let’s 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
Canada was covered by ice 11,000-14,000 years ago. And ice is very heavy.