Довідник ARAIM — рівні захисту розширеного RAIM у Kshana
Ця нотатка документує відкриту реалізацію Kshana розширеного автономного контролю цілісності приймачем (Advanced Receiver Autonomous Integrity Monitoring, ARAIM): алгоритм, кожне припущення, повідомлення підтримки цілісності, яке він споживає, і стан валідації. Реалізація міститься в src/raim.rs; цей документ — прозовий супровід, який аудитор (або рецензент із закупівель) може читати поряд із кодом.
ARAIM — це наступник класичного RAIM для двох орбітальних угруповань і багатьох частот, наступник класичного RAIM, який робоча група GPS (Global Positioning System)–Galileo Working Group C (WG-C) визначила для підтримки горизонтального та вертикального наведення аж до LPV-200 (LPV: характеристика локалайзера з вертикальним наведенням). Він відповідає на єдине запитання для кожної епохи:
Якою великою має бути межа похибки положення (рівень захисту), щоб залишкова ймовірність небезпечно оманливої інформації — похибки, більшої за межу, коли ця межа все ще в межах порога сповіщення, — залишалася нижчою за бюджет ризику цілісності
P_HMI?
1. Повідомлення підтримки цілісності (ISM)#
ISM — це набір параметрів для кожного орбітального угруповання, який застосовує користувач. Його явно змодельовано в IntegritySupportMessage:
| Поле | Символ | Значення |
|---|---|---|
sigma_ure_m |
σ_URE / SISE (похибка сигналу в космосі) | середньоквадратична (RMS) похибка дальності, що використовується для точності та безперервності |
sigma_ura_m |
σ_URA / SISA (точність сигналу в космосі) | межа похибки дальності, що використовується для цілісності (≥ σ_URE) |
b_nom_m |
b_nom | максимальне номінальне зміщення дальності, однобічно включене в межу цілісності (b_k = Σ_i |s_i|·b_nom); див. §3 |
p_sat |
P_sat | апріорна ймовірність невиявленої несправності одного супутника |
p_const |
P_const | апріорна ймовірність несправності всього орбітального угруповання |
IntegritySupportMessage::gps_galileo_reference() повертає опубліковані еталонні значення WG-C: σ_URA = 0,75 м, σ_URE = 0,67 м, b_nom = 0,75 м, P_sat = 1×10⁻⁵, P_const = 1×10⁻⁴ за інтервал експозиції. Це значення, що використовуються для оцінювання доступності ARAIM в еталонній літературі; операційний ISM транслюється або формується наземною частиною і налаштовується для кожного орбітального угруповання. Відмінність між σ_URA (цілісність) і σ_URE (точність) є свідомою і становить визначальну рису концепції ISM.
.fault_priors() і .dual_fault_priors() передають їх безпосередньо обом рушіям.
2. Гіпотези несправностей#
ARAIM — це метод розділення розв'язків за множинними гіпотезами (MHSS). Для кожної гіпотези несправності H_k він формує розв'язок за всіма видимими супутниками та підрозв'язок, що виключає несправну множину, і обмежує похибку положення за цією гіпотезою:
- Fault-free
H_0(апріорна ймовірність≈ 1): повне визначення методом найменших квадратів за всіма видимими супутниками. - Несправності одного супутника
H_i(апріорна ймовірністьP_satкожна): кожен підрозв'язок із виключенням одного супутника. Це класична базова лінія ARAIM для однієї несправності,araim_raim. - Несправності всього орбітального угруповання
H_c(апріорна ймовірністьP_constкожна): підрозв'язок, що вилучає усі супутники одного орбітального угруповання одночасно, — розширення EU (Європейський Союз) ARAIM TN (технічна нотатка) / DO-316, реалізоване вaraim_dual_raim. ЗаP_const = 0воно зводиться біт у біт доaraim_raim.
3. Рівні захисту#
Для кожної осі (вертикальної, горизонтальної) і кожної гіпотези рушій будує режим (p_fault, threshold, σ), де поріг — це межа виявлення розділення розв'язків при множнику хибного сповіщення K_fa = Φ⁻¹(1 − P_fa / 2N) (розподіл бюджету безперервності за Бонферроні між N гіпотезами). Рівень захисту — це найменша межа PL, сумарний ризик цілісності якої
Σ_k p_fault,k · Q( (PL − b_k − T_k) / σ_k ) ≤ P_HMI
Примітка щодо реалізації.
b_k = Σ_i |s_{axis,i}|·b_nom— це однобічна проєкція номінального зміщення на вісь — найгірша сума модулів коефіцієнтів посилення окремих супутників (axis_bias_sum/horiz_bias_sum) — що береться зb_nom_mповідомлення ISM. Еталонний ISM WG-C використовуєb_nom = 0.75 m; заb_nom = 0межа зводиться до форми MHSS із нульовим номінальним зміщенням. Сценарійintegrity, який можна запустити, надаєsigma_ura_m(межа цілісності, що використовується для рівня захисту, обмежена знизу значеннямsigma_uere_mі типово дорівнює йому) таb_nom_m(типово 0), тож рівень захисту завжди обчислюється за межею цілісності σ_URA, ніколи за меншою σ_URE точності. Це лишається modelled, не сертифікованою реалізацією ARAIM — див.INTEGRITY.md.
відповідає виділеному бюджету ([araim_protection_level] / araim_integrity_risk). VPL (вертикальний рівень захисту) і HPL (горизонтальний рівень захисту) — це вертикальна та горизонтальна відповіді. Результат також повідомляє фактично досягнутий ризик цілісності (≤ виділеного) і те, чи розділився будь-який підрозв'язок за свій поріг.
Це явний контракт ARAIM — «наскільки великою має бути межа?» — на відміну від неявного, залежного від геометрії ризику класичного RAIM із фіксованим множником.
4. Діаграма Стенфорда#
StanfordDiagram накопичує (error, PL) для кожної епохи відносно фіксованого порога сповіщення (AL), а classify_stanford розподіляє кожну на доступну, систему недоступну (PL > AL, консервативно), оманливу інформацію (PL < похибка ≤ AL) або небезпечно оманливу інформацію (похибка > AL і > PL). stanford_svg відтворює класичну діаграму розсіювання — межу цілісності PL = error, напрямні порога сповіщення та по одному кольоровому маркеру на епоху — як самодостатній SVG (Scalable Vector Graphics).
5. Перевага двох орбітальних угруповань#
Два ефекти показано в raim::tests::dual_constellation_improves_geometry_and_tolerates_a_constellation_fault:
- Геометрія / надлишковість — об'єднання супутників другого орбітального угруповання стискає HPL для однієї несправності: більше вимірювань і більша множина підрозв'язків для одного SV (SV: космічний апарат, тобто супутник) дають строго меншу межу.
- Стійкість до несправності угруповання — за активного
P_constкористувач із двома угрупованнями залишається доступним, коли може вийти з ладу ціле угруповання (супутники іншого угруповання виживають), тоді як користувача з одним угрупованням доведено не можна захистити від несправності його власного угруповання (araim_dual_raimповертаєNone).
Тонкість, про яку варто сказати чесно: оскільки гіпотеза несправності угруповання вимагає пережити втрату цілого угруповання, миттєвий рівень захисту для двох угруповань обмежений знизу залишковою геометрією одного угруповання — він не є автоматично меншим за PL лише за GPS у кожен момент. Головний результат EU ARAIM TN про те, що GPS+Galileo дає на 15–25 % менший HPL, є результатом щодо доступності, накопиченим за реалістичними угрупованнями та місцями розташування користувачів, а не гарантією для кожного миттєвого стану.
6. Стан валідації#
- У репозиторії, автоматизовано: алгебра MHSS (
P_const = 0⇒ біт у біт одна несправність; несправність угруповання розширює PL; бюджет ніколи не перевищується), наведені вище переваги геометрії та несправності угруповання, а також перевірка на справжній геометрії прецизійних орбіт IGS (International GNSS Service; GNSS = глобальна навігаційна супутникова система) (SP3, Standard Product 3) (tests/igs_real_data.rs), а не лише на синтетичних орбітальних угрупованнях. - Зовнішній оракул — опублікований робочий приклад WG-C: рівні захисту звірено з власним числовим прикладом Технічної підгрупи ARAIM у
src/araim_reference.rs,tests/araim_reference_vectors.rsі закоміченій фікстуріtests/fixtures/araim_reference/wgc_araim_reference_vectors.txt(кожен вектор містить URL-адресу отримання (вебадресу), дату отримання, SHA-256 вихідного файлу (SHA: Secure Hash Algorithm) і сторінку). Допуск прийняття — власний допуск еталонаTOL_PL = 5 × 10⁻² m. Відносно Reference Airborne Algorithm Description Document v3.1 (2019), Appendix D: VPL 18,2926 м проти опублікованих 18,3 м (Δ 0,0074 м), HPL 13,4063 м проти 13,45 м (Δ 0,0437 м), EMT (ефективний поріг монітора) 7,2997 м проти 7,2998 м, σ_v,acc 1,3694 м проти 1,3694 м і всі шість опублікованих проміжних величин несправності угруповання (σ₃⁽ᵏ⁾, σ_ss,3⁽ᵏ⁾, b₃⁽ᵏ⁾) з точністю до половини одиниці в останньому надрукованому десятковому розряді. Milestone 3 Report за 2016 наводить той самий приклад, але містить два внутрішні дефекти — друкарську помилку знака в рядку 3 матриціGіK_fa,3, обчислений для 57 режимів несправності, тоді як документ заявляєN_fault,max = 1(12 режимів), — тож його проміжні величини геометрії відтворюються точно, а рівні захисту записано як виміряні розбіжності (VPL Δ 0,0171 м, HPL Δ 0,0842 м, EMT Δ 0,4806 м) і виключено з показника прийняття. Цю перевірку можна запустити як вид сценаріюaraim-reference-check. - Чесний залишок (зовнішній / очікує рецензії): показник доступності 15–25 % відносно закріпленого за версією знімка справжніх Celestrak TLE (two-line element set) і розміщення тестових фікстур ARAIM як придатного до цитування запису Zenodo. Наведена вище еталонна перевірка охоплює лише
N_fault,max = 1(режими несправності одного супутника й одного угруповання); одночасні підмножини несправностей із багатьма подіями, виключення несправності, перевірка узгодженості χ² і крок перерозподілу з подвійним обліком еталонного алгоритму не реалізовані, а випадок, апріорні ймовірності якого потребували б їх, відхиляється, а не урізається. - Охоплення файлом сценарію: вид сценарію
integrityзапускаєaraim_dual_raimу кожній епосі, коли його файл TOML (Tom's Obvious Minimal Language) задаєaraim_dual = true(необов'язковоp_hmi); вбудованийscenarios/araim-gps-galileo.tomlробить це на об'єднаній геометрії GPS + Galileo, аtests/araim_dual_real_data.rsзапускає той самий рушій на справжніх Celestrak TLE для GPS і Galileo, поширених до однієї спільної епохи. Без цього прапорця засіб запуску використовує класичний RAIM із розділенням розв'язків.
Посилання#
- EU–U.S. Cooperation on Satellite Navigation, Working Group C, ARAIM Technical Subgroup, Milestone 3 Report, Final Version, 25 February 2016 — Annex A (reference user algorithm) and §A.IX (numerical example). https://www.gps.gov/sites/default/files/2025-09/ARAIM-milestone-3-report.pdf
- EU–U.S. Cooperation on Satellite Navigation, Working Group C, ARAIM Technical Subgroup, Reference Airborne Algorithm Description Document, Version 3,1, 20 June 2019 — Appendix D (numerical example for LPV-200). https://web.stanford.edu/group/scpnt/gpslab/website_files/maast/ARAIM_TSG_Reference_ADD_v3.1.pdf
- EU–US (Сполучені Штати) Cooperation on Satellite Navigation, ARAIM Technical Note.
- RTCA (раніше Radio Technical Commission for Aeronautics) DO-316 / DO-229 MOPS (мінімальні стандарти експлуатаційних характеристик); матеріали DO-316 ARAIM MASPS (мінімальні стандарти характеристик авіаційних систем).
- Blanch et al., Baseline Advanced RAIM User Algorithm and Possible Improvements, IEEE (Institute of Electrical and Electronics Engineers) TAES (Transactions on Aerospace and Electronic Systems) / ION (Institute of Navigation) ITM (International Technical Meeting).
- Walter, Enge, Blanch, Pervan, Worldwide Vertical Guidance of Aircraft Based on Modernized GPS and New Integrity Augmentations (методологія діаграми Стенфорда).