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