GNSS Accuracy Decoded: Why Positioning is a Game of Probabilities
TL;DR
- GNSS measures position against an external reference, not against its own surroundings. Satellite signals, geometry, the propagation environment, the receiver and the reference frame all sit between the device and the number on its datasheet.
- CEP, RMS, 2DRMS, and R95 are different accuracy metrics. Compare receivers only after converting the metric and checking the test setup.
- Precision is repeatability; accuracy is closeness to the true coordinate. A receiver can draw a tight cluster and still be shifted from the map or survey reference.
- DOP is a geometry multiplier: it amplifies the ranging error present in the solution. Open sky, canopy, buildings, antenna quality, and correction status decide whether a specification survives field use.
GNSS accuracy is not one fixed number; it is a statistical claim wrapped around receiver quality, satellite geometry, signal environment, correction state, antenna setup, coordinate frame, and test method.
Most sensors make accuracy feel simple. A temperature probe might specify a range, a resolution, and a maximum error. A GNSS receiver looks similar on a datasheet, but the number hides more assumptions. A receiver can output latitude and longitude with many decimal places while the real position is still meters away.
The reason is that satellite positioning is a ranging problem measured against something outside the device. Each fix depends on time measurements from multiple satellites, and each measurement carries noise, atmospheric delay, multipath, receiver uncertainty, and geometry effects. The result is not a single guaranteed point. It is a cloud of possible positions.
What Kind of Sensor Is GNSS?
The usual sensor checklist behaves differently for GNSS:
- Range: Global. A GNSS receiver can operate almost anywhere with sky view.
- Resolution: Extremely fine. Coordinates can be reported down to millimeter digits, which is a property of the output format rather than evidence of millimeter-level measurement.
- Accuracy: Variable. Depending on signal quality, correction state, antenna setup, and environment, the error can range from centimeters to dozens of meters.
Fine resolution alongside large real-world error already rules out a plus-or-minus reading. What sets GNSS apart from the other sensors on a robot or a vehicle is what it measures against:
| Dimension | Ranging / imaging sensors (lidar, radar, camera) | GNSS absolute positioning |
|---|---|---|
| What is measured | The relative relationship between the device and nearby objects. | The relationship between the device and an external reference frame. |
| Main dependencies | Mostly the device itself and the target being measured. | Satellite signals, satellite geometry, the propagation environment, receiver quality, and the reference frame. |
| Nature of the specification | Usually stated as range, resolution, and error under defined conditions. | Stated as an error metric under defined test conditions, which makes it a statistical claim. |
| Stability of accuracy | Environment matters, but factory calibration dominates. | Strongly tied to the observing conditions of the moment; the same hardware can differ substantially between sites. |
| Relationship to truth | Repeated observations can support some internal consistency checks. | Verifying absolute accuracy requires an external reference of higher grade. |
GPS program documentation draws the same line from the other direction: the error of the signal in space is one quantity, and the accuracy a user obtains is another, shaped by satellite geometry, obstruction, atmospheric conditions and receiver quality.
So a GNSS accuracy specification carries a metric and its test conditions. It is not a hard error ceiling that holds in your deployment, which is why the rest of this guide is written in probabilities.
Accuracy vs Precision in GNSS
Accuracy and precision are often used as if they mean the same thing. In GNSS, mixing them up leads to bad receiver comparisons.
- Accuracy means closeness to the true coordinate. The question is: did the receiver land on the right place?
- Precision means repeatability. The question is: do repeated fixes cluster tightly together?
The Target Analogy
- High precision, low accuracy: All your shots hit the same spot, but that spot is far from the bullseye. In GNSS, this often points to a systematic error.
- Low precision, high accuracy: Your shots scatter around the target, but the average center is close to the bullseye. In GNSS, this usually points to random error.
A receiver can be precise but inaccurate. If the antenna offset is wrong, the base-station coordinate is wrong, or the map layer uses a different datum, every point may repeat neatly while staying shifted from the true location. A clean track overlay is therefore not proof of absolute accuracy; the coordinate-frame side of that problem sits in the accuracy chain below.
The reverse can also happen. A noisy receiver may scatter around the true coordinate. The average may be close, but each individual fix is too unstable for control, mapping, or repeatable measurement. For robotics, field mapping, and machine guidance, both properties matter: the receiver needs a stable output and the output needs to be tied to the correct coordinate frame.
Field Note
High precision is a prerequisite for high accuracy, but it is not a substitute for it. Two devices drawing overlapping tracks on one short route have demonstrated consistency under that route and sky view. Absolute accuracy, vertical accuracy, coordinate-frame alignment, and behavior in a different multipath environment all remain open, and each of them needs a stated external reference to settle.
CEP, RMS, and R95 Explained
Most confusion starts when two datasheets describe accuracy with different metrics. A "1 m" number can mean median performance, root-mean-square spread, or a 95% containment radius. Those are not interchangeable claims.
The practical comparison table is:
| Metric | Meaning | Typical Misuse | When to Use |
|---|---|---|---|
| CEP | Circular Error Probable. About 50% of horizontal fixes fall inside this radius. | Treating CEP as a maximum error or as a 95% guarantee. | Comparing typical median horizontal performance. |
| RMS | Root mean square error. In receiver specs it may mean per-axis or aggregate spread; the conversion below uses DRMS, the two-dimensional distance RMS. | Comparing it directly with CEP or R95 without conversion. | Engineering analysis, repeated test runs, and error-budget work. |
| 2DRMS | Twice the two-dimensional distance RMS. Often used as a conservative horizontal containment metric. | Assuming it is identical to every vendor's R95 definition in every error model. | Conservative horizontal position claims and acceptance tests. |
| R95 | The radius expected to contain about 95% of horizontal fixes. | Reading it as "normal error" when it is closer to a boundary claim. | Field reliability, safety margins, and customer-facing accuracy promises. |
| DOP | Dilution of Precision. A geometry multiplier applied to ranging error, not a containment metric. | Treating satellite count alone as proof of good accuracy. | Understanding why the same receiver changes behavior across sites. |
Pro Tip
You may see confusing labels like "CEP95" in test reports. Strictly speaking, CEP refers to the 50% probability circle, so a 95% containment claim should be labeled separately, such as R95 or 95% horizontal accuracy.
Under a simplified two-dimensional Gaussian assumption, these metrics convert with published multipliers. For the same receiver, a CEP number always looks smaller than a high-confidence containment number, so the smaller figure on a datasheet may simply be the lower-confidence one.
2DRMS sits outside that conversion table. It is a conservative shorthand, roughly twice DRMS, and it is not strictly equal to R95. Its actual coverage shifts once the error distribution stops being circular, so treat it as a containment convention rather than as a converted value.
The Conversion Cheat Sheet
Engineers often need to compare a datasheet using CEP against one using RMS or a 95% statement. Assuming a standard two-dimensional error distribution, these multipliers give a practical conversion starting point:
- Scenario: A module claims a single-point positioning accuracy of 1.2 m CEP.
- To DRMS: Multiply by 1.19 -> 1.43 m DRMS.
- To R95: Multiply by 2.08 -> 2.5 m R95.
| To get → / Multiply by ↓ | CEP | rms1 (1-D) | DRMS (2-D) | R67 | R95 |
|---|---|---|---|---|---|
| CEP | 1.00 | 0.85 | 1.19 | 1.26 | 2.08 |
| rms1 (1-D) | 1.18 | 1.00 | 1.41 | 1.49 | 2.45 |
| DRMS (2-D) | 0.84 | 0.71 | 1.00 | 1.06 | 1.74 |
| R67 | 0.79 | 0.67 | 0.95 | 1.00 | 1.64 |
| R95 | 0.48 | 0.41 | 0.58 | 0.61 | 1.00 |
Conversion factors after F. van Diggelen, “GNSS Accuracy: Lies, Damn Lies, and Statistics”, GPS World, Vol. 18, No. 1, 2007. The table assumes a Gaussian, circular horizontal error distribution. R67 and R95 are containment radii. DRMS is a root-mean-square measure whose coverage lands near 63–68% under the same assumption, so it sits close to R67 without being the same quantity.
When the Conversion Holds
These multipliers apply when four things are true at once: both numbers describe the same two-dimensional horizontal error sample, both are referenced to the same ground truth, both use the same statistical convention, and the distribution model is stated. Matching solution state is not enough on its own. Two figures can both come from RTK Fixed operation and still describe different samples, different references and different conventions.
Why Dice Explain GNSS Accuracy
Those multipliers work because many GNSS accuracy calculations treat the final error as approximately Gaussian. That assumption comes from adding many smaller error terms together.
The Dice Experiment
Imagine rolling one die. The result is uniform: 1 through 6 have equal probability. That is not Gaussian. Now roll three dice, record the sum, and repeat the experiment 100,000 times. The histogram forms a bell curve because there are many more ways to make middle values than edge values. The sum of three dice is still discrete and bounded, so it is not literally a Gaussian — but it already shows the shape that emerges once independent terms accumulate.
P(x = k) = 1/6
s in {3 ... 18}
-> approximately Gaussian
Each outcome has the same probability. A single random source does not form a Gaussian distribution.
The sum concentrates near the center because there are more combinations that produce middle values than edge values.
function random_die() {
return floor(random(1, 6));
}
for (i = 0; i < 100000; i++) {
s = random_die() + random_die() + random_die();
histogram[s] += 1;
}
The Central Limit Theorem
The Central Limit Theorem explains why this matters. A GNSS position error is not one clean error source. It is the sum of satellite clock residuals, orbital uncertainty, ionospheric delay, tropospheric delay, signal effects, multipath, receiver noise, antenna effects, and local geometry.
Individual errors may not be Gaussian. Their sum often behaves close enough to a Gaussian distribution that CEP, DRMS, R95, and similar statistical tools become useful. The assumption is never perfect, but it is practical when the test environment and confidence metric are stated clearly.
Two limits come with that assumption. First, a histogram that looks Gaussian does not mean successive epochs are independent: GNSS errors are usually correlated in time, and Kalman filtering strengthens that correlation. A short, time-correlated log cannot stand in for long-term behavior.
Second, changing operating state mixes different error populations into one sample, and the combined sample no longer necessarily satisfies a single distribution model. That is the assumption behind the four conditions in the previous section, and it is why a stated fix mode does not substitute for them.
The GNSS Accuracy Chain
If GNSS accuracy is set by conditions rather than by the device alone, the next thing to pin down is which conditions, and in what order. The path from a raw measurement to a comparable accuracy figure has a main line, one branch, and a set of reference conditions that sit outside the solution entirely:
| Stage | What it decides |
|---|---|
| Measurement | Main line. Pseudorange and receiver clock bias. The raw observable everything else is built on. |
| Observation quality | Main line. Frequencies, constellations and satellite geometry. Sets how much of the sky is usable and how cleanly errors separate. |
| Error sources | Main line. Atmosphere, multipath, orbit and clock residuals, receiver noise. Sets the size of the error budget, traced term by term in GNSS Errors Mapped. |
| Corrections and ambiguity | RTK / DGNSS branch. Corrections remove much of the shared error, and carrier-phase ambiguity resolution produces the Fixed state, as covered in RTK GPS Demystified. A receiver without this branch is not a broken chain. It is a different path. |
| Coordinate frame and epoch | Reference condition. Not a measurement step. It is the condition under which one stated accuracy can be compared with another, and the place where a correct fix still lands in the wrong spot on a map, as in Beyond WGS84. |
| Ground truth and convention | Reference condition. Which reference the error was measured against, and which statistical convention was used to summarize it. |
Every GNSS position passes through the main line. Only RTK and DGNSS operation passes through the branch. The reference conditions never enter the solution at all; they decide whether two figures are comparable in the first place.
An accuracy number is comparable only when it is published with its observing conditions, its solution path, and its reference conditions.
How to Read a GNSS Accuracy Claim
Engineering Summary
A useful GNSS accuracy claim identifies the metric, the solution mode, the observing environment, the correction path, the antenna setup, the reference coordinate, and the dimension and motion of the test.
Before treating an accuracy line as a requirement, check the conditions behind it. Each row maps to a link in the chain above:
| Question | Why It Matters | What to Look For | Chain Link |
|---|---|---|---|
| What confidence metric? | CEP, RMS, and R95 describe different portions of the error cloud. | Do not compare numbers until the metric is normalized. | Reference conditions |
| What fix mode? | Single-point, SBAS, RTK float, and RTK fixed are different operating states. | Check whether the number assumes fixed RTK or open-sky single point. | RTK / DGNSS branch |
| What sky view? | Satellite geometry, blockage, and multipath can dominate field behavior. | Look for open-sky, canopy, urban canyon, static, or dynamic test notes. | Observation quality |
| What correction source? | Corrections change shared error sources but cannot remove every local error. | Check baseline length, correction age, network coverage, and datum. | RTK / DGNSS branch |
| What antenna setup? | Antenna phase center, ground plane, cable quality, and mounting affect the final fix. | Confirm the test antenna matches the product antenna and installation. | Error sources |
| What reference coordinate? | Accuracy has no meaning without a trusted ground truth. | Use a surveyed control point, a higher-grade reference system, or a documented map datum. | Reference conditions |
| What dimension and motion? | A static two-dimensional horizontal result cannot be compared directly with a dynamic or vertical claim. | Check whether the figure is horizontal or three-dimensional, and whether it was collected static or in motion. | Reference conditions |
Metrics describe the shape of the result. The error budget explains where that shape came from: satellite clock, ephemeris, ionosphere, troposphere, multipath, receiver noise, and geometry.
Why DOP Changes Position Error
DOP stands for Dilution of Precision. It is not a separate error source like multipath or atmospheric delay. It is a geometry multiplier. When satellites are spread across the sky, the receiver can separate timing errors into a cleaner position solution. When satellites cluster in one part of the sky, the same ranging error expands into a larger position error.
The simplified relationship is:
Position error ≈ ranging error × DOP
DOP is a family, not a single number. Under a simplified covariance model, each member isolates one part of the geometry:
- HDOP describes the horizontal geometry effect on latitude and longitude.
- VDOP describes the vertical geometry effect on altitude.
- PDOP covers three-dimensional position, combining the two above.
- TDOP covers the receiver clock term.
- GDOP is the overall figure, combining position and time.
Under that model they are related, not independent:
PDOP² = HDOP² + VDOP²
GDOP² = PDOP² + TDOP²
GDOP is the single figure that summarizes how far the current satellite geometry degrades both position and time. A receiver reporting a comfortable HDOP can carry a much larger VDOP at the same instant, and GDOP reflects both plus the clock term, which is why a DOP value quoted without saying which one is not a usable number. For the underlying derivation, see the ESA GNSS Data Processing handbook.
The Rule of Thumb
This explains why satellite count alone is a weak quality indicator. Twelve satellites with poor geometry can perform worse than eight satellites spread across a better sky.
Vertical accuracy is usually weaker than horizontal accuracy because satellites are above the receiver, not below it. The geometry has less vertical leverage, so altitude error often grows faster than horizontal error under the same ranging conditions.
In open sky, HDOP may sit around 0.7. In an urban canyon or beside tall structures, HDOP can rise toward 4.0, and horizontal accuracy can degrade roughly in proportion even before multipath is considered. Near buildings, tree lines, slopes, machinery, or greenhouse structures, HDOP can climb while reflected signals increase at the same time. The receiver may still produce a coordinate, but the probability cloud is larger and less symmetric.
What RTK Changes About GNSS Accuracy
RTK does not make the probability problem disappear. It changes which error terms remain dominant.
With ordinary single-point GNSS, the rover depends on broadcast satellite data, atmospheric models, its antenna environment, and its receiver design. With RTK, a nearby reference receiver observes many of the same satellite-side and atmospheric errors. The rover uses correction data to remove much of the shared error and then solves carrier-phase ambiguity for a centimeter-level fixed solution. That changes which observations are usable and which error terms dominate what is left.
That is why an RTK receiver can report a much tighter horizontal result than a standalone receiver under the same sky. It is also why RTK is sensitive to correction age, baseline length, cycle slips, multipath, and antenna installation. A fixed solution is a strong state, not a guarantee. The RTK Trick explains how double differences and integer ambiguity resolution produce that state—and why a Fixed solution can still be wrong.
Fixed is a solution-state label, not an error measurement. Two receivers both reporting Fixed can produce different error distributions, so a position is worth publishing with its state attached: fix mode, correction age, covariance, timestamp and validity flag. Downstream systems can then weight the position by that state instead of trusting a nominal figure.
Downstream, a centimeter-level fix is a component rather than a result: robot control stacks still have to handle state changes and obstruction, and a mapped boundary still depends on the coordinate frame and the field workflow.
Accuracy Boundary
RTK improves the measurement side of GNSS accuracy. It does not automatically validate the coordinate frame, remove local multipath, fix poor antenna placement, or prove that the field workflow captured the intended point.
Testing GNSS Accuracy in the Field
Reading the datasheet is the first step. Testing the receiver in the environment where it will actually work is the second.
The Golden Rule of Testing
The reference uncertainty must be documented and materially smaller than the error being evaluated. For a meter-level receiver, a surveyed control point or a higher-grade RTK system will usually meet that bar. For centimeter-level validation, the reference coordinate, antenna mount, correction source, and logging method all need tighter control, and the reference uncertainty itself has to be stated rather than assumed.
A practical field test should log:
- Timestamp, latitude, longitude, altitude, and fix mode.
- Satellite count, HDOP, correction age, and RTK float/fixed state.
- Antenna type, antenna height, mount position, and surrounding obstructions.
- Reference coordinate, coordinate frame, and map layer or survey control source.
- Whether the test is static, dynamic, repeated-loop, or revisit-based.
No Budget for High-End Gear?
Without a survey control point, repeated tests still help: log a static point cloud, drive the same route several times, revisit the same target at different times of day. Those runs will not prove absolute accuracy, but they expose precision, drift, multipath sensitivity, and correction-state stability.
Once a test produces Fixed / Float states, RMS figures, CDF curves, and degraded route segments, reading those layers together becomes its own problem. For that evaluation layer, see RTK Accuracy Trap.
Conclusion
A GNSS accuracy figure is comparable only when the metric, the solution mode, the test conditions, and the reference are known. Without them, 1.2 m or 1 cm is marketing shorthand, not an engineering input.
KEY TAKEAWAY
Before comparing two GNSS receivers, confirm that both figures come from the same horizontal error sample, the same ground-truth reference, and the same statistical convention. Only then normalize the metric, read the test conditions, and separate three questions: how repeatable the fixes are, how close they are to truth, and whether the coordinate frame matches the job.
Frequently Asked Questions
What does GNSS accuracy mean in a datasheet?
GNSS accuracy in a datasheet is an error metric reported under defined test conditions. It does not mean every fix will stay within that distance, and it is not a hard error ceiling for your deployment. Before comparing receiver specifications, check whether the number is CEP, RMS, R95, single-point, RTK float, RTK fixed, static, dynamic, open sky, or field tested, and whether the test used the same antenna and mounting as the product you plan to ship.
What does CEP mean in GNSS accuracy?
CEP means Circular Error Probable. In horizontal positioning, it usually describes the radius expected to contain about 50% of position fixes. A receiver claiming 1 m CEP is not promising that every point stays within 1 m. About half the points may fall outside that circle under the same test assumptions.
Can CEP, DRMS, 2DRMS, and R95 be converted directly?
Not as a single universal conversion. The published table covers CEP, one-dimensional RMS, DRMS, R67 and R95 under stated assumptions, and it holds only when both figures describe the same two-dimensional horizontal error sample, share the same ground-truth reference, use the same statistical convention, and have a stated distribution model. Treat 2DRMS separately: it is roughly twice DRMS, not strictly equal to R95, and its coverage shifts once the error distribution stops being circular.
Can a receiver be precise but still inaccurate?
Yes. A receiver can output a tight cluster of repeated points while all of those points are shifted away from the true location. That is high precision but low accuracy. Common causes include coordinate-frame mismatch, incorrect antenna offset, inaccurate base-station coordinates, or persistent multipath bias. Overlapping tracks from two devices prove repeatability under the conditions observed on that route, not absolute accuracy against a surveyed reference.
Why does DOP affect GNSS accuracy?
DOP affects GNSS accuracy because satellite geometry changes how ranging errors turn into position errors. When satellites are spread across the sky, the receiver can solve position more cleanly. When satellites cluster in one area or are blocked by buildings and trees, the same measurement noise can become a larger horizontal or vertical error.
What must match before comparing two GNSS accuracy claims?
Four things must match before two accuracy figures can be compared: the error sample must cover the same dimension and motion type, both figures must reference the same ground truth, both must use the same statistical convention, and, if you intend to convert between metrics with multipliers, both must have a stated distribution model. Matching solution state does not replace these. Two numbers can both come from RTK Fixed operation and still describe different samples, references, and conventions.
How accurate is RTK GPS compared with normal GNSS?
RTK GPS can usually reduce horizontal error from meter-level single-point GNSS to centimeter-level positioning when the receiver has a fixed solution, a reliable correction stream, a suitable baseline, and a clean antenna environment. In the field, correction age, multipath, coordinate frame, and antenna mounting still decide whether that accuracy is usable.
You Might Also Like
RTK Accuracy Trap
Apply these metrics to a real test report: fix rate, scenario mix, and where RMS misleads.
LateralHow GNSS Works
Go one layer down to pseudorange and receiver clock bias, where the error cloud starts.
ApplyKalmix Ground Truth
Published route datasets with stated reference, test conditions, and per-scenario statistics.