Kone- ja anturisyötteet (0,38)
Lukijat, jotka tuovat muita vastaanottimia, ratkaisijoita ja antureita skenaariolajiin receiver-trust. Jokainen on vain luku: puhtaita funktioita tavuille tai tekstille, jotka palauttavat saman aikajanan kuin UBX-, RINEX-, Android- ja NMEA-lukijat, ohittaen ja laskien vioittuneet tietueet epäonnistumisen sijaan. Kaikki täällä on MODELLED: formaatit luetaan julkisesta dokumentaatiosta, eikä mitään tulosta ole validoitu ulkoista oraakkelia vastaan sen lisäksi, mitä on ilmoitettu.
Ohjeellinen ohjelmisto. Ei tyyppihyväksytty navigointilaite. Käyttäjä vastaa edelleen aluksen turvallisesta navigoinnista.
RTKLIB-tiedosto .pos (format = "rtklib-pos")#
Ratkaisutiedosto, jonka kirjoittavat RTKLIBin rnx2rtkp ja RTKPOST. Luetaan: aika (kalenteri yyyy/mm/dd hh:mm:ss.sss tai GPS-viikko ja viikon sekunnit), paikka (leveys- ja pituusaste asteina korkeuden kanssa tai ECEF X/Y/Z muunnettuna geodeettiseksi) ja satelliittien määrä. Sarakeotsikon aika-asteikko (GPST, UTC, JST) kuljetetaan tunnisteessa. Aste-minuutti-sekunti-tiedostot hylätään. Rivit, jotka alkavat merkillä %, ovat otsikkorivejä.
NovAtel OEM7 (format = "novatel")#
ASCII-lokit (#BESTPOSA,...*crc) ja binaarilokit (otsikko AA 44 12) vapaasti sekoitettuina. Rakenteet noudattavat julkista OEM7-dokumentaatiota (docs.novatel.com): viestiotsikot, 32-bittinen CRC ja kolmen lokin kenttätaulukot. Tietueet, joiden CRC ei täsmää, ohitetaan ja lasketaan.
| Loki | ID | Käytetty |
|---|---|---|
BESTPOS |
42 | ratkaisun tila (vain SOL_COMPUTED antaa paikkaratkaisun), leveysaste, pituusaste, korkeus keskimerenpinnan yläpuolella plus undulaatio (paikkaratkaisun korkeus on ellipsoidinen), käytetyt satelliitit |
RANGE |
43 | C/No signaalia kohden (dB-Hz); järjestelmä seurannan tilabiteistä 16-18, signaalityyppi biteistä 21-25 |
RXSTATUS |
93 | vastaanottimen tilabitti 15 (häirintä havaittu) muuttuu epookin arvoksi self_report (häirintä: 2 merkitty, 1 ei merkitty; RXSTATUS:ssa ei ole harhautuslippua), verrattuna Kshanan hälytyksiin kohdalla receiver-self-report; apuhäirintäbitit 1 (RF1-RF6) palautetaan kohdassa NovatelRead.status |
CRC-rutiini tarkistettiin sitä CRC-arvoa vasten, jonka dokumentaatio ilmoittaa omalle esimerkilleen BESTPOSA (viitattu, ei lainattu sanasta sanaan); testit käyttävät itse kirjoitettuja rivejä. Ei luettu: lyhennetty ASCII, muut lokit. Häirintälähettimen lippu on vastaanottimen oma ilmoitus, ei Kshanan havainto; yhtäpitävyys Kshanan monitorien kanssa ei ole validointia.
GNSS-SDR (format = "gnss-sdr")#
Katso integrations/gnss-sdr/README.md. GNSS-SDR:n NMEA- ja RINEX-tulosteet luetaan jo muodoilla nmea ja rinex; Monitor- ja PVT-monitor-UDP-virrat (Protocol Buffers) välitetään JSON-riveiksi skriptillä relay.py ja luetaan muodolla gnss-sdr.
IMU ([log.imu])#
format = "csv": otsikkorivi, joka nimeää sarakkeet, ja sen jälkeen yksi näyte riviä kohti. Sarakkeet (missä tahansa järjestyksessä, nimet kirjainkoosta riippumattomia): t_s sekunnit vastaanottimen lokin kellolla, gx, gy, gz kulmanopeus yksikössä rad/s, ax, ay, az ominaisvoima yksikössä m/s². format = "euroc": EuRoC MAV -asettelu, jossa luetaan imu0 data.csv (otsikot #timestamp [ns], w_RS_S_x/y/z [rad s^-1], a_RS_S_x/y/z [m s^-2]); ensimmäinen näyte on t_s = 0. Rivit, joita ei voi jäsentää, ja rivit, joiden aika ei kasva, ohitetaan. Katso RECEIVER-TRUST.md, miten gyrosuuntimaa käytetään.
IMU hybrid- ja fusion-skenaarioihin (kshana imu-fit)#
Skenaariot hybrid ja fusion (17-tilainen UKF) ovat simulaatioita: ne ottavat syötteenä anturikohinaparametreja ([accel_quantum], [accel_classical]: bias, q_va, gyro_bias, q_arw, bias_instability), ei mitattua sarjaa. imu-fit lukee nämä parametrit paikallaan olevan IMU:n lokista, joten skenaario voidaan ajaa juuri sillä anturilla, joka on todellisuudessa käytössä:
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
Menetelmä: integroidun signaalin limittäinen Allanin poikkeama (allan::overlapping_adev_curve): q_va = (sigma(tau0) sqrt(tau0))^2, sama z-gyrolle (q_arw), bias ja gyro_bias keskiarvoina sekä bias_instability käyrän minimiarvona, kun käyrä kääntyy sen jälkeen ylöspäin. q_aa ei soviteta (se vaatisi lokin, joka on paljon pidempi kuin vähimmäispituus). Raportissa on lokin näytteenottotaajuus ja kesto sekä kunkin kanavan varhainen Allanin kulmakerroin (noin -0.5 siellä, missä valkoinen kohina hallitsee); loki, joka ei ole paikallaan, on liian lyhyt (alle 2000 näytettä) tai epätasaisesti näytteistetty, hylätään tai antaa parametreja, jotka kulmakertoimet merkitsevät. Taulukon alkuperätiedoissa mainitaan lokin SHA-256. MODELLED: estimaattori on tarkistettu synteettisillä valkoisen kohinan lokeilla, joiden kertoimet tunnetaan (kertoimet palautuvat enintään 10 % virheellä), ei ulkoista oraakkelia vasten. Saatavilla komentorivillä, Pythonissa (imu_fit), WebAssemblyssä (imu_fit), MCP:ssä (fit_imu_log) ja liitännäisessä (/kshana-fit-imu).
RTCM 3 MSM4 ja MSM7 (format = "rtcm3")#
Tavuvirta, jossa on RTCM 3 kehyksiä (tukiaseman tai vastaanottimen havaintotuloste). Luetaan: MSM4- ja MSM7-viestit (GPS 1074/1077, GLONASS 1084/1087, Galileo 1094/1097, SBAS 1104/1107, QZSS 1114/1117, BeiDou 1124/1127, NavIC 1134/1137): epookki ja jokaisen signaalisolun kantoaalto-kohinasuhde (MSM4: 6 bittiä, dB-Hz; MSM7: 10 bittiä, 1/16 dB-Hz), jota C/N0-monitorit tarvitsevat. Pseudoetäisyys- ja vaihekentät ohitetaan, niitä ei käytetä, joten RTCM antaa luottamusmonitoreille C/N0:n eikä muuta; MSM ei sisällä sijaintia. Kehykset, joiden CRC-24Q on virheellinen, ohitetaan ja lasketaan.
Mistä asettelu tulee. Ei RTCM-standardista (maksullinen asiakirja, jota ei ole käytetty), vaan avoimen lähdekoodin pyrtcm-dekooderista 1.2.0, BSD 3-Clause, jonka lisenssi ja huomautus ovat tiedostossa NOTICE (omistajan päätös 18. lokakuuta 2026: ”käytä avoimia dekoodereita”). pyrtcm ilmoittaa taulukoidensa noudattavan standardia RTCM 10403,3; Kshana nojaa julkaistuihin taulukoihin pyrtcm:n lisenssillä eikä esitä väitteitä standardista. Aika: MSM ei sisällä viikkoa, joten merkinnät ovat muotoa GPS TOW <s>; GLONASS-epookit (Moskovan aika) siirretään GPS-aikaan arvolla GPS-UTC = 18 s (arvo 2017-01-01 alkaen).
Tarkistettu seuraavia vasten: CRC-24Q-luettelon tarkistusarvo (123456789 antaa 0xCDE703) ja kertaluonteisesti kehityksen aikana pyrtcm:n oma dekooderi samoilla itse kirjoitetuilla kehyksillä (sama C/N0). Testiaineisto on itse kirjoitettu; todellisesta vastaanottimesta ei ole otettu tallennetta, joten lukija on MODELLED, kunnes se on lukenut sellaisen.