ENGINEERING REFERENCE

Why GNSS Receiver Uncertainty Can Be Too Optimistic

A GNSS receiver's covariance or standard-deviation output is a model-based estimate, not a measurement of the unknown position error. It can be too small when observations are more correlated than assumed, the model omits a shared error, or the filter trusts its motion prediction more than actual conditions justify. Additional messages do not necessarily add independent information. Evaluate the uncertainty against suitably referenced errors and its stated coverage, not just how small the displayed number becomes.

This is a different question from satellite geometry or whether measurements fit an estimated solution. The question here is calibration of the uncertainty statement: does a reported interval or region contain the reference position as often as its documented meaning implies, in the conditions being evaluated?

Establish what the uncertainty output describes

Identify the quantity, units, coordinate frame, epoch and solution mode before using a reported uncertainty. A component standard deviation, a horizontal error ellipse, a radial percentile and a protection level are different objects. The accuracy-statistics guide explains the distinctions; a scalar field should not silently become a joint position bound.

Covariance describes the estimated spread and dependence of state errors under an assumed model. It is not automatically a budget for every unmodelled bias. A reference-frame mistake, for example, can shift the output without appearing as large random scatter in the receiver's internal model. Neither a compact covariance nor a smooth trajectory shows that those external definitions are correct.

Correlated observations do not average like independent ones

For a linear combination, uncertainty propagation includes cross-covariance terms. NIST's uncertainty-combination guidance drops those terms only when the inputs can be treated as uncorrelated. Ignoring positive covariance can therefore make an average look more informative than it is.

Consider an idealized scalar teaching model, not a GNSS receiver implementation. Take n observations of the same constant coordinate. Each has zero-mean error with variance σ², and every distinct pair has the same correlation ρ. For their equally weighted mean:

Var(mean) = σ²[1 + (n − 1)ρ]/n.

This follows by summing n variance terms and n(n − 1) cross-covariance terms, then dividing by n². Here σ is in metres, variance is in square metres, and ρ is dimensionless. The equal-correlation model is illustrative; it does not assign a correlation coefficient to real GNSS data.

For n = 100 and σ = 0.10 m, compare three assumptions:

Assumed relationship Standard deviation of the mean Interpretation in this teaching model
Uncorrelated errors, ρ = 0 0.010 m The usual square-root sample-count reduction applies
Equal positive correlation, ρ = 0.20 About 0.0456 m Treating the observations as uncorrelated understates this standard deviation by about 4.56 times
Exact copies of one observation, ρ = 1 0.100 m Repeating the same measurement adds no information about that constant coordinate

The final row is a limiting case with a singular joint covariance, not an instruction to invert that matrix. It can be understood directly: the average of 100 identical copies is the original observation. Under a joint Gaussian model, a linear filter that treats repeated copies of the same observation as new independent measurements can become overconfident without receiving new evidence.

Real dependencies can arise across epochs and between processed observables. NovAtel's carrier-smoothing documentation explicitly discusses dependence between carrier and code information. That is a NovAtel example. The separate carrier-smoothed pseudorange guide explains the mechanism; the additional issue here is what happens when downstream uncertainty accounting treats related inputs as independent.

The filter's prediction is another information source

A sequential filter carries a predicted state and covariance into the next update. In the linear model described by ESA-hosted Navipedia's Kalman-filter reference, prediction covariance has the form:

P⁻ = F P Fᵀ + Q.

P describes the previous state-error covariance, F propagates the state, Q represents process uncertainty, and P⁻ is the predicted covariance. The measurement covariance R then affects the update. These matrices must refer to the defined states and units; the equation does not describe every nonlinear receiver implementation.

If the assumed motion is too rigid or process uncertainty is too small for the actual dynamics, the prediction can be trusted too strongly. If R understates measurement error or omits important cross-correlations, the update can claim too much information. These are conditional explanations, not a diagnosis from a single low uncertainty value.

The familiar combination of prediction and new measurements also assumes the appropriate dependence model. Feeding information already used in the prediction back as if it were independent new evidence can double-count it. Merely relabelling an output or passing it through another software module does not create independence.

Assess coverage against the declared statement

First specify what should contain what: for example, a documented one-component interval around each estimated east coordinate, at the matching epoch. Do not compare that interval with a horizontal radius or with a height error. If a probability interpretation requires a Gaussian model, state it. NIST's coverage-factor guidance makes the distribution and reliable-standard-uncertainty conditions explicit; multiplying any reported field by two does not establish them.

As an invented counting example, suppose eight matched coordinate errors against an effectively exact reference are +0.01, +0.03, −0.02, +0.09, −0.08, +0.04, −0.07 and +0.02 m. Assume the processor labels each interval estimate ±0.0392 m as a 95% interval for that coordinate. Four of the eight reference values fall inside, so this sample's empirical coverage is 50%.

That calculation counts containment; it does not prove a long-run coverage rate from eight points. Temporally related samples provide less evidence than independent trials, and the run may not represent the intended environments. Retain the errors, signed offsets and declared intervals, then investigate undercoverage across suitable repeated runs rather than inferring a universal correction factor from one short record.

Include the reference's uncertainty and shared errors

A test reference is not automatically exact. Align its epoch, coordinate frame and physical reference point with the candidate output. Characterize reference uncertainty and its dependence on the device under test. For scalar errors, the variance of their difference contains both individual variances minus twice their covariance. Simply adding variances assumes that cross-covariance is zero.

A second GNSS solution can share corrections, atmospheric effects or control errors with the first. Agreement may then hide a common error. Conversely, a noisy reference can make a well-calibrated device look worse if its uncertainty is ignored. Select a reference and comparison method whose uncertainty budget is appropriate for the claim being tested.

For a vector region, use the documented covariance in the matching coordinate basis, including cross terms. Do not discard those terms and treat separate component intervals as an equivalent joint region. This comparison checks whether reported uncertainty agrees with observed errors; it does not convert one accuracy statistic into another.

Compare calibration and usefulness together

Report error magnitude and uncertainty coverage together. A very wide interval can achieve high containment while being unhelpful to the application; a tiny interval can look precise while failing to contain actual errors. Keep solution modes and operating conditions distinguishable, and disclose whether the result is conditional on valid or fixed outputs. Retain unavailable intervals rather than silently removing them from the system assessment.

Use different data for choosing model settings and assessing their final behavior. Assess meaningful run-to-run variation, not just a large count of consecutive messages from one unchanged setup. Unexpected undercoverage can motivate examination of bias, correlation, motion assumptions or reference alignment; it does not identify which one caused the mismatch.

The measurement-residual guide addresses model fit, while the integrity guide addresses the separate role of bounds and operational decisions. No covariance output or filter behavior is assigned here to a ResiNav model. A useful evaluation asks two questions together: how wrong were the coordinates, and how honestly did the uncertainty describe that error?

NEXT STEP

Turn available platform information into an engineering review.

Use the Technology centre to frame the discussion, review relevant application scenarios, then send the available platform and receiver details for confirmation.

Request an engineering review Explore Technology