016c (2/2): Galileo E5 secondary codes (CS4/CS20/CS100, ICD Tables 20-22) #23
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/016c2-secondary"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Second increment of backlog step 016c, stacked on merged 016c-1/2 (PR #22).
(Small process note: the first attempt at this increment branched from a
stale local main and was redone from the fetched PR-#22 merge - no content
difference, just a clean base.)
Data provenance - Galileo OS SIS ICD v2.1 PDF, Tables 20-22:
ICD's own CS25_1 binary example reproduces exactly from the hex
(MSB-first = first chip in time)
Tables 20/21
e5b_i -> CS4_1 (all SVIDs), e5b_q -> CS100_(n+50)
Implementation
galileo_secondary_code(component, prn) - bipolar output
absolute 1 ms epoch grid (one chip per primary code epoch, matching
the ICD's data-bit alignment); data on I, pilot on Q
Also investigated this increment (documented):
Annex C only; all candidate GSC URLs 404). BUT the codes are baked in
gnss-sdr's Galileo_E1.h (50 PRNs x 4092 chips, E1-B + E1-C) - extracted
and staged for the next increment (016c-3/3, E1 CBOC modulation +
generator integration); provenance and licensing noted there
Tests (4 new): secondary assignment (fixed codes + per-SVID CS100
mapping), per-epoch in-phase correlation proving CS20/CS4/CS100 on the
1 ms grid for e5a-i, e5b-i, e5a-q.
Local verification: pytest 173 passed + 1 gui skip, ruff clean (Python 3.14).
Note (process): NOT to be merged by automation - awaiting manual review/merge.