Strojový překlad, nekontrolovaný rodilým mluvčím. Referenční je anglická verze.

Důvěra v přijímač a námořní oblastUpravit na GitHubuZdroj: docs/MACHINE-INPUTS.md

Strojové a senzorové vstupy (0,38)

Čtečky, které do druhu receiver-trust přivádějí další přijímače, řešiče a senzory. Každá je pouze pro čtení: čisté funkce nad bajty nebo textem, které vracejí touž časovou osu jako čtečky UBX, RINEX, Android a NMEA, přičemž poškozené záznamy přeskakují a počítají místo selhání. Vše zde je MODELLED: formáty se čtou z veřejné dokumentace a žádný výsledek není ověřen proti vnějšímu orákulu nad rámec uvedeného.

Software pouze poradního charakteru. Nejde o typově schválené navigační zařízení. Za bezpečnou navigaci plavidla zůstává odpovědný provozovatel.

Co z klidového záznamu IMU vyčte `kshana imu-fit`, ze skutečného běhu enginu v0.40.0 na vymyšleném záznamu (20 000 vzorků při 100 Hz, 200 s): náhodná procházka rychlosti akcelerometru q_va = 4.02e-06, náhodná procházka úhlu gyroskopu q_arw = 9e-08, nestabilita biasu 0,00296 a rané sklony Allanovy odchylky (-0,51 a -0,49; asi -0,5 tam, kde dominuje bílý šum). Tabulka vedle je TOML, který příkaz vypíše. Odhadovač je ověřen pouze na syntetických záznamech. Pouze poradní charakter: výstup analýzy z výzkumného a inženýrského nástroje; nejde o typově schválené navigační zařízení ani o službu z oblasti bezpečnosti života.Co z klidového záznamu IMU vyčte `kshana imu-fit`, ze skutečného běhu enginu v0.40.0 na vymyšleném záznamu (20 000 vzorků při 100 Hz, 200 s): náhodná procházka rychlosti akcelerometru q_va = 4.02e-06, náhodná procházka úhlu gyroskopu q_arw = 9e-08, nestabilita biasu 0,00296 a rané sklony Allanovy odchylky (-0,51 a -0,49; asi -0,5 tam, kde dominuje bílý šum). Tabulka vedle je TOML, který příkaz vypíše. Odhadovač je ověřen pouze na syntetických záznamech. Pouze poradní charakter: výstup analýzy z výzkumného a inženýrského nástroje; nejde o typově schválené navigační zařízení ani o službu z oblasti bezpečnosti života.

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

Soubor řešení, který zapisují rnx2rtkp z RTKLIB a RTKPOST. Čte se: čas (kalendářní yyyy/mm/dd hh:mm:ss.sss nebo týden GPS a sekundy týdne), poloha (zeměpisná šířka a délka ve stupních s výškou, nebo ECEF X/Y/Z převedené na geodetické) a počet družic. Časová stupnice v záhlaví sloupce (GPST, UTC, JST) se přenáší v popisku. Soubory ve stupních, minutách a sekundách se odmítají. Řádky začínající % jsou záhlaví.

NovAtel OEM7 (format = "novatel")#

Záznamy ASCII (#BESTPOSA,...*crc) i binární (záhlaví AA 44 12), libovolně smíšené. Rozvržení se řídí veřejnou dokumentací OEM7 (docs.novatel.com): záhlaví zpráv, 32bitové CRC a tabulky polí tří záznamů. Záznamy, jejichž CRC nesouhlasí, se přeskakují a počítají.

Záznam ID Použito
BESTPOS 42 stav řešení (pouze SOL_COMPUTED dává fix), zeměpisná šířka, délka, výška nad střední hladinou moře plus undulace (výška fixu je elipsoidická), použité družice
RANGE 43 C/No pro každý signál (dB-Hz); systém z bitů stavu sledování 16-18, typ signálu z bitů 21-25
RXSTATUS 93 bit 15 stavu přijímače (detekováno rušení) se stává položkou self_report dané epochy (rušení 2 označeno, 1 ne; RXSTATUS nemá příznak spoofingu), porovnává se s poplachy Kshana pomocí receiver-self-report; pomocné bity rušení 1 (RF1-RF6) se vracejí v NovatelRead.status

Rutina CRC byla ověřena proti CRC, které dokumentace uvádí pro vlastní příklad BESTPOSA (citováno, nikoli převzato doslovně); testy používají vlastnoručně napsané řádky. Nečteno: zkrácený ASCII, další záznamy. Příznak rušení je vlastní hlášení přijímače, nikoli zjištění Kshana; shoda s monitory Kshana není validace.

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

Viz integrations/gnss-sdr/README.md. Výstupy GNSS-SDR ve formátech NMEA a RINEX se již čtou pomocí nmea a rinex; proudy UDP Monitor a PVT-monitor (Protocol Buffers) převádí relay.py na řádky JSON a čte je gnss-sdr.

IMU ([log.imu])#

format = "csv": řádek záhlaví s názvy sloupců, poté jeden vzorek na řádek. Sloupce (v libovolném pořadí, názvy bez ohledu na velikost písmen): t_s sekundy na hodinách záznamu přijímače, gx, gy, gz úhlová rychlost v rad/s, ax, ay, az měrná síla v m/s². format = "euroc": rozvržení EuRoC MAV imu0 data.csv (#timestamp [ns], w_RS_S_x/y/z [rad s^-1], a_RS_S_x/y/z [m s^-2]); první vzorek je t_s = 0. Řádky, které nelze zpracovat, a řádky, jejichž čas neroste, se přeskakují. Jak se používá směr gyroskopu, viz RECEIVER-TRUST.md.

IMU ve scénářích hybrid a fusion (kshana imu-fit)#

Scénáře hybrid a fusion (UKF o 17 stavech) jsou simulace: berou parametry šumu senzoru ([accel_quantum], [accel_classical]: bias, q_va, gyro_bias, q_arw, bias_instability), nikoli změřenou řadu. imu-fit tyto parametry vyčte z klidového záznamu IMU, takže lze scénář spustit se senzorem, který skutečně máte:

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

Metoda: překrývající se Allanova odchylka integrovaného signálu (allan::overlapping_adev_curve): q_va = (sigma(tau0) sqrt(tau0))^2, totéž pro gyroskop osy z (q_arw), bias a gyro_bias jako průměry a bias_instability jako minimum křivky, pokud za ním křivka stoupá. q_aa se nefituje (vyžaduje záznam mnohem delší než dolní mez). Zpráva uvádí rychlost a rozsah záznamu a raný sklon Allanovy odchylky každého kanálu (asi -0,5 tam, kde dominuje bílý šum); záznam, který není klidový, je příliš krátký (pod 2000 vzorků) nebo nerovnoměrně vzorkovaný, se odmítne nebo dá parametry, které sklony označí. Původ tabulky uvádí SHA-256 záznamu. MODELLED: odhadovač je ověřen na syntetických záznamech bílého šumu se známými koeficienty (obnoveno v mezích 10 %), nikoli proti vnějšímu orákulu. K dispozici v CLI, Pythonu (imu_fit), WebAssembly (imu_fit), MCP (fit_imu_log) a v pluginu (/kshana-fit-imu).

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

Tok bajtů rámců RTCM 3 (výstup pozorování základnové stanice nebo přijímače). Čte se: zprávy MSM4 a MSM7 (GPS 1074/1077, GLONASS 1084/1087, Galileo 1094/1097, SBAS 1104/1107, QZSS 1114/1117, BeiDou 1124/1127, NavIC 1134/1137): epocha a poměr nosné k šumu každé signálové buňky (MSM4: 6 bitů, dB-Hz; MSM7: 10 bitů, 1/16 dB-Hz), což je to, co monitory C/N0 potřebují. Pole pseudovzdálenosti a fáze se přeskakují a nepoužívají, takže RTCM dává monitorům důvěry C/N0 a nic jiného; v MSM není žádná poloha. Rámce se špatným CRC-24Q se přeskakují a počítají.

Odkud rozvržení pochází. Ne ze standardu RTCM (placený dokument, nebyl konzultován): z open-source dekodéru pyrtcm 1.2.0, BSD 3-Clause, jehož licence a upozornění jsou v NOTICE (rozhodnutí vlastníka z 18 Oct 2026: „use open decoders“). pyrtcm uvádí, že jeho tabulky vycházejí z RTCM 10403,3; Kshana se opírá o zveřejněné tabulky pod licencí pyrtcm a o standardu nic netvrdí. Čas: MSM nenese týden, takže popisky se čtou GPS TOW <s>; epochy GLONASS (moskevský čas) se převádějí na čas GPS pomocí GPS-UTC = 18 s (hodnota od 2017-01-01).

Ověřeno proti: kontrolní hodnotě z katalogu CRC-24Q (123456789 dává 0xCDE703) a jednorázově během vývoje proti vlastnímu dekodéru pyrtcm na týchž vlastnoručně napsaných rámcích (stejné C/N0). Testovací data jsou vlastnoručně napsaná; žádný záznam nebyl pořízen z reálného přijímače, takže čtečka je MODELLED, dokud jej nepřečte.