Differential GPS involves the cooperation of two receivers, one that's stationary and another that's roving around making position measurements.
The stationary receiver is the key. It ties all the satellite measurements into a solid local reference.
Here's how it works:
Remember that GPS receivers use timing signals from at least four satellites to establish a position. Each of those timing signals is going to have some error or delay depending on what sort of perils have befallen it on its trip down to us.
(For a complete discussion of all the errors review the "Correcting Errors" section of the tutorial.)
Since each of the timing signals that go into a position calculation has some error, that calculation is going to be a compounding of those errors.
An extenuating circumstance
Luckily the sheer scale of the GPS system comes to our rescue. The satellites are so far out in space that the little distances we travel here on earth are insignificant.
So if two receivers are fairly close to each other, say within a few hundred kilometers, the signals that reach both of them will have traveled through virtually the same slice of atmosphere, and so will have virtually the same errors.Common Errors
Differential GPS can eliminate all errors that are common to both the reference receiver and the roving receiver.
These include everything except multipath errors (because they occur right around the receiver) and any receiver errors (because they're unique to the receiver).
That's the idea behind differential GPS: We have one receiver measure the timing errors and then provide correction information to the other receivers that are roving around. That way virtually all errors can be eliminated from the system, even the pesky Selective Availability error that the DoD puts in on purpose.
The idea is simple. Put the reference receiver on a point that's been very accurately surveyed and keep it there.
This reference station receives the same GPS signals as the roving receiver but instead of working like a normal GPS receiver it attacks the equations backwards.
Instead of using timing signals to calculate its position, it uses its known position to calculate timing. It figures out what the travel time of the GPS signals should be, and compares it with what they actually are. The difference is an "error correction" factor.
The receiver then transmits this error information to the roving receiver so it can use it to correct its measurements.
Since the reference receiver has no way of knowing which of the many available satellites a roving receiver might be using to calculate its position, the reference receiver quickly runs through all the visible satellites and computes each of their errors.
Then it encodes this information into a standard format and transmits it to the roving receivers.Error Code Transmission
GPS receivers don't actually transmit corrections by themselves. They are linked to separate radio transmitters.
The roving receivers get the complete list of errors and apply the corrections for the particular satellites they're using.Error Transmissions
Error transmissions not only include the timing error for each satellite, they also include the rate of change of that error as well. That way the roving receiver can interpolate its position between updates.