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

Сторінки видів сценаріївРедагувати на GitHubДжерело: docs/kinds/by-kind/orbit.md

orbit (тип сценарію)

Тип сценарію рушія v0.40.0, родина Орбітальні угруповання, покриття та геометрія. Лише консультативно: результат аналізу від дослідницького та інженерного інструмента; це не навігаційне обладнання із затвердженням типу і не послуга забезпечення безпеки життя. Кожна позначка тут належить рушієві або матриці верифікації; тип вважається MODELLED, якщо матриця не каже іншого (як заробляється позначка: розділ Evidence у README).

Що він робить#

Доступність GNSS і DOP для орбітального угруповання (Walker / TLE / RINEX).

Один прогін scenarios/orbit-rinex.toml підсумовується так: сценарій bffc887db977 | 77/361 відліків GNSS у нормі | найкращий PDOP 2,53 поз. 2.53m | квантовий holdover 0s p95 6.49e-5ns цілісність 1,000 безпека н/д (без атаки) | класичний holdover 0s p95 25.0ns цілісність 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 text
clock_classical.provenance Мікросхемний атомний годинник Microchip SA.45s / SA65, sigma_y(1s) text
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 text
clock_quantum.provenance Стронцієвий оптичний решітчастий годинник, орієнтована на космос мета sigma_y text
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 text
kind orbit text

Запуск#

kshana scenarios/orbit-rinex.toml

Цей вид використовують 7 вбудованих сценаріїв; решта — у scenarios/.

Що це дає#

Скалярні результати цього прогону з одиницями, які вказує рушій:

Результат Значення Одиниця
classical.filter_health.consistent true flag
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 (GMST IAU 1982, конвенція TEME, на двох частинах), cio:
  • VALIDATED GDOP/PDOP/HDOP/VDOP/TDOP із геометрії лінії візування через Q=(HᵀH)⁻¹ з локальним розкладанням ENU Тести: dop_reference.rs.
  • MODELLED dop_error_mc::run_geometry і check: Монте-Карло із фіксованим зерном (N = 20 000 епох на геометрію, sigma = 1,5 m, зерно ChaCha8 36 + i) для власного ітеративного розв'язку методом найменших квадратів рушія (pvt::solve_spp, одиничні ваги, розв'язання від істинної позиції) на Тести: uere_dop_monte_carlo.rs.
  • VALIDATED skyline + frames::look_angles + geometry::sky_geometry: геодезичний (WGS-84) азимут і кут місця супутника з наземного пункту, таблиця маски азимут/кут місця з лінійною інтерполяцією за азимутом із замиканням на 360 deg, видима множина el Тести: skyline_orekit_oracle.rs.
  • і ще 4 у матриці.

Рядки, які задіяв сам прогін, з оракулом, що його дає матриця кожному (публічні джерела названі там):

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

Обмеження#

Що, за власним звітом прогону, не обчислено за моделлю або не перевірено за зовнішнім еталоном:

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

Див. також#