Dataset & Setup

Same mini-series setup: 20 drives, ~1 h each, in Darmstadt and Frankfurt. Javad Triumph-LS GNSS + Xsens MTi G-700 MEMS IMU. Processed with AlgoNav’s tightly-coupled Network-PPK, IMU, odometry, and motion constraints.

Forest Is Not Just “A Bit Of Attenuation”

Trees are often treated as a minor nuisance for GNSS: some attenuation, maybe a few centimetres extra noise. That is true for single trees. But dense canopy – e.g. a road running through mixed deciduous forest in central Germany – changes everything: a wet canopy in summer can block or severely attenuate signals above ~15–20 dB below clear sky. That pushes weaker signals into noise, and the surviving satellites are those with the highest elevation angles, where the foliage path is shortest.

The result: you still see many satellites. Receiver masks don’t cut them. C/N0 values are lower, but often still above typical thresholds (30–35 dB-Hz). But what changed is geometry: the surviving satellites cluster toward the zenith. Lateral (cross-track) geometry from the low-elevation, side-looking satellites – the ones that actually constrain horizontal position – is degraded.

Geometry: Many Satellites But Still Poor Position

This is a failure mode that classical DOP values highlight well. Imagine 10 satellites visible, but 8 of them are between 60° and 90° elevation. The HDOP is fine-looking at first glance, because the number of satellites is large. But the lateral DOP component is very poor: almost all satellites contribute the same geometric direction (up). North-south may still be partially observed (satellites can be spread in azimuth at high elevation), but east-west vs. north-south separation collapses.

In practice, what that means:

The Trap: A Single Helpful-Looking Side Satellite

Here is the dangerous pattern: one or two side satellites survive with moderate C/N0 (e.g. 32 dB-Hz). They are the only ones providing lateral information. The estimator “likes” them because they improve geometry a lot.

But what if those measurements are biased? Tree canopy causes diffraction, not just attenuation. The signal may arrive via a slightly bent path. The code/phase measurements carry a bias that can be centimetres to decimetres. Since there is no redundancy laterally, there is no way to detect that bias from single-epoch residuals.

This is where the Minimum Detectable Bias (MDB) concept helps. MDB tells you: “Given the current geometry and measurement noise, how large a bias on this observation could go undetected at a given confidence level?”

MDB = √(λ0) · σ / √(cT Qvv−1 c)

When MDB for a lateral satellite is large (i.e. you cannot detect even a big bias), you should not trust that satellite’s lateral contribution at face value. A reliability-first filter caps the effective weight of such measurements – or excludes them – rather than letting them drive the solution sideways.

What A Reliability-First Filter Does

Instead of the usual approach (use all satellites that pass a residual check, weight by elevation or C/N0), a reliability-first filter adds:

  1. Compute the MDB for each observation in the current geometry.
  2. If MDB > threshold (e.g. you cannot detect a 5 cm bias), reduce the weight. The observation contributes availability but not reliability.
  3. Check the effective redundancy per observation – can it actually be tested?
  4. In the extreme (single lateral satellite, no redundancy), use it only for loose bounding, not for state update.

This approach trades a bit of formal precision (your covariance will be larger because you used fewer constraints) for actual reliability (fewer undetected biases driving the result). In forest, that trade is almost always the right one.

What We See In Our Data

In our 20-drive dataset, forest segments appear regularly on the routes between Darmstadt and Frankfurt (B3, B44 corridors, Stadtwald sections). Key observations:

Practical Takeaways

What This Means For Your Projects

If your routes include forested roads – survey corridors, rural mapping, pipeline right-of-way – the number of tracked satellites will not warn you. You need a filter that checks whether each satellite is actually testable. Combine MDB-aware GNSS processing with tightly-coupled IMU, let post-processing use both directions in time, and you will get reliable trajectories through canopy segments that otherwise silently degrade.

Urban Challenges Series

  1. Underpasses
  2. Forest (this post)
  3. European Urban Canyon
  4. Tunnels
  5. Urban Canyon – classic high-rise (coming soon)
← Previous
European Urban Canyon
Next article →
Underpasses