Карта соответствия целостности 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) по эталонной геометрии numpyinv(GᵀG)(sbas::tests::wls_pl_matches_numpy_on_five_satellite_geometry). - Внешний оракул (независимый эталон), автоматически (
tests/sbas_reference.rs): по углу места, азимуту и суммарному 1-σ каждого спутникаsbas_protection_levelвоспроизводит HPL независимой реализации,waasprotlevels()в ответвлении RTKLIB (библиотеки кинематического позиционирования в реальном времени с открытым исходным кодом) для уровней защиты SBASzsiki/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.