The GPS system consists of 24 satellites orbiting 12,000 miles above the earth. The satellites are tracked by radar and frequently updated with their exact positions relative to the earth.

Each satellite also has an atomic clock that is accurate to within a few one-billionths of a second (nanoseconds) per day. Every satellite knows precisely where it is and precisely what time it is. The satellites broadcast this information to your GPS receiver.

Your GPS receiver has a clock that is synchronized with the atomic
clocks on the satellites. With these synchronized clocks it can measure
the time it takes for the signal to travel from a satellite to the
receiver. Knowing that the radio signal travels at 299,792,458 meters
per second^{1}, your receiver can now calculate its exact distance from the
satellite.

With the signal from one satellite, the receiver now knows that it is
somewhere on an imaginary bubble with the satellite in the middle. Where
that bubble intersects the earth, it forms a circle. The GPS receiver knows
it is somewhere on that circle.

With the signal from one satellite your GPS receiver knows you are somewhere on a circle on the earth's surface. |

With the signal from another satellite the receiver knows it is also somewhere on another circle. Therefore, it knows that it is at one of the two places where these two circles intersect.

With the signal from two satellites, your GPS receiver knows you are at one of two places where two circles intersect. |

With the signals from a third satellite the receiver knows it is somewhere on yet another circle. The receiver then knows that it is at the one point where all three circles intersect.

With the signal from three satellites, your GPS receiver knows you are at the one place where all three circles intersect. |

That is how the GPS pinpoints your position on the earth.

Except this can’t work. The satellites have atomic clocks that are accurate to a few nanoseconds per day. The receiver has a quartz clock that is accurate to perhaps half a second per day. The receiver needs to synchronize its clock with the atomic clocks on the satellites. It can only do this if it knows precisely how far it is from each satellite. However, the receiver can’t know how far it is from the satellites unless its clock is synchronized with the clocks on the satellites.

The receiver solves this problem with a simple trick. It calculates its
location, not caring if the clocks are perfectly synchronized. If its clock
is off, there will be no one place where all three circles line up.

If
the receiver clock is not synchronized with the satellite clocks, there
will be no one place where all three circles intersect. |

The receiver adjusts its clock until all three circles cross at one point.

The receiver adjusts its clock until all three circles intersect in one place. |

Now the receiver's quartz clock is synchronized with the satellite's atomic
clocks, and the receiver knows exactly where it is.

This would work perfectly if the earth were a uniform sphere, but it’s not. The earth is an oblate spheroid, flattened at the poles and bulging at the equator.

This would work perfectly if the earth were a uniform sphere, but it’s not. The earth is an oblate spheroid, flattened at the poles and bulging at the equator.

The earth is not a sphere. It is an oblate spheroid. |

The earth is also covered with continents and mountains. The receiver needs a signal from a fourth satellite to get its location in three dimensions. That position is superimposed on a map of the earth, and we are done.

Well, we would be done, except for altitude. The receiver knows precisely where it is, but we want to know how high we are above sea level.

Where is sea level?

Some parts of the earth have stronger gravity than others. These areas of high gravity pull the oceans' water to them, making sea level higher there than at other places. And, remember that the earth is not perfectly round. At the equator, you are farther from the center of the earth than at the poles. All this means that sea level is higher at some places than others. The beaches around India are much closer to the center of the earth than the beaches around Ecuador. A GPS receiver has a map of mean sea levels around the world. It adjusts the altitude according to its location on the earth. Now we have a working GPS system that tells you exactly where you are and how high you are above sea level.

This would be it, except for two little problems called general relativity and special relativity. The GPS satellites are 12,000 miles from earth. At this distance, gravity is a bit weaker than on the earth's surface. Thanks to general relativity, time passes faster where gravity is weaker. The atomic clocks on the GPS satellites run 0.000045 seconds (45 microseconds) faster per day than atomic clocks on the earth. On the other hand, the satellites are moving at thousands of miles per hour. This makes the clocks on the satellites run 0.000007 seconds (seven microseconds) per day slower than they would on the earth. The net result is that the atomic clocks on the GPS satellites gain 38 microseconds per day relative to atomic clocks on the earth. This will cause your GPS receiver to drift by 10 kilometers per day.

At least that's what you may have heard, but that's a myth. As long as the clock in the receiver is synchronized with the clocks in the satellites, you will get an accurate position. The clocks on the satellites don't have to agree with clocks on the earth. However, the atomic clocks in the GPS satellites are designed to lose 38 microseconds per day to compensate for special relativity. They are also updated once per week to keep them synchronized with earth-based atomic clocks, just so they can tell us what time it is.

And that's how GPS works.

^{1} | The speed of light is exactly 299,792,458 meters per second because the definition of a meter is tied to the speed of light. |