Canopy does not block your signal. It degrades it, continuously.
Under trees, satellite signals are attenuated, diffracted and scattered by foliage rather than cleanly blocked. They still reach the antenna, but weak and distorted — so carrier tracking becomes unstable, cycle slips accumulate, and the receiver cannot hold integer ambiguity resolution. The result is a solution that stays in float: decimetre to metre level, and drifting. Wet foliage is markedly worse than dry.
Why canopy is harder than a building
A wall gives you a clean answer: the satellite is gone. Foliage gives you an ambiguous one. The signal arrives with enough power to track but not enough integrity to trust, and the receiver spends its time acquiring, slipping and re-acquiring. Three mechanisms are at work:
- Attenuation. Leaves, needles and branches absorb energy at GNSS frequencies. Carrier-to-noise ratios fall, and once C/N0 drops far enough the phase-lock loops cannot hold.
- Water content. Attenuation rises sharply with moisture. A route that fixes reliably in dry August will drop to float after rain or in heavy dew — a symptom teams often misdiagnose as a hardware fault.
- Scattering and diffraction. Canopy does not reflect like glass; it scatters. Fixposition's own documentation classifies this separately from reflection and calls it shadowing — signals passing through a semi-transparent obstacle. The result is a diffuse, time-varying error on the carrier phase that no fixed correction model removes.
Because the degradation is continuous rather than intermittent, an orchard row, a tree-lined park path or a wooded property boundary can leave a robot in float for its entire working period, not just at a few points along the route.
Diagnose it properly before you change anything
- Log C/N0 per satellite along the route. This is the single most informative measurement. Canopy shows up as a broad depression in carrier-to-noise across many satellites; a hardware or cabling fault shows up as a flat loss on all of them everywhere.
- Drive the same route wet and dry. If float duration changes substantially with moisture, you have confirmed foliage attenuation and can stop looking for a configuration error.
- Count cycle slips, not just fix percentage. A high slip rate with reasonable satellite counts is the canopy signature.
- Check the antenna and cabling. A marginal connector, a lossy or over-long cable, or an antenna without proper LNA gain will turn a survivable canopy into an impossible one. Rule it out first — it is cheap and it is common. Use an active antenna with a built-in LNA covering L1 and L2, look for around 35 dB gain and a noise figure below 1.5 dB, and avoid combined GNSS/Wi-Fi/cellular assemblies entirely. If your receiver exposes an RF AGC reading, a healthy value sits between 20 and 80 per cent; outside that range you are either starved or saturated.
- Enable every constellation and frequency band your receiver supports. More signals means more chances that some survive the canopy with usable phase.
What actually helps — and by how much
| Measure | Realistic effect under canopy |
|---|---|
| Better antenna and LNA | Meaningful. Recovers marginal satellites and reduces slips. Will not produce a reliable fix in dense canopy. |
| Multi-band, multi-constellation receiver | Meaningful. More redundancy against per-signal loss. |
| Shorter baseline to base station | Minor. Helps convergence, does not address signal loss. |
| Longer convergence time / slower driving | Minor. Convergence is not the bottleneck when slips keep resetting it. |
| Inertial dead reckoning | Bridges seconds, not the duration of a canopy pass. Error grows quadratically with time. |
| Vision-inertial fusion with GNSS | Addresses the actual problem: position accuracy stops depending on satellite visibility. |
Why fusion is the answer under trees specifically
A canopy environment is visually rich. Trunks, branch structure, ground texture and row geometry are exactly the kind of persistent features a visual odometry front end tracks well — and unlike an inertial solution, visual odometry error grows with distance travelled rather than with elapsed time. A robot working slowly down a shaded row is close to the best case for vision and close to the worst case for GNSS.
Fixposition's Vision-RTK 2 fuses camera, IMU, optional wheel-speed and dual multi-band RTK GNSS in its xFusion engine, so the GNSS measurements that do survive the canopy still anchor the trajectory globally while vision and inertial carry it through the gaps. Fixposition cites centimetre-level positioning under canopy among the system's target conditions, and the approach is already deployed in agriculture and landscaping applications where canopy is the normal working environment rather than the exception.
Frequently asked
Why does my RTK work in winter but not in summer?
Leaf cover. Deciduous canopy attenuates far more when in leaf, and moisture makes it worse again. Seasonal variation in fix rate is normal and expected under trees.
Is float accuracy good enough for a mower or field robot?
Rarely. Float is typically decimetre to metre level and, critically, it drifts rather than sitting at a stable offset. Boundary following, row alignment and docking all degrade visibly.
Would a higher base station or a nearer one help under trees?
Not materially. The base sees clear sky; your rover does not. The limitation is at the rover antenna.
Does going slower help the receiver hold fix?
Slightly, since there is more time between disturbances. It does not solve the underlying attenuation, and it costs you productivity.
Built for the environments that break RTK. Vision-RTK 2 holds centimetre-level accuracy under canopy by fusing vision and inertial measurements with GNSS. See it in agriculture, in landscaping, or request a demo on your own route.
