I've been reading about GPS to find how it works, but one thing still bothers me.

To calculate distance from GPS unit/receiver to GPS satellite, it uses the difference between radio signal sending time and radio signal receiving time, which is broadcast by the satellites.

To do that calculation, of course, the GPS unit time has to be in-sync/the same with the GPS satellite time.

I read that GPS units first make a (false) distance calculation (or X,Y,Z coordinate) to three satellites, and then make the adjustment from a fourth satellite to make all the distance radii intersect at a single point. How exactly does a GPS unit do this?

I read that it achieves this by the means of pseudo-random code; how?

  • 2
    Might be best to ask your second question as a separate question. :)
    – R.K.
    Commented Jan 9, 2015 at 6:16

1 Answer 1


The two questions are linked.

The satellite (Space Segment) can predict its position because satellite orbits are relatively "smooth" motion (according to Kepler's laws) and there are tracking / initialisation information passed up to the satellites from the Control Segment.

The GPS receiver (User Segment) makes 4 (or more) pseudo-range measurements. For the 4 measurement case, there is are 4 equations, each in three "distance" and one time dimension. The time measurements and distance measurements can't be separated - the distance is measured by propagation time from the satellite to the receiver (i.e. its really four measurements of pseudo-range, multiply the speed of propagation with the delay). The receiver clock isn't that good (in most commercial / domestic equipment, perhaps a cheap quartz oscillator without any temperature stabilisation), but the error doesn't change much between individual calculations of pseudo-range, so it doesn't matter much. As long as you can calculate the clock error (using the four solutions in four unknowns).

Actually solving the calculations gives you a position in Earth Centred - Earth Fixed coordinate space. The transforms from ECEF to WGS-84 (or whatever reference system) is just trigonometry and algebra.

  • 1
    Just to add: The receiver needs the almanach (kind of weekly time-table of all GPS satellites) to know the exact current satellite positions. Once he has downloaded it completely from any satellite, it can speed up calculation. That is the reason why a first fix takes longer if you have not used the unit for some time.
    – AndreJ
    Commented Jan 9, 2015 at 12:47
  • Technically almanac is only rough positions (to know which satellites are available, rather than search for all satellites), but you can get the exact position from the per-satellite ephemeris.
    – BradHards
    Commented Jan 9, 2015 at 21:45
  • Rather than trying to put an expensive timepiece into each unit (see en.wikipedia.org/wiki/Atomic_clock) the designers put cheap oscillators into the units but have a really good timepiece attached to a ground station which periodically transmits time corrections up to the satellites and down to the receivers to reset the internal clocks... at most the time on the units are out by only fractions of a second between resets. Commented Apr 28, 2016 at 5:58
  • @MichaelMiles-Stimson: You probably should be clearer about what you mean by "unit" because the way you've written it that could be the space segment rather than the user equipment segment (receivers) - I did refer to cheap quartz oscillators. Also, it wouldn't take much of a fraction of a second to be a big pseudo-range error. The whole point is that the errors are cancelled out by the extra measurement.
    – BradHards
    Commented Apr 28, 2016 at 6:58
  • Great answer. Perhaps you could add more detail. I suppose (a guess) that the user device initially chooses 3 satellites, and from information collected about their locations, the user device can calculate the line-of-site distance between each of the 3 satellites. This places the user and the 3 satellites at the corners of an irregular 4 sided pyramid. The lengths of the 3 lines ending at the user are determined by the transit time to each satellite. But, what are the equations that are used to calculate this last part (lengths), and how are additional satellites added to improve accuracy? Commented Nov 28, 2016 at 15:38

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.