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.
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_withaafs_q_tieredpř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>
specspouš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.--strictskončí s kódem 1, pokud není splněn každý práh.symbolsčte tok symbolů s tvrdým rozhodnutím (text ze znaků0a1; 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.generatezapíš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).