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/LUNANET-AFS.md

LunaNet Augmented Forward Signal: kódy, formát zprávy a lunanet-afs-check

Kshana implementuje rozprostírací kódy a vrstvu zpráv signálu LunaNet Augmented Forward Signal (AFS) tak, jak je definuje jedno vydání specifikace, a ověřuje se proti tištěným tabulkám tohoto vydání.

Připnutí. LunaNet Interoperability Specification (LNIS) Version 5, Applicable Document 1 Volume A: LunaNet Signal-In-Space Recommended Standard, Augmented Forward Signal (LSIS-AFS) Version 1,0, 29 January 2025 (NASA). Staženo 2026-10-18; SHA-256 souboru PDF 986e0795…e61b6 (původ). Pozdější vydání je jiné připnutí a může kódy změnit: dokument označuje své tabulky kódů {LSIS-TBC} a uvádí, že jsou „included to facilitate test and integration efforts only“. Každá zpráva uvádí toto vydání.

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.

Generátor kódů LunaNet AFS ověřený proti tištěným sloupcům specifikace, ze skutečného běhu enginu v0.40.0 (`kshana lunanet-afs-check spec`, připnuto k LNIS V5, AD1 Volume A (LSIS-AFS) V1.0, 29 January 2025; dokument označuje své tabulky kódů {LSIS-TBC}). 9 z 10 kontrol je splněno; B4 je NOT MET (420 z 421 shodných). Kontroluje tok symbolů proti jednomu vydání zveřejněné specifikace a nic nevypovídá o žádném uzlu ani službě LunaNet. 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. Kontroluje tok symbolů proti jednomu vydání zveřejněné specifikace a nic nevypovídá o žádném uzlu ani službě LunaNet.Generátor kódů LunaNet AFS ověřený proti tištěným sloupcům specifikace, ze skutečného běhu enginu v0.40.0 (`kshana lunanet-afs-check spec`, připnuto k LNIS V5, AD1 Volume A (LSIS-AFS) V1.0, 29 January 2025; dokument označuje své tabulky kódů {LSIS-TBC}). 9 z 10 kontrol je splněno; B4 je NOT MET (420 z 421 shodných). Kontroluje tok symbolů proti jednomu vydání zveřejněné specifikace a nic nevypovídá o žádném uzlu ani službě LunaNet. 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. Kontroluje tok symbolů proti jednomu vydání zveřejněné specifikace a nic nevypovídá o žádném uzlu ani službě LunaNet.

Co je implementováno#

Vrstva Co Kde
AFS-I (data) Goldův kód 2047 zkrácený na 2046 chipů, G2 zpožděný o počet chipů závislý na PRN, 1,023 Mchip/s, BPSK(1), 500 symbolů/s, PRN 1 až 210 iq::signals::lunanet::afs_i, název signálu lunanet-afs-i
AFS-Q (pilot) Weilův kód 10230 (konstrukce z GPS L1C) vrstvený se 4chipovým sekundárním kódem (S0 až S3) a 1500chipovým terciárním Weilovým kódem (12 s), 5,115 Mchip/s, BPSK(5), bez dat. afs_q a název signálu lunanet-afs-q jsou replika přijímače, primární x sekundární (8 ms): terciární synchronizační překryv rámce o délce 12 s je z ní vynechán, protože akvizice a sledování nekorelují proti replice o délce 12 s. afs_q_tiered je úplný kód o délce 12 s afs_q, afs_q_with, afs_q_tiered
Nosná 2492,028 MHz (LSIS-020) AFS_HZ
Rámec SP 68 + SB1 52 + 5880 prokládaných symbolů = 6000 symbolů = 12 s při 500 symbolech/s iq::lunanet_afs
SB1 9 bitů (FID 2, TOI 7), BCH(51 8), generátor 763 osmičkově, s korelačním dekodérem dokumentu o 256 hypotézách sb1_encode, sb1_decode
CRC CRC-24Q, generátor (1+X)P(X) (Appendix H) crc24q_bits, crc24q_bytes
Prokladač 60 řádků x 98 sloupců, zapisováno po řádcích a čteno po sloupcích interleave, deinterleave

Obě složky přijímají příkazy kshana iq scene, acquire, track a sweep jako kterýkoli jiný signál, takže v záznamu lze vyhledat AFS-I nebo AFS-Q (kshana iq acquire --signal lunanet-afs-i) a lze vytvořit syntetickou scénu pro testy softwarového přijímače. Syntetická scéna je, stejně jako u každého jiného signálu, soubor pro softwarový přijímač; nic z toho neovládá žádný rádiový hardware.

Co není implementováno#

  • Kódování LDPC s rychlostí 1/2 podrámců 2 až 4. Jeho kontrolní matice jsou v Annex 1, samostatném souboru, který není v PDF a není součástí repozitáře. Podrámce 2 až 4 se přenášejí a kontrolují jako neprůhledné bloky symbolů předepsané délky a slova CRC-24Q v nich se neověřují. U toku, který projde příkazem lunanet-afs-check symbols, se neprokázalo, že obsahuje platná kódová slova.
  • Obsah zpráv (MSG-G1, MSG-G2, MSG-G4, ...): dokument ponechává několik definic k dopsání (TBW).
  • Přiřazení kódů jednotlivým uzlům LunaNet (Table F-1 je TBD). PRN 1 až 12 mají prozatímní testovací přiřazení (Table 11). afs_q(prn) používá primární kód PRN n se sekundárním kódem S((n-1) mod 4); za PRN 12 je to vzor této implementace, nikoli dokumentu. afs_q_with a afs_q_tiered přijímají libovolnou kombinaci, s terciárním kódem libovolného PRN.
  • Rozpočet spoje, chyba signálu v prostoru, požadavky na výkon a koherenci (LSIS-100 a další).

kshana lunanet-afs-check#

kshana lunanet-afs-check spec [--json] [--strict]
kshana lunanet-afs-check symbols <file> [--max-sp-errors <n>] [--json]
kshana lunanet-afs-check generate --frames <n> [--toi0 <t>] --out <file>
  • spec spouští implementaci proti tištěným tabulkám a vypracovaným příkladům dokumentu (prahy B1 až B10 z předregistrace) a vypisuje každý s jeho počtem a stavem. --strict skončí s kódem 1, pokud není splněn každý práh.
  • symbols čte tok symbolů s tvrdým rozhodnutím (text ze znaků 0 a 1; mezery se ignorují) a kontroluje synchronizační vzor, dekódování SB1, FID (definována je pouze 0), kontinuitu TOI (postup o jedničku modulo 100) a odstup rámců (6000 symbolů). Při jakémkoli problému skončí s kódem 1.
  • generate zapíše testovací tok: synchronizační vzor dokumentu, délky SB1 a rámců, s zástupnými podrámci 2 až 4 (střídavá výplň z LSIS-300, bez kódování LDPC, bez zprávy). Jsou to symboly pro testování kontrolního nástroje nebo dekodéru, nikoli průběh signálu; Kshana žádný signál nezapisuje.

Python: lunanet_afs_check_spec, lunanet_afs_check_symbols, lunanet_afs_generate. WebAssembly: stejné názvy. MCP: lunanet_afs_check (mode spec, symbols nebo generate). Plugin: /kshana-lunanet-afs-check. Studio a JetBrains: N/A (SURFACES.md).

Výsledky#

Prahy stanovené v xval/lunanet-afs/PREREGISTRATION.md dříve, než generátor existoval; testy v tests/lunanet_afs_codes.rs.

Práh Tvrzení Výsledek
B1 prvních a posledních 24 chipů AFS-I, 210 PRN MET, 420 z 420
B1b tištěný počáteční stav G2 je stav po tištěném zpoždění NOT MET, 0 z 210: tvrzení mělo opačný směr. Dodatečně (B1c, není předregistrováno): tištěný stav je stav po 2047 minus zpoždění, 210 z 210
B2 Legendre(10223) se rovná Table D-1 MET
B3 prvních a posledních 24 chipů primárního kódu AFS-Q, 210 PRN MET, 420 z 420
B4 Legendre(1499) se rovná Table E-1 a prvních a posledních 24 chipů terciárního kódu, 210 PRN NOT MET, 420 z 421: Legendreova posloupnost souhlasí a 419 z 420 sloupců kódů souhlasí. Posledních 24 chipů uvedených pro PRN 147 (A14850) je táž hodnota, jaká je uvedena pro PRN 151, jehož kód generátor reprodukuje; dva různé Weilovy indexy (607 a 612) nedávají stejných posledních 24 chipů, takže záznam pro PRN 147 je nejspíš překlep v dokumentu. Bez samostatného souboru kódů Annex 3 to nelze rozhodnout. Připnuto testem
B5 sekundární kódy S0 až S3 se rovnají Table 10 MET (vlastní konstanty dokumentu)
B6 vypracovaný příklad SB1 z Figure 8 MET: 0x045 se zakóduje na 0x229F61DBB84A0 a dekóduje na FID 0, TOI 69 (jeden příklad)
B7 kontrolní hodnota CRC-24Q pro 123456789 MET: 0xCDE703 (hodnota z katalogu, mimo specifikaci)
B8 aritmetika rámců MET
B9 prokládání a zpětné prokládání MET (vlastnost, MODELLED)
B10 synchronizační vzor MET (68 symbolů; kontrola přepisu)

B1 až B4 jsou VALIDATED proti tištěným tabulkám citovaného vydání, které dokument označuje {LSIS-TBC}. Zpáteční cesta scéna–akvizice–sledování obou složek splňuje stejné prahy jako ostatní signály (tests/iq_signal_matrix.rs).