DOP, the non-technical description

How accurate is your GPS? How close are you really to where it says you are?

Measure the accuracy

First you have to know where you really are. Obviously, if you know where you really are, you can check the GPS. But if you knew where you were you wouldn't need the GPS. So how do you know what your position error is when you don't know exactly where you are? It's not obvious, but the short answer is that you don't. Just like if you buy a lottery ticket; you can't tell if you've won or not until they announce the correct numbers. You can't know the correct number in advance, but you can estimate your chances of winning anyway.

Estimate the accuracy

As you sit, wondering where you are, watching your GPS, you notice that the position it gives wanders around. Some of those numbers must be accurate, but which ones are they? If you wait long enough, you can take the average and find your position with improved accuracy. Then you can take all of the positions and find out how far they are from that average position. From that you could calculate what the average deviation was. The next time you used the GPS, you could figure that the GPS position would vary in about the same way, so you could use your "average deviation" numbers to estimate the accuracy of your new GPS position. The only problem is that these numbers do vary, so it's not this simple. But the idea is good.

Sources of error

There are several sources of error in any GPS reading. Some of these errors are due to natural causes, and some error is introduced on purpose (SA). You can read more about the "error budget" and Selective Availability elsewhere. These numbers vary, but not so much as the position errors.

There's a famous computing principle called GIGO -- garbage in, garbage out. Here it's not really garbage in; they're just "little" errors.

When the GPS uses these inputs to solve for your position, it is only natural that your position is going to be in error too. If you study the equations that the GPS uses to solve for the position, you can analyze what the effects of these input errors will be and you can find a formula which predicts what the output errors will be. This formula predicts what the error in the GPS position will be and presents a number to the user. It's like a magnifying effect, since it normally makes the final error bigger than the input errors. The magnifying factor is called DOP -- Dilution of Precision.

Dilution of Precision

The DOP factor is used in a very simple equation:

SD(position) = DOP * SD(inputs)

This means that the standard deviation of the position is simply the standard deviation of the inputs multiplied times the DOP factor. Of course, this formula isn't as simple as it looks, since for GPS a multidimensional solution is required, and therefore matrix mathematics is used. But the idea is good.

One interesting thing about DOP is that it does not depend on the anything that cannot be predicted in advance. It only depends on the positions of the GPS satellites relative to the GPS receiver's location. The satellite positions can be calculated in advance, so you can determine the quality of your GPS position fix in advance, without even using the GPS system.

Satellite geometry

DOP only depends on the position of the satellites: how many satellites you can see, how high they are in the sky, and the bearing towards them. This is often refered to as the geometry. The satellites move, so the geometry varies with time, but it is very predictable.

VDOP, HDOP, etc

DOP is often divided up into components. These componets are used because the accuracy of the GPS system varies. For example horizontal position can usually be measured more accurately than vertical position. The input errors are the same, but the geometry may favor one direction over another. VDOP is vertical DOP; HDOP is horizontal DOP. There are also PDOP for 3D positions, TDOP for time, and GDOP for geometic DOP (which is everything all together).

For example

For example, a DOP of 2 means that whatever the input errors were, the final error will twice as big. We can use the DOP value to estimate the possible error of your position. If you know (or guess) that the UERE is 25 meters ... (where UERE is user estimated range error: the standard deviation of the errors in the psuedoranges of the satellites at the user's position) ... then you know that your position error has a standard deviation of 50 meters.

If we don't know the input errors, we can just use the DOP value as an indicator of how good the conditions are for making GPS position measurements. ie, one with a DOP of 2 is better than one with a DOP of 4.

Some ways to improve accuracy

Use DGPS to reduce the errors in the inputs.
Improve DOP by using more satellites.
Take your measurements when the satellites are spread out over the sky.
Average the GPS position readings over time.

Reaching for a metaphor

To understand how DOP is calculated requires understanding statistics. If you just want to use it, and if you don't know statistics, just think about betting. Pick a sport, any sport. Whether it is pool, bowling, basketball, diving, the stock market, or whatever. There are difficult shots and easy shots. Difficult things are riskier. DOP is a rating of the difficulty of getting a good position out of a particular combination of GPS satellites.

With a high DOP, don't expect an accurate position; it could still be good, but probably it's not.

With low DOP, the position is probably closer to being right, but remember it's an estimate, not a guarantee.