Материал обновлён: сентябрь 2026. Главная идея — качество GNSS определяется согласованной картиной нескольких независимых показателей, а не одним порогом.
Главное: четыре слоя диагностики
Хороший HDOP не гарантирует точные координаты, большое число спутников не исключает multipath, высокий C/N0 не доказывает отсутствие spoofing, а статус RTK Fixed не является anti-jam сертификатом.
Для БПЛА полезнее идти сверху вниз: качество сигналов → геометрия решения → оценка неопределённости самим receiver → согласованность с EKF.
Одна цифра не отвечает на вопрос «можно ли доверять позиции?»
Каждый слой видит свой тип проблемы. Решение становится убедительным, когда показатели согласуются между собой.
- RF / signal. C/N0, used signals и interference indicators показывают, что приходит на RF-вход и какие сигналы receiver способен сопровождать. Они не показывают геометрию или фактическую ошибку позиции.
- Geometry. NSats, HDOP и VDOP описывают пространственную конфигурацию используемых измерений. Они не видят multipath, spoofing или качество antenna/RF-front-end напрямую.
- Receiver estimate. HAcc, VAcc, SAcc и fix/RTK status отражают собственную оценку неопределённости receiver. Это модель receiver, а не независимая «истина».
- System consistency. EKF innovations и test ratios показывают, согласуются ли GNSS position/velocity/yaw с инерциальной моделью и другими датчиками.
Диагностический принцип: хороший HDOP при растущем HAcc указывает не на проблему геометрии, а на ухудшение качества измерений; хороший GNSS при несогласии EKF требует проверки position/velocity/yaw и других сенсоров; большое число спутников при одновременном падении C/N0 у многих сигналов не означает качественное решение.
C/N0: качество конкретного принимаемого сигнала
C/N0 (carrier-to-noise density ratio) измеряется в dB-Hz. Чем выше значение при прочих равных, тем лучше запас сопровождения сигнала. Но универсальная таблица «выше 50 — отлично, ниже 35 — плохо» слишком груба.
C/N0 зависит от elevation спутника, конкретного сигнала и созвездия, antenna pattern/ground plane, LNA/filters/cable loss, отражений и локальной RF-среды. Практичнее записать baseline собственной установки под открытым небом и смотреть на изменения.
Особенно информативно синхронное падение C/N0 у многих высоких спутников/сигналов после включения конкретной бортовой подсистемы. Один слабый low-elevation signal таким доказательством не является.
HDOP и VDOP: геометрия, не ошибка в метрах
HDOP показывает геометрическое усиление горизонтальной ошибки, VDOP — вертикальной. Меньший DOP обычно лучше, но DOP не измеряет фактическую ошибку позиции и не видит все проблемы RF-тракта.
Поэтому одинаковый HDOP у двух receivers не означает одинаковую точность. Multipath, antenna/RF quality и signal processing могут дать совершенно разный результат.
ArduPilot использует GPS_HDOP_GOOD в pre-arm checks. В официальной документации для сообщения High GPS HDOP прямо указано, что повысить этот порог можно, но это редко хорошая идея: сначала следует улучшить условия приёма.
Количество спутников: used важнее visible
Для обычного 3D-решения математически нужно как минимум четыре независимых satellite measurements, но рабочая multi-GNSS система обычно использует больше. Универсального правила «10 — можно лететь, 12 — безопасно» нет.
Различайте tracked/visible satellites и used measurements. Receiver может видеть сигнал, но не включать его в navigation solution. Именно поэтому NSats полезен только вместе с DOP, C/N0 и accuracy/status.
HAcc, VAcc, SAcc и YAcc
Современные GNSS передают автопилоту собственные accuracy estimates. В ArduPilot сообщение GPA документирует:
- HAcc — horizontal position accuracy, м;
- VAcc — vertical position accuracy, м;
- SAcc — speed accuracy, м/с;
- YAcc — yaw accuracy, градусы;
- VDop — vertical dilution of precision;
- VV — наличие vertical velocity;
- SMS/Delta — timing данных;
- AEl — altitude above WGS-84 ellipsoid, если receiver её сообщает.
В текущих логах также доступны RTCMFU и RTCMFD — число использованных и отброшенных RTCM fragments. Они особенно полезны при диагностике RTK correction path.
HAcc/VAcc полезнее попытки переводить HDOP в метры одной постоянной формулой, но и они являются оценкой модели receiver, а не независимым эталоном.
Fix status и RTK
| Статус | Что означает |
|---|---|
| No Fix / 2D | Недостаточно данных для полноценной 3D navigation. |
| 3D Fix | Обычное трёхмерное GNSS solution. |
| RTK Float | Corrections используются, но integer ambiguities ещё не полностью зафиксированы. |
| RTK Fixed | Высокоточное fixed carrier-phase solution. |
RTK Fixed подтверждает состояние RTK solver, но не является доказательством отсутствия jamming/spoofing.
Что смотреть в логах ArduPilot
| Источник | Поля/смысл | Для чего |
|---|---|---|
| GPS | Status, NSats, HDop, position, velocity | Базовая картина navigation solution |
| GPA | VDop, HAcc, VAcc, SAcc, YAcc, timing, RTCM fragments | Accuracy estimate и correction/timing context |
| Receiver diagnostics | C/N0, used signals, interference/jamming/security indicators | RF и signal-processing слой |
| EKF | innovations/test ratios/variances | Согласованность GNSS с инерциальной моделью и другими sensors |
Почему GPS.Alt и Baro.Alt нельзя сравнивать по «магическим 10 метрам»
GNSS altitude и barometric altitude имеют разные error sources и могут использовать разные reference frames. Постоянное расхождение само по себе не доказывает неисправность GNSS.
Полезнее искать внезапные jumps, несогласованность vertical velocity и реакцию EKF.
Старые «анти-помеховые» параметры: не копировать
В старых инструкциях часто встречаются:
GPS_GNSS_MODE = 63
GPS_MIN_DOP = 2.5
EK3_OPTIONS bit 0 = JammingExpected
FS_GPS_ENABLE / FS_GPS_ACTION
Как универсальный набор для современных ArduPilot эти строки неверны или устарели.
- В ArduPilot 4.6+ используется
GPS1_GNSS_MODE; 0 оставляет constellation configuration receiver. GPS_MIN_DOPне является современным штатным GPS parameter с описанным выше смыслом.- Нет универсального
JammingExpected, который превращает EKF в anti-jam систему. - Отдельный старый
FS_GPS_*failsafe архивирован; современная логика опирается на EKF/DCM/position-estimate mechanisms.
Что EKF добавляет к диагностике
EKF сравнивает GNSS position/velocity/yaw с прогнозом инерциальной модели и другими observations. Сильное несогласие может привести к rejection measurements и, при продолжительной деградации, к соответствующей failsafe logic.
Это помогает обнаруживать GPS glitches и sensor disagreement, но не является гарантированным anti-spoofing или anti-jamming механизмом.
Dead Reckoning Failsafe: отдельный сценарий Copter
В Copter 4.3+ есть Dead Reckoning Failsafe. Он предназначен для временного продолжения навигации после потери position estimate, если заранее настроена оценка ветра и соответствующие параметры. В документации подчёркнуто, что допустимое время dead reckoning ограничено и конфигурацию нужно тестировать.
Поэтому совет «при потере GPS система всегда перейдёт в AltHold» неверен. Фактическое действие зависит от vehicle type, mode и настроенных failsafes.
Признаки возможной RF-проблемы
- синхронное падение C/N0 по множеству signals;
- рост receiver interference/jamming indicator;
- сокращение used measurements;
- ухудшение DOP одновременно с ростом HAcc/VAcc;
- потеря RTK Fixed или рост correction drop counters;
- GPS/EKF disagreement;
- position/velocity jumps без соответствующей динамики IMU.
Один признак сам по себе ещё не доказывает jamming или spoofing. Ищите согласованную картину нескольких независимых indicators.
Чек-лист перед полётом без универсальных порогов
- Нет GPS/EKF pre-arm errors.
- Есть тип solution, требуемый вашей миссией.
- NSats/DOP стабильны относительно baseline этой системы.
- HAcc/VAcc/SAcc соответствуют требованиям задачи.
- Нет аномального общего падения C/N0 или receiver RF/security warnings.
- Для RTK corrections поступают, status соответствует ожидаемому, re-fix нормальный.
- Известно и проверено поведение аппарата при потере position estimate.
Как построить baseline своей установки
- Поставьте аппарат под открытым небом.
- Запишите GPS/GPA/EKF и receiver-level signal diagnostics.
- Отметьте типичный диапазон NSats, DOP, HAcc/VAcc/SAcc и C/N0 по elevation.
- Повторите с включёнными VTX, telemetry, companion computer и другой штатной электроникой.
- Если GNSS деградирует, меняйте только один фактор: position antenna, cable, power, filter или antenna.
- Повторяйте серии, чтобы отделить свойства установки от естественного изменения satellite geometry.
Связанные материалы
- HDOP в GPS и ArduPilot
- Диагностика GNSS-помех на БПЛА
- Защита GNSS от помех и spoofing
- GNSS-созвездия и ArduPilot
Источники
- ArduPilot — Onboard Log Messages / GPS, GPA
- ArduPilot — Pre-Arm Safety Checks
- ArduPilot — EKF Failsafe
- ArduPilot — Dead Reckoning Failsafe
- ArduPilot — Archived GPS Failsafe
Вывод
GNSS quality — это не «HDOP меньше X». Наиболее надёжная картина получается, когда signal quality, geometry, receiver accuracy estimate и EKF consistency подтверждают друг друга. Именно так следует анализировать как обычную навигацию, так и RTK.
