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 |
Доказательства#
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))
См. также#
- Страница семейства: Орбитальные группировки, покрытие и геометрия
- Все виды: KINDS.md
- Тематическая страница: SKYLINE.md
- Страница темы: LEO-PASS.md