Talk to an Engineer

GNSS Error Modeling & Receiver Validation

GNSS Error Sources and Error Budget: From Range to Position

GNSS errors come from satellite clocks and orbits, signal propagation, reflections, receiver processing and installation. An error budget states what remains after corrections, how those contributions are combined, and how they affect the required output. A list of raw delays is not yet a position-accuracy prediction.

This guide explains the sources, builds a worked code-range budget, and connects it to practical validation. It is part of the GNSS Simulation 101 hub. For measured accuracy statistics, use the companion GPS/GNSS accuracy guide.

What Is a GNSS Error Budget?

A GNSS error budget is a model of error contributions for a specified measurement or output, operating mode and set of conditions. Keep four stages distinct:

  1. Physical effect: a clock offset, atmospheric delay or reflected path changes an observation.
  2. Applied correction or estimated state: the receiver models, corrects or estimates part of that effect.
  3. Remaining measurement error: imperfect correction, local effects and noise remain.
  4. Output error: the estimator maps the remaining observations into position, velocity, clock and other states.

Code and carrier-phase observations require different models. The positioning mode also matters: a standalone code solution, RTK and PPP do not share one universal budget.[1]

Define the quantity first: nanoseconds of clock error, metres of range error, dimensionless DOP and metres of horizontal position error cannot be added directly. Convert and propagate each contribution through the applicable measurement model.

Main GNSS Error Sources at a Glance

Source, treatment and remaining limitation
SourceEffect on observationsTypical treatmentWhat remains to assess
Satellite clockTiming error contributes to range error.Broadcast or precise clock corrections.Remaining clock error and correction validity.
Orbit / ephemerisSatellite-position error affects modeled geometric range.Applicable broadcast or precise orbit information.Line-of-sight error, data age and product consistency.
IonosphereFrequency-dependent code delay and carrier-phase advance.Models, corrections or suitable multi-frequency combinations.Model mismatch, higher-order effects and disturbed tracking.
TroposphereNeutral-atmosphere delay affects code and phase.Atmospheric models and/or estimated delay states.Weather, elevation mapping and remaining model error.
Multipath / NLOSReflections distort observations; blocked direct paths can leave biased indirect signals.Antenna/installation design, tracking and measurement screening.Environment-dependent bias, tails and rejected observations.
Receiver, RF path and local installationTracking noise, hardware delays, signal degradation and calibration effects.RF design, calibration and appropriate processing.Configuration-dependent errors and loss of tracking.
Masking / unavailable signalsChanges the usable measurement set.Visibility-aware processing and suitable signal coverage.Geometry, availability and recovery; a missing observation is not simply extra range noise.

Geometry determines how observations constrain the solution. Keep it separate from the physical measurement-error sources. See the DOP, C/N₀ and TTFF guide for metric interpretation.

Satellite Clock Error and Ephemeris Error

Clock error: a timing contribution to range

A clock-error magnitude Δt corresponds to a range contribution cΔt. One nanosecond is approximately 0.300 m; this is a range conversion, not a guaranteed position displacement.

Satellite-clock corrections remove most of the modeled offset. A receiver’s own clock offset is normally estimated with position. Do not put its large unestimated offset into a budget of already-corrected measurement errors.[2]

Ephemeris error: direction matters

Ephemeris describes the satellite orbit used in processing. To first order, satellite-position error affects range through its projection onto the satellite-to-user line of sight. The full 3D orbit-error magnitude is therefore not automatically the range-error magnitude.[10]

Use consistent orbit, clock and time conventions. If a supplied satellite range-error term already combines clock and orbit effects, adding separate clock and orbit allowances can double count the same contributions.

A jump or drift in position does not uniquely identify a clock or orbit problem. Check per-satellite behavior, navigation-data validity, correction transitions and receiver state alongside the reference error.

Ionospheric and Tropospheric Errors Are Different

Ionosphere: frequency-dependent propagation

The first-order ionospheric code delay can be written as:

I = 40.3 × STEC / f²

Here, STEC is slant electron content in electrons/m² and f is frequency in Hz. One TEC unit is 10¹⁶ electrons/m². For example, 10 slant TECU gives about 1.62 m of raw code delay at GPS L1. The carrier-phase contribution has the opposite sign.[3]

This raw delay is not the remaining error after correction. Multi-frequency processing can reduce first-order ionospheric effects, but its residual budget depends on the combination, noise and other modeling errors. Signal choices are explained in the GNSS bands and signals guide.

Do not assume atmospheric problems always look like slow drift. Ionospheric scintillation can disrupt signal tracking, including on dual-frequency equipment.[8]

Troposphere: not removed by ordinary dual-frequency cancellation

The neutral-atmosphere delay is effectively nondispersive at GNSS frequencies: code and carrier phase receive the same-sign delay. The usual dual-frequency combination that cancels first-order ionosphere does not cancel this effect.

Models and estimation account for hydrostatic and wet components and their elevation dependence. Pressure, water vapor, mapping assumptions and estimated-state quality affect what remains. Assess vertical performance as well as horizontal performance.[4]

Multipath, NLOS, Receiver Noise and Installation

Multipath occurs when multiple propagation paths reach the antenna and affect the tracked signal. NLOS means the direct path is blocked; an indirect path can produce a substantial range bias. Their behavior depends on the environment, antenna and receiver, so neither belongs in a universal fixed-error allowance.[5]

Strong C/N₀ does not prove that a range is unbiased. Reflections can remain trackable. Conversely, masking may remove measurements entirely, changing both geometry and output availability. Continue with urban-canyon and multipath testing.

Receiver tracking noise, RF interference and antenna-path loss are related but different mechanisms. A low-signal test does not automatically reproduce a particular interference environment or reflected-path distortion. Track signal identities, lock state, usable observations and solution mode.

Also check mounting, antenna reference point, lever arms, calibration and output latency. A wrong reference coordinate, coordinate frame or timestamp can create an apparent position error even when the intended RF scenario is correct. Keep these test-system contributions identifiable rather than hiding them inside a “GNSS noise” row.

How to Build a GNSS Error Budget: Worked Example

Start with the observable, signal/frequency, correction mode, environment, observation period and statistical definition. Every numerical entry below is an assumed remaining code-range standard deviation after applied corrections.

Illustrative inputs only: these numbers are invented to demonstrate the calculation. They are not measured results, typical GNSS allowances or specifications for any receiver or simulator. Assume zero-mean components that are mutually uncorrelated within each measurement. Persistent NLOS/multipath bias and outages are outside this example.

Assumed code-range error budget
Remaining contributionStandard deviation σVariance σ²Scope
Combined satellite clock / orbit0.50 m0.25 m²One combined term; no additional overlapping satellite range-error entry.
Ionosphere0.80 m0.64 m²Remaining error after the declared correction strategy.
Troposphere0.20 m0.04 m²Remaining model/estimation error.
Receiver / local random contribution0.60 m0.36 m²Assumed zero-mean contribution; excludes unresolved persistent local bias.

For an additive model with uncorrelated components, variances add. The combined standard deviation is the root sum square (RSS):[6]

σrange = √(0.50² + 0.80² + 0.20² + 0.60²) m
= √(1.29 m²) ≈ 1.14 m

In this zero-mean example, range standard deviation also equals range RMS error about truth. It is not yet a horizontal accuracy figure.

Use the budget to test an improvement hypothesis

If the assumed ionospheric standard deviation falls from 0.80 to 0.40 m while all other assumptions hold, total variance becomes 0.81 m² and σrange becomes 0.90 m. This sensitivity calculation identifies a potential improvement; it does not establish that a device will achieve it.

From Range Error to Position Error: Where DOP Fits

For a simplified linearized, unweighted position-and-clock solution with zero-mean, equal-variance and uncorrelated errors across the used satellite measurements:

Predicted horizontal RMS ≈ HDOP × σrange

With HDOP = 1.5, the worked example predicts approximately 1.70 m horizontal RMS, using the unrounded range standard deviation. The improved 0.90 m assumption would predict 1.35 m under the same geometry and model.

These are model predictions, not measured accuracy or 95% error. DOP is dimensionless and is not an extra error term in the RSS table. Unequal quality, inter-satellite correlations, biased ranges and state constraints require a more complete propagation model.[7]

Advanced: propagate covariance and bias through the estimator

For a linearized weighted least-squares solution, define the estimator matrix A from the geometry/design matrix G and symmetric positive-definite weight matrix W, assuming the required inverse exists:

A = (GᵀWG)⁻¹GᵀW
Px = A Rrange Aᵀ
bx = A brange

Rrange is the measurement-error covariance and brange its mean-error vector. Px and bx describe the resulting state covariance and bias. The covariance propagation follows the WLS model; the bias expression follows by applying the same linear mapping to the mean error.[9]

Different measurement-bias patterns therefore have different position effects. A shared range offset can be absorbed into an estimated receiver-clock state; it should not automatically be multiplied by HDOP as position bias.

When a Simple RSS Budget Is Not Enough

Correlations and bias must remain visible

Independence is sufficient for RSS, but uncorrelatedness is enough for variance addition. If additive components are correlated, include their covariance terms:

Var(Σei) = Σσi² + 2Σi<jCov(ei, ej)

Zero mean is an additional condition for standard deviation to equal RMS error about truth. For a scalar error, RMS² = variance + bias². Do not remove a persistent bias by centering the data and then label the remaining scatter as accuracy.

Avoid overlapping terms and mixed populations

Do not combine a satellite range-error specification with clock/orbit entries already included in it. Likewise, do not add a measured whole-receiver error term to its own noise and multipath components. Keep the measurement type, signal, correction mode, unit and statistical scale consistent.

Reported post-fit residuals are not the whole error budget

The estimator has already fitted states to the observations. Post-fit residuals can be small while position is biased because some error has entered the estimated states. Use residual logs as evidence, together with an independent reference and knowledge of the estimator.[1] [9]

Outages and rare events need separate outcomes

A nominal standard deviation does not describe a lost fix, an incorrect ambiguity state or a long recovery interval. Evaluate those events separately. Report availability and within-limit fractions over the declared denominator, including missing outputs, alongside the position-error distribution.

For actual RMSE and percentile calculations, use the accuracy calculation guide. A budget should be checked against measured behavior rather than presented as a replacement for it.

Validate GNSS Error Sources with Controlled Tests

Start with a documented baseline. Introduce a defined change and state how it enters the waveform, navigation data, corrections or DUT configuration. Confirm that the selected test system supports the required model and that the change produces the intended remaining error.

Connect each hypothesis to input control and evidence
HypothesisControlled testEvidence and consistency check
Satellite clock / orbit sensitivityDefine the mismatch between signal-generation truth and the data/corrections used by the DUT.Verify the injected range effect. A change corrected consistently by the DUT may leave no intended residual.
Ionospheric modeling sensitivityUse a declared frequency-dependent propagation profile and correction strategy.Check code/phase consistency and single-/multi-frequency behavior; distinguish delay modeling from scintillation stress.
Tropospheric model mismatchApply a declared atmospheric/elevation-dependent difference between truth and DUT modeling.Compare range evidence and horizontal/vertical results with geometry recorded.
Multipath / NLOS handlingUse defined reflected paths, direct-path availability and event timing.Record delays, relative levels, phases and used observations where applicable. PVT offsets alone do not exercise RF tracking.
Weak-signal / RF sensitivityChange calibrated input levels or a specified noise/interference condition while controlling other settings.Record RF reference plane, losses, C/N₀, lock status, valid outputs and actual error.
Installation or reference mismatchCheck antenna/reference points, coordinate/time conventions and the relevant RF or over-the-air setup.A conducted test bypassing the antenna does not validate the installed antenna pattern or local environment.

Changing geometry can also change elevation, signal quality and the usable measurement set. Record those changes rather than claiming the test changed only DOP. Preserve the input configuration, applied corrections, firmware, reset state and complete trial outcomes.

Field tests on different days can support valid comparisons when the experiment accounts for changing conditions and uses an appropriate reference. Controlled simulation adds repeatable input conditions; field testing checks installation and real-environment behavior. Their evidence is complementary.

A useful report includes the budget assumptions and their basis, test-system/reference uncertainty, expected versus observed results, excluded or failed cases, and the conditions under which the budget must be revised.

Continue with GNSS scenario design, the receiver validation test plan and the GNSS simulation introduction. For receiver processing or system choices, see how a GNSS receiver works and the constellation comparison.

Plan a Test for Your GNSS Error Budget

Share the DUT, signals, positioning/correction mode, suspected error source and acceptance criteria. Include available logs and reference information. Our team can review the required models, RF setup and configuration, including any gaps that need another test method.

Explore GNSS simulation systems, including the NSG8000, or review simulation solutions for your application. Signal support, error models and interfaces depend on the selected configuration.

Frequently Asked Questions

Which GNSS error source is usually the largest?

There is no universal largest contribution. It depends on the signals, corrections, installation, environment and operating state. Build a remaining-error budget for those conditions and check the dominant assumptions with measurements.

Should I add raw ionospheric delay to corrected range uncertainty?

No. Identify the applied correction and budget the remaining error. Combining the full physical delay with already-corrected residual contributions mixes different stages of the model.

Does dual-frequency GNSS remove tropospheric error?

No. The ordinary dual-frequency cancellation of first-order ionosphere does not remove the effectively nondispersive neutral-atmosphere delay. Tropospheric modeling or estimation is still needed.

Is DOP another error source to add to the budget?

No. DOP describes geometry. Under specific assumptions it scales range uncertainty into predicted position uncertainty; it is dimensionless and is not an additive metre-valued error.

Can I use RSS for every GNSS error?

RSS is appropriate for the standard deviations of additive uncorrelated contributions. Correlations, bias, estimator behavior, outages and rare failures need their own treatment. A standard-deviation budget is not automatically a 95% error result.

Why can small receiver residuals coexist with position error?

Some measurement error can be absorbed into estimated position, clock or other states. Post-fit residuals alone cannot establish accuracy; compare the output with an appropriate independent reference.

Technical References

  1. ESA Navipedia — GNSS Measurements Modelling: observation terms, corrections and navigation-equation inputs.
  2. ESA Navipedia — Clock Modelling: satellite corrections and receiver-clock estimation.
  3. ESA Navipedia — Ionospheric Delay: frequency dependence and code/phase signs.
  4. ESA Navipedia — Tropospheric Delay: neutral-atmosphere modeling and frequency behavior.
  5. ESA Navipedia — Multipath: reflected-path effects on code and phase.
  6. NIST — Combining Uncertainty Components: covariance and combination of standard uncertainties.
  7. ESA Navipedia — Positioning Error: modeled uncertainty, DOP assumptions and measured accuracy.
  8. NOAA Space Weather Prediction Center — Space Weather and GPS Systems: ionospheric disturbances and tracking impacts.
  9. ESA Navipedia — Weighted Least Square Solution: weighted estimator and covariance propagation.
  10. ESA Navipedia — Geometric Range Modelling: satellite-to-receiver geometric range.

Worked budget values are hypothetical. Use project-specific data, applicable correction products and verified test-system capabilities for an engineering assessment.

Scroll to Top