Машинный перевод, не проверенный носителем языка. Эталоном служит английская версия.

Целостность и помехиПравить на GitHubИсточник: docs/COMPLIANCE.md

Карта соответствия целостности DO-316 / DO-229E

Этот документ сопоставляет требования DO-229E (SBAS (спутниковая система функционального дополнения) MOPS (минимальные эксплуатационные требования к характеристикам)) и DO-316 (бортовое оборудование GPS/SBAS (GPS: Global Positioning System)) RTCA (прежнее название — Radio Technical Commission for Aeronautics) к уровням защиты и мониторингу целостности с функциями Kshana, которые их реализуют. Это инженерное средство прослеживаемости, а не утверждение, что какое-либо требование выполнено — Kshana реализует опубликованные алгоритмы; это не утверждённая авионика.

Машиночитаемая форма — sbas::do316_compliance_map; эта проза — её дополнение (по образцу docs/ARAIM_REFERENCE.md).

Уровни защиты по взвешенному методу наименьших квадратов (DO-229E, приложение J)#

Для каждого спутника i с углом места Elᵢ и азимутом Azᵢ у пользователя строка наблюдения в локальной системе (ENU (восток–север–вверх) + часы) имеет вид

Gᵢ = [ −cos Elᵢ·sin Azᵢ,  −cos Elᵢ·cos Azᵢ,  −sin Elᵢ,  1 ]

с весом wᵢ = 1/σᵢ², σᵢ² = σ_flt² + σ_uire² + σ_air² + σ_tropo² (бюджет UDRE (дифференциальная ошибка дальности пользователя) / GIVE (вертикальная ионосферная ошибка сетки) / бортовой / тропосферы). Ковариация положения — D = (GᵀWG)⁻¹; её блок ENU даёт горизонтальный и вертикальный уровни защиты (HPL, VPL):

d_major = √( (d_E² + d_N²)/2 + √( ((d_E² − d_N²)/2)² + d_EN² ) )
d_U     = √(d_U²)
HPL = K_H · d_major        VPL = K_V · d_U

Kshana вычисляет D, обращая нормальную матрицу 4×4 той же процедурой, которую использует стек RAIM (автономный контроль целостности в приёмнике) (orbit::invert4), и проверяет результат двумя способами (путь через ковариацию D[2][2] и путь через проекцию Σᵢ S_{U,i}²·σᵢ² должны совпадать), а также по независимой эталонной геометрии numpy inv(GᵀG).

K-factors#

Режим K_H K_V Источник
En-route → NPA (заход по неточному заходу; только горизонтальная) 6.18 — Рэлеевское √(−2·ln 5e-9) = 6,1829
Precision Approach 6.0 5.33 DO-229E MOPS

Примечание о честности: MOPS использует округлённую горизонтальную константу 6.0; точная двусторонняя квантиль нормального распределения Φ⁻¹(1 − 1e-9/2) равна 6.109. Kshana использует в коде опубликованное значение 6,0 и выводит K_V = Φ⁻¹(1 − 1e-7/2) = 5.327 той же функцией raim::normal_quantile, которую использует стек RAIM, — это некруговая перекрёстная проверка (значение округляется до значения MOPS 5,33).

Двухчастотная ионосферно-свободная комбинация L1/L5 (IS-GPS-705)#

При f₁ = 1575.42 MHz, f₅ = 1176.45 MHz, γ₁₅ = (f₁/f₅)² = 1.79327:

ρ_IF = (f₁²·ρ₁ − f₅²·ρ₅) / (f₁² − f₅²) = c₁·ρ₁ + c₅·ρ₅
c₁ = +2.260604,  c₅ = −1.260604   (c₁ + c₅ = 1, unit gain)

Ионосферная задержка первого порядка (40.3·10¹⁶·TEC/f²) сокращается точно — проверено по независимой физике timetransfer_adv::iono_delay_m движка для ряда значений TEC (полное электронное содержание). Усиление шума для входных данных с равной дисперсией равно √(c₁² + c₅²) = 2.588.

Статус валидации#

  • В репозитории, автоматически (при каждом коммите): K-факторы по их распределительным определениям, γ₁₅ и коэффициенты ионосферно-свободной (IF) комбинации по частотам IS-GPS-705 (IS: Interface Specification), сокращение ионосферы первого порядка по независимой физике задержки, а также уровни защиты по взвешенному методу наименьших квадратов (WLS) по эталонной геометрии numpy inv(GᵀG) (sbas::tests::wls_pl_matches_numpy_on_five_satellite_geometry).
  • Внешний оракул (независимый эталон), автоматически (tests/sbas_reference.rs): по углу места, азимуту и суммарному 1-σ каждого спутника sbas_protection_level воспроизводит HPL независимой реализации, waasprotlevels() в ответвлении RTKLIB (библиотеки кинематического позиционирования в реальном времени с открытым исходным кодом) для уровней защиты SBAS zsiki/rtklib_ws (Siki & Takács 2017), на шести эпохах, которые этот инструмент вычислил по реальным широковещательным сообщениям EGNOS (Европейская геостационарная навигационная служба наложения) (геостационарный PRN (номер псевдослучайного кода) 120) и реальным наблюдениям RINEX (Receiver Independent Exchange Format) со станции BUTE в Будапеште (2017-02-19), с точностью до < 2e-3 м. Оракул округляет K_V до 5,33, поэтому вертикальная составляющая сравнивается без K-фактора, как d_U с его VPL / 5,33. ESA (Европейское космическое агентство) gLAB v6.0.0 (core/filter.c) использует ту же формулу.
  • Не сделано: σ для каждого спутника берётся у самого оракула; моделирование σ по исходным сообщениям UDRE/GIVE выходит за рамки, и ни один официальный опубликованный продукт уровней защиты WAAS (Wide Area Augmentation System) или EGNOS не был воспроизведён от начала до конца. Сами DO-229E/DO-316 находятся за платным доступом RTCA; открытый источник вывода — страницы ESA Navipedia об ICAO/EGNOS (ICAO: Международная организация гражданской авиации) SBAS.