How does differential GPS work?
Civilian GPS (the kind in your car or handheld device) is accurate to, at best, 3 meters in any one direction and more likely has around 15 meters of inaccuracy. To understand why this inaccuracy occurs and how differential GPS can fix these inaccuracies, one first must understand how GPS works.
How does civilian GPS work and why is it inaccurate?
All GPS satellites and receivers generate identical (binary) "code phase" signals. One can think of the code phase signal as a unique string of 1's and 0's that all GPS satellites and receivers emit "at the same time." (This phrase is in quotes because receiver and satellite clocks are not synchronized, resulting in inherent clock differentials.) After receiving a satellite signal, the GPS receiver calculates the amount of time that the "code phase" signal it receives from the satellite lags its own internal "code phase" signal. The time difference is multiplied by the speed of light to calculate the distance between the satellite and the receiver. Because of discrepancies in clock-time and atmospheric distortions, this calculated distance is subject to error and dubbed a "pseudorange." Despite its inaccuracy, the pseudorange is what civilian GPS receivers use to triangulate their position (i.e. find their exact spot on the earth by matching up their exact distance from 4 satellites).
Pseudorange errors are mostly due to clock differentials and atmospheric distortions. Clock differentials arise from the fact that although GPS satellites have extremely precise atomic clocks, clocks in receivers are not nearly as accurate. Unfortunately, even a fraction of a second of clock inaccuracy, when multiplied by the speed of light, can yield large differences in position. Atmospheric distortions derive from the varying indices of refraction of different layers of atmosphere. GPS signals are bent as they go through earth's atmosphere, much like the bending of a spoon in water. As a result of these inaccuracies, the GPS in your car might be sufficient to figure out which road you're on, but it can never be used for precision calculations.
How Does Differential GPS Solve GPS Inaccuracies?
Differential GPS increases civilian GPS accuracy by exploiting the fact that two GPS receivers in nearby locations will receive signals from a similar set of satellites. These satellite signals go through similar slices of atmosphere and experience roughly the same atmospheric distortions. Because they are so alike, these atmospheric distortions can be "differenced" out to get a more accurate location reading (of one receiver relative to another). Further, to minimize inaccuracies due to clock differences, "carrier phase" data can be use instead of "code phase" data for distance calculations.
In addition to a "code phase", GPS satellites also emit a "carrier phase", which is a rapidly repeating binary signal. The "carrier phases" of a GPS satellite and receiver can also be matched up. When carrier phases are matched up, the phase shift is much lower than with the code phase since, due to the indistinctness of repeating signals, carrier phases do not have to be shifted as much to "match up." This reduces errors from clock differentials, but it also creates an "integer ambiguity" which arises from the fact that the receiver cannot know how many "integer cycles" of difference exist between its match-up of carrier phase with a satellite carrier phase. The integer ambiguities can be solved or estimated by known algorithms, and a more accurate satellite-to-receiver range can be calculated once the integer ambiguity (or close approximation of it) is known. This ultimately allows for enhanced GPS accuracy.





