We are UAV GNSS, a maker of Septentrio-powered GNSS receivers. The single largest category of "your receiver is losing RTK" tickets we handle is not a receiver problem at all - it is where the antenna sits, what is under it, and what cable runs from it. This is the placement checklist we give integrators, plus the diagnostics that tell you which of the three failure modes you actually have.
1. The ground plane is the antenna's other half
A patch antenna is a resonant cavity, not a wire. Its upper half radiates into free space; its lower half wants a conductive plane to work against. Without one, the patch detunes (resonant frequency shifts down, often out of the band you care about) and the radiation pattern tilts up into the sky, which is exactly where your satellites at 10-20 degrees elevation are not.
Practical sizing: a plane diameter of at least the patch width plus roughly 20-30 mm on each side. For a 25 mm patch that means 70-100 mm minimum, and going to 120-150 mm measurably improves low-elevation gain - which is what keeps you fixed under partial sky. The plane must sit below the antenna's ground pin and must not touch the radiating element.
Carbon fiber is not a ground plane. It conducts, so people assume it works. At 1.5 GHz a CF skin is a lossy, anisotropic, poorly-conductive sheet: it detunes the patch, absorbs part of the field, and behaves differently depending on the weave direction relative to the antenna. If your airframe is CF, bond a thin aluminium or copper plate to the frame and mount the antenna on that, or use a survey-style antenna with an integrated ground plane. Do not rely on the frame.
2. Keep switching noise out of the front end
A GNSS front end is looking for signals at roughly -130 dBm. Your ESCs, your VTX, and your LTE modem are all shouting nearby. Starting separation distances that work in practice:
| Noise source | Minimum separation | Notes |
|---|---|---|
| ESC / motor phase wires | 100 mm | twisted, routed away from the antenna |
| Main battery leads | 150 mm | never run past the antenna |
| 5.8 GHz VTX | 100 mm | do not co-locate antennas of any kind |
| 900 MHz telemetry / RC | 150-300 mm | harmonics land near L-band |
| 4G/LTE modem | 200 mm+ | uplink bursts desensitise the front end |
| Camera / gimbal motors | 100 mm | brushless, wideband |
These are starting points, not guarantees. The only way to know is to log carrier-to-noise (C/N0) per signal and move one thing at a time.
3. Coax and connectors are a silent 3 dB tax
Insertion loss at 1575 MHz, approximate and worth memorising:
- RG-174: ~0.9 dB/m
- LMR-100: ~0.85 dB/m
- RG-58: ~0.6 dB/m
- LMR-200: ~0.35 dB/m
- LMR-400: ~0.12 dB/m
Every SMA adapter in the chain costs another 0.3-0.5 dB. Three decibels is half your signal power - on a link already sitting near the noise floor, that is several satellites at low elevation and a much weaker fix when the sky opens and closes.
Two more traps: an active antenna needs bias power from the receiver port (check that your port supplies it before you assume the antenna is dead), and a coax routed parallel to a power harness will pick up exactly the noise you moved the antenna to avoid.
4. Multipath is geometry, not signal strength
A reflected copy of the signal arrives microseconds late. On code phase that is metres of error; on carrier phase it is a cycle slip, which is what actually costs you the fixed solution. The signature is distinctive: the fix survives in open sky, drops or walks when you point at buildings, a treeline, a metal roof, or the flat deck of a boat - and C/N0 stays healthy throughout, because the reflected signal is strong, not weak.
What actually helps, in order of effect:
- Site and orientation - get the antenna away from vertical metal (masts, roll cages, container walls) and off large flat metal surfaces whose edges diffract.
- Ground plane - a bigger plane rejects the low-elevation arrivals that carry most multipath.
- Elevation mask of 10-15 degrees - enough to cut the worst of it without destroying your geometry. Masking to 30 degrees to "fix" multipath usually makes RTK worse, because you lose the satellites that hold the solution.
- Choke ring - for a permanent base station this is the correct hardware answer; for a vehicle it is usually impractical.
5. Dual-antenna heading: the baseline decides the accuracy
Heading is derived from the carrier-phase difference between two antennas, so the error scales as 1/baseline length. Roughly: 1 cm of baseline error on a 0.5 m baseline is over 1 degree of heading error; on a 2 m baseline it is under 0.3 degrees. Make the baseline as long as the vehicle allows.
Three install rules that matter more than the receiver spec:
- Rigidity. Any flex between the two antennas shows up directly as heading noise, and can cost the pair its fixed ambiguity. Both antennas on the same rigid structure, or on a single plate.
- Planarity. Both antennas on the same plane, both with proper ground planes, nothing conductive moving between them.
- Alignment. The vehicle's forward axis is defined by the antenna vector. A 5 degree mounting skew is a permanent 5 degree heading error - measure it and correct it, do not discover it during a mission.
In ArduPilot this is two GPS instances with the Septentrio SBF driver (GPS_TYPE = 9 and GPS_TYPE2 = 9), with yaw sourced from GPS (EK3_SRC1_YAW = 2). Keep a compass configured only as a fallback. Note that dual-antenna heading is a feature of the heading-capable modules in the mosaic-H / mosaic-G5 P3H class - a single-antenna receiver of any brand cannot produce it, no matter the parameters.
6. Which of the three failures do you have?
At the moment of the failure, check these three things in this order:
| Symptom | Likely cause | First fix |
|---|---|---|
| Correction age climbing past 5-10 s | base station, NTRIP link, or cell handover | check the correction stream, not the antenna |
| All signals fade together, fix dies | broadband interference / jamming | move away from the emitter; AIM+ mitigation |
| Only low-elevation signals fade | obstruction or multipath | raise the antenna, bigger ground plane, 10-15 degree mask |
| C/N0 healthy but position walks | multipath on carrier phase | site, ground plane, rigidity of the mount |
| Heading noisy, position fine | baseline flex or bad ground plane | rigid mount, both antennas on one plate |
On Septentrio receivers the SBF stream gives you the raw material: ChannelStatus for per-signal C/N0, and QualityInd for jamming and interference indicators. Interference and jamming are not the same event - interference is your own hardware, jamming is someone else's transmitter - and the indicators tell them apart.
This is also where the front end matters. AIM+ provides roughly 40-60 dB of in-band interference suppression, against roughly 25 dB for typical consumer modules. In a clean field that difference is invisible; beside a power line, an electric fence, or a 4G site it is the difference between holding fixed and never seeing fixed at all.
7. Install checklist
- Ground plane at least 70-100 mm, larger preferred; metal, not carbon fiber
- Antenna clear of ESCs, VTX, telemetry, and the LTE modem by the table above
- Coax as short as the geometry allows, low-loss type, no adapter stack
- Antenna above, not beside, vertical metal
- Elevation mask 10-15 degrees, not 30
- Dual-antenna pair rigid, coplanar, baseline measured and skew corrected
- C/N0 and fix status logged from the first flight, not after the first failure
Wiring diagrams, full parameter tables for ArduPilot and PX4, and an SBF log parser are in our integration guide; receiver options for ground robots and the AIM+ anti-jamming story are on our site.
What failure do you actually see - a clean C/N0 drop, or a fix that survives but walks? The first is RF, the second is geometry, and they need different fixes.
Top comments (0)