lunar-beacon (scenariosoort)
Scenariokind van de engine v0.40.0, familie Maan en cislunair. Adviserend: analyse-uitvoer van een onderzoeks- en engineeringhulpmiddel, geen typegoedgekeurde navigatieapparatuur en geen veiligheidskritieke dienst. Elk label hier is dat van de engine of van de verificatiematrix; een kind is MODELLED tenzij de matrix anders zegt (hoe een label wordt verdiend: de sectie Evidence van de README).
Wat het doet#
Aanvulling van een navigatiedienst in een maanbaan met bakens op het oppervlak, als een uitvoerbare voor-en-natabel. Een gebruiker bij de zuidpool ziet een dunne baanset in een smalle strook hemel, waardoor de afstandsmeetgeometrie slecht geconditioneerd is; enkele OPGEMETEN OPPERVLAKTEBAKENS leveren de zichtlijnrijen met lage elevatie en brede azimut die een geheel bovenhoofdse set mist, en de horizontale verdunning van precisie stort in. Het scenario rapporteert drie configuraties op één epoch — alleen satellieten, satellieten plus de zichtbare bakens, en een grotere constellatie als alternatieve route naar dezelfde geometrie — elk met zijn aantallen zichtbare bronnen, zijn volledige DOP en de gerealiseerde 1-sigmanauwkeurigheid in METERS, verkregen door te vermenigvuldigen met een user-equivalent ranging error per baken die is samengesteld als de wortel uit de som van de kwadraten van klok-synchronisatie-, multipad- en opmetingstermen. De zichtbaarheid van bakens is de geometrische horizon op twee hoogten voor de luchtloze Maan (geen atmosfeer, dus de grens is exact), en de DOP-samenstelling is dezelfde kernel die in tests/dop_reference.rs is gecontroleerd aan gnss_lib_py. WAAROM DEZE SOORT BESTAAT: de module erachter zit al sinds L08/L09 in de engine en is gecontroleerd aan een onafhankelijk DOP-pad, maar was niet bereikbaar vanuit een run — geen soort, geen dispatch-arm, geen meegeleverd bestand. De README maakte reclame voor de mogelijkheid en de verificatiematrix bevatte er GEEN enkele rij voor, zodat ze tegelijk in proza werd geclaimd en in het register niet werd geclaimd, terwijl ze in de engine onbereikbaar was. De standaardwaarden zijn de geometrie die al een vastgelegd golden-bestand heeft (een gebruiker op -80 deg met een antenne van 2 m, drie bakens op -80/0, -79/+60 en -79/-60 op 2 km, een illustratieve LCNS-momentopname met zes satellieten op t=0, een masker van 5 deg), zodat een kale run een tabel reproduceert die een onafhankelijke referentie al dekt in plaats van nieuwe getallen te verzinnen. MODELLED: het constellatieontwerp, de plaatsing van de bakens en elke grootte in het foutbudget zijn illustratieve invoer, geen in gebruik zijnde opmeting of gemeten link; alleen de DOP-rekenkunde, de gesloten vorm van de horizon en de relatie sigma = DOP x sigma_URE zijn extern verankerd. Geen toezegging over serviceprestaties.
Eén run van scenarios/lunar-beacon.toml vat zich samen als: Aanvulling met bakens op het maanoppervlak — masker 5,0 deg, epoch +0 s, sigma_URE per baken 1,1576 m 6 satellieten, geen bakens sats 5 beacons 0 GDOP 11,6627 PDOP 9,6941 HDOP 3,4868 VDOP 9,0454 TDOP 6,4840 gerealiseerde 1-sigma: 3D 11,222 m H 4,036 m V 10,471 m 6 satellieten + 1 zichtbare bakens sats 5 beacons 1 GDOP 4,9979 PDOP 4,1160 HDOP 1,9721 VDOP 3,6128 TDOP 2,8350 gerealiseerde 1-sigma: 3D 4,765 m H 2,283 m V 4,182 m 24 satellieten, geen bakens sats 19 beacons 0 GDOP 2,8929 PDOP 2,4226 HDOP 1,0199 VDOP 2,1974 TDOP 1,5811 gerealiseerde 1-sigma: 3D 2,804 m H 1,181 m V 2,544 m bakens verbeteren de PDOP met 2.355x; in plaats daarvan een grotere constellatie, 4.002x MODELLED: de constellatie, de plaatsing van de bakens en het foutbudget zijn illustratieve invoer. De DOP-kernel eronder is die welke aan gnss_lib_py is getoetst en de horizon van de bakens is de gesloten vorm L01.
Invoer#
Uit het schema (kshana kinds --json):
- Vereiste velden: geen
- Optionele velden:
user,beacons,n_satellites,comparison_n_satellites,epoch_s,elevation_mask_deg,clock_sync_m,multipath_m,survey_m
Het voorbeeld scenarios/lunar-beacon.toml stelt onder meer in:
| Veld | Waarde | Eenheid |
|---|---|---|
beacons[0].alt_m |
2000 | m |
beacons[0].lat_deg |
-80 | deg |
beacons[0].lon_deg |
0 | deg |
beacons[1].alt_m |
2000 | m |
beacons[1].lat_deg |
-79 | deg |
beacons[1].lon_deg |
60 | deg |
beacons[2].alt_m |
2000 | m |
beacons[2].lat_deg |
-79 | deg |
beacons[2].lon_deg |
-60 | deg |
clock_sync_m |
1 | m |
comparison_n_satellites |
24 | niet vermeld |
elevation_mask_deg |
5 | deg |
Uitvoeren#
kshana scenarios/lunar-beacon.toml
Wat het oplevert#
De scalaire resultaten van die run, met de eenheden die de engine noemt:
| Resultaat | Waarde | Eenheid |
|---|---|---|
beacon_pdop_improvement |
2.355211 | 1 |
constellation_pdop_improvement |
4.001566 | 1 |
elevation_mask_deg |
5 | deg |
epoch_s |
0 | s |
evidence.id_rule |
de stabiele id van de matrixrij (de ID | tekst |
evidence.matrix |
docs/VERIFICATION-MATRIX.md | tekst |
evidence.tier |
MODELLED | tekst |
sigma_ure_m |
1.157584 | m |
Bewijs#
MODELLED: de rijen van de verificatiematrix die dit type noemen.
- MODELLED Door bakens aangevulde verdunning van precisie voor een gebruiker op het maanoppervlak: de zichtlijnrijen van de zichtbare satellieten en de afstandsrijen van de zichtbare oppervlaktebakens worden samengevoegd tot één ontwerpmatrix en geëvalueerd via de gedeelde DOP-kernel, en t Tests: validate_p2_beacon_before_after_table.rs.
De rijen die de run zelf heeft beproefd, met de onafhankelijke referentie die de matrix aan elk geeft (de openbare bronnen worden daar genoemd):
- MODELLED Deterministisch, scenario-gehasht, SBOM + gouden poorten voor meerdere platforms. Onafhankelijke referentie (ExternalDataset): formaatcontrole van de SBOM tegen het officiële CycloneDX 1,5 JSON Schema (+ geldige SPDX-identificatoren) — een externe gepubliceerde standaard, nul validatiefouten over de volledige afhankelijkheidsgraaf; het onderdeel determinisme van de FoM en byte-reproduceerbaarheid blijft een vastgepinde zelfconsistentiecontrole, dus de rij blijft MODELLED
- MODELLED Door bakens aangevulde verdunning van precisie voor een gebruiker op het maanoppervlak: de zichtlijnrijen van de zichtbare satellieten en de afstandsrijen van de zichtbare oppervlaktebakens worden samengevoegd. Onafhankelijke referentie (ReferenceImpl): De DOP-rekenkunde is de kernel crate::orbit::dop, afzonderlijk extern getoetst aan gnss_lib_py in tests/dop_reference.rs; deze rij leent de status van die rij niet opnieuw. De zichtbaarheidshorizon van de bakens is de gesloten vorm L01, en sigma = DOP x sigma_URE is de gangbare GNSS-relatie (Kaplan and Hegarty, Understanding GPS/GNSS, section 7). Binnen deze rij wordt de aanvulling zelf gecontroleerd aan een onafhankelijke
Beperkingen#
Wat het eigen rapport van de run zegt dat niet is gemodelleerd of niet extern getoetst is:
- MODELLED: het constellatieontwerp, de plaatsing van de bakens en elke grootte in het foutbudget zijn illustratieve invoer, geen in gebruik zijnde opmeting of gemeten link; alleen de DOP-rekenkunde, de gesloten vorm van de horizon en de relatie sigma = DOP x sigma_URE zijn extern verankerd. (soortencatalogus (
kshana kinds --json)) - WAT IS VERANKERD EN WAT NIET Verankerd: de DOP-samenstelling is de kernel die in tests/dop_reference.rs is gecontroleerd aan gnss_lib_py; de zichtbaarheid van bakens is de gesloten vorm van de geometrische horizon op twee hoogten voor de luchtloze Maan (geen atmosfeer, dus er is geen refractieve verlenging en de grens is exact); en sigma = DOP x sigma_URE is de gangbare relatie (Kaplan & Hegarty, Understanding GPS/GNSS, section 7). NIET verankerd — MODELL (commentaar in het scenariobestand, regels 40 tot 49)
- Reproduceerbaarheid en softwarewaarborging is MODELLED, niet extern getoetst: een deelclaim wordt extern gecontroleerd, maar de hele mogelijkheid is samengesteld uit gemodelleerde onderdelen, dus de mogelijkheid blijft gemodelleerd. (verificatiematrix (docs/MODELLED-RATIONALE.md))
- De DOP-aanvulling met bakens op het maanoppervlak is MODELLED, niet getoetst aan een onafhankelijke externe referentie: gecontroleerd aan een afzonderlijke implementatie in dezelfde codebase — onafhankelijk van de geteste eenheid, maar niet extern gezaghebbend. (verificatiematrix (docs/MODELLED-RATIONALE.md))
Zie ook#
- Familiepagina: Maan en cislunair
- Alle kinds: KINDS.md