orbit (Szenarioart)
Szenarioart der Engine v0.40.0, Familie Konstellationen, Abdeckung und Geometrie. Beratend: Analyseausgabe eines Forschungs- und Entwicklungswerkzeugs, keine typzugelassene Navigationsausrüstung und kein Dienst für die Sicherheit von Menschenleben. Jede Bezeichnung hier stammt von der Engine oder der Verifikationsmatrix; eine Art ist MODELLED, sofern die Matrix nichts anderes sagt (wie eine Bezeichnung verdient wird: der Abschnitt Evidence der README).
Was es tut#
GNSS-Verfügbarkeit + DOP aus einer Bahnkonstellation (Walker / TLE / RINEX).
Ein Lauf von scenarios/orbit-rinex.toml fasst sich zusammen als: Szenario bffc887db977 | 77/361 Samples GNSS-nominal | bester PDOP 2,53 Pos 2.53m | Quanten-Holdover 0s p95 6.49e-5ns Integrität 1,000 Sicherheit n/a (kein Angriff) | klassisches Holdover 0s p95 25.0ns Integrität 1,000 Sicherheit n/a (kein Angriff)
Eingaben#
Aus dem Schema (kshana kinds --json):
- Erforderliche Felder:
seed,threshold_ns,mask_deg,time,user|user_site,constellation,clock_quantum,clock_classical - Optionale Felder:
sigma_uere_m,constellations,epoch,export_sp3,export_omm,export_oem,skyline
Das Beispiel scenarios/orbit-rinex.toml setzt unter anderem:
| Feld | Wert | Einheit |
|---|---|---|
clock_classical.id |
csac-sa45s | Text |
clock_classical.provenance |
Microchip SA.45s / SA65 Chip-Scale-Atomuhr, 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 |
Optische Strontium-Gitteruhr, weltraumtaugliches Ziel 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 |
Ausführen#
kshana scenarios/orbit-rinex.toml
7 mitgelieferte Szenarien verwenden diese Szenarioart; die übrigen stehen in scenarios/.
Was es liefert#
Die skalaren Ergebnisse dieses Laufs, mit den Einheiten, die die Engine angibt:
| Ergebnis | Wert | Einheit |
|---|---|---|
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 |
Nachweise#
MODELLED 4 · VALIDATED 4: die Zeilen der Verifikationsmatrix, die diese Art nennen.
- VALIDATED Erddrehung aus einem zweiteiligen UT1-Julianischen Datum auf dem Bahnpfad, sodass die erdfeste Position die Mikrosekunde behält, die ein Datum aus einem einzelnen f64 verliert (etwa 3e-9 rad nahe 2020): jd2::gmst82 (IAU-1982-GMST, die TEME-Konvention, auf den zwei Teilen), cio:
- VALIDATED GDOP/PDOP/HDOP/VDOP/TDOP aus der Sichtlinien-Geometrie über Q=(HᵀH)⁻¹ mit einer lokalen ENU-Aufteilung Tests: dop_reference.rs.
- MODELLED dop_error_mc::run_geometry und check: eine Monte-Carlo-Simulation mit Seed (N = 20.000 Epochen pro Geometrie, sigma = 1,5 m, ChaCha8-Seed 36 + i) des iterierten Kleinste-Quadrate-Fixes der Engine (pvt::solve_spp, Einheitsgewichte, aus der wahren Position gelöst) auf Tests: uere_dop_monte_carlo.rs.
- VALIDATED skyline + frames::look_angles + geometry::sky_geometry: der geodätische (WGS-84) Azimut und die Elevation eines Satelliten von einem Bodenstandort, eine Azimut/Elevation-Maskentabelle, linear in Azimut interpoliert mit Umbruch bei 360 deg, die sichtbare Menge el Tests: skyline_orekit_oracle.rs.
- und 4 weitere in der Matrix.
Die Zeilen, die der Lauf selbst ausgeübt hat, mit der unabhängigen Referenz, die die Matrix jeder gibt (die öffentlichen Quellen sind dort genannt):
- VALIDATED Allan-/modifizierte/Hadamard-Abweichung + Potenzgesetz-Rauschidentifikation mit χ²-Konfidenzintervallen. Unabhängige Referenz (ExternalDataset): NIST SP 1065 (Riley) / Stable32-Referenzabweichungen auf NBS14
- VALIDATED GDOP/PDOP/HDOP/VDOP/TDOP aus der Sichtliniengeometrie über Q=(HᵀH)⁻¹ mit einer lokalen ENU-Aufteilung. Unabhängige Referenz (ExternalDataset): gnss_lib_py 1.0.4 (Stanford NAV Lab) DOP — unabhängige Bibliothek, auf 1e-6 relativ getroffen
- MODELLED Geschlossene Formel für das Wachstum des Auslauffehlers + Holdover bis zum Schwellenwert; Quantenuhr-Klassen. Unabhängige Referenz (ReferenceImpl): Mehrschritt-Kovarianzrekursion von clock_state (Gegenprüfung innerhalb derselben Codebasis); der zugrunde liegende Kern für Auslaufvarianz und Holdover-Inversion ist extern gegen scipy validiert (siehe „Clock-holdover coast-variance & threshold inversion“). Die Holdover-Werte je Klasse mit Rotrauschboden bleiben MODELLED
- MODELLED 3-Zustands-Van-Loan-Kalman-Uhr (Phase/Frequenz/Drift), Joseph-stabilisiert. Unabhängige Referenz (ReferenceImpl): filterpy 1.4.5 KalmanFilter (R. Labbe, MIT), mit F über scipy.linalg.expm und Q über die Van-Loan-1978-Blockmatrix – eine unabhängige Referenzimplementierung, die die vollständige Filtertrajektorie von kshana reproduziert. Konsistenz über Implementierungen hinweg: Die Uhrenphysik / Allan-Kalibrierung ist nicht extern validiert, daher bleibt dies MODELLED. 0,30 externer Vergleich, ein Befund (bleibt MODELLED): auf IGS-Final-30-s-Uhren von 11 GPS Blo
- MODELLED Uhrengestütztes χ², RAIM, AGC, SQM, fusioniert zu einer Sicherheits-Gütezahl je Epoche. Unabhängige Referenz (ExternalDataset): TEXBAT-Szenarioparameter (Humphreys 2012) – Charakterisierung, keine festgelegten Vektoren. 0,30 externer Vergleich, ein Befund (bleibt MODELLED): bei JammerTest 2024 (Bleik; GPL-3.0-Daten) lösten die Monitore auf Beobachtungsebene (uhrengestütztes Chi-Quadrat, RAIM, Lösungsausfall) innerhalb von 10 s bei keinem der 8 auswertbaren veröffentlichten Spoofing-Einsätze Alarm aus (wo das Fenster vor dem Einsatz sauber war, kam der erste Alarm 10,2 bis 39 s nach dem pu
Einschränkungen#
Was der eigene Bericht des Laufs als nicht modelliert oder nicht validiert nennt:
- GNSS-gesperrter Uhren-Holdover ist MODELLED, nicht validiert: gegen eine separate Implementierung in derselben Codebasis geprüft – unabhängig von der geprüften Einheit, aber extern nicht maßgeblich. (Verifikationsmatrix (docs/MODELLED-RATIONALE.md))
- Die Zustandsschätzung der Bordzeit-Uhr ist MODELLED, nicht validiert: gegen eine separate Implementierung in derselben Codebasis geprüft – unabhängig von der geprüften Einheit, aber extern nicht maßgeblich. (Verifikationsmatrix (docs/MODELLED-RATIONALE.md))
- Spoofing-Erkennung ist MODELLED, nicht validiert: eine Teilaussage ist extern geprüft, aber die gesamte Fähigkeit setzt sich aus modellierten Teilen zusammen, daher bleibt die Fähigkeit modelliert. (Verifikationsmatrix (docs/MODELLED-RATIONALE.md))
- Reproduzierbarkeit und Software-Assurance ist MODELLED, nicht validiert: Eine Teilbehauptung ist extern geprüft, aber die gesamte Fähigkeit setzt sich aus modellierten Teilen zusammen, daher bleibt die Fähigkeit modelliert. (Verifikationsmatrix (docs/MODELLED-RATIONALE.md))
Siehe auch#
- Familienseite: Konstellationen, Abdeckung und Geometrie
- Alle Arten: KINDS.md
- Themenseite: SKYLINE.md
- Themenseite: LEO-PASS.md