1.3 KiB
Configuration
ReceiverConfig owns RF, acquisition, tracking, front-end, and fixed-point
dataclasses. YAML loading is strict: a misspelled field is an error.
Important validation rules include positive sampling/loop rates, a real IF strictly below Nyquist, integer sample counts per integration interval, ordered correlator tap spacing, explicit FFT length when requested, E1B bit-transition protection beyond 4 ms, and E1C secondary-code handling beyond 4 ms. E1B tracking is conservatively limited to 4 ms until navigation-symbol synchronization is implemented.
intermediate_frequency_hz may be nonzero for either real or analytic input.
The front end always outputs complex baseband and divides the effective sample
rate by the integer decimation factor. Acquisition/tracking must use that output
rate.
Acquisition parallelism fields expose future hardware/software scheduling but
do not change numerical results. zero_padding_mode: none provides the exact
N-sample circular correlation. A longer FFT changes the sampled numerical
correlation/edge convention; it is not additional physical delay information.
Default YAML files:
e1_default.yaml: requested 16.368 MHz nominal defaults.acquisition_example.yaml: faster 4.092 MHz executable search.tracking_example.yaml: 4.092 MHz tracking defaults.