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

Страницы видов сценариевПравить на GitHubИсточник: docs/kinds/by-kind/orbit.md

orbit (вид сценария)

Вид сценария движка v0.40.0, семейство Орбитальные группировки, покрытие и геометрия. Носит консультативный характер: результат анализа исследовательского и инженерного инструмента; это не навигационное оборудование с утверждённым типом и не служба обеспечения безопасности жизни. Каждая метка здесь принадлежит движку или матрице верификации; вид имеет уровень MODELLED, если матрица не указывает иное (как заслуживается метка: раздел README «Evidence»).

Что делает#

Доступность GNSS и DOP по орбитальной группировке (Walker / TLE / RINEX).

Один прогон scenarios/orbit-rinex.toml сводится к следующему: сценарий bffc887db977 | 77/361 отсчётов GNSS в норме | лучший PDOP 2,53, положение 2.53 м | квантовый holdover 0 с, p95 6.49e-5 нс, целостность 1,000, безопасность н/д (без атаки) | классический holdover 0 с, p95 25.0 нс, целостность 1,000, безопасность н/д (без атаки)

Входные параметры#

Из схемы (kshana kinds --json):

  • Обязательные поля: seed, threshold_ns, mask_deg, time, user|user_site, constellation, clock_quantum, clock_classical
  • Необязательные поля: sigma_uere_m, constellations, epoch, export_sp3, export_omm, export_oem, skyline

Пример scenarios/orbit-rinex.toml задаёт, среди прочего:

Поле Значение Единица
clock_classical.id csac-sa45s текст
clock_classical.provenance Микрочиповые атомные часы чипового масштаба SA.45s / SA65, sigma_y(1s) текст
clock_classical.q_rw 1.0000e-28 1/s
clock_classical.q_wf 9.0000e-20 s^2/s
clock_classical.y0 1.0000e-11 1
clock_quantum.id optical-sr-lattice текст
clock_quantum.provenance Strontium optical lattice clock, space-oriented goal sigma_y текст
clock_quantum.q_rw 1.0000e-40 1/s
clock_quantum.q_wf 1.0000e-30 s^2/s
clock_quantum.y0 1.0000e-15 1
constellation.rinex 3,04 N: GNSS NAV DATA G: GPS текст
kind orbit текст

Запустите#

kshana scenarios/orbit-rinex.toml

Встроенные сценарии в количестве 7 используют этот вид; остальные — в scenarios/.

Что он даёт#

Скалярные результаты этого прогона с единицами, которые указывает движок:

Результат Значение Единица
classical.filter_health.consistent true флаг
classical.filter_health.nees_chi2_lower_95 1.540167 1
classical.filter_health.nees_chi2_upper_95 2.518928 1
classical.filter_health.nees_mean 1.963599 1
classical.filter_health.nis_chi2_lower_95 0.975649 1
classical.filter_health.nis_chi2_upper_95 1.024647 1
classical.filter_health.nis_mean 1.000119 1
classical.fom.availability 0.645429 1
classical.fom.holdover_s 0 s
classical.fom.integrity 1 1
График, который движок строит для scenarios/orbit-rinex.toml, вид orbit

Доказательства#

MODELLED 4 · VALIDATED 4: строки матрицы верификации, в которых назван этот вид.

  • VALIDATED Вращение Земли по двухчастной юлианской дате UT1 на пути орбиты, так что положение в земной системе координат сохраняет микросекунду, которую теряет одночастная дата f64 (около 3e-9 рад вблизи 2020): jd2::gmst82 (IAU 1982 GMST, соглашение TEME, по двум частям), cio:
  • VALIDATED GDOP/PDOP/HDOP/VDOP/TDOP по геометрии линий визирования через Q=(HᵀH)⁻¹ с разбиением на локальные ENU Tests: dop_reference.rs.
  • MODELLED dop_error_mc::run_geometry и check: Монте-Карло с заданным начальным значением (N = 20 000 эпох на геометрию, сигма = 1,5 м, начальное значение ChaCha8 36 + i) собственного итеративного определения методом наименьших квадратов в движке (pvt::solve_spp, единичные веса, решение от истинного положения) на Tests: uere_dop_monte_carlo.rs.
  • VALIDATED skyline + frames::look_angles + geometry::sky_geometry: геодезические (WGS-84) азимут и возвышение спутника с наземной площадки, таблица маски по азимуту и возвышению с линейной интерполяцией по азимуту и замыканием на 360 град, видимое множество el Tests: skyline_orekit_oracle.rs.
  • и ещё 4 в матрице.

Строки, которые задействовал сам прогон, с оракулом, который указывает им матрица (публичные источники названы там):

  • VALIDATED Девиация Аллана, модифицированная девиация Аллана и девиация Адамара + определение степенного шума с доверительными интервалами по χ². Oracle (ExternalDataset): NIST SP 1065 (Riley) / эталонные девиации Stable32 на NBS14
  • VALIDATED GDOP/PDOP/HDOP/VDOP/TDOP по геометрии линий визирования через Q=(HᵀH)⁻¹ с локальным разложением ENU. Оракул (ExternalDataset): DOP из gnss_lib_py 1.0.4 (Stanford NAV Lab) — независимая библиотека, совпадение до 1e-6 относительной погрешности
  • MODELLED Рост ошибки при выбеге в замкнутой форме + holdover до порога; классы квантовых часов. Oracle (ReferenceImpl): Многошаговая рекурсия ковариации clock_state (перекрёстная проверка внутри одной кодовой базы); лежащее в основе ядро дисперсии выбега и обращения holdover внешне проверено по scipy (см. «Clock-holdover coast-variance & threshold inversion»). Значения holdover по классам для красного шумового пола остаются MODELLED
  • MODELLED Часы с 3 состояниями (фаза/частота/дрейф) и фильтром Калмана по Ван Лоану, стабилизированным по Джозефу. Oracle (ReferenceImpl): filterpy 1.4.5 KalmanFilter (R. Labbe, MIT), где F вычислена через scipy.linalg.expm, а Q — блочной матрицей Ван Лоана 1978 — независимая эталонная реализация, воспроизводящая всю траекторию полного фильтра kshana. Согласованность между реализациями: физика часов и калибровка по Аллану внешне не проверены, поэтому остаётся MODELLED. 0,30 внешнее сравнение, результат (остаётся MODELLED): по часам IGS final 30 s из 11 GPS Blo
  • MODELLED Объединённый посчётный показатель безопасности по эпохам: χ² с привлечением часов, RAIM, AGC, SQM. Oracle (ExternalDataset): параметры сценариев TEXBAT (Humphreys 2012) — характеристика, а не зафиксированные векторы. 0,30 внешнее сравнение, результат (остаётся MODELLED): на JammerTest 2024 (Bleik; данные под GPL-3.0) мониторы на уровне наблюдаемых (хи-квадрат с привлечением часов, RAIM, сбой решения) не подали тревоги в пределах 10 s ни при одном из 8 поддающихся оценке опубликованных начал спуфинга (где окно до начала было чистым, первая тревога приходила через 10,2–39 s после pu

Ограничения#

Что отчёт самого прогона называет не смоделированным или не проверенным:

  • Holdover часов в условиях отсутствия GNSS — MODELLED, а не validated: он проверен по отдельной реализации в той же кодовой базе, независимой от проверяемого блока, но не являющейся внешним авторитетным источником. (матрица верификации (docs/MODELLED-RATIONALE.md))
  • Оценивание состояния бортовых часов — MODELLED, а не validated: оно проверено по отдельной реализации в той же кодовой базе, независимой от проверяемого блока, но не являющейся внешним авторитетным источником. (матрица верификации (docs/MODELLED-RATIONALE.md))
  • Обнаружение спуфинга — MODELLED, а не validated: одно из частных утверждений проверено внешне, но вся возможность составлена из смоделированных частей, поэтому остаётся Modelled. (матрица верификации (docs/MODELLED-RATIONALE.md))
  • Воспроизводимость и гарантии качества ПО — MODELLED, а не validated: одно из частных утверждений проверено извне, но вся возможность составлена из смоделированных частей, поэтому возможность остаётся Modelled. (матрица верификации (docs/MODELLED-RATIONALE.md))

См. также#