Maskinoversettelse, ikke gjennomgått av en morsmålsbruker. Engelsk er referansen.

API-er og integrasjonerRediger på GitHubKilde: docs/POSITIONING.md

Hvor Kshana står

Kshana er en åpen, reproduserbar evidensmotor for robusthet i PNT (posisjonering, navigasjon og tidssynkronisering). Du beskriver et scenario – sensorene eller klokkene, et GNSS-bortfall (global navigation satellite system), et jamming- eller spoofingangrep, et budsjett – og den forteller hvor godt tid og posisjon holder, målt mot operative kvalitetsmål (FoM-er). Hver funksjon bak disse tallene er merket i en maskinkontrollert matrise som VALIDATED (kontrollert mot en uavhengig ekstern referanse), MODELLED (internt konsistent, ikke kontrollert eksternt) eller PARTNER (eid av en maskinvarepartner). Denne siden sier hvor den er ledende, hva den er til for og hva den ikke er.

Hvor den er ledende: tidssynkronisering og holdover for kritisk infrastruktur#

Den best validerte delen av motoren er tidssynkronisering. Telenett, kraftnett og finansmarkeder henter tiden sin fra GNSS, og hver av dem må dimensjonere holdover: hvor lenge en lokal klokke kan gå fritt gjennom et GNSS-tap før tidsfeilen sprenger budsjettet.

  • Hva som er VALIDATED. Estimatorene for frekvensstabilitet som et holdover-svar bygger på – Allan-deviasjon (ADEV), modifisert Allan-deviasjon (MDEV), tidsdeviasjon (TDEV), maksimal tidsintervallfeil (MTIE) og Theo1-estimatoren med utvidet rekkevidde – er kontrollert mot referansedeviasjoner fra Stable32, det uavhengige biblioteket allantools og en ekte målt cesiumklokke. Beregningen av holdover-rullingens varians og inversjonen til en holdover-tid er kontrollert mot SciPy. Se VERIFICATION-MATRIX.md for hver rad, dens test og dens uavhengige referanse.
  • Hva som forblir MODELLED. Støygulvene per klokkeklasse (for eksempel langtidsgulvet for en gitt oscillatorklasse) bestemmer svaret for en stabil klokke, og de er representative tall, ikke målinger av enheten din. Oppgi målte gulv for et tall du vil forsvare.
  • Telekomenheter. Scenariotypen telecom-timing rapporterer MTIE og TDEV, kontrollerer dem mot maskene fra International Telecommunication Union Telecommunication Standardization Sector (ITU-T) – G.8272 for en primær referansetidsklokke (PRTC), G.8272.1 for en forbedret PRTC (ePRTC), G.8273.2 for en teleklokke av typen boundary clock (T-BC) og G.8271.1 for nettverksgrensene ved referansepunkt C – og rapporterer hvor lenge en holdover holder seg innenfor hvert tidsfeilbudsjett. Se TELECOM-TIMING.md.

Hva som skiller den ut#

Fysikken og standardene er ikke forskjellen: Simplified General Perturbations 4 (SGP4)-propagering, Allan-deviasjon, referansesystemer og presisjonsfortynning finnes, gratis og korrekt, i andre biblioteker, og Kshana kontrollerer seg selv mot flere av dem. Forskjellen er evidensdisiplinen:

  • Åpen. Motoren er lisensiert under GNU Affero General Public License (AGPL), slik at hvem som helst kan lese og kjøre den på nytt. En kommersiell lisens finnes for lukket integrasjon.
  • Reproduserbar. Et resultat er bestemt av scenario + seed + engine version, bit for bit, og en kjøring kan deles som en lenke til nettleser-playgrounden.
  • Merket med proveniens. Hver sensorparameter er sporet til en publisert kilde (PROVENANCE.md), og hver funksjon bærer sitt VALIDATED / MODELLED / PARTNER-nivå. En vakt for kontinuerlig integrasjon (CI) avviser en VALIDATED-rad uten uavhengig ekstern referanse, slik at en intern selvkontroll ikke kan fremstilles som en validering.

Vi har ikke funnet et annet åpent verktøy som kombinerer disse på tvers av holdover, integritet, treghetsrulling og kvantesensorer, men et søk som ikke finner noe er ikke bevis for at ingenting finnes; vi hevder ikke å være den eneste.

Kvante: en nøytral avveiningsmetode, resultater merket MODELLED#

Kshana sammenligner kvante- og klassiske klokker og treghetssensorer på samme scenario med samme kode: hver enhet er en feilmodell, og motoren vet ikke hvilken som er «kvante». Se på det som en nøytral avveiningsmetode mellom kvante og klassisk der resultatene er merket MODELLED. De fleste inndata er publiserte Allan-/støybudsjettkoeffisienter; kaldatom-interferometer-akselerometeret har et lag fra første prinsipper som utleder støykoeffisienten. En partners målte Allan-deviasjonsdata kan mates inn gjennom typen quantum-trade, som er veien til å løfte en bestemt enhets tall. Se QUANTUM.md og QUANTUM-MODELS.md.

Lunar, cislunar og dypt rom: vedlikeholdt, ikke hovedsaken#

Pakken for lunar/cislunar (integritetsovervåking på månen, tre-legeme-kjernen jord–måne, lunare tidsskalaer, analyse av tjenestevolum) og motoren for radiometrisk navigasjon i dypt rom er vedlikeholdte funksjoner. De fleste radene deres er MODELLED, og dedikerte verktøy dekker allerede lunar navigasjon, så de tilbys som funksjoner i den samme motoren, hver med sitt eget nivå, i stedet for som hovedsaken.

Resten av motoren#

Den samme motoren, med de samme nivåene, dekker også:

  • PNT i lav jordbane (LEO), fra ende til ende. Signalutforming (leo-signal), passering og linkbudsjett per bånd (leo-pass), kringkastet navigasjonsmelding (leo-navmsg), fusjonert posisjonering i middels og lav jordbane (leo-pvt), konvergens for presis punktposisjonering (PPP) med LEO-støtte (leo-ppp), posisjonering fra et ikke-terrestrisk 5G-nett (ntn-positioning) og leo-pnt-chain, som gir hvert trinns utdata videre til neste for ett system.
  • Spektrum. Et vannfall av effekttetthetsspekter i L-bånd (og UHF-, S- og C-bånd) under en skriptet tidslinje for jammere, med forholdet mellom jammer og signal per bånd og effektiv bærebølge-til-støy-tetthet (spectrum), og opptak i Signal Metadata Format (SigMF) inn og ut.
  • Solsystemet og et hvilket som helst sentrallegeme. Posisjoner og fysiske konstanter for planetene og de store månene (solar-system), posisjonering rundt hvert av disse legemene (body-pnt), og utforming av Walker-konstellasjoner og konstellasjoner med publiserte slots, med dekning og presisjonsfortynningskart rundt hvert av dem (constellation-design).
  • Kampanjer. Eksisterende typer kjedet på én felles tidslinje, sveipet, kjørt som Monte Carlo-ensembler med seed eller kjørt side om side under felles betingelser (campaign).
  • Utdata. Hver kjøring skriver et resultatdokument, et diagram og en rapport i HTML (HyperText Markup Language) og JSON (JavaScript Object Notation); --animate skriver en animasjon som SVG (Scalable Vector Graphics), HTML eller bildesekvens; --export skriver CZML (Cesium Language), KML (Keyhole Markup Language), GeoJSON eller STK-efemeride (Systems Tool Kit) for typene som plasserer ting på jorden, og SigMF for spectrum.

De fleste av disse radene er MODELLED; verifikasjonsmatrisen nevner de få som er VALIDATED (for eksempel anbefalingene fra International Telecommunication Union for regn og scintillasjon, algoritmen for Galileos kringkastede efemeride, rammekontrollen CRC-24Q (24-biters syklisk redundanssjekk) og løseren for planetenes lysgangstid).

Hva Kshana ikke er#

  • Ikke en simulator for radiofrekvenssignaler (RF) eller en hardware-in-the-loop-rigg (HIL). Kshana styrer ingen radiomaskinvare og sender ingenting. Det meste av den virker på nivået feilmodeller og linkbudsjetter, før maskinvare eller labtid kjøpes. På signalnivå er den bare programvare: GNSS-IQ-laget (iq) skriver IQ-sampelfiler (in-phase/quadrature) i basebånd med legitime GNSS-signaler for programvaremottakere og kjører sin egen programvaremottaker på dem; avsnittet [iq] i typen spectrum (siden 0.29.0) skriver et SigMF-øyeblikksbilde (Signal Metadata Format) av den analytiske modellen som inkluderer de konfigurerte jammerne (støylignende jammere bin for bin, toner og chirper som bølgeformer); og spoof_capture summerer en ekte og en spoofer-kopi av signalet i minnet for å teste sløyfens fangst, uten å skrive det ut. Å teste en maskinvaremottaker mot ekte RF-stimulus er jobben til en RF-simulator.
  • Ikke en erstatning for MATLAB/Simulink, STK eller Orekit. Den står ved siden av dem. Den leser og skriver utvekslingsformatene de bruker – CCSDS-baneefemeridemeldinger (Consultative Committee for Space Data Systems), SP3 (Standard Product 3) presise baner, RINEX (Receiver Independent Exchange Format) – skriver CZML, KML, GeoJSON og STK-efemeride til visningsprogrammene deres, og den numeriske kraftmodellen krysskontrolleres mot Orekit i stedet for å tilbys som erstatning.
  • Ikke en prosesseringsmotor for GNSS-bærebølgefase eller en posisjoneringstjeneste (se nedenfor).
  • Ikke en sertifiseringsinstans. Merkelappen VALIDATED betyr at en funksjon stemmer med en ekstern uavhengig referanse; det er ikke en sertifisering av noe produkt eller noen operatør.

Hva Kshana er, og ikke er, ved siden av en prosesseringsmotor for GNSS#

Kshana er ikke en prosesseringsmotor for GNSS-bærebølgefase, og ingen scenariotype er en posisjoneringstjeneste. Den har derimot en fot i målingsdomenet, som bibliotekkode som ytelsesstudien bygger på og som er kontrollert mot uavhengige referanser. Sanntids kinematisk posisjonering (RTK) over korte grunnlinjer med heltallsfastsetting med LAMBDA (least-squares ambiguity decorrelation adjustment) kjører på ekte tofrekvente RINEX-observasjoner, det samme gjør et statisk float-filter for presis punktposisjonering (PPP) med endelige IGS-baner og -klokker, og mottakerklokken som filteret estimerer er en tidsløsning mot IGS' endelige stasjonsklokke. Hver av de tre er en VALIDATED-rad i verifikasjonsmatrisen, mot IGS-stasjonsdataene som er nevnt der, og hver kjører på statiske, korte observasjonsvinduer, ikke som en strømmende tjeneste med flertydighetsløsning over lange grunnlinjer, bærebølgeutjevning eller en kinematisk rover. Typen leo-ppp kjører et float-PPP-filter på kode og bærebølgefase, men på målinger den simulerer selv, for å studere konvergenstid med og uten LEO-støtte; den behandler ikke en observasjonsfil. Typen pvt (posisjon, hastighet og tid) løser en mottakerposisjon fra ekte RINEX-kodepseudoranger pluss kringkastet efemeride, validert mot en oppmålt koordinat fra International GNSS Service (IGS) (stasjon ABMF, 2018-05-13) til 5,7 m 3-D RMS (rot av middelkvadrat) / 1,1 m horisontalt. Men produktet er ytelsesstudien, ikke posisjoneringstjenesten, og rammen nedenfor er ment å spare en tenkt bruker for skuffelsen over feil verktøy.

Kshana En prosesseringsmotor for GNSS (RTKLIB, et åpent bibliotek for kinematisk posisjonering i sanntid; gLAB, GNSS-laboratoriets verktøysuite fra gruppen gAGE ved det tekniske universitetet i Catalonia)
Inndata et scenario: sensorfeilmodeller, bortfallsvinduer, geometri – eller, for pvt, en ekte RINEX-observasjonsfil pluss kringkastet navigasjon ekte GNSS-observasjoner (RINEX), efemerider, korreksjoner
Utdata ytelseskvalitetsmål: holdover, feil i tid og posisjon, tilgjengelighet, grenser for integritet og sikkerhet – pluss en posisjon fra enkeltpunktsposisjonering med kode (SPP) fra typen pvt en løsning for posisjon, hastighet og tid (SPP, PPP, RTK)
Spørsmålet den svarer på «hvor god ville denne arkitekturen vært, og hvor svikter den?» «gitt disse målingene, hvor er jeg nå?»
Kvante-/optiske sensorer modellert som feilmodeller (optiske klokker, kaldatom-treghetsmåleenhet (IMU), optisk tidsoverføring), resultater merket MODELLED ikke modellert
Prosessering av ekte observasjoner SPP med kode fra ekte RINEX-observasjoner (pvt, meternivå); RTK over korte grunnlinjer med LAMBDA og statisk float-PPP på ekte bærebølgefase, som bibliotekkode kontrollert mot IGS-stasjoner (VALIDATED, statiske og korte vinduer, ikke en strømmende tjeneste); pluss geometri / presisjonsfortynning (DOP) / tilgjengelighet kjernekompetansen, helt til PPP/RTK med bærebølgefase
Installasjon null – kjører i en nettleserfane (WebAssembly) native bygg / verktøykjede

Utfyllende, ikke konkurrerende – RTKLIB og gLAB#

RTKLIB og gLAB er modne, mye brukte prosesseringssuiter for GNSS. De tar ekte målinger og produserer en posisjoneringsløsning (SPP/PPP/RTK; gLAB er også et fremragende undervisningsverktøy med sterk arv ved European Space Agency (ESA) og European Geostationary Navigation Overlay Service (EGNOS)). Kshana erstatter dem ikke og prøver ikke å gjøre det. Observasjonsbanen er smal: enkeltpunktsposisjonering med kode (pvt) og, som kontrollert bibliotekkode, RTK over korte grunnlinjer med heltallsfastsetting med LAMBDA og et statisk float-PPP-filter på ekte tofrekvente observasjoner, hver VALIDATED mot IGS-stasjonsdata (PPP-filteret også mot en RTKLIB-kjøring på de samme inndataene). Den har ingen bærebølgeutjevning, ingen kinematisk eller strømmende prosessering og ingen flertydighetsløsning over lange grunnlinjer, og pvt estimerer ikke troposfæren eller ionosfæren – den bruker troposfæremodellene Saastamoinen/Niell og den ionosfærefrie L1/L2-kombinasjonen, den løser ikke for dem som tilstander.

Rørledningen er utfyllende:

  • RTKLIB / gLAB svarer på «hvor er jeg, ut fra disse signalene?»
  • Kshana svarer på «hvor lenge beholder jeg et godt svar når disse signalene opphører – og hvor mye kjøper en bedre klokke eller treghetssensor, klassisk eller kvante, meg?»

En naturlig arbeidsflyt bruker en prosesseringsmotor for segmentet der GNSS er tilgjengelig og Kshana for å studere holdover-oppførselen og sensoravveiningene rundt den. Hvis du trenger en posisjoneringstjeneste med bærebølgefase – kinematisk PPP eller RTK, lange grunnlinjer, flertydighetsløsning i nettverk – bruk RTKLIB eller gLAB; hvis du trenger reproduserbar, merket evidens om robusthet og holdover, er det den jobben Kshana er bygget for.

Et nettleserlag uten installasjon#

De fleste simuleringsverktøy på dette feltet (RTKLIB, gLAB, General Mission Analysis Tool (GMAT), Orekit, STK) krever en native installasjon eller en lisens, og en læringskurve før det første resultatet. Kshana kompileres til WebAssembly og kjører helt i nettleseren – playgrounden laster et gjennomarbeidet scenario, kjører den ekte motoren hos klienten (ingenting lastes opp) og viser resultatet i løpet av sekunder. Veiledede glidere og scenarioer med ett klikk gjør at det første nyttige resultatet verken trenger TOML (Tom's Obvious Minimal Language, filformatet for scenarioer) eller en verktøykjede.

Dette laget uten installasjon er en bevisst posisjon:

  • Rekkevidde – en gjennomgangsperson, student eller innkjøper kan prøve selve motoren fra en lenke, på hvilken som helst enhet, uten oppsett.
  • Reproduserbarhet – den samme motoren som leveres i nettleseren er biblioteket som leveres på crates.io, Python Package Index (PyPI) og npm; et resultat kan gjenskapes fra scenario + seed + engine version, og en kjøring kan deles som en URL (nettadresse).
  • Ærlighet – å kjøre motoren selv, åpent, er det sterkeste motargumentet mot «stol på tallene»: nettleserlaget er revisjonsflaten.

Nettleserlaget gjør ikke Kshana til en erstatning for en prosesseringssuite på skrivebordet – det gjør spørsmålet om avveiningsstudier av ytelse tilgjengelig for folk som aldri ville installert en.

Se også#

  • CAPABILITY.md – kartet over omfanget rad for rad (hele omfanget og residualene til pvt-løseren står i raden GNSS / PNT processing).
  • VALIDATION.md – hva som er validert, med evidens.
  • TELECOM-TIMING.md – typen for telekomtidssynkronisering og maskene den bruker.
  • GLOSSARY.md – definisjoner på vanlig språk av begrepene som brukes her.
  • web/README.md – playgrounden i nettleseren.