Skip to content

Module Map

Use this map when a signal-layer change needs an owner. The crate exposes one curated API over private regions organized by physical signal facts, code families, sample meaning, reusable DSP, observation compatibility, and errors.

Ownership Flow

flowchart LR
    facts["catalog and physical facts"]
    codes["code families"]
    samples["raw-IQ and samples"]
    dsp["runtime-neutral DSP"]
    validation["observation compatibility"]
    api["curated public API"]
    receiver["receiver and validation consumers"]

    facts --> api
    codes --> api
    samples --> api
    dsp --> api
    validation --> api
    api --> receiver

Find the Region

responsibility owner
signal registry, components, wavelength, shared-path scaling, and default acquisition choices physical signal catalog
constellation-specific primary, secondary, and multiplexed codes code-family boundary
timing, oscillators, replicas, spectra, quality, front-end, and tracking math DSP boundary
raw capture format, quantization, metadata, and encoded sample conversion raw-IQ contracts and sample conversion
dual-frequency and inter-frequency observation compatibility observation validation
reusable signal failures signal error taxonomy
supported exports and streaming interfaces curated signal API

Code-Family Ownership

signal family implementation
GPS L1 C/A C/A code generation and correlation
GPS L2C component composition, CL code, and CM code
GPS L5 L5 primary and secondary codes
Galileo E1 E1 data, pilot, BOC, and CBOC behavior
Galileo E5 E5 code behavior and E5 assignments
BeiDou B1I and B2I B1I codes and B2I codes
BeiDou D1 D1 symbol and secondary-code timing
GLONASS L1 ST code and symbol behavior

Register-state helpers and generated Galileo lookup tables remain private implementation support. Consumers use the owning family API rather than table or register internals.

DSP Ownership

mathematical role implementation
front-end filtering and measured response front-end response
local-code and sample-index timing local-code model and sample timing
oscillator phase progression numerically controlled oscillator
carrier, code, modulation, and acquisition replicas replica boundary
front-end quality and spectra quality metrics and spectrum analysis
code-phase and carrier helpers signal processing utilities
loop, discriminator, lock, CN0, and uncertainty math tracking primitives
adaptive loop-profile decisions tracking adaptation

These modules own mathematical behavior, not receiver channel lifecycle. A change that requires acquisition scheduling, lock-state transitions, or artifact persistence belongs in receiver code.

Follow a Change

  • For a new signal, start with the catalog, then add code-family and receiver evidence.
  • For phase, wrapping, or sampling changes, use the DSP guide and preserve long-duration continuity.
  • For capture interpretation, use the raw-IQ guide and verify metadata and sample conversion together.
  • For a new export, use the public API guide and the test guide.