Traduction automatique, non relue par un locuteur natif. L'anglais fait foi.

Pages des types de scénarioModifier sur GitHubSource : docs/kinds/by-kind/orbit.md

orbit (type de scénario)

Type de scénario du moteur v0.40.0, famille Constellations, couverture et géométrie. À titre consultatif : résultat d'analyse d'un outil de recherche et d'ingénierie, et non un équipement de navigation homologué ni un service de sauvegarde de la vie humaine. Chaque étiquette ici est celle du moteur ou de la matrice de vérification ; un type de scénario est MODELLED sauf si la matrice dit le contraire (comment une étiquette s'acquiert : la section Evidence du README).

Ce qu'il fait#

Disponibilité GNSS + DOP à partir d'une constellation orbitale (Walker / TLE / RINEX).

Une exécution de scenarios/orbit-rinex.toml se résume ainsi : scenario bffc887db977 | 77/361 samples GNSS-nominal | best PDOP 2,53 pos 2.53m | quantum holdover 0s p95 6.49e-5ns integrity 1,000 security n/a (no attack) | classical holdover 0s p95 25.0ns integrity 1,000 security n/a (no attack)

Entrées#

D'après le schéma (kshana kinds --json) :

  • Champs obligatoires : seed, threshold_ns, mask_deg, time, user|user_site, constellation, clock_quantum, clock_classical
  • Champs facultatifs : sigma_uere_m, constellations, epoch, export_sp3, export_omm, export_oem, skyline

L'exemple scenarios/orbit-rinex.toml définit, entre autres :

Champ Valeur Unité
clock_classical.id csac-sa45s texte
clock_classical.provenance Horloge atomique à l'échelle de la puce Microchip SA.45s / SA65, sigma_y(1s) texte
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 texte
clock_quantum.provenance Strontium optical lattice clock, space-oriented goal sigma_y texte
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 texte
kind orbit texte

L'exécuter#

kshana scenarios/orbit-rinex.toml

7 scénarios fournis utilisent ce type ; les autres se trouvent dans scenarios/.

Ce qu'il donne#

Les résultats scalaires de cette exécution, avec les unités que le moteur indique :

Résultat Valeur Unité
classical.filter_health.consistent true indicateur
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
Le graphique que le moteur écrit pour scenarios/orbit-rinex.toml, type de scénario orbit

Preuves#

MODELLED 4 · VALIDATED 4 : les lignes de la matrice de vérification qui nomment ce type de scénario.

  • VALIDATED Rotation de la Terre à partir d'une date julienne UT1 en deux parties sur le chemin orbital, de sorte que la position dans le référentiel terrestre conserve la microseconde qu'une date en f64 simple perd (environ 3e-9 rad vers 2020) : jd2::gmst82 (GMST de l'IAU 1982, la convention TEME, sur les deux parties), cio:
  • VALIDATED GDOP/PDOP/HDOP/VDOP/TDOP à partir de la géométrie des lignes de visée via Q=(HᵀH)⁻¹ avec une décomposition ENU locale Tests : dop_reference.rs.
  • MODELLED dop_error_mc::run_geometry et check : une simulation de Monte-Carlo initialisée par une graine (N = 20 000 époques par géométrie, sigma = 1,5 m, graine ChaCha8 36 + i) de la propre position calculée par moindres carrés itérés du moteur (pvt::solve_spp, poids unitaires, résolue à partir de la vraie position) sur Tests : uere_dop_monte_carlo.rs.
  • VALIDATED skyline + frames::look_angles + geometry::sky_geometry : l'azimut et l'élévation géodésiques (WGS-84) d'un satellite depuis un site au sol, une table de masque azimut/élévation interpolée linéairement en azimut avec bouclage à 360 deg, l'ensemble visible el Tests : skyline_orekit_oracle.rs.
  • et 4 autres dans la matrice.

Les lignes que l'exécution elle-même a exercées, avec la référence indépendante que la matrice donne pour chacune (les sources publiques y sont nommées) :

  • VALIDATED Écart-type d'Allan / modifié / d'Hadamard + identification du bruit en loi de puissance avec intervalles de confiance en χ². Référence indépendante (ExternalDataset) : NIST SP 1065 (Riley) / écarts-types de référence de Stable32 sur NBS14
  • VALIDATED GDOP/PDOP/HDOP/VDOP/TDOP à partir de la géométrie des lignes de visée via Q=(HᵀH)⁻¹ avec une séparation ENU locale. Référence indépendante (ExternalDataset) : DOP de gnss_lib_py 1.0.4 (Stanford NAV Lab) — bibliothèque indépendante, concordance à 1e-6 en relatif
  • MODELLED Croissance de l'erreur de dérive en forme fermée + holdover jusqu'au seuil ; classes d'horloges quantiques. Référence indépendante (ReferenceImpl) : récurrence de covariance multi-pas de clock_state (recoupement au sein de la même base de code) ; le noyau sous-jacent de variance de dérive et d'inversion du holdover est validé en externe par rapport à scipy (voir « Clock-holdover coast-variance & threshold inversion »). Les chiffres de holdover par classe au plancher de bruit rouge restent MODELLED
  • MODELLED Horloge de Kalman de van Loan à 3 états (phase/fréquence/dérive), stabilisée de Joseph. Référence indépendante (ReferenceImpl) : filterpy 1.4.5 KalmanFilter (R. Labbe, MIT), avec F via scipy.linalg.expm et Q via la matrice par blocs de Van Loan 1978 — une implémentation de référence indépendante qui reproduit toute la trajectoire du filtre de kshana. Cohérence entre implémentations : la physique de l'horloge et l'étalonnage d'Allan ne sont pas validés en externe, ce qui laisse cela MODELLED. 0,30 comparaison externe, un constat (reste MODELLED) : sur les horloges IGS finales de 30 s de 11 GPS Blo
  • MODELLED χ² assisté par l'horloge, RAIM, AGC, SQM fusionnés en un indice de mérite de sécurité par époque. Référence indépendante (ExternalDataset) : paramètres de scénario TEXBAT (Humphreys 2012) — caractérisation, et non vecteurs figés. 0,30 comparaison externe, un constat (reste MODELLED) : sur JammerTest 2024 (Bleik ; données GPL-3.0) les moniteurs de niveau observable (khi-deux assisté par l'horloge, RAIM, échec de résolution) n'ont déclenché aucune alarme dans les 10 s suivant l'un des 8 débuts de leurrage publiés évaluables (là où la fenêtre précédant le début était propre, la première alarme est venue 10,2 à 39 s après le pu

Limites#

Ce que le rapport propre à l'exécution dit n'être pas modélisé ou pas validé :

  • Le holdover d'horloge sans GNSS est MODELLED, et non validé : vérifié par rapport à une implémentation distincte de cette même base de code — indépendante de l'unité testée, mais sans autorité externe. (matrice de vérification (docs/MODELLED-RATIONALE.md))
  • L'estimation de l'état de l'horloge embarquée est MODELLED, et non validée : vérifiée par rapport à une implémentation distincte de cette même base de code — indépendante de l'unité testée, mais sans autorité externe. (matrice de vérification (docs/MODELLED-RATIONALE.md))
  • La détection du leurrage est MODELLED, et non validée : une sous-affirmation est vérifiée en externe, mais la capacité entière compose des éléments modélisés, de sorte que la capacité reste modélisée. (matrice de vérification (docs/MODELLED-RATIONALE.md))
  • La reproductibilité et l'assurance logicielle sont MODELLED, et non validées : une sous-affirmation est vérifiée de l'extérieur, mais la capacité entière compose des éléments modélisés, de sorte qu'elle reste modélisée. (matrice de vérification (docs/MODELLED-RATIONALE.md))

Voir aussi#