Maschinelle Übersetzung, nicht von einem Muttersprachler geprüft. Englisch ist die maßgebliche Fassung.

Seiten zu den SzenariotypenAuf GitHub bearbeitenQuelle: docs/kinds/by-kind/leo-navmsg.md

leo-navmsg (Szenarioart)

Szenarioart der Engine v0.40.0, Familie Low-Earth-orbit navigation. Hinweis (beratend): Analyseausgabe eines Forschungs- und Engineering-Werkzeugs, keine typzugelassene Navigationsausrüstung und kein Safety-of-Life-Dienst. Jede Bezeichnung hier stammt von der Engine oder der Verifikationsmatrix; eine Szenarioart ist MODELLED, sofern die Matrix nichts anderes sagt (wie eine Bezeichnung erworben wird: der Abschnitt Evidence der README).

Was es tut#

LEO-Navigationsnachricht: die ausgesendete Ephemeride und Uhr eines Satelliten für Positionierung, Navigation und Zeitgebung im niedrigen Erdorbit (LEO), für jede Bahn, jeden Träger und jedes Modell, mit optionalen benannten Voreinstellungen (Xona Pulsar, Iridium, Starlink, CentiSpace, ein repräsentatives C-Band-System, das ATOMIC-Nulluhr-Modell, Celeste IOD). INHALT: Hilfsdaten (SVID, Datenausgabestand, Band, Signalzustand), Synchronisation (Woche, Wochensekunde, ein Uhrenpolynom zweiter Ordnung af0-af2 um toc), Ephemeride in einem von vier Modellen -- dem 16-Parameter-Kepler-Satz des Galileo OS SIS ICD; diesem Satz plus Korrekturpolynomen in Flugrichtung, quer zur Flugrichtung und radial; dem 22-Parameter-Modell nach Liu et al. 2025; einem ECEF-Polynom ohne Uhrenterme (ATOMIC-Nulluhr) -- und weitere Dienste (ein ausgesendeter Klobuchar-Satz, NeQuick-G ai0-ai2 mit dem effektiven Ionisationsniveau und Parameter von Systemzeit zu UTC mit der Schaltsekundenlogik des ICD). FITTER: eine Wahrheitsbahn, integriert mit zonaler J2-J6- oder EGM2008-Schwere bis zum gewählten Grad und mit Luftwiderstand, und eine mit Seed erzeugte freie oder gesteuerte Uhr; Levenberg-Marquardt-Anpassung des Kepler-Satzes auf nichtsingulären Elementen, dann lineare Korrekturpolynome nach kleinsten Quadraten; Uhr angepasst abzüglich des relativistischen Terms, den der Nutzer hinzufügt. ANALYSEN: fit-interval-trade (Signal-in-Space-Entfernungsfehler, SISRE, mit global gemittelten Gewichten für die Bahnhöhe, gegen Anpassungsintervall und Aktualisierungsperiode, nur Bahn und mit Uhr), model-comparison (vier Modelle, Parameterzahl, codierte Bits und die Anpassung von Kshana bei den Höhen von Liu et al. neben den veröffentlichten Werten), midpass-update (der höchste Überflug über einem Nutzer, der Sprung von Position, Uhr und Nutzerentfernung bei jedem Nachrichtenwechsel, der Sprung bei schlechtester Geometrie, PASS/FAIL gegen eine Kontinuitätsschwelle), encode-decode (das eigene dokumentierte Binärframe von Kshana mit CRC-24Q, ein Quantisierungsbudget von je einem halben Schritt pro Feld, eine Prüfung eines beschädigten Frames, ein Export und Import von Datensätzen im RINEX-4-Stil, bezeichnet als Kshana-Erweiterung, und eine CSV-Tabelle). VALIDATED: die SISRE-Gewichte gegen die veröffentlichte MEO/GEO-Tabelle (Montenbruck et al. 2018); der Galileo-Nutzeralgorithmus gegen RTKLIB auf realen Galileo-Broadcast-Ephemeriden; CRC-24Q gegen seinen Katalog-Prüfwert und den RTCM-1005-Beispielframe. MODELLED: Jede Anpassungs- und SISRE-Zahl ist ein Darstellungsfehler gegen eine von Kshana integrierte Wahrheit (kein Bahnbestimmungs- oder Vorhersagefehler); der Vergleich mit Liu et al. verwendet andere Bahnen; die Codierungs- und Textformate sind die eigenen von Kshana.

Ein Lauf von scenarios/leo-navmsg-celeste-iod.toml fasst sich so zusammen: LEO navigation message — 510 km, 97,4 deg, gravity degree 20, model kepler-rac SISRE weights: w_R 0,459, w_AC^2 1/2.53 (mask 0 deg) encode-decode: kepler-rac model, frame 152 bytes (1156 payload bits, 891 ephemeris+clock bits), CRC-24Q 0x58ADF2 quantisation: largest position change 0,52 mm, clock 0,09 mm; SISRE exact 0,0013 m, quantised 0,0013 m corrupted frame rejected: true; RINEX round trip 4.43e-6 m; CSV round trip 0.00e0 m fit-interval trade over 1800 s (usage period = fit interval): kepler16 60 s SISRE orbit RMS 0,0003 m max 0,0015 m with clock RMS 0,0006 m kepler16 120 s SISRE orbit RMS 0,0003 m max 0,0015 m with clock RMS 0,0007 m kepler16 300 s SISRE orbit RMS 0,0036 m max 0,0141 m with clock RMS 0,0037 m kepler16 600 s SISRE orbit RMS 0,0293 m max 0,1023 m with clock RMS 0,0293 m kepler16 900 s SISRE orbit RMS 0,1073 m max 0,3812 m with clock RMS 0,1075 m kepler-rac 60 s SISRE orbit RMS 0,0000 m max 0,0000 m with clock RMS 0,0005 m kepler-rac 120 s SISRE orbit RMS 0,0001 m max 0,0002 m with clock RMS 0,0007 m kepler-rac 300 s SISRE orbit RMS 0,0005 m max 0,0021 m with clock RMS 0,0012 m kepler-rac 600 s SISRE orbit RMS 0,0097 m max 0,0395 m with clock RMS 0,0096 m kepler-rac 900 s SISRE orbit RMS 0,0388 m max 0,1143 m with clock RMS 0,0390 m Der 16-Parameter-Kepler-Satz verschlechtert sich von 0,0003 m bei 60 s auf 0,1073 m bei 900 s: Ein Kepler-Satz mit zweimal pro Umlauf auftretenden Harmonischen kann den höherfrequenten Schweretermen und dem Luftwiderstand eines LEO-Bogens nicht länger als einige Minuten folgen, und sein Residuum nach kleinsten Quadraten schwingt über das Fenster. Die Polynome in Flugrichtung/quer/radial, von höherem Grad, als der Kepler-Satz abdeckt, nehmen auf, was übrig bleibt, und ergeben 0,0388 m bei 900 s.

Eingaben#

Aus dem Schema (kshana kinds --json):

  • Pflichtfelder: keine
  • Optionale Felder: name, description, seed, analysis, preset, orbit, clock, message, trade, comparison, midpass

Das Beispiel scenarios/leo-navmsg-celeste-iod.toml setzt unter anderem:

Feld Wert Einheit
analysis [encode-decode, fit-interval-trade] nicht angegeben
kind leo-navmsg Text
message.csv_schema celeste-iod Text
name Celeste-IOD-Nachricht (Workshop-Voreinstellung) Text
preset celeste-iod Text
seed 15 nicht angegeben
trade.fit_intervals_s [60, 120, 300, 600, 900] s
trade.models [kepler16, kepler-rac] nicht angegeben
trade.span_s 1800 s
trade.update_fit_interval_s 300 s
trade.update_periods_s [60, 150, 300] s

Ausführen#

kshana scenarios/leo-navmsg-celeste-iod.toml

5 mitgelieferte Szenarien verwenden diese Art; die anderen sind in scenarios/.

Was es liefert#

Die skalaren Ergebnisse dieses Laufs, mit den Einheiten, die die Engine angibt:

Ergebnis Wert Einheit
encode_decode.corrupted_frame_rejected true Flag
encode_decode.crc24q 0x58ADF2 Text
encode_decode.crc24q_check_value_123456789 0xCDE703 Text
encode_decode.csv_round_trip_max_pos_m 0 m
encode_decode.csv_schema celeste-iod Text
encode_decode.ephemeris_clock_bits 891 bit
encode_decode.frame_bytes 152 byte
encode_decode.model kepler-rac Text
encode_decode.payload_bits 1156 bit
encode_decode.quantised_max_clock_m 9.4929e-5 m

Ergebnisbezeichnung (der Engine): MIXED — VALIDATED Bausteine, MODELLED Ergebnisse. Die SISRE-Gewichte reproduzieren die veröffentlichte MEO/GEO-Tabelle (Montenbruck et al. 2018), der Nutzeralgorithmus des Galileo-ICD reproduziert RTKLIB auf realen Galileo-Broadcast-Ephemeriden, und CRC-24Q reproduziert seinen Katalog-Prüfwert und den RTCM-1005-Beispielf

Das Diagramm, das die Engine für scenarios/leo-navmsg-celeste-iod.toml schreibt, Szenarioart leo-navmsg

Nachweise#

MODELLED 5 · VALIDATED 6: die Zeilen der Verifikationsmatrix, die diese Szenarioart nennen.

  • VALIDATED leo_navmsg::sisre::sisre_weights: das radiale Gewicht w_R und das quadrierte Quergewicht w_AC^2 als Mittelwerte von cos^2 und halbem sin^2 des Nadirwinkels der Sichtlinie über Nutzer, die gleichmäßig auf der sichtbaren Erdkappe oberhalb einer Elevati
  • VALIDATED leo_navmsg::elements::kepler_point: die Kepler-Auswertung des Galileo OS SIS ICD (Keplergleichung, Korrekturen zweiter Harmonischer, erdfester Knoten), getrennt vom RINEX-Auswerter der Engine geschrieben, die die Position mit dem Argumen Tests: leo_navmsg_reference.rs.
  • VALIDATED leo_navmsg::codec::crc24q: Generatorpolynom 0x1864CFB, Anfangswert 0, keine Spiegelung, kein abschließendes XOR, die Prüfung, die der LEO-Frame von Kshana über jedes vorangehende Byte trägt
  • VALIDATED Der Fitter und Trade der Szenarioart leo-navmsg: eine Wahrheitsbahn, integriert mit zonaler J2-J6- oder EGM2008-Schwere bis zum gewählten Grad und mit Luftwiderstand, und eine mit Seed erzeugte freie oder gesteuerte Uhr; eine Levenberg-Marquardt-Anpassung des Galileo-Kepler-Satzes auf nichtsingulären
  • und 7 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):

  • MODELLED Deterministisch, szenario-gehasht, SBOM- und plattformübergreifende Golden-Gates. Unabhängige Referenz (ExternalDataset): SBOM-Übereinstimmung mit dem offiziellen CycloneDX-1,5-JSON-Schema (+ gültige SPDX-Kennungen) — ein externer veröffentlichter Standard, null Validierungsfehler über den gesamten Abhängigkeitsgraphen; der Teil FoM-Determinismus / Byte-Reproduzierbarkeit bleibt eine festgelegte Selbstkonsistenzprüfung, daher bleibt die Zeile MODELLED
  • VALIDATED leo_navmsg::sisre::sisre_weights: das radiale Gewicht w_R und das quadrierte Quergewicht w_AC^2 als Mittelwerte von cos^2 und halbem sin^2 des Nadirwinkels der Sichtlinie. Orakel (ExternalDataset): Die veröffentlichte SISRE-Gewichtungsfaktor-Tabelle von Montenbruck, Steigenberger und Hauschild (2018), Multi-GNSS signal-in-space range error assessment - Methodology and results, Advances in Space Research 61(12):3020-3038, doi 10.1016/j.asr.2018.03.041: GPS 0,98 und 1/49, GLONASS 0,98 und 1/45, Galileo 0,98 und 1/61, BeiDou MEO 0,98 und 1/54, BeiDou IGSO/GEO 0,99 und 1/126. Derselbe Mittelwert, ausgewertet bei LEO-Radien, ergibt die
  • VALIDATED leo_navmsg::elements::kepler_point: die Kepler-Auswertung des Galileo OS SIS ICD (Keplergleichung, Korrekturen zweiter Harmonischer, erdfester Knoten), getrennt geschrieben. Orakel (ExternalDataset): ECEF-Positionen von RTKLIB 2.4.2-p13 eph2pos (eine unabhängige Implementierung desselben ICD-Algorithmus) für reale BKG/IGS-Broadcast-Datensätze vom 2024-09-10, beide mit Herkunftsnachweis eingecheckt in tests/fixtures/rinex_sp3_interop (NOTICE, rinex_ecef_reference.txt, brdc_multignss_slice.rnx). Dies validiert den Kepler-Nutzeralgorithmus; die zusätzlich aufgesetzten Korrekturen in Flugrichtung/quer/radial werden von eigenen Zeilen abgedeckt, und die Terme nach Liu b
  • VALIDATED leo_navmsg::codec::crc24q: Generatorpolynom 0x1864CFB, Anfangswert 0, keine Spiegelung, kein abschließendes XOR, die Prüfung, die der LEO-Frame von Kshana über jedes vorangehende. Orakel (ExternalDataset): Der Katalog-Prüfwert der CRC für diese Parameter (reveng.sourceforge.io CRC-Katalog, CRC-24/LTE-A: Breite 24, Poly 0x864CFB, Init 0, Check 0xCDE703), die die CRC-24Q-Parameter von RTCM 10403 und des Galileo OS SIS ICD sind, und der Beispielframe des Nachrichtentyps 1005, der in RTCM 10403 abgedruckt ist
  • VALIDATED Der Fitter und Trade der Szenarioart leo-navmsg: eine Wahrheitsbahn, integriert mit zonaler J2-J6- oder EGM2008-Schwere bis zum gewählten Grad und mit Luftwiderstand, und eine mit Seed erzeugte freie oder gesteuerte. Orakel (ExternalDataset): Echte präzise wissenschaftliche Bahnen als Wahrheit (operationelle reduziert-dynamische Bahnen der TU Graz IfG/ITSG, frei für jede Nutzung mit Namensnennung; SHA-256-Werte im NOTICE der Fixture), angepasst mit dem 16-Parameter-Satz über Bögen von 20 und 30 min, gegen die Statistiken, die Liu et al. 2025 (Remote Sensing 17(16):2894, CC BY 4,0) für dieselben Satelliten und Tage veröffentlichen: Flugrichtungs-, Quer- und Radial-RMS jeweils innerhalb von 1.5x (gemessen 0,804 bis 1,087), SISR

Einschränkungen#

Was der eigene Bericht des Laufs als nicht modelliert oder nicht validiert nennt:

  • SISRE ist der Darstellungsfehler der Nachricht gegen die Wahrheit, an die sie angepasst wurde; Fehler der Bahnbestimmung und der Bahnvorhersage werden nicht modelliert. (Ergebnis limitations[0])
  • Die Wahrheitsbahn ist eine numerische Integration von Kshana (zonale oder EGM2008-Schwere, statischer exponentieller Luftwiderstand), nicht die präzise Bahn eines realen Satelliten; kein dritter Körper, kein Strahlungsdruck der Sonne und keine Gezeiten. (Ergebnis limitations[1])
  • Das Binärformat ist die eigene dokumentierte Codierung von Kshana, nach dem Vorbild der veröffentlichten Nachrichtenkomponenten modelliert; es ist nicht das Bitlayout von Celeste oder eines anderen Systems (keines ist öffentlich). (Ergebnis limitations[2])
  • Der Block im RINEX-Stil ist eine dokumentierte Kshana-Erweiterung; RINEX 4,02 definiert keine LEO-Navigationsdatensätze. (Ergebnis limitations[3])
  • Die NeQuick-G-Koeffizienten werden mitgeführt und das effektive Ionisationsniveau wird berechnet, aber die Integration der NeQuick-Elektronendichte, die daraus eine Laufzeitverzögerung macht, ist nicht implementiert; die Klobuchar-Verzögerung ist es, skaliert auf den Träger mit 1/f^2 und ohne Korrektur für einen Satelliten, der innerhalb der Ionosphäre fliegt. (Ergebnis limitations[4])
  • Die 22-Parameter-Terme nach Liu et al. 2025 folgen dem Nutzeralgorithmus der Veröffentlichung (Gl. 1-7) und ihrer Anpassungsstrategie (Abschnitt 2,3); ihre SISRE-über-Höhe-Zahlen verwendeten reale präzise Bahnen, daher ist dieser Vergleich auf einer von Kshana integrierten Bahn MODELLED, nicht VALIDATED (der Vergleich mit realen Bahnen ist tests/leo_navmsg_fit_real_orbit_oracle.rs). (Ergebnis limitations[5])
  • MIXED — VALIDATED Bausteine, MODELLED Ergebnisse. Die SISRE-Gewichte reproduzieren die veröffentlichte MEO/GEO-Tabelle (Montenbruck et al. 2018), der Nutzeralgorithmus des Galileo-ICD reproduziert RTKLIB auf realen Galileo-Broadcast-Ephemeriden, und CRC-24Q reproduziert seinen Katalog-Prüfwert und den RTCM-1005-Beispielframe. Jede Zahl zu Anpassung, SISRE, Kontinuität und Quantisierung ist MODELLED: der Darstellungsfehler einer Nachricht gegen eine (Ergebnis label)
  • MODELLED: Jede Anpassungs- und SISRE-Zahl ist ein Darstellungsfehler gegen eine von Kshana integrierte Wahrheit (kein Bahnbestimmungs- oder Vorhersagefehler); der Vergleich mit Liu et al. (Szenarioarten-Katalog (kshana kinds --json))

Siehe auch#