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

Mottakertillit og maritimtRediger på GitHubKilde: docs/MACHINE-INPUTS.md

Maskin- og sensorinndata (0,38)

Lesere som bringer andre mottakere, løsere og sensorer inn i receiver-trust-typen. Hver av dem er skrivebeskyttet: rene funksjoner på byte eller tekst som returnerer den samme tidslinjen som leserne for UBX, RINEX, Android og NMEA returnerer, og som hopper over og teller ødelagte poster i stedet for å feile. Alt her er MODELLED: formatene er lest fra offentlig dokumentasjon, og ingen resultater er validert mot en ekstern uavhengig referanse utover det som er oppgitt.

Veiledende programvare. Ikke typegodkjent navigasjonsutstyr. Operatøren er fortsatt ansvarlig for fartøyets sikre navigasjon.

Hva `kshana imu-fit` leser ut av en IMU-logg i ro, fra en reell kjøring av motoren v0.40.0 på en oppdiktet logg (20 000 sampler ved 100 Hz, 200 s): akselerometerets hastighetsrandomvandring q_va = 4.02e-06, gyroets vinkelrandomvandring q_arw = 9e-08, biasustabiliteten 0,00296 og de tidlige Allan-stigningstallene (-0.51 og -0.49; omtrent -0.5 der hvit støy dominerer). Tabellen ved siden av er TOML-en kommandoen skriver ut. Estimatoren er bare kontrollert på syntetiske logger. Veiledende: analyseresultat fra et forsknings- og ingeniørverktøy, ikke typegodkjent navigasjonsutstyr og ikke en tjeneste for liv og sikkerhet.Hva `kshana imu-fit` leser ut av en IMU-logg i ro, fra en reell kjøring av motoren v0.40.0 på en oppdiktet logg (20 000 sampler ved 100 Hz, 200 s): akselerometerets hastighetsrandomvandring q_va = 4.02e-06, gyroets vinkelrandomvandring q_arw = 9e-08, biasustabiliteten 0,00296 og de tidlige Allan-stigningstallene (-0.51 og -0.49; omtrent -0.5 der hvit støy dominerer). Tabellen ved siden av er TOML-en kommandoen skriver ut. Estimatoren er bare kontrollert på syntetiske logger. Veiledende: analyseresultat fra et forsknings- og ingeniørverktøy, ikke typegodkjent navigasjonsutstyr og ikke en tjeneste for liv og sikkerhet.

RTKLIB .pos (format = "rtklib-pos")#

Løsningsfilen som RTKLIBs rnx2rtkp og RTKPOST skriver. Leses: tiden (kalender yyyy/mm/dd hh:mm:ss.sss, eller GPS-uke og sekunder i uken), posisjonen (breddegrad og lengdegrad i grader med høyde, eller ECEF X/Y/Z omregnet til geodetisk) og antall satellitter. Tidsskalaen i kolonneoverskriften (GPST, UTC, JST) føres med i merkingen. Filer med grader-minutter-sekunder avvises. Linjer som begynner med % er overskriftslinjer.

NovAtel OEM7 (format = "novatel")#

ASCII-logger (#BESTPOSA,...*crc) og binære logger (AA 44 12-header), blandet fritt. Oppsettene følger den offentlige OEM7-dokumentasjonen (docs.novatel.com): meldingsheaderne, 32-bits CRC og felttabellene for tre logger. Poster der CRC ikke stemmer hoppes over og telles.

Logg ID Brukt
BESTPOS 42 løsningsstatus (bare SOL_COMPUTED gir en posisjonsbestemmelse), breddegrad, lengdegrad, høyde over middelhavnivå pluss undulasjon (posisjonsbestemmelsens høyde er ellipsoidisk), antall brukte satellitter
RANGE 43 C/No per signal (dB-Hz); system fra sporingsstatusbitene 16-18, signaltype fra bitene 21-25
RXSTATUS 93 mottakerstatusbit 15 (jammer oppdaget) blir epokens self_report (jamming 2 flagget, 1 ikke; RXSTATUS har ikke noe spoofing-flagg), sammenlignet med Kshanas alarmer av receiver-self-report; de 1 ekstra jammerbitene (RF1-RF6) returneres i NovatelRead.status

CRC-rutinen ble kontrollert mot den CRC-en dokumentasjonen oppgir for sitt eget BESTPOSA-eksempel (referert, ikke sitert); testene bruker egenskrevne linjer. Leses ikke: forkortet ASCII, andre logger. Jammer-flagget er mottakerens egen rapport, ikke Kshanas funn; at det stemmer med Kshanas monitorer er ikke validering.

GNSS-SDR (format = "gnss-sdr")#

Se integrations/gnss-sdr/README.md. NMEA- og RINEX-utdata fra GNSS-SDR leses allerede med nmea og rinex; UDP-strømmene fra Monitor og PVT-monitor (Protocol Buffers) videresendes som JSON-linjer av relay.py og leses med gnss-sdr.

IMU ([log.imu])#

format = "csv": en overskriftsrad som navngir kolonnene, deretter ett sampel per rad. Kolonner (i hvilken som helst rekkefølge, navn uten forskjell på store og små bokstaver): t_s sekunder på mottakerloggens klokke, gx, gy, gz vinkelhastighet i rad/s, ax, ay, az spesifikk kraft i m/s². format = "euroc": EuRoC MAV-oppsettet imu0 data.csv (#timestamp [ns], w_RS_S_x/y/z [rad s^-1], a_RS_S_x/y/z [m s^-2]); det første sampelet er t_s = 0. Rader som ikke lar seg tolke, og rader der tiden ikke øker, hoppes over. Se RECEIVER-TRUST.md for hvordan gyroretningen brukes.

IMU inn i hybrid- og fusjonsscenarioene (kshana imu-fit)#

Scenarioene hybrid og fusion (UKF med 17 tilstander) er simuleringer: de tar sensorstøyparametere ([accel_quantum], [accel_classical]: bias, q_va, gyro_bias, q_arw, bias_instability), ikke en målt serie. imu-fit leser disse parameterne ut av en IMU-logg i ro, slik at et scenario kan kjøres med sensoren du faktisk har:

kshana imu-fit still.csv --format csv --axis x --expected-mean 0 --id bench-imu      # prints the TOML table
kshana imu-fit still.csv --axis z --expected-mean 9.80665 --json                     # whole report

Metode: den overlappende Allan-deviasjonen av det integrerte signalet (allan::overlapping_adev_curve): q_va = (sigma(tau0) sqrt(tau0))^2, det samme for z-gyroet (q_arw), bias og gyro_bias som middelverdiene, og bias_instability som kurvens minimum når kurven snur opp etter det. q_aa tilpasses ikke (det krever en logg langt lengre enn gulvet). Rapporten inneholder loggens rate og spenn og den tidlige Allan-stigningen for hver kanal (omtrent -0.5 der hvit støy dominerer); en logg som ikke er i ro, eller er for kort (under 2000 sampler) eller ujevnt samplet, avvises eller gir parametere som stigningstallene flagger. Tabellens opphav navngir loggens SHA-256. MODELLED: estimatoren er kontrollert på syntetiske logger med hvit støy og kjente koeffisienter (gjenfunnet innenfor 10 %), ikke mot en ekstern uavhengig referanse. Tilgjengelig i CLI, Python (imu_fit), WebAssembly (imu_fit), MCP (fit_imu_log) og pluginen (/kshana-fit-imu).

RTCM 3 MSM4 og MSM7 (format = "rtcm3")#

En byte-strøm av RTCM 3-rammer (en basestasjons eller en mottakers observasjonsutdata). Leses: MSM4- og MSM7-meldinger (GPS 1074/1077, GLONASS 1084/1087, Galileo 1094/1097, SBAS 1104/1107, QZSS 1114/1117, BeiDou 1124/1127, NavIC 1134/1137): epoken og bærebølge-til-støy-forholdet for hver signalcelle (MSM4: 6 biter, dB-Hz; MSM7: 10 biter, 1/16 dB-Hz), som er det C/N0-monitorene trenger. Pseudoavstands- og fasefelt hoppes over, ikke brukt, så RTCM gir tillitsmonitorene C/N0 og ingenting annet; det finnes ingen posisjon i MSM. Rammer med ugyldig CRC-24Q hoppes over og telles.

Hvor oppsettet kommer fra. Ikke fra RTCM-standarden (et betalt dokument, ikke konsultert): fra den åpne dekoderen pyrtcm 1.2.0, BSD 3-Clause, hvis lisens og merknad står i NOTICE (eierbeslutning av 18 Oct 2026: «use open decoders»). pyrtcm oppgir at tabellene følger RTCM 10403,3; Kshana støtter seg på de publiserte tabellene under pyrtcms lisens og gjør ingen påstand om standarden. Tid: MSM har ingen uke, så merkingene viser GPS TOW <s>; GLONASS-epoker (Moskva-tid) flyttes til GPS-tid med GPS-UTC = 18 s (verdien siden 2017-01-01).

Kontrollert mot: CRC-24Q-katalogens kontrollverdi (123456789 gir 0xCDE703) og, én gang under utviklingen, pyrtcms egen dekoder på de samme egenskrevne rammene (samme C/N0). Testfilene er egenskrevne; ingen opptak er tatt fra en reell mottaker, så leseren er MODELLED helt til den har lest ett.