Машинний переклад, не перевірений носієм мови. Еталоном є англійська версія.

Цілісність і завадиРедагувати на GitHubДжерело: docs/ARAIM_REFERENCE.md

Довідник 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:

  1. Геометрія / надлишковість — об'єднання супутників другого орбітального угруповання стискає HPL для однієї несправності: більше вимірювань і більша множина підрозв'язків для одного SV (SV: космічний апарат, тобто супутник) дають строго меншу межу.
  2. Стійкість до несправності угруповання — за активного 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 (методологія діаграми Стенфорда).