Add BOC-aware lock detection and E1C-aided tracking
@@ -16,6 +16,14 @@ e1_synthetic.c128
|
||||
!verification/navigation/**/*.bin
|
||||
!verification/navigation/**/*.npz
|
||||
|
||||
# Full-rate lock-diagnostic arrays and exploratory replay directories are
|
||||
# reproducible from the committed tools/reports but unnecessarily large.
|
||||
verification/navigation/signalsim_navigation_multisat_*/**/tracking_measurements.npz
|
||||
/reports/tracking_lock_baseline/
|
||||
/reports/tracking_lock_boc_aware/
|
||||
/reports/tracking_lock_coherence_prn19/
|
||||
/reports/navigation_pilot_prn1/
|
||||
|
||||
# External simulator checkout discovered locally; rebuild/integration scripts
|
||||
# consume it by path, but it is maintained as a separate Git repository.
|
||||
/signalsim/
|
||||
|
||||
@@ -25,7 +25,8 @@ complex IQ; both acquisition and tracking pass on its IQ8 output. See the
|
||||
- E1 profile: 1.023 Mcps, 4092 chips, 4 ms, 1575.42 MHz.
|
||||
- BOC(1,1) is implemented; CBOC and unambiguous BOC are API extension points.
|
||||
- E1B bit-transition hypotheses and E1C secondary wipeoff/search are available
|
||||
for acquisition. E1C tracking supports known-phase wipeoff.
|
||||
for acquisition. E1C tracking jointly searches the 25-symbol phase and
|
||||
residual carrier frequency before continuous secondary-code wipeoff.
|
||||
- The code-table provider, not the DSP engine, determines whether codes are
|
||||
synthetic or official.
|
||||
- The floating-point model is executable. The fixed PCPS model is bit-true at
|
||||
@@ -35,8 +36,13 @@ complex IQ; both acquisition and tracking pass on its IQ8 output. See the
|
||||
- Channel impairments include Doppler rate, sampling-clock offset, carrier
|
||||
offset, AWGN, clipping, and quantization. Multipath, jerk, oscillator phase
|
||||
noise, and interference are future channel-model plug-ins.
|
||||
- Combined E1B/E1C tracking is represented by separate manager channels; a
|
||||
weighted combining policy is intentionally not assumed.
|
||||
- The default navigation architecture acquires E1C, synchronizes/wipes its
|
||||
25-symbol secondary code, and drives shared carrier/code states, C/N0, and
|
||||
BOC-aware lock monitoring from E1C. A phase-coherent E1B branch supplies only
|
||||
Prompt I/Q to I/NAV decoding. E1B-only tracking remains a regression mode.
|
||||
- Code lock is derived from smoothed VE/E/P/L/VL BOC-shape powers with explicit
|
||||
metric validity, hysteresis, and side-peak/signal-loss tests; the legacy
|
||||
instantaneous Prompt/Early/Late ratio is diagnostic-only.
|
||||
- E1B I/NAV word types 1–6 are decoded from tracked RF prompts. Almanac parsing,
|
||||
OSNMA authentication, and PVT are deliberately not implemented yet.
|
||||
|
||||
@@ -66,9 +72,11 @@ python -m galileo_rx.cli run --config configs/acquisition_example.yaml --input s
|
||||
python -m galileo_rx.cli compare-fixed --config configs/acquisition_example.yaml --input samples.bin
|
||||
python -m galileo_rx.cli validate-signalsim --signalsim-path signalsim/SignalSim --config configs/signalsim_validation.yaml --output-dir reports/signalsim_validation
|
||||
python -m galileo_rx.cli collect-navigation --config configs/navigation_collection.yaml --output-dir reports/navigation_run
|
||||
python -m galileo_rx.cli prompts-to-symbols --input verification/navigation/signalsim_navigation_multisat/prn_01/prompt_epochs.npz --prn 1 --output-dir reports/navigation_replay/prn_01
|
||||
python -m galileo_rx.cli decode-inav --input verification/navigation/signalsim_navigation_multisat/prn_01/prompt_epochs.npz --prn 1 --output-dir reports/navigation_replay/prn_01
|
||||
python -m galileo_rx.cli inspect-navigation --input verification/navigation/signalsim_navigation_multisat/prn_01
|
||||
python -m galileo_rx.cli collect-navigation --config configs/navigation_collection.yaml --output-dir reports/navigation_e1b --tracking-mode e1b_only
|
||||
python tools/compare_e1_tracking_modes.py --config configs/navigation_collection.yaml --output-dir reports/e1_tracking_mode_comparison
|
||||
python -m galileo_rx.cli prompts-to-symbols --input verification/navigation/signalsim_navigation_multisat_e1c_pilot_aided_e1b/prn_01/prompt_epochs.npz --prn 1 --output-dir reports/navigation_replay/prn_01
|
||||
python -m galileo_rx.cli decode-inav --input verification/navigation/signalsim_navigation_multisat_e1c_pilot_aided_e1b/prn_01/prompt_epochs.npz --prn 1 --output-dir reports/navigation_replay/prn_01
|
||||
python -m galileo_rx.cli inspect-navigation --input verification/navigation/signalsim_navigation_multisat_e1c_pilot_aided_e1b/prn_01
|
||||
```
|
||||
|
||||
The CLI uses synthetic codes by design. Replace the provider with
|
||||
@@ -103,8 +111,9 @@ not change.
|
||||
sample source -> streaming front end -> sample buffer -> PCPS acquisition
|
||||
| |
|
||||
+---- tracking manager
|
||||
+-- E1B channel
|
||||
+-- E1C channel
|
||||
+-- E1C pilot master
|
||||
+-- shared NCO phases
|
||||
+-- E1B navigation branch
|
||||
|
||||
float blocks <-> fixed block boundaries <-> cycle transactions <-> RTL
|
||||
```
|
||||
@@ -136,6 +145,8 @@ normal decoder API.
|
||||
|
||||
See [ICD mapping](docs/inav_icd_mapping.md), the
|
||||
[hardware/software partition](docs/navigation_hardware_software_partition.md),
|
||||
[BOC-aware lock design](docs/boc_aware_lock_detector.md),
|
||||
[pilot-aided tracking architecture](docs/e1_pilot_aided_tracking.md),
|
||||
the [collection report](reports/navigation_run/inav_collection_report.md), and
|
||||
the [readiness gate](reports/navigation_readiness_review.md). Saved artifacts
|
||||
under `verification/navigation/` can replay navigation decoding without RF
|
||||
|
||||
@@ -27,6 +27,7 @@ acquisition:
|
||||
zero_padding_mode: none
|
||||
|
||||
tracking:
|
||||
architecture: e1c_pilot_aided_e1b
|
||||
integration_ms: 2.0
|
||||
pull_in_duration_ms: 300.0
|
||||
pll_noise_bandwidth_hz: 10.0
|
||||
|
||||
@@ -0,0 +1,79 @@
|
||||
# BOC-aware code-lock detector
|
||||
|
||||
## Root cause
|
||||
|
||||
The previous code-lock flag compared an instantaneous Prompt power with the
|
||||
mean Early/Late power:
|
||||
|
||||
\[
|
||||
M_{legacy}=\frac{|P|^2}{(|E|^2+|L|^2)/2}.
|
||||
\]
|
||||
|
||||
That ratio assumes a single-peaked BPSK autocorrelation. It is not a valid
|
||||
lock predicate for the BOC(1,1) replica used by this SignalSim checkout and the
|
||||
receiver. With E/L at +/-0.25 chip, the ideal BOC shape at a +0.25-chip local
|
||||
error has normalized tap powers `E=1`, `P=0.0625`, and `L=0.25`, so the legacy
|
||||
metric is 0.1 even though the local phase is still inside the central-peak
|
||||
basin. No threshold on this ratio can distinguish that valid shoulder from a
|
||||
genuine loss across the complete BOC shape.
|
||||
|
||||
SignalSim commit `80b2621` selects `PRN_ATTRIBUTE_BOC`, doubles the nominal
|
||||
chip rate to 2.046 Mchip/s, shifts the E1B/E1C memory-code index every two
|
||||
subchips, and negates the second half. It therefore generates BOC(1,1), not the
|
||||
BOC(6,1) part of full Galileo CBOC. The Python replica follows the same
|
||||
half-chip convention. The validation plot is generated from SignalSim's actual
|
||||
E1B code table, not a fabricated PRN.
|
||||
|
||||
## Corrected metric
|
||||
|
||||
The detector noncoherently averages all five tap powers over a configurable
|
||||
window. It then evaluates:
|
||||
|
||||
\[
|
||||
M_{main}=\frac{|E|^2+|P|^2+|L|^2}
|
||||
{|VE|^2+|E|^2+|P|^2+|L|^2+|VL|^2}
|
||||
\]
|
||||
|
||||
and
|
||||
|
||||
\[
|
||||
M_{side}=\frac{\max(|VE|^2,|VL|^2)}{|E|^2+|P|^2+|L|^2}.
|
||||
\]
|
||||
|
||||
Power fractions alone cannot distinguish the negative Prompt sidelobe at a
|
||||
half-chip error. The detector also smooths the carrier-invariant tap-sign term
|
||||
|
||||
\[
|
||||
M_{coh}=\frac{\operatorname{Re}\{(E+L)P^*\}}
|
||||
{|P|(|E|+|L|)}.
|
||||
\]
|
||||
|
||||
It is 1 at the ideal main peak, 1/3 at a quarter-chip main shoulder, and 0 at
|
||||
the +/-0.5-chip negative Prompt sidelobe. Outer-tap dominance covers the
|
||||
+/-0.75-chip false-lock cases. Both tests have independent hysteresis.
|
||||
|
||||
`metric_valid` is independent of `code_lock`. It remains false until the power
|
||||
window is full, and invalid/non-finite integrations do not enter the smoother.
|
||||
The tracker currently rejects incomplete integrations before correlation; a
|
||||
trailing partial block is not measured. At 4.092 MHz there are exactly four
|
||||
samples/chip. At non-integer ratios, the double-precision code NCO maintains a
|
||||
fractional-chip phase while replica chips and the rectangular BOC subcarrier
|
||||
are selected at each sample. There is no unexplained integer sample shift or
|
||||
interpolation filter in the lock calculation.
|
||||
|
||||
Lock uses separate entry/exit limits, consecutive confirmations, and sustained
|
||||
failure counting. A signal-power peak hold detects signal disappearance. A
|
||||
sustained outer-tap dominance declares a BOC side-peak condition. A single
|
||||
instantaneous P/E/L crossing cannot clear lock.
|
||||
|
||||
All five accumulations span the same samples and use the same replica amplitude,
|
||||
so the shape metrics normalize by their own summed tap power; division by the
|
||||
integration length (or its square for power) cancels exactly. Mixing raw and
|
||||
normalized taps is prohibited. Boundary-crossing 2 ms dumps are valid because
|
||||
two dumps exactly tile each 4 ms primary period; only a truncated final dump is
|
||||
dropped before the detector.
|
||||
|
||||
The lock detector does not change PLL, DLL, FLL, carrier NCO, or code NCO
|
||||
states. Its false-lock and true-loss behavior is regression-tested with ideal
|
||||
main-peak, quarter-chip shoulder, outer-tap side-peak, zero-signal, invalid
|
||||
integration, and one-epoch disturbance vectors.
|
||||
@@ -25,4 +25,16 @@ 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.
|
||||
- `navigation_collection.yaml`: SignalSim IQ-to-I/NAV regression. Its default
|
||||
`tracking.architecture` is `e1c_pilot_aided_e1b`; the CLI can select
|
||||
`e1b_only` for an A/B replay.
|
||||
|
||||
The BOC lock detector parameters are part of `TrackingConfig`. The defaults use
|
||||
25 noncoherent power epochs, three confirmations, and the configured
|
||||
`loss_of_lock_epochs` for sustained failure. Carrier and BOC central/outer
|
||||
shape thresholds have explicit entry and exit values. `lock_signal_loss_power_ratio`
|
||||
sets the five-tap power loss test. These parameters affect monitoring and
|
||||
reacquisition only; they do not change discriminator or loop-filter coefficients.
|
||||
`boc_side_peak_coherence_enter/exit` calibrate the coherent E/L-to-P tap-sign
|
||||
test needed to distinguish the negative half-chip BOC sidelobe from the main
|
||||
peak using more than magnitude-only information.
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
# E1C-pilot-aided E1B tracking
|
||||
|
||||
The default E1 architecture uses two phase-coherent correlator branches:
|
||||
|
||||
```text
|
||||
raw SignalSim IQ8
|
||||
-> E1C PCPS acquisition
|
||||
-> E1C 25-symbol secondary-code phase/frequency search
|
||||
-> shared double-precision carrier and code phase vectors
|
||||
-> E1C VE/E/P/L/VL -> FLL/PLL/DLL/CN0/BOC lock
|
||||
-> E1B VE/E/P/L/VL -> 4 ms Prompt stream -> I/NAV decoder
|
||||
```
|
||||
|
||||
The secondary synchronizer jointly searches code phase and residual carrier
|
||||
frequency using complex 4 ms Prompt values. Its estimated secondary phase is
|
||||
then applied at every E1C primary-code epoch. Integrations may divide the 4 ms
|
||||
primary period exactly; the 2 ms navigation configuration applies the same
|
||||
secondary symbol to both halves.
|
||||
|
||||
E1B navigation polarity never enters the pilot loop discriminators, C/N0
|
||||
estimator, or lock detector. The E1B branch receives the identical carrier and
|
||||
code phase arrays before either NCO advances, preserving sample-by-sample
|
||||
coherence. Only E1B Prompt I/Q is passed to symbol synchronization and I/NAV
|
||||
decoding.
|
||||
|
||||
The initial 400 ms E1C secondary search operates on a buffered portion of the
|
||||
same input stream. The offline regression replays that buffer through the
|
||||
closed loops after synchronization; it does not load frozen Prompt, symbol,
|
||||
page, or ephemeris artifacts. A streaming implementation can use the same
|
||||
bounded input buffer or start output after synchronization.
|
||||
|
||||
This pilot architecture is a separate robustness improvement. It is not used
|
||||
to conceal the legacy BOC metric defect: E1B-only and E1C-aided modes are both
|
||||
evaluated with the same corrected BOC-aware lock detector.
|
||||
@@ -6,7 +6,10 @@ soft-decision Viterbi decoder or navigation database in RTL.
|
||||
|
||||
## Tracking-IP output contract
|
||||
|
||||
One record is emitted for every 4 ms E1B primary-code epoch:
|
||||
The tracking IP uses E1C VE/E/P/L/VL for shared carrier/code loops, C/N0, and
|
||||
BOC-aware lock monitoring. A separate E1B correlator branch consumes the same
|
||||
sample-by-sample NCO phases. One navigation record is emitted from that branch
|
||||
for every 4 ms E1B primary-code epoch:
|
||||
|
||||
| Field | Proposed representation | Meaning |
|
||||
| --- | --- | --- |
|
||||
@@ -16,7 +19,9 @@ One record is emitted for every 4 ms E1B primary-code epoch:
|
||||
| carrier phase/frequency | NCO state/measurement words | Reprocessing and phase diagnostics |
|
||||
| code phase | unsigned fixed-point chips | Code-time association |
|
||||
| C/N0 | fixed-point dB-Hz or invalid | Monitoring only |
|
||||
| carrier/code lock | bits | Decoder validity gate |
|
||||
| carrier/code lock | bits | E1C pilot-derived decoder validity gate |
|
||||
| lock metric valid | bit | BOC smoothing/calibration window is valid |
|
||||
| BOC main/side metrics | fixed-point monitor words | false-lock diagnosis |
|
||||
| cycle slip/discontinuity | bits | Immediate symbol/page synchronizer reset |
|
||||
| valid | bit | Transaction validity |
|
||||
|
||||
@@ -25,6 +30,11 @@ must absorb software service latency; backpressure cannot be allowed to stop the
|
||||
sample-rate tracking datapath. At 250 records/s/channel, even 36 active E1B
|
||||
channels produce only 9000 records/s, so a memory-mapped DMA ring is sufficient.
|
||||
|
||||
E1C secondary-code synchronization can remain software-assisted initially: a
|
||||
bounded Prompt buffer is searched for secondary phase and residual carrier
|
||||
frequency, then the phase is written to tracking-channel state. Continuous
|
||||
secondary wipeoff and the E1C/E1B correlator branches remain sample-rate RTL.
|
||||
|
||||
## Software decoder
|
||||
|
||||
Software retains floating `numpy.float64` prompt/soft values in the reference
|
||||
|
||||
@@ -0,0 +1,232 @@
|
||||
{
|
||||
"classification": "LOCK DETECTOR CHATTER CONFIRMED",
|
||||
"primary_cause": "instantaneous BPSK-style Prompt/Early/Late power ratio is invalid on the BOC(1,1) main-peak shoulder",
|
||||
"signal_modulation": "SignalSim BOC(1,1); no BOC(6,1) CBOC term",
|
||||
"loop_coefficients_changed": false,
|
||||
"sample_file": "/home/onur/Desktop/galileo/verification/vectors/signalsim/navigation_multisat/navigation_multisat_iq8.bin",
|
||||
"sample_sha256": "b38393b32eec2df53f9813ea7ff8f13e5e0fc72fa5cb7fb910a2b8f907a56a6e",
|
||||
"sample_count": 131758308,
|
||||
"sampling_frequency_hz": 4092000.0,
|
||||
"intermediate_frequency_hz": 1023000.0,
|
||||
"exact_replay_command": "python tools/compare_e1_tracking_modes.py --config configs/navigation_collection.yaml --output-dir reports/e1_tracking_mode_comparison",
|
||||
"legacy_total_code_lock_falling_edges": 397,
|
||||
"boc_aware_total_code_lock_falling_edges": 0,
|
||||
"crc_valid_pages": 75,
|
||||
"crc_invalid_pages": 0,
|
||||
"complete_ephemerides": 5,
|
||||
"satellites": {
|
||||
"1": {
|
||||
"legacy_code_lock_falling_edges": 105,
|
||||
"boc_aware_code_lock_falling_edges": 0,
|
||||
"boc_aware_longest_code_lock_s": 32.124,
|
||||
"legacy_failure_behavior": {
|
||||
"epochs": 419,
|
||||
"dll_error_rms_chips": 0.08595496042669856,
|
||||
"dll_error_p99_abs_chips": 0.12241806445109668,
|
||||
"code_phase_residual_rms_chips": 14.36062232244801,
|
||||
"code_phase_residual_p99_abs_chips": 18.53252004246325,
|
||||
"prompt_power_median": 108501744.67290671,
|
||||
"early_power_median": 1382974759.31233,
|
||||
"late_power_median": 466361919.31117284,
|
||||
"very_early_power_median": 307844457.5642177,
|
||||
"very_late_power_median": 19056312.68379797,
|
||||
"boc_main_peak_fraction_min": 0.8248937085423966,
|
||||
"boc_side_peak_metric_max": 0.20376990864112443,
|
||||
"boc_main_peak_coherence_min": 0.34017817990919674
|
||||
},
|
||||
"legacy_pass_behavior": {
|
||||
"epochs": 15420,
|
||||
"dll_error_rms_chips": 0.055454377972535635,
|
||||
"dll_error_p99_abs_chips": 0.15667600596267559,
|
||||
"code_phase_residual_rms_chips": 10.71701633330231,
|
||||
"code_phase_residual_p99_abs_chips": 18.663546673635288,
|
||||
"prompt_power_median": 1562883727.251472,
|
||||
"early_power_median": 103811805.97523968,
|
||||
"late_power_median": 104290812.8808927,
|
||||
"very_early_power_median": 103614117.47072616,
|
||||
"very_late_power_median": 103958458.73893663,
|
||||
"boc_main_peak_fraction_min": 0.8309234034145184,
|
||||
"boc_side_peak_metric_max": 0.19490409504935216,
|
||||
"boc_main_peak_coherence_min": 0.36173522031393907
|
||||
},
|
||||
"side_peak_suspected_epochs": 0,
|
||||
"cycle_slip_candidates": 1,
|
||||
"sample_discontinuities": 0,
|
||||
"crc_valid_pages": 15,
|
||||
"crc_invalid_pages": 0,
|
||||
"complete_ephemeris": true
|
||||
},
|
||||
"4": {
|
||||
"legacy_code_lock_falling_edges": 102,
|
||||
"boc_aware_code_lock_falling_edges": 0,
|
||||
"boc_aware_longest_code_lock_s": 32.124,
|
||||
"legacy_failure_behavior": {
|
||||
"epochs": 570,
|
||||
"dll_error_rms_chips": 0.0856283362712608,
|
||||
"dll_error_p99_abs_chips": 0.11934673527382932,
|
||||
"code_phase_residual_rms_chips": 18.0490751133773,
|
||||
"code_phase_residual_p99_abs_chips": 22.013505561931513,
|
||||
"prompt_power_median": 109001732.74343339,
|
||||
"early_power_median": 1400349552.302199,
|
||||
"late_power_median": 456965181.93616223,
|
||||
"very_early_power_median": 326692792.80833435,
|
||||
"very_late_power_median": 17308238.42519528,
|
||||
"boc_main_peak_fraction_min": 0.8206212827432912,
|
||||
"boc_side_peak_metric_max": 0.21247511232075716,
|
||||
"boc_main_peak_coherence_min": 0.3170832361168166
|
||||
},
|
||||
"legacy_pass_behavior": {
|
||||
"epochs": 15269,
|
||||
"dll_error_rms_chips": 0.056238434131421364,
|
||||
"dll_error_p99_abs_chips": 0.16003776421021423,
|
||||
"code_phase_residual_rms_chips": 12.648913028517638,
|
||||
"code_phase_residual_p99_abs_chips": 22.225825912676154,
|
||||
"prompt_power_median": 1561549596.45384,
|
||||
"early_power_median": 104409162.05052581,
|
||||
"late_power_median": 103889433.28955534,
|
||||
"very_early_power_median": 104425788.59980236,
|
||||
"very_late_power_median": 103991111.01094447,
|
||||
"boc_main_peak_fraction_min": 0.8222270181579056,
|
||||
"boc_side_peak_metric_max": 0.2095520802570801,
|
||||
"boc_main_peak_coherence_min": 0.34907181516682484
|
||||
},
|
||||
"side_peak_suspected_epochs": 0,
|
||||
"cycle_slip_candidates": 1,
|
||||
"sample_discontinuities": 0,
|
||||
"crc_valid_pages": 15,
|
||||
"crc_invalid_pages": 0,
|
||||
"complete_ephemeris": true
|
||||
},
|
||||
"19": {
|
||||
"legacy_code_lock_falling_edges": 28,
|
||||
"boc_aware_code_lock_falling_edges": 0,
|
||||
"boc_aware_longest_code_lock_s": 32.124,
|
||||
"legacy_failure_behavior": {
|
||||
"epochs": 836,
|
||||
"dll_error_rms_chips": 0.08382550491114514,
|
||||
"dll_error_p99_abs_chips": 0.11672054552674169,
|
||||
"code_phase_residual_rms_chips": 2.7550161372072455,
|
||||
"code_phase_residual_p99_abs_chips": 3.9163627824740046,
|
||||
"prompt_power_median": 104126149.50421108,
|
||||
"early_power_median": 494980627.1907859,
|
||||
"late_power_median": 1419480537.7622817,
|
||||
"very_early_power_median": 23356098.258554555,
|
||||
"very_late_power_median": 320909640.2537514,
|
||||
"boc_main_peak_fraction_min": 0.8178550688248921,
|
||||
"boc_side_peak_metric_max": 0.21387662507504698,
|
||||
"boc_main_peak_coherence_min": 0.309749906504684
|
||||
},
|
||||
"legacy_pass_behavior": {
|
||||
"epochs": 15003,
|
||||
"dll_error_rms_chips": 0.05441480503429248,
|
||||
"dll_error_p99_abs_chips": 0.14248386733785928,
|
||||
"code_phase_residual_rms_chips": 2.1823469005629192,
|
||||
"code_phase_residual_p99_abs_chips": 3.841100800917238,
|
||||
"prompt_power_median": 1574617462.1943545,
|
||||
"early_power_median": 104240558.74906312,
|
||||
"late_power_median": 104608632.72580688,
|
||||
"very_early_power_median": 104886518.99392597,
|
||||
"very_late_power_median": 104026970.69437188,
|
||||
"boc_main_peak_fraction_min": 0.8311755975651924,
|
||||
"boc_side_peak_metric_max": 0.19705562228004905,
|
||||
"boc_main_peak_coherence_min": 0.33567645683146424
|
||||
},
|
||||
"side_peak_suspected_epochs": 0,
|
||||
"cycle_slip_candidates": 0,
|
||||
"sample_discontinuities": 0,
|
||||
"crc_valid_pages": 15,
|
||||
"crc_invalid_pages": 0,
|
||||
"complete_ephemeris": true
|
||||
},
|
||||
"21": {
|
||||
"legacy_code_lock_falling_edges": 53,
|
||||
"boc_aware_code_lock_falling_edges": 0,
|
||||
"boc_aware_longest_code_lock_s": 32.124,
|
||||
"legacy_failure_behavior": {
|
||||
"epochs": 648,
|
||||
"dll_error_rms_chips": 0.08424634662191456,
|
||||
"dll_error_p99_abs_chips": 0.11389992057204788,
|
||||
"code_phase_residual_rms_chips": 5.413591139197087,
|
||||
"code_phase_residual_p99_abs_chips": 7.323643837672498,
|
||||
"prompt_power_median": 111248106.93399511,
|
||||
"early_power_median": 485571773.9336411,
|
||||
"late_power_median": 1409101427.9671085,
|
||||
"very_early_power_median": 22451415.420087457,
|
||||
"very_late_power_median": 329617228.81067777,
|
||||
"boc_main_peak_fraction_min": 0.819938710284846,
|
||||
"boc_side_peak_metric_max": 0.21273197297837107,
|
||||
"boc_main_peak_coherence_min": 0.3046987458565688
|
||||
},
|
||||
"legacy_pass_behavior": {
|
||||
"epochs": 15191,
|
||||
"dll_error_rms_chips": 0.05451572831224683,
|
||||
"dll_error_p99_abs_chips": 0.14644158425623585,
|
||||
"code_phase_residual_rms_chips": 4.209875215718045,
|
||||
"code_phase_residual_p99_abs_chips": 7.380953776232491,
|
||||
"prompt_power_median": 1570174203.4927423,
|
||||
"early_power_median": 105114623.37528723,
|
||||
"late_power_median": 104143701.14155619,
|
||||
"very_early_power_median": 104061383.87129441,
|
||||
"very_late_power_median": 104456768.35503499,
|
||||
"boc_main_peak_fraction_min": 0.8188953806005115,
|
||||
"boc_side_peak_metric_max": 0.21372055486034422,
|
||||
"boc_main_peak_coherence_min": 0.33918431088914197
|
||||
},
|
||||
"side_peak_suspected_epochs": 0,
|
||||
"cycle_slip_candidates": 0,
|
||||
"sample_discontinuities": 0,
|
||||
"crc_valid_pages": 15,
|
||||
"crc_invalid_pages": 0,
|
||||
"complete_ephemeris": true
|
||||
},
|
||||
"27": {
|
||||
"legacy_code_lock_falling_edges": 109,
|
||||
"boc_aware_code_lock_falling_edges": 0,
|
||||
"boc_aware_longest_code_lock_s": 32.124,
|
||||
"legacy_failure_behavior": {
|
||||
"epochs": 344,
|
||||
"dll_error_rms_chips": 0.08580174731724177,
|
||||
"dll_error_p99_abs_chips": 0.11904739019023991,
|
||||
"code_phase_residual_rms_chips": 20.756058971087125,
|
||||
"code_phase_residual_p99_abs_chips": 26.772812207727803,
|
||||
"prompt_power_median": 116680356.99560717,
|
||||
"early_power_median": 478044790.6615449,
|
||||
"late_power_median": 1323037640.8633256,
|
||||
"very_early_power_median": 21059764.41682536,
|
||||
"very_late_power_median": 301495191.6249375,
|
||||
"boc_main_peak_fraction_min": 0.8520196594098788,
|
||||
"boc_side_peak_metric_max": 0.1598536311317901,
|
||||
"boc_main_peak_coherence_min": 0.5220145133276418
|
||||
},
|
||||
"legacy_pass_behavior": {
|
||||
"epochs": 15495,
|
||||
"dll_error_rms_chips": 0.057575532524275004,
|
||||
"dll_error_p99_abs_chips": 0.1638616542926032,
|
||||
"code_phase_residual_rms_chips": 15.543010751491565,
|
||||
"code_phase_residual_p99_abs_chips": 27.027411115714,
|
||||
"prompt_power_median": 1553941487.134823,
|
||||
"early_power_median": 103487220.28957783,
|
||||
"late_power_median": 103902035.7428725,
|
||||
"very_early_power_median": 102551866.10199845,
|
||||
"very_late_power_median": 102470250.29049863,
|
||||
"boc_main_peak_fraction_min": 0.8478458386727497,
|
||||
"boc_side_peak_metric_max": 0.16693609746582583,
|
||||
"boc_main_peak_coherence_min": 0.4883110563425638
|
||||
},
|
||||
"side_peak_suspected_epochs": 0,
|
||||
"cycle_slip_candidates": 0,
|
||||
"sample_discontinuities": 0,
|
||||
"crc_valid_pages": 15,
|
||||
"crc_invalid_pages": 0,
|
||||
"complete_ephemeris": true
|
||||
}
|
||||
},
|
||||
"regression_tests": {
|
||||
"main_peak_and_metric_validity": "tests/unit/test_lock_detector.py",
|
||||
"quarter_chip_shoulder_false_unlock": "tests/unit/test_lock_detector.py",
|
||||
"outer_tap_side_peak": "tests/unit/test_lock_detector.py",
|
||||
"zero_signal_true_loss": "tests/unit/test_lock_detector.py",
|
||||
"invalid_and_single_bad_epoch": "tests/unit/test_lock_detector.py",
|
||||
"e1c_pilot_secondary_and_e1b_branch": "tests/integration/test_signalsim_e1c_pilot_aided_tracking.py"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
# BOC-aware lock-detector validation
|
||||
|
||||
**LOCK DETECTOR CHATTER CONFIRMED**
|
||||
|
||||
The loops were not retuned. The failure source was the legacy instantaneous `P² / mean(E²,L²)` predicate, which falls to 0.1 at an ideal quarter-chip BOC(1,1) shoulder even though the five-tap energy remains in the central correlation basin.
|
||||
|
||||
Input evidence: 131758308 complex IQ8 samples at 4092000 Hz (32.199 s stored from the 32.2 s configured run), SHA-256 `b38393b32eec2df53f9813ea7ff8f13e5e0fc72fa5cb7fb910a2b8f907a56a6e`.
|
||||
|
||||
Replay: `python tools/compare_e1_tracking_modes.py --config configs/navigation_collection.yaml --output-dir reports/e1_tracking_mode_comparison`
|
||||
|
||||
| PRN | Legacy falls | Corrected falls | Longest corrected lock (s) | DLL RMS during old failures (chips) | Failure P power median | Failure E power median | Failure L power median | Max side metric | Min main coherence | CRC valid/invalid | Ephemeris |
|
||||
| --: | --: | --: | --: | --: | --: | --: | --: | --: | --: | --: | ---: |
|
||||
| 1 | 105 | 0 | 32.124 | 0.085955 | 1.085e+08 | 1.383e+09 | 4.664e+08 | 0.2038 | 0.3402 | 15/0 | True |
|
||||
| 4 | 102 | 0 | 32.124 | 0.085628 | 1.090e+08 | 1.400e+09 | 4.570e+08 | 0.2125 | 0.3171 | 15/0 | True |
|
||||
| 19 | 28 | 0 | 32.124 | 0.083826 | 1.041e+08 | 4.950e+08 | 1.419e+09 | 0.2139 | 0.3097 | 15/0 | True |
|
||||
| 21 | 53 | 0 | 32.124 | 0.084246 | 1.112e+08 | 4.856e+08 | 1.409e+09 | 0.2127 | 0.3047 | 15/0 | True |
|
||||
| 27 | 109 | 0 | 32.124 | 0.085802 | 1.167e+08 | 4.780e+08 | 1.323e+09 | 0.1599 | 0.5220 | 15/0 | True |
|
||||
|
||||
Total legacy/corrected falling edges: **397/0**.
|
||||
Navigation result: **75/75 CRC-valid pages**, 5 complete ephemerides.
|
||||
|
||||
Each PRN artifact directory contains the complete double-precision measurement NPZ, a CSV row for every legacy falling edge, and a six-panel plot with old metric, corrected BOC metrics, VE/E/P/L/VL powers, PLL/DLL errors, NCOs, C/N0, and transition markers.
|
||||
|
||||
The observed smoothed outer/central metric and coherent tap-sign metric remain in the calibrated central basin during the legacy failures. Thus none was a main-to-side-peak transition. Synthetic +/-0.5-chip negative Prompt sidelobes and sustained outer-tap dominance both clear lock after debounce; zero-signal input clears signal presence and code lock. Invalid and incomplete integrations cannot seed the smoothing window.
|
||||
|
||||
Two E1B phase-jump candidates (PRN 1 and 4) were recorded by the pre-existing one-epoch cycle-slip candidate test; neither coincided with NCO divergence, a discontinuity, CRC loss, or corrected code-lock loss. E1C-aided tracking recorded zero such candidates. They are reported rather than silently discarded.
|
||||
|
||||
See `boc11_correlation_and_lock_metrics.png` in the comparison report and per-PRN `tracking_lock_diagnostics.png` under `verification/navigation/signalsim_navigation_multisat_e1b_only/`.
|
||||
|
After Width: | Height: | Size: 320 KiB |
@@ -0,0 +1,338 @@
|
||||
{
|
||||
"modes": {
|
||||
"e1b_only": {
|
||||
"navigation_ready": true,
|
||||
"satellites": {
|
||||
"1": {
|
||||
"prn": 1,
|
||||
"legacy_code_lock_falling_edges": 105,
|
||||
"boc_aware_code_lock_falling_edges": 0,
|
||||
"longest_boc_aware_code_lock_s": 32.124,
|
||||
"pll_error_rms_rad": 0.08022448736431988,
|
||||
"dll_error_rms_chips": 0.056473751245269044,
|
||||
"cn0_median_db_hz": 46.870552785374464,
|
||||
"cycle_slips": 1,
|
||||
"sample_discontinuities": 0,
|
||||
"raw_navigation_symbols": 8044,
|
||||
"crc_valid_pages": 15,
|
||||
"crc_invalid_pages": 0,
|
||||
"complete_ephemeris": true,
|
||||
"secondary_code_sync": null
|
||||
},
|
||||
"4": {
|
||||
"prn": 4,
|
||||
"legacy_code_lock_falling_edges": 102,
|
||||
"boc_aware_code_lock_falling_edges": 0,
|
||||
"longest_boc_aware_code_lock_s": 32.124,
|
||||
"pll_error_rms_rad": 0.08339194913655366,
|
||||
"dll_error_rms_chips": 0.05755699775579458,
|
||||
"cn0_median_db_hz": 46.629410476651934,
|
||||
"cycle_slips": 1,
|
||||
"sample_discontinuities": 0,
|
||||
"raw_navigation_symbols": 8044,
|
||||
"crc_valid_pages": 15,
|
||||
"crc_invalid_pages": 0,
|
||||
"complete_ephemeris": true,
|
||||
"secondary_code_sync": null
|
||||
},
|
||||
"19": {
|
||||
"prn": 19,
|
||||
"legacy_code_lock_falling_edges": 28,
|
||||
"boc_aware_code_lock_falling_edges": 0,
|
||||
"longest_boc_aware_code_lock_s": 32.124,
|
||||
"pll_error_rms_rad": 0.09139711767212633,
|
||||
"dll_error_rms_chips": 0.056352156142962954,
|
||||
"cn0_median_db_hz": 47.38005914259544,
|
||||
"cycle_slips": 0,
|
||||
"sample_discontinuities": 0,
|
||||
"raw_navigation_symbols": 8044,
|
||||
"crc_valid_pages": 15,
|
||||
"crc_invalid_pages": 0,
|
||||
"complete_ephemeris": true,
|
||||
"secondary_code_sync": null
|
||||
},
|
||||
"21": {
|
||||
"prn": 21,
|
||||
"legacy_code_lock_falling_edges": 53,
|
||||
"boc_aware_code_lock_falling_edges": 0,
|
||||
"longest_boc_aware_code_lock_s": 32.124,
|
||||
"pll_error_rms_rad": 0.08461586517746887,
|
||||
"dll_error_rms_chips": 0.05604235022384973,
|
||||
"cn0_median_db_hz": 47.6095854731344,
|
||||
"cycle_slips": 0,
|
||||
"sample_discontinuities": 0,
|
||||
"raw_navigation_symbols": 8044,
|
||||
"crc_valid_pages": 15,
|
||||
"crc_invalid_pages": 0,
|
||||
"complete_ephemeris": true,
|
||||
"secondary_code_sync": null
|
||||
},
|
||||
"27": {
|
||||
"prn": 27,
|
||||
"legacy_code_lock_falling_edges": 109,
|
||||
"boc_aware_code_lock_falling_edges": 0,
|
||||
"longest_boc_aware_code_lock_s": 32.124,
|
||||
"pll_error_rms_rad": 0.07824456217725519,
|
||||
"dll_error_rms_chips": 0.05833383960144811,
|
||||
"cn0_median_db_hz": 46.09243167825323,
|
||||
"cycle_slips": 0,
|
||||
"sample_discontinuities": 0,
|
||||
"raw_navigation_symbols": 8044,
|
||||
"crc_valid_pages": 15,
|
||||
"crc_invalid_pages": 0,
|
||||
"complete_ephemeris": true,
|
||||
"secondary_code_sync": null
|
||||
}
|
||||
},
|
||||
"total_crc_valid_pages": 75,
|
||||
"complete_ephemerides": 5
|
||||
},
|
||||
"e1c_pilot_aided_e1b": {
|
||||
"navigation_ready": true,
|
||||
"satellites": {
|
||||
"1": {
|
||||
"prn": 1,
|
||||
"legacy_code_lock_falling_edges": 102,
|
||||
"boc_aware_code_lock_falling_edges": 0,
|
||||
"longest_boc_aware_code_lock_s": 32.124,
|
||||
"pll_error_rms_rad": 0.07859984972937414,
|
||||
"dll_error_rms_chips": 0.056565003221219566,
|
||||
"cn0_median_db_hz": 46.94012968974618,
|
||||
"cycle_slips": 0,
|
||||
"sample_discontinuities": 0,
|
||||
"raw_navigation_symbols": 8044,
|
||||
"crc_valid_pages": 15,
|
||||
"crc_invalid_pages": 0,
|
||||
"complete_ephemeris": true,
|
||||
"secondary_code_sync": {
|
||||
"phase": 10,
|
||||
"residual_frequency_hz": 59.5,
|
||||
"normalized_correlation": 0.9941599620460754,
|
||||
"compared_periods": 100,
|
||||
"sign_errors": 0
|
||||
}
|
||||
},
|
||||
"4": {
|
||||
"prn": 4,
|
||||
"legacy_code_lock_falling_edges": 110,
|
||||
"boc_aware_code_lock_falling_edges": 0,
|
||||
"longest_boc_aware_code_lock_s": 32.124,
|
||||
"pll_error_rms_rad": 0.08218993802219834,
|
||||
"dll_error_rms_chips": 0.05809960919771263,
|
||||
"cn0_median_db_hz": 46.40741068588617,
|
||||
"cycle_slips": 0,
|
||||
"sample_discontinuities": 0,
|
||||
"raw_navigation_symbols": 8044,
|
||||
"crc_valid_pages": 15,
|
||||
"crc_invalid_pages": 0,
|
||||
"complete_ephemeris": true,
|
||||
"secondary_code_sync": {
|
||||
"phase": 9,
|
||||
"residual_frequency_hz": -62.5,
|
||||
"normalized_correlation": 0.9860075818874949,
|
||||
"compared_periods": 100,
|
||||
"sign_errors": 0
|
||||
}
|
||||
},
|
||||
"19": {
|
||||
"prn": 19,
|
||||
"legacy_code_lock_falling_edges": 31,
|
||||
"boc_aware_code_lock_falling_edges": 0,
|
||||
"longest_boc_aware_code_lock_s": 32.124,
|
||||
"pll_error_rms_rad": 0.08798351512883444,
|
||||
"dll_error_rms_chips": 0.05665648411462819,
|
||||
"cn0_median_db_hz": 47.306377947072626,
|
||||
"cycle_slips": 0,
|
||||
"sample_discontinuities": 0,
|
||||
"raw_navigation_symbols": 8044,
|
||||
"crc_valid_pages": 15,
|
||||
"crc_invalid_pages": 0,
|
||||
"complete_ephemeris": true,
|
||||
"secondary_code_sync": {
|
||||
"phase": 11,
|
||||
"residual_frequency_hz": -38.5,
|
||||
"normalized_correlation": 0.9953855496694146,
|
||||
"compared_periods": 100,
|
||||
"sign_errors": 0
|
||||
}
|
||||
},
|
||||
"21": {
|
||||
"prn": 21,
|
||||
"legacy_code_lock_falling_edges": 51,
|
||||
"boc_aware_code_lock_falling_edges": 0,
|
||||
"longest_boc_aware_code_lock_s": 32.124,
|
||||
"pll_error_rms_rad": 0.08950722912725978,
|
||||
"dll_error_rms_chips": 0.056152318470159265,
|
||||
"cn0_median_db_hz": 47.64003907257697,
|
||||
"cycle_slips": 0,
|
||||
"sample_discontinuities": 0,
|
||||
"raw_navigation_symbols": 8044,
|
||||
"crc_valid_pages": 15,
|
||||
"crc_invalid_pages": 0,
|
||||
"complete_ephemeris": true,
|
||||
"secondary_code_sync": {
|
||||
"phase": 11,
|
||||
"residual_frequency_hz": 37.5,
|
||||
"normalized_correlation": 0.9856821042522145,
|
||||
"compared_periods": 100,
|
||||
"sign_errors": 0
|
||||
}
|
||||
},
|
||||
"27": {
|
||||
"prn": 27,
|
||||
"legacy_code_lock_falling_edges": 122,
|
||||
"boc_aware_code_lock_falling_edges": 0,
|
||||
"longest_boc_aware_code_lock_s": 32.124,
|
||||
"pll_error_rms_rad": 0.0768043956210642,
|
||||
"dll_error_rms_chips": 0.057805622538207146,
|
||||
"cn0_median_db_hz": 45.94570799038448,
|
||||
"cycle_slips": 0,
|
||||
"sample_discontinuities": 0,
|
||||
"raw_navigation_symbols": 8044,
|
||||
"crc_valid_pages": 15,
|
||||
"crc_invalid_pages": 0,
|
||||
"complete_ephemeris": true,
|
||||
"secondary_code_sync": {
|
||||
"phase": 8,
|
||||
"residual_frequency_hz": 36.5,
|
||||
"normalized_correlation": 0.996052910867296,
|
||||
"compared_periods": 100,
|
||||
"sign_errors": 0
|
||||
}
|
||||
}
|
||||
},
|
||||
"total_crc_valid_pages": 75,
|
||||
"complete_ephemerides": 5
|
||||
}
|
||||
},
|
||||
"prns": [
|
||||
1,
|
||||
4,
|
||||
19,
|
||||
21,
|
||||
27
|
||||
],
|
||||
"boc11_calibration_points": {
|
||||
"-0.75": {
|
||||
"very_early_amplitude": 0.0,
|
||||
"very_early_power": 0.0,
|
||||
"early_amplitude": 0.0,
|
||||
"early_power": 0.0,
|
||||
"prompt_amplitude": -0.25,
|
||||
"prompt_power": 0.0625,
|
||||
"late_amplitude": -0.5,
|
||||
"late_power": 0.25,
|
||||
"very_late_amplitude": 1.0,
|
||||
"very_late_power": 1.0,
|
||||
"legacy_prompt_el_ratio": 0.5,
|
||||
"main_peak_fraction": 0.23809523809523808,
|
||||
"side_peak_ratio": 3.2,
|
||||
"main_peak_coherence": 1.0
|
||||
},
|
||||
"-0.50": {
|
||||
"very_early_amplitude": 0.0,
|
||||
"very_early_power": 0.0,
|
||||
"early_amplitude": -0.25,
|
||||
"early_power": 0.0625,
|
||||
"prompt_amplitude": -0.5,
|
||||
"prompt_power": 0.25,
|
||||
"late_amplitude": 0.25,
|
||||
"late_power": 0.0625,
|
||||
"very_late_amplitude": 0.25,
|
||||
"very_late_power": 0.0625,
|
||||
"legacy_prompt_el_ratio": 4.0,
|
||||
"main_peak_fraction": 0.8571428571428571,
|
||||
"side_peak_ratio": 0.16666666666666666,
|
||||
"main_peak_coherence": -0.0
|
||||
},
|
||||
"-0.25": {
|
||||
"very_early_amplitude": 0.0,
|
||||
"very_early_power": 0.0,
|
||||
"early_amplitude": -0.5,
|
||||
"early_power": 0.25,
|
||||
"prompt_amplitude": 0.25,
|
||||
"prompt_power": 0.0625,
|
||||
"late_amplitude": 1.0,
|
||||
"late_power": 1.0,
|
||||
"very_late_amplitude": -0.5,
|
||||
"very_late_power": 0.25,
|
||||
"legacy_prompt_el_ratio": 0.1,
|
||||
"main_peak_fraction": 0.84,
|
||||
"side_peak_ratio": 0.19047619047619047,
|
||||
"main_peak_coherence": 0.3333333333333333
|
||||
},
|
||||
"+0.00": {
|
||||
"very_early_amplitude": -0.25,
|
||||
"very_early_power": 0.0625,
|
||||
"early_amplitude": 0.25,
|
||||
"early_power": 0.0625,
|
||||
"prompt_amplitude": 1.0,
|
||||
"prompt_power": 1.0,
|
||||
"late_amplitude": 0.25,
|
||||
"late_power": 0.0625,
|
||||
"very_late_amplitude": -0.25,
|
||||
"very_late_power": 0.0625,
|
||||
"legacy_prompt_el_ratio": 16.0,
|
||||
"main_peak_fraction": 0.9,
|
||||
"side_peak_ratio": 0.05555555555555555,
|
||||
"main_peak_coherence": 1.0
|
||||
},
|
||||
"+0.25": {
|
||||
"very_early_amplitude": -0.5,
|
||||
"very_early_power": 0.25,
|
||||
"early_amplitude": 1.0,
|
||||
"early_power": 1.0,
|
||||
"prompt_amplitude": 0.25,
|
||||
"prompt_power": 0.0625,
|
||||
"late_amplitude": -0.5,
|
||||
"late_power": 0.25,
|
||||
"very_late_amplitude": 0.0,
|
||||
"very_late_power": 0.0,
|
||||
"legacy_prompt_el_ratio": 0.1,
|
||||
"main_peak_fraction": 0.84,
|
||||
"side_peak_ratio": 0.19047619047619047,
|
||||
"main_peak_coherence": 0.3333333333333333
|
||||
},
|
||||
"+0.50": {
|
||||
"very_early_amplitude": 0.25,
|
||||
"very_early_power": 0.0625,
|
||||
"early_amplitude": 0.25,
|
||||
"early_power": 0.0625,
|
||||
"prompt_amplitude": -0.5,
|
||||
"prompt_power": 0.25,
|
||||
"late_amplitude": -0.25,
|
||||
"late_power": 0.0625,
|
||||
"very_late_amplitude": 0.0,
|
||||
"very_late_power": 0.0,
|
||||
"legacy_prompt_el_ratio": 4.0,
|
||||
"main_peak_fraction": 0.8571428571428571,
|
||||
"side_peak_ratio": 0.16666666666666666,
|
||||
"main_peak_coherence": -0.0
|
||||
},
|
||||
"+0.75": {
|
||||
"very_early_amplitude": 1.0,
|
||||
"very_early_power": 1.0,
|
||||
"early_amplitude": -0.5,
|
||||
"early_power": 0.25,
|
||||
"prompt_amplitude": -0.25,
|
||||
"prompt_power": 0.0625,
|
||||
"late_amplitude": 0.0,
|
||||
"late_power": 0.0,
|
||||
"very_late_amplitude": 0.0,
|
||||
"very_late_power": 0.0,
|
||||
"legacy_prompt_el_ratio": 0.5,
|
||||
"main_peak_fraction": 0.23809523809523808,
|
||||
"side_peak_ratio": 3.2,
|
||||
"main_peak_coherence": 1.0
|
||||
}
|
||||
},
|
||||
"all_navigation_ready": true,
|
||||
"input": {
|
||||
"sample_file": "/home/onur/Desktop/galileo/verification/vectors/signalsim/navigation_multisat/navigation_multisat_iq8.bin",
|
||||
"sample_sha256": "b38393b32eec2df53f9813ea7ff8f13e5e0fc72fa5cb7fb910a2b8f907a56a6e",
|
||||
"complex_sample_count": 131758308,
|
||||
"sampling_frequency_hz": 4092000.0,
|
||||
"stored_duration_s": 32.199,
|
||||
"configured_duration_s": 32.2
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
# Corrected BOC lock and E1 tracking architecture comparison
|
||||
|
||||
Both modes consume the same SignalSim IQ8 vector configured for 32.2 s. The file contains 131758308 complex samples (32.199 s at 4092000 Hz), so the stored vector is exactly 1 ms shorter than the requested duration. The E1C mode uses E1C acquisition, secondary-code synchronization/wipeoff, and pilot loop states; only its separate E1B Prompt branch enters I/NAV decoding.
|
||||
|
||||
| Mode | PRN | Legacy falls | Corrected falls | Longest lock (s) | PLL RMS (rad) | DLL RMS (chips) | C/N0 (dB-Hz) | Slip candidates | Discontinuities | Secondary corr. | Symbols | CRC pages | Ephemeris |
|
||||
| --- | --: | --: | --: | --: | --: | --: | --: | --: | --: | --: | --: | --: | ---: |
|
||||
| e1b_only | 1 | 105 | 0 | 32.124 | 0.080224 | 0.056474 | 46.871 | 1 | 0 | - | 8044 | 15 | True |
|
||||
| e1b_only | 4 | 102 | 0 | 32.124 | 0.083392 | 0.057557 | 46.629 | 1 | 0 | - | 8044 | 15 | True |
|
||||
| e1b_only | 19 | 28 | 0 | 32.124 | 0.091397 | 0.056352 | 47.380 | 0 | 0 | - | 8044 | 15 | True |
|
||||
| e1b_only | 21 | 53 | 0 | 32.124 | 0.084616 | 0.056042 | 47.610 | 0 | 0 | - | 8044 | 15 | True |
|
||||
| e1b_only | 27 | 109 | 0 | 32.124 | 0.078245 | 0.058334 | 46.092 | 0 | 0 | - | 8044 | 15 | True |
|
||||
| e1c_pilot_aided_e1b | 1 | 102 | 0 | 32.124 | 0.078600 | 0.056565 | 46.940 | 0 | 0 | 0.9942 | 8044 | 15 | True |
|
||||
| e1c_pilot_aided_e1b | 4 | 110 | 0 | 32.124 | 0.082190 | 0.058100 | 46.407 | 0 | 0 | 0.9860 | 8044 | 15 | True |
|
||||
| e1c_pilot_aided_e1b | 19 | 31 | 0 | 32.124 | 0.087984 | 0.056656 | 47.306 | 0 | 0 | 0.9954 | 8044 | 15 | True |
|
||||
| e1c_pilot_aided_e1b | 21 | 51 | 0 | 32.124 | 0.089507 | 0.056152 | 47.640 | 0 | 0 | 0.9857 | 8044 | 15 | True |
|
||||
| e1c_pilot_aided_e1b | 27 | 122 | 0 | 32.124 | 0.076804 | 0.057806 | 45.946 | 0 | 0 | 0.9961 | 8044 | 15 | True |
|
||||
|
||||
All navigation readiness gates passed: **True**.
|
||||
|
After Width: | Height: | Size: 116 KiB |
@@ -0,0 +1,801 @@
|
||||
{
|
||||
"decoder_truth_inputs": [],
|
||||
"tracking_architecture": "e1b_only",
|
||||
"icd": "Galileo OS SIS ICD Issue 2.2, November 2025",
|
||||
"signalsim_commit": "80b262113e77c4482ca9f5cbfef9bcada402ed28",
|
||||
"sample_file": "/home/onur/Desktop/galileo/verification/vectors/signalsim/navigation_multisat/navigation_multisat_iq8.bin",
|
||||
"sample_sha256": "b38393b32eec2df53f9813ea7ff8f13e5e0fc72fa5cb7fb910a2b8f907a56a6e",
|
||||
"sample_count": 131758308,
|
||||
"sampling_frequency_hz": 4092000.0,
|
||||
"intermediate_frequency_hz": 1023000.0,
|
||||
"satellites": {
|
||||
"1": {
|
||||
"prn": 1,
|
||||
"tracking_architecture": "e1b_only",
|
||||
"acquisition_component": "E1B",
|
||||
"acquisition_detected": true,
|
||||
"acquisition_time_s": 0.10830689100112068,
|
||||
"raw_doppler_hz": 1750.0,
|
||||
"expected_doppler_hz": 1828.0,
|
||||
"start_sample_timestamp": 90995,
|
||||
"tracking_epoch_count": 16088,
|
||||
"tracking_time_s": 14.402149740999448,
|
||||
"tracking_final_state": "PLL_TRACK",
|
||||
"tracking_reacquisition_requests": 0,
|
||||
"tracking_lock_timestamp": 369251,
|
||||
"prompt_epoch_count": 8044,
|
||||
"valid_prompt_epoch_count": 8044,
|
||||
"invalid_prompt_epoch_count": 0,
|
||||
"cycle_slips": 1,
|
||||
"sample_discontinuities": 0,
|
||||
"raw_navigation_symbol_count": 8044,
|
||||
"first_synchronized_symbol_timestamp": 4428515,
|
||||
"first_page_sync_timestamp": 4428515,
|
||||
"first_crc_valid_page_timestamp": 4428515,
|
||||
"page_parts": 31,
|
||||
"pages": 15,
|
||||
"crc_passes": 15,
|
||||
"crc_failures": 0,
|
||||
"fec_failures": 0,
|
||||
"received_word_types": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4,
|
||||
5,
|
||||
6
|
||||
],
|
||||
"missing_ephemeris_word_types": [],
|
||||
"complete_ephemeris": true,
|
||||
"ephemeris_iod_nav": 29,
|
||||
"first_complete_ephemeris_timestamp": 61716515,
|
||||
"clock_parameters": true,
|
||||
"health_valid": true,
|
||||
"data_valid": true,
|
||||
"decoding_time_s": 1.3377819750021445,
|
||||
"secondary_code_sync": null,
|
||||
"lock_analysis": {
|
||||
"prn": 1,
|
||||
"epochs": 16088,
|
||||
"integration_ms": 2.0,
|
||||
"start_sample_timestamp": 90995,
|
||||
"end_sample_timestamp": 131755187,
|
||||
"raw_carrier_lock_pass_epochs": 16053,
|
||||
"raw_code_lock_pass_epochs": 15581,
|
||||
"raw_combined_lock_pass_epochs": 15561,
|
||||
"raw_combined_lock_fail_epochs": 527,
|
||||
"false_transition_count": 111,
|
||||
"legacy_code_lock_falling_edges": 105,
|
||||
"boc_aware_code_lock_falling_edges": 0,
|
||||
"boc_aware_metric_valid_epochs": 16064,
|
||||
"boc_aware_code_lock_pass_epochs": 16062,
|
||||
"boc_aware_combined_lock_pass_epochs": 16055,
|
||||
"boc_aware_longest_code_lock_s": 32.124,
|
||||
"boc_side_peak_suspected_epochs": 0,
|
||||
"carrier_metric_caused_transitions": 7,
|
||||
"code_metric_caused_transitions": 105,
|
||||
"symbol_transition_coincident_false_transitions": 25,
|
||||
"cycle_slips": 1,
|
||||
"sample_discontinuities": 0,
|
||||
"cn0_unavailable_false_transitions": 2,
|
||||
"false_run_count": 112,
|
||||
"single_epoch_false_runs": 39,
|
||||
"maximum_false_run_epochs": 49,
|
||||
"maximum_false_run_ms": 98.0,
|
||||
"maximum_continuous_raw_lock_epochs": 527,
|
||||
"maximum_continuous_raw_lock_s": 1.054,
|
||||
"carrier_metric_percentiles": {
|
||||
"1": 0.924754620433948,
|
||||
"5": 0.9885487615596471,
|
||||
"50": 0.9988920935338705,
|
||||
"95": 0.999988889095012,
|
||||
"99": 0.9999995126772309
|
||||
},
|
||||
"code_metric_percentiles": {
|
||||
"1": 0.08551747376691506,
|
||||
"5": 8.93110718797863,
|
||||
"50": 14.284296796423222,
|
||||
"95": 20.964203945365327,
|
||||
"99": 25.01283950305672
|
||||
},
|
||||
"boc_main_peak_fraction_percentiles": {
|
||||
"1": 0.8459457202588582,
|
||||
"5": 0.8743060376964639,
|
||||
"50": 0.8893911166731225,
|
||||
"95": 0.8991623523366161,
|
||||
"99": 0.9030265243663507
|
||||
},
|
||||
"boc_side_peak_metric_percentiles": {
|
||||
"1": 0.05558653630324674,
|
||||
"5": 0.05810940234394848,
|
||||
"50": 0.06563094730036426,
|
||||
"95": 0.08861816884470392,
|
||||
"99": 0.15873840916919643
|
||||
},
|
||||
"boc_main_peak_coherence_percentiles": {
|
||||
"1": 0.5697390611615102,
|
||||
"5": 0.8854239302839105,
|
||||
"50": 0.968031049010735,
|
||||
"95": 0.9797568799767267,
|
||||
"99": 0.9829484849900356
|
||||
},
|
||||
"legacy_code_metric_failure_behavior": {
|
||||
"epochs": 419,
|
||||
"dll_error_rms_chips": 0.08595496042669856,
|
||||
"dll_error_p99_abs_chips": 0.12241806445109668,
|
||||
"code_phase_residual_rms_chips": 14.36062232244801,
|
||||
"code_phase_residual_p99_abs_chips": 18.53252004246325,
|
||||
"prompt_power_median": 108501744.67290671,
|
||||
"early_power_median": 1382974759.31233,
|
||||
"late_power_median": 466361919.31117284,
|
||||
"very_early_power_median": 307844457.5642177,
|
||||
"very_late_power_median": 19056312.68379797,
|
||||
"boc_main_peak_fraction_min": 0.8248937085423966,
|
||||
"boc_side_peak_metric_max": 0.20376990864112443,
|
||||
"boc_main_peak_coherence_min": 0.34017817990919674
|
||||
},
|
||||
"legacy_code_metric_pass_behavior": {
|
||||
"epochs": 15420,
|
||||
"dll_error_rms_chips": 0.055454377972535635,
|
||||
"dll_error_p99_abs_chips": 0.15667600596267559,
|
||||
"code_phase_residual_rms_chips": 10.71701633330231,
|
||||
"code_phase_residual_p99_abs_chips": 18.663546673635288,
|
||||
"prompt_power_median": 1562883727.251472,
|
||||
"early_power_median": 103811805.97523968,
|
||||
"late_power_median": 104290812.8808927,
|
||||
"very_early_power_median": 103614117.47072616,
|
||||
"very_late_power_median": 103958458.73893663,
|
||||
"boc_main_peak_fraction_min": 0.8309234034145184,
|
||||
"boc_side_peak_metric_max": 0.19490409504935216,
|
||||
"boc_main_peak_coherence_min": 0.36173522031393907
|
||||
},
|
||||
"post_pull_in": {
|
||||
"pll_error_rms_rad": 0.08022448736431988,
|
||||
"pll_error_p99_abs_rad": 0.2319123841425817,
|
||||
"dll_error_rms_chips": 0.056473751245269044,
|
||||
"dll_error_p99_abs_chips": 0.155824404099305,
|
||||
"carrier_frequency_min_hz": 1024809.2483042779,
|
||||
"carrier_frequency_max_hz": 1024835.6971803386,
|
||||
"carrier_frequency_last_minus_first_hz": -11.414587492239662,
|
||||
"code_frequency_min_hz": 1023000.5244676823,
|
||||
"code_frequency_max_hz": 1023001.8449177502,
|
||||
"code_frequency_last_minus_first_hz": 0.11072196869645268,
|
||||
"cn0_median_db_hz": 46.870552785374464,
|
||||
"cn0_min_db_hz": 30.52229207847659
|
||||
}
|
||||
}
|
||||
},
|
||||
"4": {
|
||||
"prn": 4,
|
||||
"tracking_architecture": "e1b_only",
|
||||
"acquisition_component": "E1B",
|
||||
"acquisition_detected": true,
|
||||
"acquisition_time_s": 0.0816367379957228,
|
||||
"raw_doppler_hz": 2250.0,
|
||||
"expected_doppler_hz": 2171.0,
|
||||
"start_sample_timestamp": 86819,
|
||||
"tracking_epoch_count": 16088,
|
||||
"tracking_time_s": 14.430910755996592,
|
||||
"tracking_final_state": "PLL_TRACK",
|
||||
"tracking_reacquisition_requests": 0,
|
||||
"tracking_lock_timestamp": 307787,
|
||||
"prompt_epoch_count": 8044,
|
||||
"valid_prompt_epoch_count": 8044,
|
||||
"invalid_prompt_epoch_count": 0,
|
||||
"cycle_slips": 1,
|
||||
"sample_discontinuities": 0,
|
||||
"raw_navigation_symbol_count": 8044,
|
||||
"first_synchronized_symbol_timestamp": 4440707,
|
||||
"first_page_sync_timestamp": 4440707,
|
||||
"first_crc_valid_page_timestamp": 4440707,
|
||||
"page_parts": 31,
|
||||
"pages": 15,
|
||||
"crc_passes": 15,
|
||||
"crc_failures": 0,
|
||||
"fec_failures": 0,
|
||||
"received_word_types": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4,
|
||||
5,
|
||||
6
|
||||
],
|
||||
"missing_ephemeris_word_types": [],
|
||||
"complete_ephemeris": true,
|
||||
"ephemeris_iod_nav": 30,
|
||||
"first_complete_ephemeris_timestamp": 61728707,
|
||||
"clock_parameters": true,
|
||||
"health_valid": true,
|
||||
"data_valid": true,
|
||||
"decoding_time_s": 1.2749508049964788,
|
||||
"secondary_code_sync": null,
|
||||
"lock_analysis": {
|
||||
"prn": 4,
|
||||
"epochs": 16088,
|
||||
"integration_ms": 2.0,
|
||||
"start_sample_timestamp": 86819,
|
||||
"end_sample_timestamp": 131751011,
|
||||
"raw_carrier_lock_pass_epochs": 16046,
|
||||
"raw_code_lock_pass_epochs": 15341,
|
||||
"raw_combined_lock_pass_epochs": 15333,
|
||||
"raw_combined_lock_fail_epochs": 755,
|
||||
"false_transition_count": 103,
|
||||
"legacy_code_lock_falling_edges": 102,
|
||||
"boc_aware_code_lock_falling_edges": 0,
|
||||
"boc_aware_metric_valid_epochs": 16064,
|
||||
"boc_aware_code_lock_pass_epochs": 16062,
|
||||
"boc_aware_combined_lock_pass_epochs": 16062,
|
||||
"boc_aware_longest_code_lock_s": 32.124,
|
||||
"boc_side_peak_suspected_epochs": 0,
|
||||
"carrier_metric_caused_transitions": 2,
|
||||
"code_metric_caused_transitions": 101,
|
||||
"symbol_transition_coincident_false_transitions": 16,
|
||||
"cycle_slips": 1,
|
||||
"sample_discontinuities": 0,
|
||||
"cn0_unavailable_false_transitions": 1,
|
||||
"false_run_count": 104,
|
||||
"single_epoch_false_runs": 44,
|
||||
"maximum_false_run_epochs": 73,
|
||||
"maximum_false_run_ms": 146.0,
|
||||
"maximum_continuous_raw_lock_epochs": 711,
|
||||
"maximum_continuous_raw_lock_s": 1.422,
|
||||
"carrier_metric_percentiles": {
|
||||
"1": 0.9006114811826954,
|
||||
"5": 0.9880196779777404,
|
||||
"50": 0.998917933924071,
|
||||
"95": 0.9999904113075034,
|
||||
"99": 0.9999996323666765
|
||||
},
|
||||
"code_metric_percentiles": {
|
||||
"1": 0.07309672107241362,
|
||||
"5": 1.8395070908641913,
|
||||
"50": 14.232888120404398,
|
||||
"95": 20.753241348914994,
|
||||
"99": 24.700549594083974
|
||||
},
|
||||
"boc_main_peak_fraction_percentiles": {
|
||||
"1": 0.8369048237646338,
|
||||
"5": 0.8691701944942682,
|
||||
"50": 0.8889001522944426,
|
||||
"95": 0.8990638983460914,
|
||||
"99": 0.9029804777517545
|
||||
},
|
||||
"boc_side_peak_metric_percentiles": {
|
||||
"1": 0.05584529615780422,
|
||||
"5": 0.05849069688921327,
|
||||
"50": 0.06592340648291048,
|
||||
"95": 0.10467028996552871,
|
||||
"99": 0.18648158052062583
|
||||
},
|
||||
"boc_main_peak_coherence_percentiles": {
|
||||
"1": 0.3567737363221064,
|
||||
"5": 0.8179211704762331,
|
||||
"50": 0.9678703955887004,
|
||||
"95": 0.9802584589520537,
|
||||
"99": 0.983359271481221
|
||||
},
|
||||
"legacy_code_metric_failure_behavior": {
|
||||
"epochs": 570,
|
||||
"dll_error_rms_chips": 0.0856283362712608,
|
||||
"dll_error_p99_abs_chips": 0.11934673527382932,
|
||||
"code_phase_residual_rms_chips": 18.0490751133773,
|
||||
"code_phase_residual_p99_abs_chips": 22.013505561931513,
|
||||
"prompt_power_median": 109001732.74343339,
|
||||
"early_power_median": 1400349552.302199,
|
||||
"late_power_median": 456965181.93616223,
|
||||
"very_early_power_median": 326692792.80833435,
|
||||
"very_late_power_median": 17308238.42519528,
|
||||
"boc_main_peak_fraction_min": 0.8206212827432912,
|
||||
"boc_side_peak_metric_max": 0.21247511232075716,
|
||||
"boc_main_peak_coherence_min": 0.3170832361168166
|
||||
},
|
||||
"legacy_code_metric_pass_behavior": {
|
||||
"epochs": 15269,
|
||||
"dll_error_rms_chips": 0.056238434131421364,
|
||||
"dll_error_p99_abs_chips": 0.16003776421021423,
|
||||
"code_phase_residual_rms_chips": 12.648913028517638,
|
||||
"code_phase_residual_p99_abs_chips": 22.225825912676154,
|
||||
"prompt_power_median": 1561549596.45384,
|
||||
"early_power_median": 104409162.05052581,
|
||||
"late_power_median": 103889433.28955534,
|
||||
"very_early_power_median": 104425788.59980236,
|
||||
"very_late_power_median": 103991111.01094447,
|
||||
"boc_main_peak_fraction_min": 0.8222270181579056,
|
||||
"boc_side_peak_metric_max": 0.2095520802570801,
|
||||
"boc_main_peak_coherence_min": 0.34907181516682484
|
||||
},
|
||||
"post_pull_in": {
|
||||
"pll_error_rms_rad": 0.08339194913655366,
|
||||
"pll_error_p99_abs_rad": 0.28066749828951293,
|
||||
"dll_error_rms_chips": 0.05755699775579458,
|
||||
"dll_error_p99_abs_chips": 0.15855664425855148,
|
||||
"carrier_frequency_min_hz": 1025162.3551379391,
|
||||
"carrier_frequency_max_hz": 1025184.484426808,
|
||||
"carrier_frequency_last_minus_first_hz": -4.571598100825213,
|
||||
"code_frequency_min_hz": 1023000.7643501132,
|
||||
"code_frequency_max_hz": 1023002.1426815203,
|
||||
"code_frequency_last_minus_first_hz": -0.09867795300669968,
|
||||
"cn0_median_db_hz": 46.629410476651934,
|
||||
"cn0_min_db_hz": 29.640332876174572
|
||||
}
|
||||
}
|
||||
},
|
||||
"19": {
|
||||
"prn": 19,
|
||||
"tracking_architecture": "e1b_only",
|
||||
"acquisition_component": "E1B",
|
||||
"acquisition_detected": true,
|
||||
"acquisition_time_s": 0.083444698000676,
|
||||
"raw_doppler_hz": -250.0,
|
||||
"expected_doppler_hz": -367.0,
|
||||
"start_sample_timestamp": 87566,
|
||||
"tracking_epoch_count": 16088,
|
||||
"tracking_time_s": 14.574368724999658,
|
||||
"tracking_final_state": "PLL_TRACK",
|
||||
"tracking_reacquisition_requests": 0,
|
||||
"tracking_lock_timestamp": 308534,
|
||||
"prompt_epoch_count": 8044,
|
||||
"valid_prompt_epoch_count": 8044,
|
||||
"invalid_prompt_epoch_count": 0,
|
||||
"cycle_slips": 0,
|
||||
"sample_discontinuities": 0,
|
||||
"raw_navigation_symbol_count": 8044,
|
||||
"first_synchronized_symbol_timestamp": 4408718,
|
||||
"first_page_sync_timestamp": 4408718,
|
||||
"first_crc_valid_page_timestamp": 4408718,
|
||||
"page_parts": 31,
|
||||
"pages": 15,
|
||||
"crc_passes": 15,
|
||||
"crc_failures": 0,
|
||||
"fec_failures": 0,
|
||||
"received_word_types": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4,
|
||||
5,
|
||||
6
|
||||
],
|
||||
"missing_ephemeris_word_types": [],
|
||||
"complete_ephemeris": true,
|
||||
"ephemeris_iod_nav": 29,
|
||||
"first_complete_ephemeris_timestamp": 61696718,
|
||||
"clock_parameters": true,
|
||||
"health_valid": true,
|
||||
"data_valid": true,
|
||||
"decoding_time_s": 1.2817934039994725,
|
||||
"secondary_code_sync": null,
|
||||
"lock_analysis": {
|
||||
"prn": 19,
|
||||
"epochs": 16088,
|
||||
"integration_ms": 2.0,
|
||||
"start_sample_timestamp": 87566,
|
||||
"end_sample_timestamp": 131751758,
|
||||
"raw_carrier_lock_pass_epochs": 16047,
|
||||
"raw_code_lock_pass_epochs": 15074,
|
||||
"raw_combined_lock_pass_epochs": 15059,
|
||||
"raw_combined_lock_fail_epochs": 1029,
|
||||
"false_transition_count": 32,
|
||||
"legacy_code_lock_falling_edges": 28,
|
||||
"boc_aware_code_lock_falling_edges": 0,
|
||||
"boc_aware_metric_valid_epochs": 16064,
|
||||
"boc_aware_code_lock_pass_epochs": 16062,
|
||||
"boc_aware_combined_lock_pass_epochs": 16062,
|
||||
"boc_aware_longest_code_lock_s": 32.124,
|
||||
"boc_side_peak_suspected_epochs": 0,
|
||||
"carrier_metric_caused_transitions": 5,
|
||||
"code_metric_caused_transitions": 28,
|
||||
"symbol_transition_coincident_false_transitions": 6,
|
||||
"cycle_slips": 0,
|
||||
"sample_discontinuities": 0,
|
||||
"cn0_unavailable_false_transitions": 1,
|
||||
"false_run_count": 33,
|
||||
"single_epoch_false_runs": 3,
|
||||
"maximum_false_run_epochs": 205,
|
||||
"maximum_false_run_ms": 410.0,
|
||||
"maximum_continuous_raw_lock_epochs": 1040,
|
||||
"maximum_continuous_raw_lock_s": 2.08,
|
||||
"carrier_metric_percentiles": {
|
||||
"1": 0.8250788450769927,
|
||||
"5": 0.9855152346445263,
|
||||
"50": 0.9988325017265458,
|
||||
"95": 0.9999904463638747,
|
||||
"99": 0.999999584262411
|
||||
},
|
||||
"code_metric_percentiles": {
|
||||
"1": 0.06293823514347473,
|
||||
"5": 0.15085214771723615,
|
||||
"50": 14.198579206339014,
|
||||
"95": 21.128684737127564,
|
||||
"99": 25.346681809351058
|
||||
},
|
||||
"boc_main_peak_fraction_percentiles": {
|
||||
"1": 0.8309412498197165,
|
||||
"5": 0.848473635110624,
|
||||
"50": 0.889589966801388,
|
||||
"95": 0.8990595913335233,
|
||||
"99": 0.9024111251151156
|
||||
},
|
||||
"boc_side_peak_metric_percentiles": {
|
||||
"1": 0.05577188338791906,
|
||||
"5": 0.05825619631512907,
|
||||
"50": 0.06517459314233992,
|
||||
"95": 0.15546615905984618,
|
||||
"99": 0.19598981895836773
|
||||
},
|
||||
"boc_main_peak_coherence_percentiles": {
|
||||
"1": 0.3254011372143649,
|
||||
"5": 0.5738643256149084,
|
||||
"50": 0.9698973653484377,
|
||||
"95": 0.9808574456656932,
|
||||
"99": 0.9841602630201733
|
||||
},
|
||||
"legacy_code_metric_failure_behavior": {
|
||||
"epochs": 836,
|
||||
"dll_error_rms_chips": 0.08382550491114514,
|
||||
"dll_error_p99_abs_chips": 0.11672054552674169,
|
||||
"code_phase_residual_rms_chips": 2.7550161372072455,
|
||||
"code_phase_residual_p99_abs_chips": 3.9163627824740046,
|
||||
"prompt_power_median": 104126149.50421108,
|
||||
"early_power_median": 494980627.1907859,
|
||||
"late_power_median": 1419480537.7622817,
|
||||
"very_early_power_median": 23356098.258554555,
|
||||
"very_late_power_median": 320909640.2537514,
|
||||
"boc_main_peak_fraction_min": 0.8178550688248921,
|
||||
"boc_side_peak_metric_max": 0.21387662507504698,
|
||||
"boc_main_peak_coherence_min": 0.309749906504684
|
||||
},
|
||||
"legacy_code_metric_pass_behavior": {
|
||||
"epochs": 15003,
|
||||
"dll_error_rms_chips": 0.05441480503429248,
|
||||
"dll_error_p99_abs_chips": 0.14248386733785928,
|
||||
"code_phase_residual_rms_chips": 2.1823469005629192,
|
||||
"code_phase_residual_p99_abs_chips": 3.841100800917238,
|
||||
"prompt_power_median": 1574617462.1943545,
|
||||
"early_power_median": 104240558.74906312,
|
||||
"late_power_median": 104608632.72580688,
|
||||
"very_early_power_median": 104886518.99392597,
|
||||
"very_late_power_median": 104026970.69437188,
|
||||
"boc_main_peak_fraction_min": 0.8311755975651924,
|
||||
"boc_side_peak_metric_max": 0.19705562228004905,
|
||||
"boc_main_peak_coherence_min": 0.33567645683146424
|
||||
},
|
||||
"post_pull_in": {
|
||||
"pll_error_rms_rad": 0.09139711767212633,
|
||||
"pll_error_p99_abs_rad": 0.35414693526447544,
|
||||
"dll_error_rms_chips": 0.056352156142962954,
|
||||
"dll_error_p99_abs_chips": 0.14171859512013438,
|
||||
"carrier_frequency_min_hz": 1022616.0549381182,
|
||||
"carrier_frequency_max_hz": 1022640.4704177197,
|
||||
"carrier_frequency_last_minus_first_hz": -11.655729941674508,
|
||||
"code_frequency_min_hz": 1022999.1533629585,
|
||||
"code_frequency_max_hz": 1023000.4009552913,
|
||||
"code_frequency_last_minus_first_hz": 0.3831741127651185,
|
||||
"cn0_median_db_hz": 47.38005914259544,
|
||||
"cn0_min_db_hz": 28.3661530363324
|
||||
}
|
||||
}
|
||||
},
|
||||
"21": {
|
||||
"prn": 21,
|
||||
"tracking_architecture": "e1b_only",
|
||||
"acquisition_component": "E1B",
|
||||
"acquisition_detected": true,
|
||||
"acquisition_time_s": 0.07547835899458732,
|
||||
"raw_doppler_hz": -750.0,
|
||||
"expected_doppler_hz": -712.0,
|
||||
"start_sample_timestamp": 93628,
|
||||
"tracking_epoch_count": 16088,
|
||||
"tracking_time_s": 14.999443346998305,
|
||||
"tracking_final_state": "PLL_TRACK",
|
||||
"tracking_reacquisition_requests": 0,
|
||||
"tracking_lock_timestamp": 396436,
|
||||
"prompt_epoch_count": 8044,
|
||||
"valid_prompt_epoch_count": 8044,
|
||||
"invalid_prompt_epoch_count": 0,
|
||||
"cycle_slips": 0,
|
||||
"sample_discontinuities": 0,
|
||||
"raw_navigation_symbol_count": 8044,
|
||||
"first_synchronized_symbol_timestamp": 4414780,
|
||||
"first_page_sync_timestamp": 4414780,
|
||||
"first_crc_valid_page_timestamp": 4414780,
|
||||
"page_parts": 31,
|
||||
"pages": 15,
|
||||
"crc_passes": 15,
|
||||
"crc_failures": 0,
|
||||
"fec_failures": 0,
|
||||
"received_word_types": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4,
|
||||
5,
|
||||
6
|
||||
],
|
||||
"missing_ephemeris_word_types": [],
|
||||
"complete_ephemeris": true,
|
||||
"ephemeris_iod_nav": 29,
|
||||
"first_complete_ephemeris_timestamp": 61702780,
|
||||
"clock_parameters": true,
|
||||
"health_valid": true,
|
||||
"data_valid": true,
|
||||
"decoding_time_s": 1.2827165410053567,
|
||||
"secondary_code_sync": null,
|
||||
"lock_analysis": {
|
||||
"prn": 21,
|
||||
"epochs": 16088,
|
||||
"integration_ms": 2.0,
|
||||
"start_sample_timestamp": 93628,
|
||||
"end_sample_timestamp": 131757820,
|
||||
"raw_carrier_lock_pass_epochs": 16041,
|
||||
"raw_code_lock_pass_epochs": 15283,
|
||||
"raw_combined_lock_pass_epochs": 15275,
|
||||
"raw_combined_lock_fail_epochs": 813,
|
||||
"false_transition_count": 55,
|
||||
"legacy_code_lock_falling_edges": 53,
|
||||
"boc_aware_code_lock_falling_edges": 0,
|
||||
"boc_aware_metric_valid_epochs": 16064,
|
||||
"boc_aware_code_lock_pass_epochs": 16062,
|
||||
"boc_aware_combined_lock_pass_epochs": 16052,
|
||||
"boc_aware_longest_code_lock_s": 32.124,
|
||||
"boc_side_peak_suspected_epochs": 0,
|
||||
"carrier_metric_caused_transitions": 2,
|
||||
"code_metric_caused_transitions": 53,
|
||||
"symbol_transition_coincident_false_transitions": 6,
|
||||
"cycle_slips": 0,
|
||||
"sample_discontinuities": 0,
|
||||
"cn0_unavailable_false_transitions": 2,
|
||||
"false_run_count": 55,
|
||||
"single_epoch_false_runs": 4,
|
||||
"maximum_false_run_epochs": 157,
|
||||
"maximum_false_run_ms": 314.0,
|
||||
"maximum_continuous_raw_lock_epochs": 800,
|
||||
"maximum_continuous_raw_lock_s": 1.6,
|
||||
"carrier_metric_percentiles": {
|
||||
"1": 0.9047472439510723,
|
||||
"5": 0.9875935696337723,
|
||||
"50": 0.9988690021482018,
|
||||
"95": 0.9999913344044875,
|
||||
"99": 0.9999997184342263
|
||||
},
|
||||
"code_metric_percentiles": {
|
||||
"1": 0.07122686789715414,
|
||||
"5": 0.48199809747243283,
|
||||
"50": 14.237096884230695,
|
||||
"95": 20.79918594545313,
|
||||
"99": 25.346953045367712
|
||||
},
|
||||
"boc_main_peak_fraction_percentiles": {
|
||||
"1": 0.832632973462268,
|
||||
"5": 0.8641412127478515,
|
||||
"50": 0.8898561018506831,
|
||||
"95": 0.8989597471660353,
|
||||
"99": 0.9026667736908286
|
||||
},
|
||||
"boc_side_peak_metric_percentiles": {
|
||||
"1": 0.05551281831608973,
|
||||
"5": 0.05798460486772076,
|
||||
"50": 0.0649456388053434,
|
||||
"95": 0.11752193418418655,
|
||||
"99": 0.1926831125323308
|
||||
},
|
||||
"boc_main_peak_coherence_percentiles": {
|
||||
"1": 0.3279666024267286,
|
||||
"5": 0.7717814001999667,
|
||||
"50": 0.9697885183838393,
|
||||
"95": 0.981013843149453,
|
||||
"99": 0.9839141652847234
|
||||
},
|
||||
"legacy_code_metric_failure_behavior": {
|
||||
"epochs": 648,
|
||||
"dll_error_rms_chips": 0.08424634662191456,
|
||||
"dll_error_p99_abs_chips": 0.11389992057204788,
|
||||
"code_phase_residual_rms_chips": 5.413591139197087,
|
||||
"code_phase_residual_p99_abs_chips": 7.323643837672498,
|
||||
"prompt_power_median": 111248106.93399511,
|
||||
"early_power_median": 485571773.9336411,
|
||||
"late_power_median": 1409101427.9671085,
|
||||
"very_early_power_median": 22451415.420087457,
|
||||
"very_late_power_median": 329617228.81067777,
|
||||
"boc_main_peak_fraction_min": 0.819938710284846,
|
||||
"boc_side_peak_metric_max": 0.21273197297837107,
|
||||
"boc_main_peak_coherence_min": 0.3046987458565688
|
||||
},
|
||||
"legacy_code_metric_pass_behavior": {
|
||||
"epochs": 15191,
|
||||
"dll_error_rms_chips": 0.05451572831224683,
|
||||
"dll_error_p99_abs_chips": 0.14644158425623585,
|
||||
"code_phase_residual_rms_chips": 4.209875215718045,
|
||||
"code_phase_residual_p99_abs_chips": 7.380953776232491,
|
||||
"prompt_power_median": 1570174203.4927423,
|
||||
"early_power_median": 105114623.37528723,
|
||||
"late_power_median": 104143701.14155619,
|
||||
"very_early_power_median": 104061383.87129441,
|
||||
"very_late_power_median": 104456768.35503499,
|
||||
"boc_main_peak_fraction_min": 0.8188953806005115,
|
||||
"boc_side_peak_metric_max": 0.21372055486034422,
|
||||
"boc_main_peak_coherence_min": 0.33918431088914197
|
||||
},
|
||||
"post_pull_in": {
|
||||
"pll_error_rms_rad": 0.08461586517746887,
|
||||
"pll_error_p99_abs_rad": 0.299612023401952,
|
||||
"dll_error_rms_chips": 0.05604235022384973,
|
||||
"dll_error_p99_abs_chips": 0.14519328115199148,
|
||||
"carrier_frequency_min_hz": 1022270.5221824985,
|
||||
"carrier_frequency_max_hz": 1022293.3561117956,
|
||||
"carrier_frequency_last_minus_first_hz": -12.292378992773592,
|
||||
"code_frequency_min_hz": 1022998.9509105735,
|
||||
"code_frequency_max_hz": 1023000.1469076271,
|
||||
"code_frequency_last_minus_first_hz": 0.3794000932248309,
|
||||
"cn0_median_db_hz": 47.6095854731344,
|
||||
"cn0_min_db_hz": 28.552748009530106
|
||||
}
|
||||
}
|
||||
},
|
||||
"27": {
|
||||
"prn": 27,
|
||||
"tracking_architecture": "e1b_only",
|
||||
"acquisition_component": "E1B",
|
||||
"acquisition_detected": true,
|
||||
"acquisition_time_s": 0.07637914700171677,
|
||||
"raw_doppler_hz": -2750.0,
|
||||
"expected_doppler_hz": -2637.0,
|
||||
"start_sample_timestamp": 88014,
|
||||
"tracking_epoch_count": 16088,
|
||||
"tracking_time_s": 14.562362108001253,
|
||||
"tracking_final_state": "PLL_TRACK",
|
||||
"tracking_reacquisition_requests": 0,
|
||||
"tracking_lock_timestamp": 374454,
|
||||
"prompt_epoch_count": 8044,
|
||||
"valid_prompt_epoch_count": 8044,
|
||||
"invalid_prompt_epoch_count": 0,
|
||||
"cycle_slips": 0,
|
||||
"sample_discontinuities": 0,
|
||||
"raw_navigation_symbol_count": 8044,
|
||||
"first_synchronized_symbol_timestamp": 4458270,
|
||||
"first_page_sync_timestamp": 4458270,
|
||||
"first_crc_valid_page_timestamp": 4458270,
|
||||
"page_parts": 31,
|
||||
"pages": 15,
|
||||
"crc_passes": 15,
|
||||
"crc_failures": 0,
|
||||
"fec_failures": 0,
|
||||
"received_word_types": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4,
|
||||
5,
|
||||
6
|
||||
],
|
||||
"missing_ephemeris_word_types": [],
|
||||
"complete_ephemeris": true,
|
||||
"ephemeris_iod_nav": 29,
|
||||
"first_complete_ephemeris_timestamp": 61746270,
|
||||
"clock_parameters": true,
|
||||
"health_valid": true,
|
||||
"data_valid": true,
|
||||
"decoding_time_s": 1.2438860419933917,
|
||||
"secondary_code_sync": null,
|
||||
"lock_analysis": {
|
||||
"prn": 27,
|
||||
"epochs": 16088,
|
||||
"integration_ms": 2.0,
|
||||
"start_sample_timestamp": 88014,
|
||||
"end_sample_timestamp": 131752206,
|
||||
"raw_carrier_lock_pass_epochs": 16067,
|
||||
"raw_code_lock_pass_epochs": 15658,
|
||||
"raw_combined_lock_pass_epochs": 15639,
|
||||
"raw_combined_lock_fail_epochs": 449,
|
||||
"false_transition_count": 112,
|
||||
"legacy_code_lock_falling_edges": 109,
|
||||
"boc_aware_code_lock_falling_edges": 0,
|
||||
"boc_aware_metric_valid_epochs": 16064,
|
||||
"boc_aware_code_lock_pass_epochs": 16062,
|
||||
"boc_aware_combined_lock_pass_epochs": 16054,
|
||||
"boc_aware_longest_code_lock_s": 32.124,
|
||||
"boc_side_peak_suspected_epochs": 0,
|
||||
"carrier_metric_caused_transitions": 4,
|
||||
"code_metric_caused_transitions": 109,
|
||||
"symbol_transition_coincident_false_transitions": 31,
|
||||
"cycle_slips": 0,
|
||||
"sample_discontinuities": 0,
|
||||
"cn0_unavailable_false_transitions": 1,
|
||||
"false_run_count": 112,
|
||||
"single_epoch_false_runs": 45,
|
||||
"maximum_false_run_epochs": 34,
|
||||
"maximum_false_run_ms": 68.0,
|
||||
"maximum_continuous_raw_lock_epochs": 1164,
|
||||
"maximum_continuous_raw_lock_s": 2.328,
|
||||
"carrier_metric_percentiles": {
|
||||
"1": 0.9315747767603281,
|
||||
"5": 0.9885008456059692,
|
||||
"50": 0.9988940971806233,
|
||||
"95": 0.9999901309240785,
|
||||
"99": 0.9999995888240764
|
||||
},
|
||||
"code_metric_percentiles": {
|
||||
"1": 0.09879609703984188,
|
||||
"5": 9.080471485434053,
|
||||
"50": 14.302504297122677,
|
||||
"95": 20.85778840476877,
|
||||
"99": 25.01093086797165
|
||||
},
|
||||
"boc_main_peak_fraction_percentiles": {
|
||||
"1": 0.8565120438959688,
|
||||
"5": 0.875453126003631,
|
||||
"50": 0.8899896460430916,
|
||||
"95": 0.8997115953950414,
|
||||
"99": 0.9035034846077066
|
||||
},
|
||||
"boc_side_peak_metric_percentiles": {
|
||||
"1": 0.05524704793200052,
|
||||
"5": 0.057713152725854415,
|
||||
"50": 0.06518329408369328,
|
||||
"95": 0.08690914597098019,
|
||||
"99": 0.1314848377470475
|
||||
},
|
||||
"boc_main_peak_coherence_percentiles": {
|
||||
"1": 0.7157764010353866,
|
||||
"5": 0.8866123305319763,
|
||||
"50": 0.966762814273809,
|
||||
"95": 0.9796520676102011,
|
||||
"99": 0.9832116126401708
|
||||
},
|
||||
"legacy_code_metric_failure_behavior": {
|
||||
"epochs": 344,
|
||||
"dll_error_rms_chips": 0.08580174731724177,
|
||||
"dll_error_p99_abs_chips": 0.11904739019023991,
|
||||
"code_phase_residual_rms_chips": 20.756058971087125,
|
||||
"code_phase_residual_p99_abs_chips": 26.772812207727803,
|
||||
"prompt_power_median": 116680356.99560717,
|
||||
"early_power_median": 478044790.6615449,
|
||||
"late_power_median": 1323037640.8633256,
|
||||
"very_early_power_median": 21059764.41682536,
|
||||
"very_late_power_median": 301495191.6249375,
|
||||
"boc_main_peak_fraction_min": 0.8520196594098788,
|
||||
"boc_side_peak_metric_max": 0.1598536311317901,
|
||||
"boc_main_peak_coherence_min": 0.5220145133276418
|
||||
},
|
||||
"legacy_code_metric_pass_behavior": {
|
||||
"epochs": 15495,
|
||||
"dll_error_rms_chips": 0.057575532524275004,
|
||||
"dll_error_p99_abs_chips": 0.1638616542926032,
|
||||
"code_phase_residual_rms_chips": 15.543010751491565,
|
||||
"code_phase_residual_p99_abs_chips": 27.027411115714,
|
||||
"prompt_power_median": 1553941487.134823,
|
||||
"early_power_median": 103487220.28957783,
|
||||
"late_power_median": 103902035.7428725,
|
||||
"very_early_power_median": 102551866.10199845,
|
||||
"very_late_power_median": 102470250.29049863,
|
||||
"boc_main_peak_fraction_min": 0.8478458386727497,
|
||||
"boc_side_peak_metric_max": 0.16693609746582583,
|
||||
"boc_main_peak_coherence_min": 0.4883110563425638
|
||||
},
|
||||
"post_pull_in": {
|
||||
"pll_error_rms_rad": 0.07824456217725519,
|
||||
"pll_error_p99_abs_rad": 0.22038819465856418,
|
||||
"dll_error_rms_chips": 0.05833383960144811,
|
||||
"dll_error_p99_abs_chips": 0.16333137649902485,
|
||||
"carrier_frequency_min_hz": 1020354.2779776619,
|
||||
"carrier_frequency_max_hz": 1020370.8600749114,
|
||||
"carrier_frequency_last_minus_first_hz": -2.6808873339323327,
|
||||
"code_frequency_min_hz": 1022997.5945833776,
|
||||
"code_frequency_max_hz": 1022998.9341637382,
|
||||
"code_frequency_last_minus_first_hz": -0.19883055984973907,
|
||||
"cn0_median_db_hz": 46.09243167825323,
|
||||
"cn0_min_db_hz": 32.709523323495624
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"galileo_time": {
|
||||
"week_number": 1138,
|
||||
"time_of_week_s": 554765,
|
||||
"page_start_sample_timestamp": 69930270,
|
||||
"source_word_type": 6,
|
||||
"valid": true
|
||||
},
|
||||
"navigation_ready": true
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
# Galileo I/NAV collection report
|
||||
|
||||
The standalone decoder consumed tracked E1B prompts only; simulator ephemeris and time truth were not inputs.
|
||||
|
||||
| PRN | Tracking | Symbol sync | Page sync | CRC pages | Complete ephemeris | Clock | Time | Ready |
|
||||
| --: | -------: | ----------: | --------: | --------: | -----------------: | ----: | ---: | ----: |
|
||||
| 1 | PLL_TRACK | True | 31 | 15 | True | True | True | True |
|
||||
| 4 | PLL_TRACK | True | 31 | 15 | True | True | True | True |
|
||||
| 19 | PLL_TRACK | True | 31 | 15 | True | True | True | True |
|
||||
| 21 | PLL_TRACK | True | 31 | 15 | True | True | True | True |
|
||||
| 27 | PLL_TRACK | True | 31 | 15 | True | True | True | True |
|
||||
@@ -0,0 +1,831 @@
|
||||
{
|
||||
"decoder_truth_inputs": [],
|
||||
"tracking_architecture": "e1c_pilot_aided_e1b",
|
||||
"icd": "Galileo OS SIS ICD Issue 2.2, November 2025",
|
||||
"signalsim_commit": "80b262113e77c4482ca9f5cbfef9bcada402ed28",
|
||||
"sample_file": "/home/onur/Desktop/galileo/verification/vectors/signalsim/navigation_multisat/navigation_multisat_iq8.bin",
|
||||
"sample_sha256": "b38393b32eec2df53f9813ea7ff8f13e5e0fc72fa5cb7fb910a2b8f907a56a6e",
|
||||
"sample_count": 131758308,
|
||||
"sampling_frequency_hz": 4092000.0,
|
||||
"intermediate_frequency_hz": 1023000.0,
|
||||
"satellites": {
|
||||
"1": {
|
||||
"prn": 1,
|
||||
"tracking_architecture": "e1c_pilot_aided_e1b",
|
||||
"acquisition_component": "E1C",
|
||||
"acquisition_detected": true,
|
||||
"acquisition_time_s": 0.07704714899591636,
|
||||
"raw_doppler_hz": 1750.0,
|
||||
"expected_doppler_hz": 1828.0,
|
||||
"start_sample_timestamp": 90995,
|
||||
"tracking_epoch_count": 16088,
|
||||
"tracking_time_s": 28.164707089999865,
|
||||
"tracking_final_state": "PLL_TRACK",
|
||||
"tracking_reacquisition_requests": 0,
|
||||
"tracking_lock_timestamp": 311963,
|
||||
"prompt_epoch_count": 8044,
|
||||
"valid_prompt_epoch_count": 8044,
|
||||
"invalid_prompt_epoch_count": 0,
|
||||
"cycle_slips": 0,
|
||||
"sample_discontinuities": 0,
|
||||
"raw_navigation_symbol_count": 8044,
|
||||
"first_synchronized_symbol_timestamp": 4428515,
|
||||
"first_page_sync_timestamp": 4428515,
|
||||
"first_crc_valid_page_timestamp": 4428515,
|
||||
"page_parts": 31,
|
||||
"pages": 15,
|
||||
"crc_passes": 15,
|
||||
"crc_failures": 0,
|
||||
"fec_failures": 0,
|
||||
"received_word_types": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4,
|
||||
5,
|
||||
6
|
||||
],
|
||||
"missing_ephemeris_word_types": [],
|
||||
"complete_ephemeris": true,
|
||||
"ephemeris_iod_nav": 29,
|
||||
"first_complete_ephemeris_timestamp": 61716515,
|
||||
"clock_parameters": true,
|
||||
"health_valid": true,
|
||||
"data_valid": true,
|
||||
"decoding_time_s": 1.2859532189977472,
|
||||
"secondary_code_sync": {
|
||||
"phase": 10,
|
||||
"residual_frequency_hz": 59.5,
|
||||
"normalized_correlation": 0.9941599620460754,
|
||||
"compared_periods": 100,
|
||||
"sign_errors": 0
|
||||
},
|
||||
"lock_analysis": {
|
||||
"prn": 1,
|
||||
"epochs": 16088,
|
||||
"integration_ms": 2.0,
|
||||
"start_sample_timestamp": 90995,
|
||||
"end_sample_timestamp": 131755187,
|
||||
"raw_carrier_lock_pass_epochs": 16078,
|
||||
"raw_code_lock_pass_epochs": 15617,
|
||||
"raw_combined_lock_pass_epochs": 15617,
|
||||
"raw_combined_lock_fail_epochs": 471,
|
||||
"false_transition_count": 102,
|
||||
"legacy_code_lock_falling_edges": 102,
|
||||
"boc_aware_code_lock_falling_edges": 0,
|
||||
"boc_aware_metric_valid_epochs": 16064,
|
||||
"boc_aware_code_lock_pass_epochs": 16062,
|
||||
"boc_aware_combined_lock_pass_epochs": 16062,
|
||||
"boc_aware_longest_code_lock_s": 32.124,
|
||||
"boc_side_peak_suspected_epochs": 0,
|
||||
"carrier_metric_caused_transitions": 0,
|
||||
"code_metric_caused_transitions": 102,
|
||||
"symbol_transition_coincident_false_transitions": 0,
|
||||
"cycle_slips": 0,
|
||||
"sample_discontinuities": 0,
|
||||
"cn0_unavailable_false_transitions": 0,
|
||||
"false_run_count": 102,
|
||||
"single_epoch_false_runs": 45,
|
||||
"maximum_false_run_epochs": 49,
|
||||
"maximum_false_run_ms": 98.0,
|
||||
"maximum_continuous_raw_lock_epochs": 632,
|
||||
"maximum_continuous_raw_lock_s": 1.264,
|
||||
"carrier_metric_percentiles": {
|
||||
"1": 0.926123934471329,
|
||||
"5": 0.9887965609469924,
|
||||
"50": 0.9988996165475693,
|
||||
"95": 0.9999914964295384,
|
||||
"99": 0.9999996897371967
|
||||
},
|
||||
"code_metric_percentiles": {
|
||||
"1": 0.09265723002677347,
|
||||
"5": 9.240924942018399,
|
||||
"50": 14.358082125149325,
|
||||
"95": 20.787106913901518,
|
||||
"99": 24.857166929725683
|
||||
},
|
||||
"boc_main_peak_fraction_percentiles": {
|
||||
"1": 0.8475615556941004,
|
||||
"5": 0.8752438026290285,
|
||||
"50": 0.8897649686117325,
|
||||
"95": 0.899335220269324,
|
||||
"99": 0.9027108176195193
|
||||
},
|
||||
"boc_side_peak_metric_percentiles": {
|
||||
"1": 0.055600833755340986,
|
||||
"5": 0.05813312240679952,
|
||||
"50": 0.06516955958934093,
|
||||
"95": 0.08724568096229031,
|
||||
"99": 0.15809803712879886
|
||||
},
|
||||
"boc_main_peak_coherence_percentiles": {
|
||||
"1": 0.5909426356047754,
|
||||
"5": 0.8795912735269322,
|
||||
"50": 0.9687487070428722,
|
||||
"95": 0.9810030499701589,
|
||||
"99": 0.9846774791776529
|
||||
},
|
||||
"legacy_code_metric_failure_behavior": {
|
||||
"epochs": 383,
|
||||
"dll_error_rms_chips": 0.08574237706359694,
|
||||
"dll_error_p99_abs_chips": 0.1203286532395151,
|
||||
"code_phase_residual_rms_chips": 14.049922537033622,
|
||||
"code_phase_residual_p99_abs_chips": 18.527759786491757,
|
||||
"prompt_power_median": 110703392.74175157,
|
||||
"early_power_median": 1367287690.10518,
|
||||
"late_power_median": 486504907.02446777,
|
||||
"very_early_power_median": 294439962.72082204,
|
||||
"very_late_power_median": 28908749.984774385,
|
||||
"boc_main_peak_fraction_min": 0.8290411435832495,
|
||||
"boc_side_peak_metric_max": 0.1881158513724548,
|
||||
"boc_main_peak_coherence_min": 0.3224312067233396
|
||||
},
|
||||
"legacy_code_metric_pass_behavior": {
|
||||
"epochs": 15456,
|
||||
"dll_error_rms_chips": 0.05564808250796124,
|
||||
"dll_error_p99_abs_chips": 0.1566524337921172,
|
||||
"code_phase_residual_rms_chips": 10.738451874002433,
|
||||
"code_phase_residual_p99_abs_chips": 18.667906550937186,
|
||||
"prompt_power_median": 1558915633.5385687,
|
||||
"early_power_median": 103260909.49179389,
|
||||
"late_power_median": 102910301.02848622,
|
||||
"very_early_power_median": 103411517.73663911,
|
||||
"very_late_power_median": 103558607.31775787,
|
||||
"boc_main_peak_fraction_min": 0.8293685997191675,
|
||||
"boc_side_peak_metric_max": 0.19289641323661258,
|
||||
"boc_main_peak_coherence_min": 0.34335711247300654
|
||||
},
|
||||
"post_pull_in": {
|
||||
"pll_error_rms_rad": 0.07859984972937414,
|
||||
"pll_error_p99_abs_rad": 0.240824657200552,
|
||||
"dll_error_rms_chips": 0.056565003221219566,
|
||||
"dll_error_p99_abs_chips": 0.1551231594917256,
|
||||
"carrier_frequency_min_hz": 1024814.8951608158,
|
||||
"carrier_frequency_max_hz": 1024835.3125753923,
|
||||
"carrier_frequency_last_minus_first_hz": -10.013514776015654,
|
||||
"code_frequency_min_hz": 1023000.5447241135,
|
||||
"code_frequency_max_hz": 1023001.8192012197,
|
||||
"code_frequency_last_minus_first_hz": -0.18815856706351042,
|
||||
"cn0_median_db_hz": 46.94012968974618,
|
||||
"cn0_min_db_hz": 30.850429544319983
|
||||
}
|
||||
}
|
||||
},
|
||||
"4": {
|
||||
"prn": 4,
|
||||
"tracking_architecture": "e1c_pilot_aided_e1b",
|
||||
"acquisition_component": "E1C",
|
||||
"acquisition_detected": true,
|
||||
"acquisition_time_s": 0.0783599209971726,
|
||||
"raw_doppler_hz": 2250.0,
|
||||
"expected_doppler_hz": 2171.0,
|
||||
"start_sample_timestamp": 86819,
|
||||
"tracking_epoch_count": 16088,
|
||||
"tracking_time_s": 28.813704886000778,
|
||||
"tracking_final_state": "PLL_TRACK",
|
||||
"tracking_reacquisition_requests": 0,
|
||||
"tracking_lock_timestamp": 324155,
|
||||
"prompt_epoch_count": 8044,
|
||||
"valid_prompt_epoch_count": 8044,
|
||||
"invalid_prompt_epoch_count": 0,
|
||||
"cycle_slips": 0,
|
||||
"sample_discontinuities": 0,
|
||||
"raw_navigation_symbol_count": 8044,
|
||||
"first_synchronized_symbol_timestamp": 4440707,
|
||||
"first_page_sync_timestamp": 4440707,
|
||||
"first_crc_valid_page_timestamp": 4440707,
|
||||
"page_parts": 31,
|
||||
"pages": 15,
|
||||
"crc_passes": 15,
|
||||
"crc_failures": 0,
|
||||
"fec_failures": 0,
|
||||
"received_word_types": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4,
|
||||
5,
|
||||
6
|
||||
],
|
||||
"missing_ephemeris_word_types": [],
|
||||
"complete_ephemeris": true,
|
||||
"ephemeris_iod_nav": 30,
|
||||
"first_complete_ephemeris_timestamp": 61728707,
|
||||
"clock_parameters": true,
|
||||
"health_valid": true,
|
||||
"data_valid": true,
|
||||
"decoding_time_s": 1.2606132280052407,
|
||||
"secondary_code_sync": {
|
||||
"phase": 9,
|
||||
"residual_frequency_hz": -62.5,
|
||||
"normalized_correlation": 0.9860075818874949,
|
||||
"compared_periods": 100,
|
||||
"sign_errors": 0
|
||||
},
|
||||
"lock_analysis": {
|
||||
"prn": 4,
|
||||
"epochs": 16088,
|
||||
"integration_ms": 2.0,
|
||||
"start_sample_timestamp": 86819,
|
||||
"end_sample_timestamp": 131751011,
|
||||
"raw_carrier_lock_pass_epochs": 15999,
|
||||
"raw_code_lock_pass_epochs": 15416,
|
||||
"raw_combined_lock_pass_epochs": 15400,
|
||||
"raw_combined_lock_fail_epochs": 688,
|
||||
"false_transition_count": 110,
|
||||
"legacy_code_lock_falling_edges": 110,
|
||||
"boc_aware_code_lock_falling_edges": 0,
|
||||
"boc_aware_metric_valid_epochs": 16064,
|
||||
"boc_aware_code_lock_pass_epochs": 16062,
|
||||
"boc_aware_combined_lock_pass_epochs": 16060,
|
||||
"boc_aware_longest_code_lock_s": 32.124,
|
||||
"boc_side_peak_suspected_epochs": 0,
|
||||
"carrier_metric_caused_transitions": 2,
|
||||
"code_metric_caused_transitions": 108,
|
||||
"symbol_transition_coincident_false_transitions": 0,
|
||||
"cycle_slips": 0,
|
||||
"sample_discontinuities": 0,
|
||||
"cn0_unavailable_false_transitions": 1,
|
||||
"false_run_count": 111,
|
||||
"single_epoch_false_runs": 44,
|
||||
"maximum_false_run_epochs": 83,
|
||||
"maximum_false_run_ms": 166.0,
|
||||
"maximum_continuous_raw_lock_epochs": 1332,
|
||||
"maximum_continuous_raw_lock_s": 2.664,
|
||||
"carrier_metric_percentiles": {
|
||||
"1": 0.7792907543694391,
|
||||
"5": 0.986886910203348,
|
||||
"50": 0.9988692376063891,
|
||||
"95": 0.9999904419181908,
|
||||
"99": 0.9999995892743159
|
||||
},
|
||||
"code_metric_percentiles": {
|
||||
"1": 0.07231780273965693,
|
||||
"5": 4.680507563993592,
|
||||
"50": 14.135902184076237,
|
||||
"95": 20.836601051980484,
|
||||
"99": 24.70518847538168
|
||||
},
|
||||
"boc_main_peak_fraction_percentiles": {
|
||||
"1": 0.8383947757378236,
|
||||
"5": 0.8717822698761091,
|
||||
"50": 0.888551897894365,
|
||||
"95": 0.8981109549819073,
|
||||
"99": 0.9024539160758924
|
||||
},
|
||||
"boc_side_peak_metric_percentiles": {
|
||||
"1": 0.05606138409551904,
|
||||
"5": 0.058899453610220434,
|
||||
"50": 0.06631402357636437,
|
||||
"95": 0.09431335702543445,
|
||||
"99": 0.182588937217342
|
||||
},
|
||||
"boc_main_peak_coherence_percentiles": {
|
||||
"1": 0.3941670522754639,
|
||||
"5": 0.8633412765595349,
|
||||
"50": 0.9665765778788711,
|
||||
"95": 0.9798465018068564,
|
||||
"99": 0.9838025458145414
|
||||
},
|
||||
"legacy_code_metric_failure_behavior": {
|
||||
"epochs": 495,
|
||||
"dll_error_rms_chips": 0.08511890392660415,
|
||||
"dll_error_p99_abs_chips": 0.11897485396810367,
|
||||
"code_phase_residual_rms_chips": 17.39502421893431,
|
||||
"code_phase_residual_p99_abs_chips": 22.010231444418938,
|
||||
"prompt_power_median": 110387217.19998863,
|
||||
"early_power_median": 1414197765.1115377,
|
||||
"late_power_median": 455470385.12999207,
|
||||
"very_early_power_median": 327808041.9437474,
|
||||
"very_late_power_median": 17217167.445349354,
|
||||
"boc_main_peak_fraction_min": 0.8208748889416547,
|
||||
"boc_side_peak_metric_max": 0.2108131397387269,
|
||||
"boc_main_peak_coherence_min": 0.3186205201893039
|
||||
},
|
||||
"legacy_code_metric_pass_behavior": {
|
||||
"epochs": 15344,
|
||||
"dll_error_rms_chips": 0.05701516121119478,
|
||||
"dll_error_p99_abs_chips": 0.15711356864497972,
|
||||
"code_phase_residual_rms_chips": 12.712359749555613,
|
||||
"code_phase_residual_p99_abs_chips": 22.22504688444559,
|
||||
"prompt_power_median": 1557607909.2091415,
|
||||
"early_power_median": 104464066.41081777,
|
||||
"late_power_median": 103832797.49488433,
|
||||
"very_early_power_median": 104021624.65023576,
|
||||
"very_late_power_median": 104184118.93725646,
|
||||
"boc_main_peak_fraction_min": 0.825903881328457,
|
||||
"boc_side_peak_metric_max": 0.20186498523859175,
|
||||
"boc_main_peak_coherence_min": 0.3410282015915683
|
||||
},
|
||||
"post_pull_in": {
|
||||
"pll_error_rms_rad": 0.08218993802219834,
|
||||
"pll_error_p99_abs_rad": 0.2578335220481495,
|
||||
"dll_error_rms_chips": 0.05809960919771263,
|
||||
"dll_error_p99_abs_chips": 0.1559104269486663,
|
||||
"carrier_frequency_min_hz": 1025162.5739244855,
|
||||
"carrier_frequency_max_hz": 1025179.2658243881,
|
||||
"carrier_frequency_last_minus_first_hz": -4.755713645135984,
|
||||
"code_frequency_min_hz": 1023000.7767271643,
|
||||
"code_frequency_max_hz": 1023002.1806047091,
|
||||
"code_frequency_last_minus_first_hz": -0.02835774887353182,
|
||||
"cn0_median_db_hz": 46.40741068588617,
|
||||
"cn0_min_db_hz": 29.42711443027489
|
||||
}
|
||||
}
|
||||
},
|
||||
"19": {
|
||||
"prn": 19,
|
||||
"tracking_architecture": "e1c_pilot_aided_e1b",
|
||||
"acquisition_component": "E1C",
|
||||
"acquisition_detected": true,
|
||||
"acquisition_time_s": 0.0757161610017647,
|
||||
"raw_doppler_hz": -250.0,
|
||||
"expected_doppler_hz": -367.0,
|
||||
"start_sample_timestamp": 87566,
|
||||
"tracking_epoch_count": 16088,
|
||||
"tracking_time_s": 28.558582188998116,
|
||||
"tracking_final_state": "PLL_TRACK",
|
||||
"tracking_reacquisition_requests": 0,
|
||||
"tracking_lock_timestamp": 734102,
|
||||
"prompt_epoch_count": 8044,
|
||||
"valid_prompt_epoch_count": 8044,
|
||||
"invalid_prompt_epoch_count": 0,
|
||||
"cycle_slips": 0,
|
||||
"sample_discontinuities": 0,
|
||||
"raw_navigation_symbol_count": 8044,
|
||||
"first_synchronized_symbol_timestamp": 4408718,
|
||||
"first_page_sync_timestamp": 4408718,
|
||||
"first_crc_valid_page_timestamp": 4408718,
|
||||
"page_parts": 31,
|
||||
"pages": 15,
|
||||
"crc_passes": 15,
|
||||
"crc_failures": 0,
|
||||
"fec_failures": 0,
|
||||
"received_word_types": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4,
|
||||
5,
|
||||
6
|
||||
],
|
||||
"missing_ephemeris_word_types": [],
|
||||
"complete_ephemeris": true,
|
||||
"ephemeris_iod_nav": 29,
|
||||
"first_complete_ephemeris_timestamp": 61696718,
|
||||
"clock_parameters": true,
|
||||
"health_valid": true,
|
||||
"data_valid": true,
|
||||
"decoding_time_s": 1.354647071006184,
|
||||
"secondary_code_sync": {
|
||||
"phase": 11,
|
||||
"residual_frequency_hz": -38.5,
|
||||
"normalized_correlation": 0.9953855496694146,
|
||||
"compared_periods": 100,
|
||||
"sign_errors": 0
|
||||
},
|
||||
"lock_analysis": {
|
||||
"prn": 19,
|
||||
"epochs": 16088,
|
||||
"integration_ms": 2.0,
|
||||
"start_sample_timestamp": 87566,
|
||||
"end_sample_timestamp": 131751758,
|
||||
"raw_carrier_lock_pass_epochs": 15949,
|
||||
"raw_code_lock_pass_epochs": 15183,
|
||||
"raw_combined_lock_pass_epochs": 15111,
|
||||
"raw_combined_lock_fail_epochs": 977,
|
||||
"false_transition_count": 30,
|
||||
"legacy_code_lock_falling_edges": 31,
|
||||
"boc_aware_code_lock_falling_edges": 0,
|
||||
"boc_aware_metric_valid_epochs": 16064,
|
||||
"boc_aware_code_lock_pass_epochs": 16062,
|
||||
"boc_aware_combined_lock_pass_epochs": 16010,
|
||||
"boc_aware_longest_code_lock_s": 32.124,
|
||||
"boc_side_peak_suspected_epochs": 0,
|
||||
"carrier_metric_caused_transitions": 0,
|
||||
"code_metric_caused_transitions": 30,
|
||||
"symbol_transition_coincident_false_transitions": 0,
|
||||
"cycle_slips": 0,
|
||||
"sample_discontinuities": 0,
|
||||
"cn0_unavailable_false_transitions": 0,
|
||||
"false_run_count": 31,
|
||||
"single_epoch_false_runs": 2,
|
||||
"maximum_false_run_epochs": 279,
|
||||
"maximum_false_run_ms": 558.0,
|
||||
"maximum_continuous_raw_lock_epochs": 523,
|
||||
"maximum_continuous_raw_lock_s": 1.046,
|
||||
"carrier_metric_percentiles": {
|
||||
"1": 0.7348107538430972,
|
||||
"5": 0.9860941032539999,
|
||||
"50": 0.9988355432993672,
|
||||
"95": 0.9999895126224544,
|
||||
"99": 0.9999995737755365
|
||||
},
|
||||
"code_metric_percentiles": {
|
||||
"1": 0.06685317434009187,
|
||||
"5": 0.18474101219165578,
|
||||
"50": 14.188567533729127,
|
||||
"95": 20.853641899942982,
|
||||
"99": 24.900783119459
|
||||
},
|
||||
"boc_main_peak_fraction_percentiles": {
|
||||
"1": 0.8331077551592363,
|
||||
"5": 0.8556563253779765,
|
||||
"50": 0.8898638926439826,
|
||||
"95": 0.8995272735597457,
|
||||
"99": 0.9034500829578935
|
||||
},
|
||||
"boc_side_peak_metric_percentiles": {
|
||||
"1": 0.05517877177836974,
|
||||
"5": 0.057838743800940465,
|
||||
"50": 0.06512106911574578,
|
||||
"95": 0.13637269202092908,
|
||||
"99": 0.19432472241219176
|
||||
},
|
||||
"boc_main_peak_coherence_percentiles": {
|
||||
"1": 0.3285514186082982,
|
||||
"5": 0.6780597999663746,
|
||||
"50": 0.9697975202111472,
|
||||
"95": 0.9804065041471643,
|
||||
"99": 0.98403198606922
|
||||
},
|
||||
"legacy_code_metric_failure_behavior": {
|
||||
"epochs": 728,
|
||||
"dll_error_rms_chips": 0.08437694864253784,
|
||||
"dll_error_p99_abs_chips": 0.11420464213225176,
|
||||
"code_phase_residual_rms_chips": 2.68046518243341,
|
||||
"code_phase_residual_p99_abs_chips": 3.8578061850383074,
|
||||
"prompt_power_median": 107058906.74306475,
|
||||
"early_power_median": 589909306.6672449,
|
||||
"late_power_median": 1246213886.4347653,
|
||||
"very_early_power_median": 42916283.52768795,
|
||||
"very_late_power_median": 242361314.9778272,
|
||||
"boc_main_peak_fraction_min": 0.8262777121115853,
|
||||
"boc_side_peak_metric_max": 0.2062479029943051,
|
||||
"boc_main_peak_coherence_min": 0.3152967643499338
|
||||
},
|
||||
"legacy_code_metric_pass_behavior": {
|
||||
"epochs": 15111,
|
||||
"dll_error_rms_chips": 0.05496916685224953,
|
||||
"dll_error_p99_abs_chips": 0.14811405306726963,
|
||||
"code_phase_residual_rms_chips": 2.1905835998108185,
|
||||
"code_phase_residual_p99_abs_chips": 3.853546458312098,
|
||||
"prompt_power_median": 1572867668.3084347,
|
||||
"early_power_median": 104616403.78707226,
|
||||
"late_power_median": 105273180.84896234,
|
||||
"very_early_power_median": 104208400.61576208,
|
||||
"very_late_power_median": 104196595.71394174,
|
||||
"boc_main_peak_fraction_min": 0.8244860197459938,
|
||||
"boc_side_peak_metric_max": 0.20227746225808624,
|
||||
"boc_main_peak_coherence_min": 0.34505028117893527
|
||||
},
|
||||
"post_pull_in": {
|
||||
"pll_error_rms_rad": 0.08798351512883444,
|
||||
"pll_error_p99_abs_rad": 0.33384337105425854,
|
||||
"dll_error_rms_chips": 0.05665648411462819,
|
||||
"dll_error_p99_abs_chips": 0.14671966000911835,
|
||||
"carrier_frequency_min_hz": 1022617.3013250588,
|
||||
"carrier_frequency_max_hz": 1022640.4852699582,
|
||||
"carrier_frequency_last_minus_first_hz": -12.029085914371535,
|
||||
"code_frequency_min_hz": 1022999.1296675402,
|
||||
"code_frequency_max_hz": 1023000.3486243897,
|
||||
"code_frequency_last_minus_first_hz": 0.4431725781178102,
|
||||
"cn0_median_db_hz": 47.306377947072626,
|
||||
"cn0_min_db_hz": 28.833883219972133
|
||||
}
|
||||
}
|
||||
},
|
||||
"21": {
|
||||
"prn": 21,
|
||||
"tracking_architecture": "e1c_pilot_aided_e1b",
|
||||
"acquisition_component": "E1C",
|
||||
"acquisition_detected": true,
|
||||
"acquisition_time_s": 0.07517363399529131,
|
||||
"raw_doppler_hz": -750.0,
|
||||
"expected_doppler_hz": -712.0,
|
||||
"start_sample_timestamp": 93628,
|
||||
"tracking_epoch_count": 16088,
|
||||
"tracking_time_s": 28.729486084004748,
|
||||
"tracking_final_state": "PLL_TRACK",
|
||||
"tracking_reacquisition_requests": 0,
|
||||
"tracking_lock_timestamp": 339148,
|
||||
"prompt_epoch_count": 8044,
|
||||
"valid_prompt_epoch_count": 8044,
|
||||
"invalid_prompt_epoch_count": 0,
|
||||
"cycle_slips": 0,
|
||||
"sample_discontinuities": 0,
|
||||
"raw_navigation_symbol_count": 8044,
|
||||
"first_synchronized_symbol_timestamp": 4414780,
|
||||
"first_page_sync_timestamp": 4414780,
|
||||
"first_crc_valid_page_timestamp": 4414780,
|
||||
"page_parts": 31,
|
||||
"pages": 15,
|
||||
"crc_passes": 15,
|
||||
"crc_failures": 0,
|
||||
"fec_failures": 0,
|
||||
"received_word_types": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4,
|
||||
5,
|
||||
6
|
||||
],
|
||||
"missing_ephemeris_word_types": [],
|
||||
"complete_ephemeris": true,
|
||||
"ephemeris_iod_nav": 29,
|
||||
"first_complete_ephemeris_timestamp": 61702780,
|
||||
"clock_parameters": true,
|
||||
"health_valid": true,
|
||||
"data_valid": true,
|
||||
"decoding_time_s": 1.246713754000666,
|
||||
"secondary_code_sync": {
|
||||
"phase": 11,
|
||||
"residual_frequency_hz": 37.5,
|
||||
"normalized_correlation": 0.9856821042522145,
|
||||
"compared_periods": 100,
|
||||
"sign_errors": 0
|
||||
},
|
||||
"lock_analysis": {
|
||||
"prn": 21,
|
||||
"epochs": 16088,
|
||||
"integration_ms": 2.0,
|
||||
"start_sample_timestamp": 93628,
|
||||
"end_sample_timestamp": 131757820,
|
||||
"raw_carrier_lock_pass_epochs": 16031,
|
||||
"raw_code_lock_pass_epochs": 15249,
|
||||
"raw_combined_lock_pass_epochs": 15249,
|
||||
"raw_combined_lock_fail_epochs": 839,
|
||||
"false_transition_count": 51,
|
||||
"legacy_code_lock_falling_edges": 51,
|
||||
"boc_aware_code_lock_falling_edges": 0,
|
||||
"boc_aware_metric_valid_epochs": 16064,
|
||||
"boc_aware_code_lock_pass_epochs": 16062,
|
||||
"boc_aware_combined_lock_pass_epochs": 16059,
|
||||
"boc_aware_longest_code_lock_s": 32.124,
|
||||
"boc_side_peak_suspected_epochs": 0,
|
||||
"carrier_metric_caused_transitions": 0,
|
||||
"code_metric_caused_transitions": 51,
|
||||
"symbol_transition_coincident_false_transitions": 0,
|
||||
"cycle_slips": 0,
|
||||
"sample_discontinuities": 0,
|
||||
"cn0_unavailable_false_transitions": 0,
|
||||
"false_run_count": 51,
|
||||
"single_epoch_false_runs": 4,
|
||||
"maximum_false_run_epochs": 157,
|
||||
"maximum_false_run_ms": 314.0,
|
||||
"maximum_continuous_raw_lock_epochs": 793,
|
||||
"maximum_continuous_raw_lock_s": 1.586,
|
||||
"carrier_metric_percentiles": {
|
||||
"1": 0.7939514446493192,
|
||||
"5": 0.985632857889365,
|
||||
"50": 0.9988523785765591,
|
||||
"95": 0.9999895032338855,
|
||||
"99": 0.9999995002250147
|
||||
},
|
||||
"code_metric_percentiles": {
|
||||
"1": 0.06616391188826821,
|
||||
"5": 0.2581154135198231,
|
||||
"50": 14.22150508819822,
|
||||
"95": 21.041903291304745,
|
||||
"99": 25.29011298405983
|
||||
},
|
||||
"boc_main_peak_fraction_percentiles": {
|
||||
"1": 0.8328410713646706,
|
||||
"5": 0.862839862016292,
|
||||
"50": 0.8894454265519192,
|
||||
"95": 0.899005820753033,
|
||||
"99": 0.902725891411603
|
||||
},
|
||||
"boc_side_peak_metric_percentiles": {
|
||||
"1": 0.05581216956145967,
|
||||
"5": 0.0581020070281789,
|
||||
"50": 0.06537705791281424,
|
||||
"95": 0.12414647994867094,
|
||||
"99": 0.19464888907499955
|
||||
},
|
||||
"boc_main_peak_coherence_percentiles": {
|
||||
"1": 0.32651431878020987,
|
||||
"5": 0.7456684567711471,
|
||||
"50": 0.9698504431158739,
|
||||
"95": 0.9804936771751901,
|
||||
"99": 0.9837504008164109
|
||||
},
|
||||
"legacy_code_metric_failure_behavior": {
|
||||
"epochs": 682,
|
||||
"dll_error_rms_chips": 0.08442597625870917,
|
||||
"dll_error_p99_abs_chips": 0.11360544478812587,
|
||||
"code_phase_residual_rms_chips": 5.679331578203824,
|
||||
"code_phase_residual_p99_abs_chips": 7.326207964266705,
|
||||
"prompt_power_median": 104189541.93969142,
|
||||
"early_power_median": 503192371.15070486,
|
||||
"late_power_median": 1403405103.7404156,
|
||||
"very_early_power_median": 22039174.93790304,
|
||||
"very_late_power_median": 317213067.5344795,
|
||||
"boc_main_peak_fraction_min": 0.8192520869211634,
|
||||
"boc_side_peak_metric_max": 0.21126892991099358,
|
||||
"boc_main_peak_coherence_min": 0.3116800253668606
|
||||
},
|
||||
"legacy_code_metric_pass_behavior": {
|
||||
"epochs": 15157,
|
||||
"dll_error_rms_chips": 0.05453659411635098,
|
||||
"dll_error_p99_abs_chips": 0.1449088577056262,
|
||||
"code_phase_residual_rms_chips": 4.188063318602212,
|
||||
"code_phase_residual_p99_abs_chips": 7.374789512632724,
|
||||
"prompt_power_median": 1569583185.8754468,
|
||||
"early_power_median": 103618886.08421741,
|
||||
"late_power_median": 103783265.51861823,
|
||||
"very_early_power_median": 104017003.65515691,
|
||||
"very_late_power_median": 104035110.46635103,
|
||||
"boc_main_peak_fraction_min": 0.8344860559063105,
|
||||
"boc_side_peak_metric_max": 0.19273063690182018,
|
||||
"boc_main_peak_coherence_min": 0.33714214192677894
|
||||
},
|
||||
"post_pull_in": {
|
||||
"pll_error_rms_rad": 0.08950722912725978,
|
||||
"pll_error_p99_abs_rad": 0.34532589523816604,
|
||||
"dll_error_rms_chips": 0.056152318470159265,
|
||||
"dll_error_p99_abs_chips": 0.14402921672670457,
|
||||
"carrier_frequency_min_hz": 1022268.5496190831,
|
||||
"carrier_frequency_max_hz": 1022294.5921728422,
|
||||
"carrier_frequency_last_minus_first_hz": -11.265239437692799,
|
||||
"code_frequency_min_hz": 1022998.8592261485,
|
||||
"code_frequency_max_hz": 1023000.1806048183,
|
||||
"code_frequency_last_minus_first_hz": -0.1938835997134447,
|
||||
"cn0_median_db_hz": 47.64003907257697,
|
||||
"cn0_min_db_hz": 28.276106571211788
|
||||
}
|
||||
}
|
||||
},
|
||||
"27": {
|
||||
"prn": 27,
|
||||
"tracking_architecture": "e1c_pilot_aided_e1b",
|
||||
"acquisition_component": "E1C",
|
||||
"acquisition_detected": true,
|
||||
"acquisition_time_s": 0.07462809099524748,
|
||||
"raw_doppler_hz": -2750.0,
|
||||
"expected_doppler_hz": -2637.0,
|
||||
"start_sample_timestamp": 88014,
|
||||
"tracking_epoch_count": 16088,
|
||||
"tracking_time_s": 28.702013941998302,
|
||||
"tracking_final_state": "PLL_TRACK",
|
||||
"tracking_reacquisition_requests": 0,
|
||||
"tracking_lock_timestamp": 1381086,
|
||||
"prompt_epoch_count": 8044,
|
||||
"valid_prompt_epoch_count": 8044,
|
||||
"invalid_prompt_epoch_count": 0,
|
||||
"cycle_slips": 0,
|
||||
"sample_discontinuities": 0,
|
||||
"raw_navigation_symbol_count": 8044,
|
||||
"first_synchronized_symbol_timestamp": 4458270,
|
||||
"first_page_sync_timestamp": 4458270,
|
||||
"first_crc_valid_page_timestamp": 4458270,
|
||||
"page_parts": 31,
|
||||
"pages": 15,
|
||||
"crc_passes": 15,
|
||||
"crc_failures": 0,
|
||||
"fec_failures": 0,
|
||||
"received_word_types": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4,
|
||||
5,
|
||||
6
|
||||
],
|
||||
"missing_ephemeris_word_types": [],
|
||||
"complete_ephemeris": true,
|
||||
"ephemeris_iod_nav": 29,
|
||||
"first_complete_ephemeris_timestamp": 61746270,
|
||||
"clock_parameters": true,
|
||||
"health_valid": true,
|
||||
"data_valid": true,
|
||||
"decoding_time_s": 1.2526050119995489,
|
||||
"secondary_code_sync": {
|
||||
"phase": 8,
|
||||
"residual_frequency_hz": 36.5,
|
||||
"normalized_correlation": 0.996052910867296,
|
||||
"compared_periods": 100,
|
||||
"sign_errors": 0
|
||||
},
|
||||
"lock_analysis": {
|
||||
"prn": 27,
|
||||
"epochs": 16088,
|
||||
"integration_ms": 2.0,
|
||||
"start_sample_timestamp": 88014,
|
||||
"end_sample_timestamp": 131752206,
|
||||
"raw_carrier_lock_pass_epochs": 15936,
|
||||
"raw_code_lock_pass_epochs": 15647,
|
||||
"raw_combined_lock_pass_epochs": 15556,
|
||||
"raw_combined_lock_fail_epochs": 532,
|
||||
"false_transition_count": 120,
|
||||
"legacy_code_lock_falling_edges": 122,
|
||||
"boc_aware_code_lock_falling_edges": 0,
|
||||
"boc_aware_metric_valid_epochs": 16064,
|
||||
"boc_aware_code_lock_pass_epochs": 16062,
|
||||
"boc_aware_combined_lock_pass_epochs": 15931,
|
||||
"boc_aware_longest_code_lock_s": 32.124,
|
||||
"boc_side_peak_suspected_epochs": 0,
|
||||
"carrier_metric_caused_transitions": 0,
|
||||
"code_metric_caused_transitions": 120,
|
||||
"symbol_transition_coincident_false_transitions": 0,
|
||||
"cycle_slips": 0,
|
||||
"sample_discontinuities": 0,
|
||||
"cn0_unavailable_false_transitions": 0,
|
||||
"false_run_count": 121,
|
||||
"single_epoch_false_runs": 58,
|
||||
"maximum_false_run_epochs": 155,
|
||||
"maximum_false_run_ms": 310.0,
|
||||
"maximum_continuous_raw_lock_epochs": 1095,
|
||||
"maximum_continuous_raw_lock_s": 2.19,
|
||||
"carrier_metric_percentiles": {
|
||||
"1": 0.7206432555049623,
|
||||
"5": 0.988611380400891,
|
||||
"50": 0.9988895300080884,
|
||||
"95": 0.9999910174511765,
|
||||
"99": 0.9999996463442009
|
||||
},
|
||||
"code_metric_percentiles": {
|
||||
"1": 0.0963945544624243,
|
||||
"5": 9.022094975682883,
|
||||
"50": 14.336371788159624,
|
||||
"95": 21.01430502486875,
|
||||
"99": 25.223778227213373
|
||||
},
|
||||
"boc_main_peak_fraction_percentiles": {
|
||||
"1": 0.8563053481254727,
|
||||
"5": 0.8761216856241046,
|
||||
"50": 0.8897298346486104,
|
||||
"95": 0.8989983348293147,
|
||||
"99": 0.9027659012322223
|
||||
},
|
||||
"boc_side_peak_metric_percentiles": {
|
||||
"1": 0.055865232111185666,
|
||||
"5": 0.05827544455675619,
|
||||
"50": 0.06545776761892909,
|
||||
"95": 0.08721718306155764,
|
||||
"99": 0.13554248142317915
|
||||
},
|
||||
"boc_main_peak_coherence_percentiles": {
|
||||
"1": 0.6963850681372143,
|
||||
"5": 0.8864149571238227,
|
||||
"50": 0.9668775731513674,
|
||||
"95": 0.9797144500640755,
|
||||
"99": 0.9833546124056554
|
||||
},
|
||||
"legacy_code_metric_failure_behavior": {
|
||||
"epochs": 353,
|
||||
"dll_error_rms_chips": 0.08692287486188564,
|
||||
"dll_error_p99_abs_chips": 0.12211690739906192,
|
||||
"code_phase_residual_rms_chips": 20.83535121208654,
|
||||
"code_phase_residual_p99_abs_chips": 26.7740789856638,
|
||||
"prompt_power_median": 113099284.09916593,
|
||||
"early_power_median": 496253334.48126817,
|
||||
"late_power_median": 1219569538.2556756,
|
||||
"very_early_power_median": 22055861.48928148,
|
||||
"very_late_power_median": 272969579.3795633,
|
||||
"boc_main_peak_fraction_min": 0.8211892376838884,
|
||||
"boc_side_peak_metric_max": 0.20314364512635572,
|
||||
"boc_main_peak_coherence_min": 0.47009464074954066
|
||||
},
|
||||
"legacy_code_metric_pass_behavior": {
|
||||
"epochs": 15486,
|
||||
"dll_error_rms_chips": 0.05696868079676946,
|
||||
"dll_error_p99_abs_chips": 0.15879673488599466,
|
||||
"code_phase_residual_rms_chips": 15.537475523073843,
|
||||
"code_phase_residual_p99_abs_chips": 27.042686964558467,
|
||||
"prompt_power_median": 1549780078.7121413,
|
||||
"early_power_median": 102583529.59728253,
|
||||
"late_power_median": 102880717.96247455,
|
||||
"very_early_power_median": 101579724.68762413,
|
||||
"very_late_power_median": 103913161.92134063,
|
||||
"boc_main_peak_fraction_min": 0.8199308789902463,
|
||||
"boc_side_peak_metric_max": 0.20370582760979403,
|
||||
"boc_main_peak_coherence_min": 0.46610449527987624
|
||||
},
|
||||
"post_pull_in": {
|
||||
"pll_error_rms_rad": 0.0768043956210642,
|
||||
"pll_error_p99_abs_rad": 0.21602664107569355,
|
||||
"dll_error_rms_chips": 0.057805622538207146,
|
||||
"dll_error_p99_abs_chips": 0.15780488364179804,
|
||||
"carrier_frequency_min_hz": 1020353.622410044,
|
||||
"carrier_frequency_max_hz": 1020369.6683440519,
|
||||
"carrier_frequency_last_minus_first_hz": -2.8634769301861525,
|
||||
"code_frequency_min_hz": 1022997.605345076,
|
||||
"code_frequency_max_hz": 1022998.939424797,
|
||||
"code_frequency_last_minus_first_hz": -0.08650950586888939,
|
||||
"cn0_median_db_hz": 45.94570799038448,
|
||||
"cn0_min_db_hz": 32.27042575677653
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"galileo_time": {
|
||||
"week_number": 1138,
|
||||
"time_of_week_s": 554765,
|
||||
"page_start_sample_timestamp": 69930270,
|
||||
"source_word_type": 6,
|
||||
"valid": true
|
||||
},
|
||||
"navigation_ready": true
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
# Galileo I/NAV collection report
|
||||
|
||||
The standalone decoder consumed tracked E1B prompts only; simulator ephemeris and time truth were not inputs.
|
||||
|
||||
| PRN | Tracking | Symbol sync | Page sync | CRC pages | Complete ephemeris | Clock | Time | Ready |
|
||||
| --: | -------: | ----------: | --------: | --------: | -----------------: | ----: | ---: | ----: |
|
||||
| 1 | PLL_TRACK | True | 31 | 15 | True | True | True | True |
|
||||
| 4 | PLL_TRACK | True | 31 | 15 | True | True | True | True |
|
||||
| 19 | PLL_TRACK | True | 31 | 15 | True | True | True | True |
|
||||
| 21 | PLL_TRACK | True | 31 | 15 | True | True | True | True |
|
||||
| 27 | PLL_TRACK | True | 31 | 15 | True | True | True | True |
|
||||
@@ -140,6 +140,7 @@ def command_collect_navigation(args: argparse.Namespace) -> None:
|
||||
args.output_dir,
|
||||
signalsim_path=args.signalsim_path,
|
||||
selected_prns=args.prn,
|
||||
tracking_mode=args.tracking_mode,
|
||||
)
|
||||
print(json.dumps({"navigation_ready": passed, "report": str(Path(args.output_dir).resolve() / "inav_collection_report.json")}, indent=2))
|
||||
if args.require_ready and not passed:
|
||||
@@ -248,6 +249,11 @@ def build_parser() -> argparse.ArgumentParser:
|
||||
collect.add_argument("--output-dir", default="reports/navigation_run")
|
||||
collect.add_argument("--prn", type=int, action="append")
|
||||
collect.add_argument("--require-ready", action="store_true")
|
||||
collect.add_argument(
|
||||
"--tracking-mode",
|
||||
choices=["e1b_only", "e1c_pilot_aided_e1b"],
|
||||
help="override the configured tracking architecture",
|
||||
)
|
||||
collect.set_defaults(handler=command_collect_navigation)
|
||||
track_prompts = commands.add_parser("track-to-prompts")
|
||||
track_prompts.add_argument("--config", default="configs/navigation_collection.yaml")
|
||||
@@ -255,6 +261,9 @@ def build_parser() -> argparse.ArgumentParser:
|
||||
track_prompts.add_argument("--output-dir", default="reports/navigation_run")
|
||||
track_prompts.add_argument("--prn", type=int, action="append", required=True)
|
||||
track_prompts.add_argument("--require-ready", action="store_false", dest="require_ready")
|
||||
track_prompts.add_argument(
|
||||
"--tracking-mode", choices=["e1b_only", "e1c_pilot_aided_e1b"]
|
||||
)
|
||||
track_prompts.set_defaults(handler=command_collect_navigation, require_ready=False)
|
||||
prompts = commands.add_parser("prompts-to-symbols")
|
||||
prompts.add_argument("--input", required=True)
|
||||
|
||||
@@ -78,6 +78,18 @@ class TrackingConfig:
|
||||
secondary_code_mode: Literal["none", "wipeoff", "search"] = "wipeoff"
|
||||
loss_of_lock_epochs: int = 10
|
||||
weak_signal_cn0_db_hz: float = 25.0
|
||||
lock_smoothing_epochs: int = 25
|
||||
lock_confirmation_epochs: int = 3
|
||||
carrier_lock_enter_threshold: float = 0.55
|
||||
carrier_lock_exit_threshold: float = 0.45
|
||||
boc_main_peak_enter_fraction: float = 0.65
|
||||
boc_main_peak_exit_fraction: float = 0.50
|
||||
boc_side_peak_enter_ratio: float = 0.80
|
||||
boc_side_peak_exit_ratio: float = 0.55
|
||||
boc_side_peak_coherence_enter: float = 0.15
|
||||
boc_side_peak_coherence_exit: float = 0.25
|
||||
boc_maximum_el_imbalance: float = 0.90
|
||||
lock_signal_loss_power_ratio: float = 0.02
|
||||
|
||||
def validate(self) -> None:
|
||||
if self.integration_ms <= 0:
|
||||
@@ -88,6 +100,8 @@ class TrackingConfig:
|
||||
raise ValueError("supported PLL orders are 2/3 and DLL orders are 1/2")
|
||||
if min(self.dll_noise_bandwidth_hz, self.pll_noise_bandwidth_hz, self.fll_noise_bandwidth_hz) <= 0:
|
||||
raise ValueError("loop noise bandwidths must be positive")
|
||||
if min(self.loss_of_lock_epochs, self.lock_smoothing_epochs, self.lock_confirmation_epochs) < 1:
|
||||
raise ValueError("lock-detector epoch counts must be positive")
|
||||
|
||||
|
||||
@dataclass(slots=True)
|
||||
|
||||
@@ -0,0 +1,133 @@
|
||||
"""Numerical BOC(1,1) correlation-shape validation for lock calibration."""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
from pathlib import Path
|
||||
from typing import Any
|
||||
|
||||
import numpy as np
|
||||
import numpy.typing as npt
|
||||
|
||||
|
||||
def boc11_autocorrelation(
|
||||
code: npt.ArrayLike,
|
||||
*,
|
||||
samples_per_chip: int = 128,
|
||||
delay_min_chips: float = -1.25,
|
||||
delay_max_chips: float = 1.25,
|
||||
) -> dict[str, npt.NDArray[np.float64]]:
|
||||
"""Return a densely sampled periodic BOC(1,1) autocorrelation.
|
||||
|
||||
Integer oversampling is used only to characterize the ideal local replica;
|
||||
it does not claim additional RF delay information.
|
||||
"""
|
||||
chips = np.asarray(code, dtype=np.int8).reshape(-1)
|
||||
if samples_per_chip < 4 or samples_per_chip % 2:
|
||||
raise ValueError("samples_per_chip must be an even integer >= 4")
|
||||
half = samples_per_chip // 2
|
||||
subcarrier = np.tile(
|
||||
np.concatenate((np.ones(half), -np.ones(half))).astype(np.float64), chips.size
|
||||
)
|
||||
waveform = np.repeat(chips.astype(np.float64), samples_per_chip) * subcarrier
|
||||
shifts = np.arange(
|
||||
int(round(delay_min_chips * samples_per_chip)),
|
||||
int(round(delay_max_chips * samples_per_chip)) + 1,
|
||||
dtype=np.int64,
|
||||
)
|
||||
correlation = np.asarray(
|
||||
[np.mean(waveform * np.roll(waveform, int(shift)), dtype=np.float64) for shift in shifts],
|
||||
dtype=np.float64,
|
||||
)
|
||||
return {
|
||||
"delay_chips": shifts.astype(np.float64) / np.float64(samples_per_chip),
|
||||
"correlation": correlation,
|
||||
}
|
||||
|
||||
|
||||
def boc11_five_tap_shape(
|
||||
shape: dict[str, npt.NDArray[np.float64]],
|
||||
local_error_chips: npt.ArrayLike,
|
||||
*,
|
||||
early_late_spacing_chips: float = 0.25,
|
||||
very_early_late_spacing_chips: float = 0.75,
|
||||
) -> dict[str, npt.NDArray[np.float64]]:
|
||||
delay = shape["delay_chips"]
|
||||
correlation = shape["correlation"]
|
||||
errors = np.asarray(local_error_chips, dtype=np.float64)
|
||||
offsets = {
|
||||
"very_early": -very_early_late_spacing_chips,
|
||||
"early": -early_late_spacing_chips,
|
||||
"prompt": 0.0,
|
||||
"late": early_late_spacing_chips,
|
||||
"very_late": very_early_late_spacing_chips,
|
||||
}
|
||||
output: dict[str, npt.NDArray[np.float64]] = {"code_error_chips": errors}
|
||||
for name, offset in offsets.items():
|
||||
amplitude = np.interp(errors + offset, delay, correlation)
|
||||
output[f"{name}_amplitude"] = amplitude
|
||||
output[f"{name}_power"] = np.square(amplitude, dtype=np.float64)
|
||||
central = output["early_power"] + output["prompt_power"] + output["late_power"]
|
||||
outer = output["very_early_power"] + output["very_late_power"]
|
||||
tiny = np.finfo(np.float64).tiny
|
||||
output["legacy_prompt_el_ratio"] = output["prompt_power"] / np.maximum(
|
||||
0.5 * (output["early_power"] + output["late_power"]), tiny
|
||||
)
|
||||
output["main_peak_fraction"] = central / np.maximum(central + outer, tiny)
|
||||
output["side_peak_ratio"] = np.maximum(
|
||||
output["very_early_power"], output["very_late_power"]
|
||||
) / np.maximum(central, tiny)
|
||||
output["main_peak_coherence"] = (
|
||||
(output["early_amplitude"] + output["late_amplitude"])
|
||||
* output["prompt_amplitude"]
|
||||
/ np.maximum(
|
||||
np.abs(output["prompt_amplitude"])
|
||||
* (np.abs(output["early_amplitude"]) + np.abs(output["late_amplitude"])),
|
||||
tiny,
|
||||
)
|
||||
)
|
||||
return output
|
||||
|
||||
|
||||
def plot_boc11_lock_calibration(
|
||||
path: str | Path,
|
||||
shape: dict[str, npt.NDArray[np.float64]],
|
||||
taps: dict[str, npt.NDArray[np.float64]],
|
||||
) -> None:
|
||||
import matplotlib.pyplot as plt
|
||||
|
||||
destination = Path(path)
|
||||
destination.parent.mkdir(parents=True, exist_ok=True)
|
||||
figure, axes = plt.subplots(3, 1, figsize=(11, 10), sharex=False)
|
||||
axes[0].plot(shape["delay_chips"], shape["correlation"], color="black")
|
||||
axes[0].axvline(0.0, color="tab:green", linestyle="--")
|
||||
axes[0].set(xlabel="delay (chips)", ylabel="normalized amplitude", title="BOC(1,1) autocorrelation")
|
||||
errors = taps["code_error_chips"]
|
||||
for name in ("very_early", "early", "prompt", "late", "very_late"):
|
||||
axes[1].plot(errors, taps[f"{name}_power"], label=name)
|
||||
axes[1].set(ylabel="normalized tap power", title="VE/E/P/L/VL versus local code error")
|
||||
axes[1].legend(ncol=5, fontsize=8)
|
||||
axes[2].plot(errors, taps["legacy_prompt_el_ratio"], label="legacy P / mean(E,L)")
|
||||
axes[2].plot(errors, taps["main_peak_fraction"], label="central / five-tap power")
|
||||
axes[2].plot(errors, taps["side_peak_ratio"], label="max(outer) / central")
|
||||
axes[2].plot(errors, taps["main_peak_coherence"], label="Re{(E+L)P*} coherence")
|
||||
axes[2].axhline(0.5, color="tab:red", linestyle="--", linewidth=0.8, label="legacy threshold")
|
||||
axes[2].set(xlabel="local code error (chips)", ylabel="metric", ylim=(-1.05, 3.0))
|
||||
axes[2].legend(fontsize=8)
|
||||
for axis in axes:
|
||||
axis.grid(True, alpha=0.25)
|
||||
figure.tight_layout()
|
||||
figure.savefig(destination, dpi=160)
|
||||
plt.close(figure)
|
||||
|
||||
|
||||
def calibration_points(taps: dict[str, npt.NDArray[np.float64]]) -> dict[str, dict[str, Any]]:
|
||||
points: dict[str, dict[str, Any]] = {}
|
||||
error = taps["code_error_chips"]
|
||||
for requested in (-0.75, -0.50, -0.25, 0.0, 0.25, 0.50, 0.75):
|
||||
index = int(np.argmin(np.abs(error - requested)))
|
||||
points[f"{requested:+.2f}"] = {
|
||||
name: float(values[index])
|
||||
for name, values in taps.items()
|
||||
if name != "code_error_chips"
|
||||
}
|
||||
return points
|
||||
@@ -0,0 +1,364 @@
|
||||
"""Tracking-lock transition analysis without changing loop dynamics."""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import csv
|
||||
from dataclasses import asdict, dataclass
|
||||
import json
|
||||
from pathlib import Path
|
||||
from typing import Any, Sequence
|
||||
|
||||
import numpy as np
|
||||
|
||||
from galileo_rx.types import TrackingMeasurement
|
||||
|
||||
|
||||
@dataclass(frozen=True, slots=True)
|
||||
class LockThresholds:
|
||||
carrier_lock: float = 0.55
|
||||
code_lock: float = 0.5
|
||||
|
||||
|
||||
def _array(measurements: Sequence[TrackingMeasurement], field: str) -> np.ndarray:
|
||||
return np.asarray([getattr(item, field) for item in measurements], dtype=np.float64)
|
||||
|
||||
|
||||
def _derived_navigation_transitions(
|
||||
measurements: Sequence[TrackingMeasurement],
|
||||
symbol_epochs: int,
|
||||
) -> np.ndarray:
|
||||
"""Mark receiver-derived BPSK symbol transitions at group boundaries."""
|
||||
output = np.zeros(len(measurements), dtype=np.bool_)
|
||||
if symbol_epochs < 1 or len(measurements) < 2 * symbol_epochs:
|
||||
return output
|
||||
prompt = np.asarray(
|
||||
[complex(item.prompt_i, item.prompt_q) for item in measurements], dtype=np.complex128
|
||||
)
|
||||
complete = prompt.size // symbol_epochs
|
||||
coherent = prompt[: complete * symbol_epochs].reshape(complete, symbol_epochs).sum(axis=1)
|
||||
axis = np.float64(0.5 * np.angle(np.sum(coherent * coherent, dtype=np.complex128)))
|
||||
hard = (np.real(coherent * np.exp(-1j * axis)) >= 0.0).astype(np.int8)
|
||||
changed = np.flatnonzero(hard[1:] != hard[:-1]) + 1
|
||||
output[changed * symbol_epochs] = True
|
||||
return output
|
||||
|
||||
|
||||
def _runs(mask: np.ndarray) -> tuple[np.ndarray, np.ndarray]:
|
||||
padded = np.concatenate(([False], mask.astype(np.bool_), [False])).astype(np.int8)
|
||||
changes = np.diff(padded)
|
||||
return np.flatnonzero(changes == 1), np.flatnonzero(changes == -1)
|
||||
|
||||
|
||||
def analyze_tracking_lock(
|
||||
prn: int,
|
||||
measurements: Sequence[TrackingMeasurement],
|
||||
*,
|
||||
carrier_center_hz: float,
|
||||
integration_ms: float,
|
||||
primary_code_period_ms: float = 4.0,
|
||||
thresholds: LockThresholds = LockThresholds(),
|
||||
) -> tuple[dict[str, Any], list[dict[str, Any]], np.ndarray]:
|
||||
if not measurements:
|
||||
raise ValueError("lock analysis requires tracking measurements")
|
||||
symbol_epochs = int(round(primary_code_period_ms / integration_ms))
|
||||
if not np.isclose(symbol_epochs * integration_ms, primary_code_period_ms, atol=1e-12):
|
||||
raise ValueError("tracking integrations must tile an E1B navigation symbol")
|
||||
carrier_metric = _array(measurements, "carrier_lock_metric")
|
||||
code_metric = _array(measurements, "code_lock_metric")
|
||||
raw_carrier = carrier_metric > thresholds.carrier_lock
|
||||
raw_code = code_metric > thresholds.code_lock
|
||||
raw_combined = raw_carrier & raw_code
|
||||
false_transitions = np.flatnonzero(raw_combined[:-1] & ~raw_combined[1:]) + 1
|
||||
new_code = np.asarray([item.code_lock for item in measurements], dtype=np.bool_)
|
||||
new_carrier = np.asarray([item.carrier_lock for item in measurements], dtype=np.bool_)
|
||||
metric_valid = np.asarray([item.lock_metric_valid for item in measurements], dtype=np.bool_)
|
||||
new_combined = new_code & new_carrier
|
||||
new_code_falling = np.flatnonzero(new_code[:-1] & ~new_code[1:]) + 1
|
||||
nav_transitions = _derived_navigation_transitions(measurements, symbol_epochs)
|
||||
rows: list[dict[str, Any]] = []
|
||||
for index in false_transitions:
|
||||
item = measurements[int(index)]
|
||||
previous = measurements[int(index) - 1]
|
||||
rows.append({
|
||||
"prn": int(prn),
|
||||
"epoch": int(item.epoch),
|
||||
"sample_timestamp": int(item.start_sample_timestamp),
|
||||
"state_transition": f"{previous.state.value}->{item.state.value}",
|
||||
"carrier_lock_metric": float(item.carrier_lock_metric),
|
||||
"carrier_lock_threshold": float(thresholds.carrier_lock),
|
||||
"carrier_threshold_pass": bool(raw_carrier[index]),
|
||||
"code_lock_metric": float(item.code_lock_metric),
|
||||
"code_lock_threshold": float(thresholds.code_lock),
|
||||
"code_threshold_pass": bool(raw_code[index]),
|
||||
"prompt_i": float(item.prompt_i),
|
||||
"prompt_q": float(item.prompt_q),
|
||||
"prompt_power": float(item.prompt_i**2 + item.prompt_q**2),
|
||||
"pll_error_rad": float(item.pll_error_rad),
|
||||
"fll_error_hz": float(item.fll_error_hz),
|
||||
"dll_error_chips": float(item.dll_error_chips),
|
||||
"estimated_doppler_hz": float(item.carrier_frequency_hz - carrier_center_hz),
|
||||
"code_frequency_hz": float(item.code_frequency_hz),
|
||||
"cn0_db_hz": None if item.cn0_db_hz is None else float(item.cn0_db_hz),
|
||||
"navigation_symbol_transition": bool(nav_transitions[index]),
|
||||
"cycle_slip": bool(item.cycle_slip),
|
||||
"sample_discontinuity": bool(item.sample_discontinuity),
|
||||
"new_metric_valid": bool(item.lock_metric_valid),
|
||||
"new_code_lock": bool(item.code_lock),
|
||||
"smoothed_code_metric": float(item.smoothed_code_lock_metric),
|
||||
"boc_main_peak_fraction": float(item.boc_main_peak_fraction),
|
||||
"boc_side_peak_metric": float(item.boc_side_peak_metric),
|
||||
"boc_main_peak_coherence": float(item.boc_main_peak_coherence),
|
||||
"very_early_power": float(item.very_early_magnitude**2),
|
||||
"early_power": float(item.early_magnitude**2),
|
||||
"late_power": float(item.late_magnitude**2),
|
||||
"very_late_power": float(item.very_late_magnitude**2),
|
||||
})
|
||||
|
||||
false_starts, false_ends = _runs(~raw_combined)
|
||||
locked_starts, locked_ends = _runs(raw_combined)
|
||||
false_lengths = false_ends - false_starts
|
||||
locked_lengths = locked_ends - locked_starts
|
||||
new_locked_starts, new_locked_ends = _runs(new_code)
|
||||
new_locked_lengths = new_locked_ends - new_locked_starts
|
||||
after_pull_in = np.asarray([item.time_s >= 0.5 for item in measurements], dtype=np.bool_)
|
||||
carrier_frequency = _array(measurements, "carrier_frequency_hz")
|
||||
code_frequency = _array(measurements, "code_frequency_hz")
|
||||
pll = _array(measurements, "pll_error_rad")
|
||||
dll = _array(measurements, "dll_error_chips")
|
||||
cn0 = np.asarray([
|
||||
np.nan if item.cn0_db_hz is None else item.cn0_db_hz for item in measurements
|
||||
], dtype=np.float64)
|
||||
stable = after_pull_in
|
||||
legacy_failure = ~raw_code & stable
|
||||
legacy_pass = raw_code & stable
|
||||
primary_chips = 4092.0
|
||||
phase = _array(measurements, "code_phase_chips")
|
||||
parity_reference = np.asarray([
|
||||
np.angle(np.mean(np.exp(2j * np.pi * phase[(np.arange(phase.size) % 2) == parity] / primary_chips)))
|
||||
* primary_chips / (2.0 * np.pi)
|
||||
for parity in (0, 1)
|
||||
], dtype=np.float64)
|
||||
phase_reference = parity_reference[np.arange(phase.size) % 2]
|
||||
phase_residual = (
|
||||
phase - phase_reference + 0.5 * primary_chips
|
||||
) % primary_chips - 0.5 * primary_chips
|
||||
prompt_power = _array(measurements, "prompt_i") ** 2 + _array(measurements, "prompt_q") ** 2
|
||||
early_power = _array(measurements, "early_magnitude") ** 2
|
||||
late_power = _array(measurements, "late_magnitude") ** 2
|
||||
ve_power = _array(measurements, "very_early_magnitude") ** 2
|
||||
vl_power = _array(measurements, "very_late_magnitude") ** 2
|
||||
|
||||
def behavior(mask: np.ndarray) -> dict[str, float | int]:
|
||||
if not np.any(mask):
|
||||
return {"epochs": 0}
|
||||
return {
|
||||
"epochs": int(np.count_nonzero(mask)),
|
||||
"dll_error_rms_chips": float(np.sqrt(np.mean(dll[mask] ** 2))),
|
||||
"dll_error_p99_abs_chips": float(np.percentile(np.abs(dll[mask]), 99)),
|
||||
"code_phase_residual_rms_chips": float(np.sqrt(np.mean(phase_residual[mask] ** 2))),
|
||||
"code_phase_residual_p99_abs_chips": float(np.percentile(np.abs(phase_residual[mask]), 99)),
|
||||
"prompt_power_median": float(np.median(prompt_power[mask])),
|
||||
"early_power_median": float(np.median(early_power[mask])),
|
||||
"late_power_median": float(np.median(late_power[mask])),
|
||||
"very_early_power_median": float(np.median(ve_power[mask])),
|
||||
"very_late_power_median": float(np.median(vl_power[mask])),
|
||||
"boc_main_peak_fraction_min": float(np.min(_array(measurements, "boc_main_peak_fraction")[mask])),
|
||||
"boc_side_peak_metric_max": float(np.max(_array(measurements, "boc_side_peak_metric")[mask])),
|
||||
"boc_main_peak_coherence_min": float(np.min(_array(measurements, "boc_main_peak_coherence")[mask])),
|
||||
}
|
||||
summary: dict[str, Any] = {
|
||||
"prn": int(prn),
|
||||
"epochs": len(measurements),
|
||||
"integration_ms": float(integration_ms),
|
||||
"start_sample_timestamp": int(measurements[0].start_sample_timestamp),
|
||||
"end_sample_timestamp": int(measurements[-1].end_sample_timestamp),
|
||||
"raw_carrier_lock_pass_epochs": int(np.count_nonzero(raw_carrier)),
|
||||
"raw_code_lock_pass_epochs": int(np.count_nonzero(raw_code)),
|
||||
"raw_combined_lock_pass_epochs": int(np.count_nonzero(raw_combined)),
|
||||
"raw_combined_lock_fail_epochs": int(np.count_nonzero(~raw_combined)),
|
||||
"false_transition_count": int(false_transitions.size),
|
||||
"legacy_code_lock_falling_edges": int(np.count_nonzero(raw_code[:-1] & ~raw_code[1:])),
|
||||
"boc_aware_code_lock_falling_edges": int(new_code_falling.size),
|
||||
"boc_aware_metric_valid_epochs": int(np.count_nonzero(metric_valid)),
|
||||
"boc_aware_code_lock_pass_epochs": int(np.count_nonzero(new_code)),
|
||||
"boc_aware_combined_lock_pass_epochs": int(np.count_nonzero(new_combined)),
|
||||
"boc_aware_longest_code_lock_s": float(
|
||||
new_locked_lengths.max(initial=0) * integration_ms * 1e-3
|
||||
),
|
||||
"boc_side_peak_suspected_epochs": int(sum(item.side_peak_suspected for item in measurements)),
|
||||
"carrier_metric_caused_transitions": int(sum(not row["carrier_threshold_pass"] for row in rows)),
|
||||
"code_metric_caused_transitions": int(sum(not row["code_threshold_pass"] for row in rows)),
|
||||
"symbol_transition_coincident_false_transitions": int(sum(row["navigation_symbol_transition"] for row in rows)),
|
||||
"cycle_slips": int(sum(item.cycle_slip for item in measurements)),
|
||||
"sample_discontinuities": int(sum(item.sample_discontinuity for item in measurements)),
|
||||
"cn0_unavailable_false_transitions": int(sum(row["cn0_db_hz"] is None for row in rows)),
|
||||
"false_run_count": int(false_lengths.size),
|
||||
"single_epoch_false_runs": int(np.count_nonzero(false_lengths == 1)),
|
||||
"maximum_false_run_epochs": int(false_lengths.max(initial=0)),
|
||||
"maximum_false_run_ms": float(false_lengths.max(initial=0) * integration_ms),
|
||||
"maximum_continuous_raw_lock_epochs": int(locked_lengths.max(initial=0)),
|
||||
"maximum_continuous_raw_lock_s": float(locked_lengths.max(initial=0) * integration_ms * 1e-3),
|
||||
"carrier_metric_percentiles": {
|
||||
str(q): float(np.percentile(carrier_metric, q)) for q in (1, 5, 50, 95, 99)
|
||||
},
|
||||
"code_metric_percentiles": {
|
||||
str(q): float(np.percentile(code_metric, q)) for q in (1, 5, 50, 95, 99)
|
||||
},
|
||||
"boc_main_peak_fraction_percentiles": {
|
||||
str(q): float(np.percentile(_array(measurements, "boc_main_peak_fraction")[metric_valid], q))
|
||||
for q in (1, 5, 50, 95, 99)
|
||||
},
|
||||
"boc_side_peak_metric_percentiles": {
|
||||
str(q): float(np.percentile(_array(measurements, "boc_side_peak_metric")[metric_valid], q))
|
||||
for q in (1, 5, 50, 95, 99)
|
||||
},
|
||||
"boc_main_peak_coherence_percentiles": {
|
||||
str(q): float(np.percentile(_array(measurements, "boc_main_peak_coherence")[metric_valid], q))
|
||||
for q in (1, 5, 50, 95, 99)
|
||||
},
|
||||
"legacy_code_metric_failure_behavior": behavior(legacy_failure),
|
||||
"legacy_code_metric_pass_behavior": behavior(legacy_pass),
|
||||
"post_pull_in": {
|
||||
"pll_error_rms_rad": float(np.sqrt(np.mean(pll[stable] ** 2))),
|
||||
"pll_error_p99_abs_rad": float(np.percentile(np.abs(pll[stable]), 99)),
|
||||
"dll_error_rms_chips": float(np.sqrt(np.mean(dll[stable] ** 2))),
|
||||
"dll_error_p99_abs_chips": float(np.percentile(np.abs(dll[stable]), 99)),
|
||||
"carrier_frequency_min_hz": float(np.min(carrier_frequency[stable])),
|
||||
"carrier_frequency_max_hz": float(np.max(carrier_frequency[stable])),
|
||||
"carrier_frequency_last_minus_first_hz": float(carrier_frequency[stable][-1] - carrier_frequency[stable][0]),
|
||||
"code_frequency_min_hz": float(np.min(code_frequency[stable])),
|
||||
"code_frequency_max_hz": float(np.max(code_frequency[stable])),
|
||||
"code_frequency_last_minus_first_hz": float(code_frequency[stable][-1] - code_frequency[stable][0]),
|
||||
"cn0_median_db_hz": float(np.nanmedian(cn0[stable])),
|
||||
"cn0_min_db_hz": float(np.nanmin(cn0[stable])),
|
||||
},
|
||||
}
|
||||
return summary, rows, nav_transitions
|
||||
|
||||
|
||||
def write_transition_csv(path: str | Path, rows: Sequence[dict[str, Any]]) -> None:
|
||||
destination = Path(path)
|
||||
destination.parent.mkdir(parents=True, exist_ok=True)
|
||||
if not rows:
|
||||
destination.write_text("", encoding="utf-8")
|
||||
return
|
||||
with destination.open("w", newline="", encoding="utf-8") as stream:
|
||||
writer = csv.DictWriter(stream, fieldnames=list(rows[0]))
|
||||
writer.writeheader()
|
||||
writer.writerows(rows)
|
||||
|
||||
|
||||
def write_lock_report(path: str | Path, report: dict[str, Any]) -> None:
|
||||
destination = Path(path)
|
||||
destination.parent.mkdir(parents=True, exist_ok=True)
|
||||
destination.write_text(json.dumps(report, indent=2) + "\n", encoding="utf-8")
|
||||
|
||||
|
||||
def save_tracking_measurements(
|
||||
path: str | Path,
|
||||
measurements: Sequence[TrackingMeasurement],
|
||||
) -> None:
|
||||
"""Save the complete double-precision diagnostic stream for offline analysis."""
|
||||
destination = Path(path)
|
||||
destination.parent.mkdir(parents=True, exist_ok=True)
|
||||
numeric_fields = (
|
||||
"epoch", "time_s", "start_sample_timestamp", "end_sample_timestamp",
|
||||
"prompt_i", "prompt_q", "early_magnitude", "late_magnitude",
|
||||
"pll_error_rad", "fll_error_hz", "dll_error_chips", "carrier_frequency_hz",
|
||||
"code_frequency_hz", "carrier_phase_rad", "code_phase_chips", "cn0_db_hz",
|
||||
"carrier_lock_metric", "code_lock_metric",
|
||||
"very_early_magnitude", "very_late_magnitude", "smoothed_code_lock_metric",
|
||||
"boc_main_peak_fraction", "boc_side_peak_metric",
|
||||
"boc_main_peak_coherence",
|
||||
)
|
||||
arrays: dict[str, np.ndarray] = {}
|
||||
for field in numeric_fields:
|
||||
if field in {"epoch", "start_sample_timestamp", "end_sample_timestamp"}:
|
||||
arrays[field] = np.asarray([getattr(item, field) for item in measurements], dtype=np.int64)
|
||||
elif field == "cn0_db_hz":
|
||||
arrays[field] = np.asarray([
|
||||
np.nan if item.cn0_db_hz is None else item.cn0_db_hz for item in measurements
|
||||
], dtype=np.float64)
|
||||
else:
|
||||
arrays[field] = np.asarray([getattr(item, field) for item in measurements], dtype=np.float64)
|
||||
for field in (
|
||||
"carrier_lock", "code_lock", "cycle_slip", "sample_discontinuity",
|
||||
"reacquisition_requested", "valid",
|
||||
"lock_metric_valid", "signal_present", "side_peak_suspected",
|
||||
):
|
||||
arrays[field] = np.asarray([getattr(item, field) for item in measurements], dtype=np.bool_)
|
||||
arrays["state"] = np.asarray([item.state.value for item in measurements], dtype="U24")
|
||||
np.savez_compressed(destination, **arrays)
|
||||
|
||||
|
||||
def plot_tracking_lock_diagnostics(
|
||||
path: str | Path,
|
||||
measurements: Sequence[TrackingMeasurement],
|
||||
nav_transitions: np.ndarray,
|
||||
*,
|
||||
carrier_center_hz: float,
|
||||
thresholds: LockThresholds = LockThresholds(),
|
||||
) -> None:
|
||||
import matplotlib.pyplot as plt
|
||||
|
||||
destination = Path(path)
|
||||
destination.parent.mkdir(parents=True, exist_ok=True)
|
||||
time_s = _array(measurements, "time_s")
|
||||
carrier = _array(measurements, "carrier_lock_metric")
|
||||
code = _array(measurements, "code_lock_metric")
|
||||
combined = (carrier > thresholds.carrier_lock) & (code > thresholds.code_lock)
|
||||
falling = np.flatnonzero(combined[:-1] & ~combined[1:]) + 1
|
||||
new_code = np.asarray([item.code_lock for item in measurements], dtype=np.bool_)
|
||||
prompt_i = _array(measurements, "prompt_i")
|
||||
prompt_q = _array(measurements, "prompt_q")
|
||||
cn0 = np.asarray([np.nan if item.cn0_db_hz is None else item.cn0_db_hz for item in measurements])
|
||||
|
||||
figure, axes = plt.subplots(6, 1, figsize=(14, 15), sharex=True)
|
||||
axes[0].plot(time_s, carrier, linewidth=0.7, label="carrier metric")
|
||||
axes[0].plot(time_s, code, linewidth=0.7, label="code metric")
|
||||
axes[0].axhline(thresholds.carrier_lock, color="tab:blue", linestyle="--", label="carrier threshold")
|
||||
axes[0].axhline(thresholds.code_lock, color="tab:orange", linestyle="--", label="code threshold")
|
||||
axes[0].legend(ncol=4, fontsize=8)
|
||||
axes[0].set_ylabel("lock metric")
|
||||
axes[1].plot(time_s, _array(measurements, "boc_main_peak_fraction"), linewidth=0.7, label="BOC central-energy fraction")
|
||||
axes[1].plot(time_s, _array(measurements, "boc_side_peak_metric"), linewidth=0.7, label="BOC outer/central metric")
|
||||
axes[1].plot(time_s, _array(measurements, "boc_main_peak_coherence"), linewidth=0.7, label="BOC E/L-to-P coherence")
|
||||
axes[1].step(time_s, new_code.astype(np.float64), where="post", linewidth=0.6, label="BOC-aware code lock")
|
||||
axes[1].legend(fontsize=8)
|
||||
axes[1].set_ylabel("BOC shape")
|
||||
powers = {
|
||||
"VE": _array(measurements, "very_early_magnitude") ** 2,
|
||||
"E": _array(measurements, "early_magnitude") ** 2,
|
||||
"P": prompt_i**2 + prompt_q**2,
|
||||
"L": _array(measurements, "late_magnitude") ** 2,
|
||||
"VL": _array(measurements, "very_late_magnitude") ** 2,
|
||||
}
|
||||
for label, power in powers.items():
|
||||
axes[2].plot(time_s, power, linewidth=0.45, label=label)
|
||||
axes[2].legend(fontsize=8)
|
||||
axes[2].set_ylabel("tap power")
|
||||
axes[3].plot(time_s, _array(measurements, "pll_error_rad"), linewidth=0.6, label="PLL rad")
|
||||
axes[3].plot(time_s, _array(measurements, "dll_error_chips"), linewidth=0.6, label="DLL chips")
|
||||
axes[3].legend(fontsize=8)
|
||||
axes[3].set_ylabel("discriminator")
|
||||
axes[4].plot(time_s, _array(measurements, "carrier_frequency_hz") - carrier_center_hz, linewidth=0.7, label="Doppler Hz")
|
||||
axes[4].plot(time_s, _array(measurements, "code_frequency_hz") - 1.023e6, linewidth=0.7, label="code offset Hz")
|
||||
axes[4].legend(fontsize=8)
|
||||
axes[4].set_ylabel("NCO offset")
|
||||
axes[5].plot(time_s, cn0, linewidth=0.7, label="C/N0 dB-Hz")
|
||||
axes[5].step(time_s, combined.astype(float) * 5.0 + np.nanmin(cn0), where="post", linewidth=0.6, label="legacy raw lock (offset)")
|
||||
for axis in axes:
|
||||
ymin, ymax = axis.get_ylim()
|
||||
axis.vlines(time_s[falling], ymin, ymax, color="tab:red", alpha=0.12, linewidth=0.6)
|
||||
axis.grid(True, alpha=0.2)
|
||||
nav_indices = np.flatnonzero(nav_transitions)
|
||||
axes[5].scatter(
|
||||
time_s[nav_indices], np.full(nav_indices.size, np.nanmin(cn0) + 2.5),
|
||||
s=2, color="tab:green", alpha=0.25, label="derived nav transition",
|
||||
)
|
||||
axes[5].legend(fontsize=8)
|
||||
axes[5].set_ylabel("C/N0")
|
||||
axes[5].set_xlabel("tracking time (s)")
|
||||
figure.tight_layout()
|
||||
figure.savefig(destination, dpi=150)
|
||||
plt.close(figure)
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
from dataclasses import asdict
|
||||
from dataclasses import asdict, replace
|
||||
from hashlib import sha256
|
||||
import json
|
||||
import math
|
||||
@@ -17,9 +17,19 @@ import yaml
|
||||
from galileo_rx.acquisition.acquisition_manager import AcquisitionManager
|
||||
from galileo_rx.config import AcquisitionConfig, TrackingConfig
|
||||
from galileo_rx.io.signalsim_reader import SignalSimReader, SignalSimSampleSpec
|
||||
from galileo_rx.diagnostics.lock_analysis import (
|
||||
analyze_tracking_lock,
|
||||
plot_tracking_lock_diagnostics,
|
||||
save_tracking_measurements,
|
||||
write_transition_csv,
|
||||
)
|
||||
from galileo_rx.signal_profiles import galileo_e1_profile
|
||||
from galileo_rx.signals.signalsim_codes import SignalSimCodeProvider
|
||||
from galileo_rx.tracking.tracking_channel import TrackingChannel
|
||||
from galileo_rx.tracking.pilot_aided_e1 import (
|
||||
E1CPilotAidedE1TrackingChannel,
|
||||
synchronize_e1c_for_tracking,
|
||||
)
|
||||
|
||||
from .decoder_diagnostics import save_prompt_epochs, save_symbols, write_json_lines
|
||||
from .e1b_prompt_stream import E1BPromptStream
|
||||
@@ -51,6 +61,7 @@ def collect_navigation(
|
||||
*,
|
||||
signalsim_path: str | Path | None = None,
|
||||
selected_prns: list[int] | None = None,
|
||||
tracking_mode: str | None = None,
|
||||
) -> tuple[dict[str, Any], bool]:
|
||||
"""Decode navigation using samples/prompts only; truth is not accepted here."""
|
||||
config_file = Path(config_path).resolve()
|
||||
@@ -76,6 +87,11 @@ def collect_navigation(
|
||||
samples = SignalSimReader(samples_path, SignalSimSampleSpec(cfg["signalsim"]["sample_format"]), memory_map=True).read()
|
||||
profile = galileo_e1_profile()
|
||||
provider = SignalSimCodeProvider(source)
|
||||
selected_tracking_mode = tracking_mode or cfg["tracking"].get(
|
||||
"architecture", "e1c_pilot_aided_e1b"
|
||||
)
|
||||
if selected_tracking_mode not in {"e1b_only", "e1c_pilot_aided_e1b"}:
|
||||
raise ValueError(f"unsupported E1 tracking architecture {selected_tracking_mode!r}")
|
||||
acquisition_cfg = AcquisitionConfig(**cfg["acquisition"], parallelism="doppler_vectorized")
|
||||
acquisition_manager = AcquisitionManager(profile, provider, fs, acquisition_cfg)
|
||||
acquisition_sample_count = acquisition_manager.engine.coherent_samples * acquisition_cfg.noncoherent_accumulations
|
||||
@@ -85,14 +101,28 @@ def collect_navigation(
|
||||
|
||||
for prn in prns:
|
||||
started = time.perf_counter()
|
||||
acquisition_component = "E1B" if selected_tracking_mode == "e1b_only" else "E1C"
|
||||
acquisition, _ = acquisition_manager.acquire_one(
|
||||
samples[:acquisition_sample_count], "E1B", prn, if_hz
|
||||
samples[:acquisition_sample_count], acquisition_component, prn, if_hz
|
||||
)
|
||||
acquired_s = time.perf_counter() - started
|
||||
start_sample = int(round(
|
||||
acquisition.code_phase_samples
|
||||
+ math.ceil((acquisition_sample_count - acquisition.code_phase_samples) / primary_samples) * primary_samples
|
||||
))
|
||||
secondary_sync = None
|
||||
if selected_tracking_mode == "e1c_pilot_aided_e1b":
|
||||
secondary_sync = synchronize_e1c_for_tracking(
|
||||
samples,
|
||||
profile,
|
||||
provider,
|
||||
fs,
|
||||
acquisition,
|
||||
acquisition_sample_count,
|
||||
)
|
||||
acquisition = secondary_sync.acquisition
|
||||
start_sample = secondary_sync.tracking_start_sample
|
||||
else:
|
||||
start_sample = int(round(
|
||||
acquisition.code_phase_samples
|
||||
+ math.ceil((acquisition_sample_count - acquisition.code_phase_samples) / primary_samples) * primary_samples
|
||||
))
|
||||
tracking_values = cfg["tracking"]
|
||||
tracking_config = TrackingConfig(
|
||||
integration_ms=float(tracking_values["integration_ms"]),
|
||||
@@ -104,8 +134,38 @@ def collect_navigation(
|
||||
loss_of_lock_epochs=40,
|
||||
)
|
||||
tracking_started = time.perf_counter()
|
||||
channel = TrackingChannel(profile, provider, fs, tracking_config, acquisition, start_sample)
|
||||
measurements = channel.process(samples[start_sample:])
|
||||
if selected_tracking_mode == "e1b_only":
|
||||
channel = TrackingChannel(profile, provider, fs, tracking_config, acquisition, start_sample)
|
||||
measurements = channel.process(samples[start_sample:])
|
||||
tracking_diagnostics = measurements
|
||||
else:
|
||||
assert secondary_sync is not None
|
||||
pilot_channel = E1CPilotAidedE1TrackingChannel(
|
||||
profile,
|
||||
provider,
|
||||
fs,
|
||||
replace(tracking_config, secondary_code_mode="wipeoff"),
|
||||
acquisition,
|
||||
start_sample,
|
||||
secondary_sync.sync.phase,
|
||||
)
|
||||
pilot_epochs = pilot_channel.process_pilot_aided(samples[start_sample:])
|
||||
channel = pilot_channel
|
||||
tracking_diagnostics = [item.pilot for item in pilot_epochs]
|
||||
# Navigation consumes only the separate E1B branch. Carrier/code
|
||||
# states and every lock metric remain those of the E1C pilot.
|
||||
measurements = [
|
||||
replace(
|
||||
item.pilot,
|
||||
prompt_i=float(np.float64(item.e1b_correlators.prompt.real)),
|
||||
prompt_q=float(np.float64(item.e1b_correlators.prompt.imag)),
|
||||
early_magnitude=float(np.float64(abs(item.e1b_correlators.early))),
|
||||
late_magnitude=float(np.float64(abs(item.e1b_correlators.late))),
|
||||
very_early_magnitude=float(np.float64(abs(item.e1b_correlators.very_early))),
|
||||
very_late_magnitude=float(np.float64(abs(item.e1b_correlators.very_late))),
|
||||
)
|
||||
for item in pilot_epochs
|
||||
]
|
||||
tracking_elapsed_s = time.perf_counter() - tracking_started
|
||||
prompt_stream = E1BPromptStream(prn, fs)
|
||||
prompts = prompt_stream.extend(measurements)
|
||||
@@ -122,7 +182,24 @@ def collect_navigation(
|
||||
decoded = pipeline.process(prompts)
|
||||
decoding_elapsed_s = time.perf_counter() - decoding_started
|
||||
|
||||
artifact_dir = root / "verification" / "navigation" / "signalsim_navigation_multisat" / f"prn_{prn:02d}"
|
||||
artifact_dir = (
|
||||
root / "verification" / "navigation"
|
||||
/ f"signalsim_navigation_multisat_{selected_tracking_mode}" / f"prn_{prn:02d}"
|
||||
)
|
||||
lock_summary, lock_rows, nav_transitions = analyze_tracking_lock(
|
||||
prn,
|
||||
tracking_diagnostics,
|
||||
carrier_center_hz=channel.carrier_center_hz,
|
||||
integration_ms=tracking_config.integration_ms,
|
||||
)
|
||||
save_tracking_measurements(artifact_dir / "tracking_measurements.npz", tracking_diagnostics)
|
||||
write_transition_csv(artifact_dir / "legacy_lock_false_transitions.csv", lock_rows)
|
||||
plot_tracking_lock_diagnostics(
|
||||
artifact_dir / "tracking_lock_diagnostics.png",
|
||||
tracking_diagnostics,
|
||||
nav_transitions,
|
||||
carrier_center_hz=channel.carrier_center_hz,
|
||||
)
|
||||
save_prompt_epochs(artifact_dir / "prompt_epochs.npz", prompts)
|
||||
save_symbols(artifact_dir, decoded.symbols)
|
||||
write_json_lines(artifact_dir / "synchronized_pages.jsonl", decoded.page_parts)
|
||||
@@ -141,6 +218,8 @@ def collect_navigation(
|
||||
first_crc = next((page.receive_sample_timestamp for page in decoded.pages if page.crc_valid), None)
|
||||
summary = {
|
||||
"prn": prn,
|
||||
"tracking_architecture": selected_tracking_mode,
|
||||
"acquisition_component": acquisition_component,
|
||||
"acquisition_detected": acquisition.detected,
|
||||
"acquisition_time_s": acquired_s,
|
||||
"raw_doppler_hz": acquisition.raw_doppler_hz,
|
||||
@@ -152,6 +231,11 @@ def collect_navigation(
|
||||
"tracking_reacquisition_requests": sum(item.reacquisition_requested for item in measurements),
|
||||
"tracking_lock_timestamp": next((item.end_sample_timestamp for item in measurements if item.carrier_lock and item.code_lock), None),
|
||||
"prompt_epoch_count": len(prompts),
|
||||
"valid_prompt_epoch_count": sum(item.valid for item in prompts),
|
||||
"invalid_prompt_epoch_count": sum(not item.valid for item in prompts),
|
||||
"cycle_slips": sum(item.cycle_slip for item in tracking_diagnostics),
|
||||
"sample_discontinuities": sum(item.sample_discontinuity for item in tracking_diagnostics),
|
||||
"raw_navigation_symbol_count": len(decoded.symbols),
|
||||
"first_synchronized_symbol_timestamp": first_part,
|
||||
"first_page_sync_timestamp": first_part,
|
||||
"first_crc_valid_page_timestamp": first_crc,
|
||||
@@ -169,6 +253,8 @@ def collect_navigation(
|
||||
"health_valid": ephemeris.health_valid if ephemeris else False,
|
||||
"data_valid": ephemeris.data_valid if ephemeris else False,
|
||||
"decoding_time_s": decoding_elapsed_s,
|
||||
"secondary_code_sync": asdict(secondary_sync.sync) if secondary_sync else None,
|
||||
"lock_analysis": lock_summary,
|
||||
}
|
||||
(artifact_dir / "decoder_summary.json").write_text(
|
||||
json.dumps(summary, indent=2, default=_json_default) + "\n", encoding="utf-8"
|
||||
@@ -182,6 +268,7 @@ def collect_navigation(
|
||||
)
|
||||
report = {
|
||||
"decoder_truth_inputs": [],
|
||||
"tracking_architecture": selected_tracking_mode,
|
||||
"icd": cfg["navigation"]["icd"],
|
||||
"signalsim_commit": subprocess.check_output(["git", "-C", str(source), "rev-parse", "HEAD"], text=True).strip(),
|
||||
"sample_file": str(samples_path),
|
||||
|
||||
@@ -38,6 +38,26 @@ class CorrelatorBank:
|
||||
array = np.asarray(samples, dtype=np.complex128)
|
||||
carrier_phase = self.carrier_nco.phases(array.size)
|
||||
code_phase = self.code_nco.phases(array.size)
|
||||
return self.correlate_with_phases(array, carrier_phase, code_phase, secondary_sign)
|
||||
|
||||
def correlate_with_phases(
|
||||
self,
|
||||
samples: npt.NDArray[np.generic],
|
||||
carrier_phase_rad: npt.NDArray[np.float64],
|
||||
code_phase_chips: npt.NDArray[np.float64],
|
||||
secondary_sign: int = 1,
|
||||
) -> CorrelatorOutputs:
|
||||
"""Correlate using shared phases without advancing either NCO.
|
||||
|
||||
This is the pilot/data branch boundary: E1C and E1B consume exactly the
|
||||
same carrier and code phase vectors while retaining independent codes
|
||||
and correlator outputs.
|
||||
"""
|
||||
array = np.asarray(samples, dtype=np.complex128)
|
||||
carrier_phase = np.asarray(carrier_phase_rad, dtype=np.float64)
|
||||
code_phase = np.asarray(code_phase_chips, dtype=np.float64)
|
||||
if carrier_phase.shape != array.shape or code_phase.shape != array.shape:
|
||||
raise ValueError("sample, carrier-phase, and code-phase vectors must have equal shapes")
|
||||
wiped = array * np.exp(-1j * carrier_phase) * secondary_sign
|
||||
taps = {
|
||||
"very_early": -self.very_early_late_spacing_chips,
|
||||
|
||||
@@ -1,7 +1,18 @@
|
||||
"""Lock metrics and hysteretic failure counting."""
|
||||
"""BOC-aware tracking lock detection.
|
||||
|
||||
The legacy detector used ``|P|^2 / mean(|E|^2, |L|^2)`` as an instantaneous
|
||||
code-lock decision. That metric is appropriate for a single-peaked BPSK
|
||||
correlation function, but it is not a valid lock predicate for BOC(1,1): at a
|
||||
quarter-chip main-peak shoulder either E or L is expected to exceed P.
|
||||
|
||||
This detector therefore smooths *powers* (not ratios), distinguishes numerical
|
||||
metric validity from lock state, and classifies the five-tap correlation shape.
|
||||
No discriminator or NCO state is changed here.
|
||||
"""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
from collections import deque
|
||||
from dataclasses import dataclass
|
||||
|
||||
import numpy as np
|
||||
@@ -9,39 +20,269 @@ import numpy as np
|
||||
from galileo_rx.types import CorrelatorOutputs
|
||||
|
||||
|
||||
@dataclass(frozen=True, slots=True)
|
||||
class BocLockDetectorConfig:
|
||||
smoothing_epochs: int = 25
|
||||
confirmation_epochs: int = 3
|
||||
failure_epochs: int = 40
|
||||
carrier_enter_threshold: float = 0.55
|
||||
carrier_exit_threshold: float = 0.45
|
||||
main_peak_enter_fraction: float = 0.65
|
||||
main_peak_exit_fraction: float = 0.50
|
||||
side_peak_enter_ratio: float = 0.80
|
||||
side_peak_exit_ratio: float = 0.55
|
||||
side_peak_coherence_enter: float = 0.15
|
||||
side_peak_coherence_exit: float = 0.25
|
||||
maximum_el_imbalance: float = 0.90
|
||||
signal_loss_power_ratio: float = 0.02
|
||||
|
||||
def validate(self) -> None:
|
||||
if min(self.smoothing_epochs, self.confirmation_epochs, self.failure_epochs) < 1:
|
||||
raise ValueError("lock-detector epoch counts must be positive")
|
||||
if not 0.0 <= self.carrier_exit_threshold < self.carrier_enter_threshold <= 1.0:
|
||||
raise ValueError("carrier lock hysteresis thresholds are invalid")
|
||||
if not 0.0 < self.main_peak_exit_fraction < self.main_peak_enter_fraction < 1.0:
|
||||
raise ValueError("BOC main-peak hysteresis thresholds are invalid")
|
||||
if not 0.0 < self.side_peak_exit_ratio < self.side_peak_enter_ratio:
|
||||
raise ValueError("BOC side-peak hysteresis thresholds are invalid")
|
||||
if not -1.0 <= self.side_peak_coherence_enter < self.side_peak_coherence_exit <= 1.0:
|
||||
raise ValueError("BOC side-peak coherence hysteresis thresholds are invalid")
|
||||
if not 0.0 < self.maximum_el_imbalance <= 1.0:
|
||||
raise ValueError("maximum_el_imbalance must be in (0, 1]")
|
||||
if not 0.0 < self.signal_loss_power_ratio < 1.0:
|
||||
raise ValueError("signal_loss_power_ratio must be in (0, 1)")
|
||||
|
||||
|
||||
@dataclass(slots=True)
|
||||
class LockStatus:
|
||||
carrier_metric: float
|
||||
code_metric: float
|
||||
smoothed_code_metric: float
|
||||
boc_main_peak_fraction: float
|
||||
boc_side_peak_ratio: float
|
||||
boc_main_peak_coherence: float
|
||||
metric_valid: bool
|
||||
carrier_locked: bool
|
||||
code_locked: bool
|
||||
locked: bool
|
||||
cycle_slip: bool
|
||||
side_peak_suspected: bool
|
||||
signal_present: bool
|
||||
|
||||
|
||||
class LockDetector:
|
||||
def __init__(self, failure_limit: int = 10, *, data_sign_insensitive: bool = False) -> None:
|
||||
self.failure_limit = failure_limit
|
||||
"""Five-tap BOC lock detector with power smoothing and debounce."""
|
||||
|
||||
def __init__(
|
||||
self,
|
||||
failure_limit: int = 40,
|
||||
*,
|
||||
data_sign_insensitive: bool = False,
|
||||
smoothing_epochs: int = 25,
|
||||
confirmation_epochs: int = 3,
|
||||
config: BocLockDetectorConfig | None = None,
|
||||
) -> None:
|
||||
self.config = config or BocLockDetectorConfig(
|
||||
smoothing_epochs=smoothing_epochs,
|
||||
confirmation_epochs=confirmation_epochs,
|
||||
failure_epochs=failure_limit,
|
||||
)
|
||||
self.config.validate()
|
||||
self.data_sign_insensitive = data_sign_insensitive
|
||||
self.failures = 0
|
||||
self.previous_phase: float | None = None
|
||||
self._powers: deque[np.ndarray] = deque(maxlen=self.config.smoothing_epochs)
|
||||
self._power_sum = np.zeros(5, dtype=np.float64)
|
||||
self._coherence_terms: deque[np.ndarray] = deque(maxlen=self.config.smoothing_epochs)
|
||||
self._coherence_sum = np.zeros(2, dtype=np.float64)
|
||||
self._power_reference = np.float64(0.0)
|
||||
self._carrier_locked = False
|
||||
self._code_locked = False
|
||||
self._side_peak = False
|
||||
self._has_locked = False
|
||||
self._carrier_passes = 0
|
||||
self._carrier_failures = 0
|
||||
self._code_passes = 0
|
||||
self._code_failures = 0
|
||||
|
||||
@staticmethod
|
||||
def _tap_powers(correlators: CorrelatorOutputs) -> np.ndarray:
|
||||
values = np.asarray([
|
||||
correlators.very_early,
|
||||
correlators.early,
|
||||
correlators.prompt,
|
||||
correlators.late,
|
||||
correlators.very_late,
|
||||
], dtype=np.complex128)
|
||||
return np.square(np.abs(values), dtype=np.float64)
|
||||
|
||||
def _append_powers(self, powers: np.ndarray, correlators: CorrelatorOutputs) -> None:
|
||||
if len(self._powers) == self._powers.maxlen:
|
||||
self._power_sum -= self._powers[0]
|
||||
self._coherence_sum -= self._coherence_terms[0]
|
||||
prompt = correlators.prompt
|
||||
early_late_sum = correlators.early + correlators.late
|
||||
coherence_terms = np.asarray([
|
||||
np.real(early_late_sum * np.conj(prompt)),
|
||||
abs(prompt) * (abs(correlators.early) + abs(correlators.late)),
|
||||
], dtype=np.float64)
|
||||
self._powers.append(powers)
|
||||
self._power_sum += powers
|
||||
self._coherence_terms.append(coherence_terms)
|
||||
self._coherence_sum += coherence_terms
|
||||
|
||||
@staticmethod
|
||||
def _debounce(
|
||||
state: bool,
|
||||
passing: bool,
|
||||
passes: int,
|
||||
failures: int,
|
||||
confirmation_epochs: int,
|
||||
failure_epochs: int,
|
||||
) -> tuple[bool, int, int]:
|
||||
if passing:
|
||||
passes += 1
|
||||
failures = 0
|
||||
if not state and passes >= confirmation_epochs:
|
||||
state = True
|
||||
else:
|
||||
failures += 1
|
||||
passes = 0
|
||||
if state and failures >= failure_epochs:
|
||||
state = False
|
||||
return state, passes, failures
|
||||
|
||||
def update(
|
||||
self,
|
||||
correlators: CorrelatorOutputs,
|
||||
*,
|
||||
metric_input_valid: bool = True,
|
||||
) -> LockStatus:
|
||||
powers = self._tap_powers(correlators)
|
||||
finite = bool(np.all(np.isfinite(powers)))
|
||||
if metric_input_valid and finite:
|
||||
self._append_powers(powers, correlators)
|
||||
|
||||
tiny = np.finfo(np.float64).tiny
|
||||
prompt_amplitude = abs(correlators.prompt)
|
||||
carrier_metric = float(abs(correlators.prompt.real) / max(prompt_amplitude, tiny))
|
||||
code_metric = float(powers[2] / max(0.5 * (powers[1] + powers[3]), tiny))
|
||||
|
||||
metric_valid = bool(
|
||||
metric_input_valid
|
||||
and finite
|
||||
and len(self._powers) == self.config.smoothing_epochs
|
||||
and np.sum(self._power_sum) > tiny
|
||||
)
|
||||
if self._powers:
|
||||
smoothed = self._power_sum / np.float64(len(self._powers))
|
||||
else:
|
||||
smoothed = np.zeros(5, dtype=np.float64)
|
||||
central_power = float(smoothed[1] + smoothed[2] + smoothed[3])
|
||||
outer_power = float(smoothed[0] + smoothed[4])
|
||||
total_power = central_power + outer_power
|
||||
smoothed_code_metric = float(smoothed[2] / max(0.5 * (smoothed[1] + smoothed[3]), tiny))
|
||||
main_peak_fraction = float(central_power / max(total_power, tiny))
|
||||
side_peak_ratio = float(max(smoothed[0], smoothed[4]) / max(central_power, tiny))
|
||||
main_peak_coherence = float(self._coherence_sum[0] / max(self._coherence_sum[1], tiny))
|
||||
el_imbalance = float(abs(smoothed[1] - smoothed[3]) / max(smoothed[1] + smoothed[3], tiny))
|
||||
|
||||
# The reference has a very slow peak hold. It supplies an independent
|
||||
# signal-loss test while remaining insensitive to normal BOC power
|
||||
# redistribution among P/E/L/VE/VL.
|
||||
if metric_valid:
|
||||
self._power_reference = max(
|
||||
np.float64(total_power), self._power_reference * np.float64(0.9995)
|
||||
)
|
||||
signal_present = bool(
|
||||
metric_valid
|
||||
and self._power_reference > tiny
|
||||
and total_power >= self.config.signal_loss_power_ratio * self._power_reference
|
||||
)
|
||||
|
||||
if self._side_peak:
|
||||
self._side_peak = metric_valid and (
|
||||
side_peak_ratio > self.config.side_peak_exit_ratio
|
||||
or main_peak_coherence < self.config.side_peak_coherence_exit
|
||||
)
|
||||
else:
|
||||
self._side_peak = metric_valid and (
|
||||
side_peak_ratio >= self.config.side_peak_enter_ratio
|
||||
or main_peak_coherence <= self.config.side_peak_coherence_enter
|
||||
)
|
||||
|
||||
carrier_threshold = (
|
||||
self.config.carrier_exit_threshold if self._carrier_locked
|
||||
else self.config.carrier_enter_threshold
|
||||
)
|
||||
carrier_pass = metric_valid and signal_present and carrier_metric >= carrier_threshold
|
||||
self._carrier_locked, self._carrier_passes, self._carrier_failures = self._debounce(
|
||||
self._carrier_locked,
|
||||
carrier_pass,
|
||||
self._carrier_passes,
|
||||
self._carrier_failures,
|
||||
self.config.confirmation_epochs,
|
||||
self.config.failure_epochs,
|
||||
)
|
||||
|
||||
main_threshold = (
|
||||
self.config.main_peak_exit_fraction if self._code_locked
|
||||
else self.config.main_peak_enter_fraction
|
||||
)
|
||||
# A quarter-chip BOC shoulder has one dominant E/L tap and remains in
|
||||
# the central basin. The generous imbalance bound permits that shape;
|
||||
# outer-tap dominance and sustained absence of correlation do not.
|
||||
code_pass = bool(
|
||||
metric_valid
|
||||
and signal_present
|
||||
and main_peak_fraction >= main_threshold
|
||||
and el_imbalance <= self.config.maximum_el_imbalance
|
||||
and not self._side_peak
|
||||
)
|
||||
self._code_locked, self._code_passes, self._code_failures = self._debounce(
|
||||
self._code_locked,
|
||||
code_pass,
|
||||
self._code_passes,
|
||||
self._code_failures,
|
||||
self.config.confirmation_epochs,
|
||||
self.config.failure_epochs,
|
||||
)
|
||||
|
||||
def update(self, correlators: CorrelatorOutputs) -> LockStatus:
|
||||
prompt_power = abs(correlators.prompt) ** 2
|
||||
carrier_metric = float(abs(correlators.prompt.real) / max(abs(correlators.prompt), np.finfo(float).tiny))
|
||||
code_metric = float(prompt_power / max(0.5 * (abs(correlators.early) ** 2 + abs(correlators.late) ** 2), np.finfo(float).tiny))
|
||||
phase = float(np.angle(correlators.prompt))
|
||||
phase_delta = float(np.angle(np.exp(1j * (phase - self.previous_phase)))) if self.previous_phase is not None else 0.0
|
||||
phase_delta = (
|
||||
float(np.angle(np.exp(1j * (phase - self.previous_phase))))
|
||||
if self.previous_phase is not None else 0.0
|
||||
)
|
||||
slip_threshold_rad = 0.9 * np.pi
|
||||
if self.data_sign_insensitive:
|
||||
# A legitimate BPSK navigation-symbol transition is a pi phase
|
||||
# reversal, not a carrier cycle slip. Doubling phase removes that
|
||||
# ambiguity before applying the slip detector.
|
||||
phase_delta = 0.5 * float(np.angle(np.exp(2j * phase_delta)))
|
||||
slip_threshold_rad = 0.45 * np.pi
|
||||
cycle_slip = self.previous_phase is not None and abs(phase_delta) > slip_threshold_rad
|
||||
self.previous_phase = phase
|
||||
locked = carrier_metric > 0.55 and code_metric > 0.5
|
||||
self.failures = 0 if locked else self.failures + 1
|
||||
vevl = max(abs(correlators.very_early), abs(correlators.very_late))
|
||||
side_peak = vevl > 1.25 * max(abs(correlators.prompt), np.finfo(float).tiny)
|
||||
return LockStatus(carrier_metric, code_metric, locked, cycle_slip, side_peak)
|
||||
|
||||
locked = self._carrier_locked and self._code_locked
|
||||
if locked:
|
||||
self._has_locked = True
|
||||
self.failures = 0
|
||||
elif self._has_locked or (
|
||||
metric_input_valid and finite and float(np.sum(powers, dtype=np.float64)) <= tiny
|
||||
):
|
||||
self.failures += 1
|
||||
else:
|
||||
# Metric warm-up is not a loss of a lock that never existed.
|
||||
self.failures = 0
|
||||
return LockStatus(
|
||||
carrier_metric=carrier_metric,
|
||||
code_metric=code_metric,
|
||||
smoothed_code_metric=smoothed_code_metric,
|
||||
boc_main_peak_fraction=main_peak_fraction,
|
||||
boc_side_peak_ratio=side_peak_ratio,
|
||||
boc_main_peak_coherence=main_peak_coherence,
|
||||
metric_valid=metric_valid,
|
||||
carrier_locked=self._carrier_locked,
|
||||
code_locked=self._code_locked,
|
||||
locked=locked,
|
||||
cycle_slip=cycle_slip,
|
||||
side_peak_suspected=self._side_peak,
|
||||
signal_present=signal_present,
|
||||
)
|
||||
|
||||
@@ -0,0 +1,170 @@
|
||||
"""E1C-pilot master tracking with a phase-coherent E1B data branch."""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
from dataclasses import dataclass, replace
|
||||
import math
|
||||
|
||||
import numpy as np
|
||||
import numpy.typing as npt
|
||||
|
||||
from galileo_rx.config import TrackingConfig
|
||||
from galileo_rx.signal_profiles import SignalProfile
|
||||
from galileo_rx.signals.code_provider import CodeProvider
|
||||
from galileo_rx.types import AcquisitionResult, CorrelatorOutputs, TrackingMeasurement
|
||||
from .correlator import CorrelatorBank
|
||||
from .nco import CarrierNco, CodeNco
|
||||
from .symbol_sync import SecondaryCodeSyncResult, synchronize_secondary_code
|
||||
from .tracking_channel import TrackingChannel
|
||||
|
||||
|
||||
@dataclass(frozen=True, slots=True)
|
||||
class PilotAidedE1Epoch:
|
||||
pilot: TrackingMeasurement
|
||||
e1b_correlators: CorrelatorOutputs
|
||||
|
||||
|
||||
@dataclass(frozen=True, slots=True)
|
||||
class E1CSecondarySynchronization:
|
||||
acquisition: AcquisitionResult
|
||||
tracking_start_sample: int
|
||||
sync: SecondaryCodeSyncResult
|
||||
|
||||
|
||||
def synchronize_e1c_for_tracking(
|
||||
samples: npt.NDArray[np.generic],
|
||||
profile: SignalProfile,
|
||||
provider: CodeProvider,
|
||||
sampling_frequency_hz: float,
|
||||
acquisition: AcquisitionResult,
|
||||
acquisition_observation_samples: int,
|
||||
*,
|
||||
search_primary_epochs: int = 100,
|
||||
residual_frequency_step_hz: float = 0.5,
|
||||
) -> E1CSecondarySynchronization:
|
||||
"""Synchronize E1C secondary phase before closing the pilot loops."""
|
||||
if acquisition.component != "E1C":
|
||||
raise ValueError("E1C secondary synchronization requires an E1C acquisition")
|
||||
component = profile.component("E1C")
|
||||
primary_samples = int(round(sampling_frequency_hz * component.primary_code_period_s))
|
||||
start = int(round(
|
||||
acquisition.code_phase_samples
|
||||
+ math.ceil(
|
||||
(acquisition_observation_samples - acquisition.code_phase_samples) / primary_samples
|
||||
) * primary_samples
|
||||
))
|
||||
available = max(0, (np.asarray(samples).size - start) // primary_samples)
|
||||
epoch_count = min(int(search_primary_epochs), available)
|
||||
if epoch_count < component.secondary_code_length:
|
||||
raise ValueError("insufficient E1C primary epochs for secondary-code synchronization")
|
||||
carrier = CarrierNco(
|
||||
sampling_frequency_hz,
|
||||
acquisition.carrier_frequency_hz,
|
||||
2.0 * np.pi * acquisition.carrier_frequency_hz * start / sampling_frequency_hz % (2.0 * np.pi),
|
||||
)
|
||||
code = CodeNco(
|
||||
sampling_frequency_hz,
|
||||
component.primary_code_length_chips,
|
||||
profile.code_rate_hz * (1.0 + acquisition.doppler_hz / profile.carrier_frequency_hz),
|
||||
(-acquisition.code_phase_chips + start * profile.code_rate_hz / sampling_frequency_hz)
|
||||
% component.primary_code_length_chips,
|
||||
)
|
||||
bank = CorrelatorBank(profile, provider, "E1C", acquisition.prn, carrier, code, 0.25, 0.75)
|
||||
prompts = np.asarray([
|
||||
bank.correlate(
|
||||
np.asarray(samples)[start + index * primary_samples : start + (index + 1) * primary_samples]
|
||||
).prompt
|
||||
for index in range(epoch_count)
|
||||
], dtype=np.complex128)
|
||||
secondary = provider.secondary_code(profile, "E1C", acquisition.prn)
|
||||
if secondary is None:
|
||||
raise ValueError("E1C code provider has no secondary code")
|
||||
sync = synchronize_secondary_code(
|
||||
prompts,
|
||||
secondary,
|
||||
component.primary_code_period_s,
|
||||
residual_frequency_step_hz=residual_frequency_step_hz,
|
||||
)
|
||||
adjusted = replace(
|
||||
acquisition,
|
||||
doppler_hz=acquisition.doppler_hz + sync.residual_frequency_hz,
|
||||
carrier_frequency_hz=acquisition.carrier_frequency_hz + sync.residual_frequency_hz,
|
||||
)
|
||||
return E1CSecondarySynchronization(adjusted, start, sync)
|
||||
|
||||
|
||||
class E1CPilotAidedE1TrackingChannel(TrackingChannel):
|
||||
"""Drive all loop and lock decisions from E1C; expose E1B Prompt separately."""
|
||||
|
||||
def __init__(
|
||||
self,
|
||||
profile: SignalProfile,
|
||||
provider: CodeProvider,
|
||||
sampling_frequency_hz: float,
|
||||
config: TrackingConfig,
|
||||
e1c_acquisition: AcquisitionResult,
|
||||
start_sample_index: int,
|
||||
secondary_code_phase_at_start: int,
|
||||
) -> None:
|
||||
if e1c_acquisition.component != "E1C":
|
||||
raise ValueError("pilot-aided E1 tracking requires an E1C acquisition")
|
||||
primary_ms = profile.component("E1C").primary_code_period_s * 1e3
|
||||
integrations_per_primary = primary_ms / config.integration_ms
|
||||
if not np.isclose(integrations_per_primary, round(integrations_per_primary), atol=1e-12):
|
||||
raise ValueError("pilot-aided integration must exactly divide the 4 ms E1 primary period")
|
||||
super().__init__(
|
||||
profile,
|
||||
provider,
|
||||
sampling_frequency_hz,
|
||||
config,
|
||||
e1c_acquisition,
|
||||
start_sample_index,
|
||||
secondary_code_phase_at_start,
|
||||
)
|
||||
self.e1b_correlator = CorrelatorBank(
|
||||
profile,
|
||||
provider,
|
||||
"E1B",
|
||||
e1c_acquisition.prn,
|
||||
self.carrier_nco,
|
||||
self.code_nco,
|
||||
config.early_late_spacing_chips,
|
||||
config.very_early_late_spacing_chips,
|
||||
)
|
||||
self.last_e1b_correlators = CorrelatorOutputs()
|
||||
|
||||
def _correlate_epoch(
|
||||
self,
|
||||
samples: npt.NDArray[np.generic],
|
||||
secondary_sign: int,
|
||||
) -> CorrelatorOutputs:
|
||||
array = np.asarray(samples, dtype=np.complex128)
|
||||
carrier_phase = self.carrier_nco.phases(array.size)
|
||||
code_phase = self.code_nco.phases(array.size)
|
||||
pilot = self.correlator.correlate_with_phases(
|
||||
array, carrier_phase, code_phase, secondary_sign
|
||||
)
|
||||
self.last_e1b_correlators = self.e1b_correlator.correlate_with_phases(
|
||||
array, carrier_phase, code_phase, 1
|
||||
)
|
||||
return pilot
|
||||
|
||||
def process_pilot_aided_epoch(
|
||||
self,
|
||||
samples: npt.NDArray[np.generic],
|
||||
) -> PilotAidedE1Epoch:
|
||||
pilot = super().process_epoch(samples)
|
||||
return PilotAidedE1Epoch(pilot, self.last_e1b_correlators)
|
||||
|
||||
def process_pilot_aided(
|
||||
self,
|
||||
samples: npt.NDArray[np.generic],
|
||||
) -> list[PilotAidedE1Epoch]:
|
||||
array = np.asarray(samples)
|
||||
epochs = array.size // self.integration_samples
|
||||
return [
|
||||
self.process_pilot_aided_epoch(
|
||||
array[index * self.integration_samples : (index + 1) * self.integration_samples]
|
||||
)
|
||||
for index in range(epochs)
|
||||
]
|
||||
@@ -18,7 +18,7 @@ from .discriminators import (
|
||||
pll_four_quadrant_rad,
|
||||
pll_two_quadrant_rad,
|
||||
)
|
||||
from .lock_detector import LockDetector
|
||||
from .lock_detector import BocLockDetectorConfig, LockDetector
|
||||
from .loop_filters import FirstOrderFllFilter, SecondOrderLoopFilter, ThirdOrderLoopFilter
|
||||
from .nco import CarrierNco, CodeNco
|
||||
|
||||
@@ -66,8 +66,22 @@ class TrackingChannel:
|
||||
self.dll_filter = SecondOrderLoopFilter(config.dll_noise_bandwidth_hz, config.damping_ratio)
|
||||
self.fll_filter = FirstOrderFllFilter(config.fll_noise_bandwidth_hz)
|
||||
self.lock_detector = LockDetector(
|
||||
config.loss_of_lock_epochs,
|
||||
data_sign_insensitive=self.component_spec.channel_type == "data",
|
||||
config=BocLockDetectorConfig(
|
||||
smoothing_epochs=config.lock_smoothing_epochs,
|
||||
confirmation_epochs=config.lock_confirmation_epochs,
|
||||
failure_epochs=config.loss_of_lock_epochs,
|
||||
carrier_enter_threshold=config.carrier_lock_enter_threshold,
|
||||
carrier_exit_threshold=config.carrier_lock_exit_threshold,
|
||||
main_peak_enter_fraction=config.boc_main_peak_enter_fraction,
|
||||
main_peak_exit_fraction=config.boc_main_peak_exit_fraction,
|
||||
side_peak_enter_ratio=config.boc_side_peak_enter_ratio,
|
||||
side_peak_exit_ratio=config.boc_side_peak_exit_ratio,
|
||||
side_peak_coherence_enter=config.boc_side_peak_coherence_enter,
|
||||
side_peak_coherence_exit=config.boc_side_peak_coherence_exit,
|
||||
maximum_el_imbalance=config.boc_maximum_el_imbalance,
|
||||
signal_loss_power_ratio=config.lock_signal_loss_power_ratio,
|
||||
),
|
||||
)
|
||||
self.cn0_estimator = Cn0Estimator(
|
||||
config.integration_ms * 1e-3,
|
||||
@@ -98,13 +112,21 @@ class TrackingChannel:
|
||||
secondary = self.provider.secondary_code(self.profile, self.acquisition.component, self.acquisition.prn)
|
||||
if secondary is None:
|
||||
return 1
|
||||
return int(secondary[(self.secondary_epoch_offset + self.epoch) % secondary.size])
|
||||
primary_epoch = int(np.floor(
|
||||
self.epoch * self.config.integration_ms
|
||||
/ (self.component_spec.primary_code_period_s * 1e3)
|
||||
))
|
||||
return int(secondary[(self.secondary_epoch_offset + primary_epoch) % secondary.size])
|
||||
|
||||
def _correlate_epoch(self, samples: npt.NDArray[np.generic], secondary_sign: int) -> CorrelatorOutputs:
|
||||
"""Extension point for phase-coherent pilot/data correlator branches."""
|
||||
return self.correlator.correlate(samples, secondary_sign)
|
||||
|
||||
def process_epoch(self, samples: npt.NDArray[np.generic]) -> TrackingMeasurement:
|
||||
if len(samples) != self.integration_samples:
|
||||
raise ValueError(f"tracking epoch requires {self.integration_samples} samples")
|
||||
dt_s = self.config.integration_ms * 1e-3
|
||||
correlators = self.correlator.correlate(samples, self._secondary_sign())
|
||||
correlators = self._correlate_epoch(samples, self._secondary_sign())
|
||||
self.last_correlators = correlators
|
||||
pll_error = pll_two_quadrant_rad(correlators.prompt) if self.component_spec.channel_type == "data" else pll_four_quadrant_rad(correlators.prompt)
|
||||
fll_error = (
|
||||
@@ -171,10 +193,18 @@ class TrackingChannel:
|
||||
start_sample_timestamp=start_sample_timestamp,
|
||||
end_sample_timestamp=end_sample_timestamp,
|
||||
carrier_phase_cycles=self.carrier_nco.phase_rad / (2.0 * np.pi),
|
||||
carrier_lock=lock.carrier_metric > 0.55,
|
||||
code_lock=lock.code_metric > 0.5,
|
||||
carrier_lock=lock.carrier_locked,
|
||||
code_lock=lock.code_locked,
|
||||
sample_discontinuity=False,
|
||||
valid=not reacquire,
|
||||
very_early_magnitude=float(abs(correlators.very_early)),
|
||||
very_late_magnitude=float(abs(correlators.very_late)),
|
||||
lock_metric_valid=lock.metric_valid,
|
||||
smoothed_code_lock_metric=lock.smoothed_code_metric,
|
||||
boc_main_peak_fraction=lock.boc_main_peak_fraction,
|
||||
boc_side_peak_metric=lock.boc_side_peak_ratio,
|
||||
signal_present=lock.signal_present,
|
||||
boc_main_peak_coherence=lock.boc_main_peak_coherence,
|
||||
)
|
||||
self.previous_prompt = correlators.prompt
|
||||
self.measurements.append(measurement)
|
||||
|
||||
@@ -83,6 +83,14 @@ class TrackingMeasurement:
|
||||
code_lock: bool = False
|
||||
sample_discontinuity: bool = False
|
||||
valid: bool = True
|
||||
very_early_magnitude: float = 0.0
|
||||
very_late_magnitude: float = 0.0
|
||||
lock_metric_valid: bool = False
|
||||
smoothed_code_lock_metric: float = 0.0
|
||||
boc_main_peak_fraction: float = 0.0
|
||||
boc_side_peak_metric: float = 0.0
|
||||
signal_present: bool = False
|
||||
boc_main_peak_coherence: float = 0.0
|
||||
|
||||
|
||||
@dataclass(slots=True)
|
||||
|
||||
@@ -0,0 +1,78 @@
|
||||
from __future__ import annotations
|
||||
|
||||
from pathlib import Path
|
||||
|
||||
import numpy as np
|
||||
import pytest
|
||||
import yaml
|
||||
|
||||
from galileo_rx.acquisition.acquisition_manager import AcquisitionManager
|
||||
from galileo_rx.config import AcquisitionConfig, TrackingConfig
|
||||
from galileo_rx.io.signalsim_reader import SignalSimReader, SignalSimSampleSpec
|
||||
from galileo_rx.signal_profiles import galileo_e1_profile
|
||||
from galileo_rx.signals.signalsim_codes import SignalSimCodeProvider
|
||||
from galileo_rx.tracking.pilot_aided_e1 import (
|
||||
E1CPilotAidedE1TrackingChannel,
|
||||
synchronize_e1c_for_tracking,
|
||||
)
|
||||
|
||||
|
||||
@pytest.mark.signalsim
|
||||
def test_e1c_secondary_sync_and_pilot_aided_e1b_branch() -> None:
|
||||
cfg = yaml.safe_load(Path("configs/navigation_collection.yaml").read_text(encoding="utf-8"))
|
||||
source = Path(cfg["signalsim"]["path"])
|
||||
vector = Path(cfg["signalsim"]["samples"])
|
||||
if not source.is_dir() or not vector.is_file():
|
||||
pytest.skip("SignalSim checkout or 32.2-second navigation IQ8 vector is unavailable")
|
||||
fs = float(cfg["rf"]["sampling_frequency_hz"])
|
||||
samples = SignalSimReader(
|
||||
vector, SignalSimSampleSpec(cfg["signalsim"]["sample_format"]), memory_map=True
|
||||
).read()
|
||||
profile = galileo_e1_profile()
|
||||
provider = SignalSimCodeProvider(source)
|
||||
acquisition_config = AcquisitionConfig(
|
||||
**cfg["acquisition"], parallelism="doppler_vectorized"
|
||||
)
|
||||
manager = AcquisitionManager(profile, provider, fs, acquisition_config)
|
||||
observation_samples = (
|
||||
manager.engine.coherent_samples * acquisition_config.noncoherent_accumulations
|
||||
)
|
||||
acquisition, _ = manager.acquire_one(
|
||||
samples[:observation_samples], "E1C", 1, float(cfg["rf"]["intermediate_frequency_hz"])
|
||||
)
|
||||
assert acquisition.detected
|
||||
synchronized = synchronize_e1c_for_tracking(
|
||||
samples, profile, provider, fs, acquisition, observation_samples
|
||||
)
|
||||
assert synchronized.sync.normalized_correlation > 0.98
|
||||
assert synchronized.sync.sign_errors == 0
|
||||
|
||||
channel = E1CPilotAidedE1TrackingChannel(
|
||||
profile,
|
||||
provider,
|
||||
fs,
|
||||
TrackingConfig(
|
||||
integration_ms=2.0,
|
||||
pull_in_duration_ms=300.0,
|
||||
pll_noise_bandwidth_hz=10.0,
|
||||
fll_noise_bandwidth_hz=20.0,
|
||||
dll_noise_bandwidth_hz=1.0,
|
||||
secondary_code_mode="wipeoff",
|
||||
loss_of_lock_epochs=40,
|
||||
),
|
||||
synchronized.acquisition,
|
||||
synchronized.tracking_start_sample,
|
||||
synchronized.sync.phase,
|
||||
)
|
||||
count = int(round(fs * 1.0))
|
||||
epochs = channel.process_pilot_aided(
|
||||
samples[synchronized.tracking_start_sample : synchronized.tracking_start_sample + count]
|
||||
)
|
||||
pilot = [item.pilot for item in epochs]
|
||||
assert len(pilot) == 500
|
||||
assert sum(item.code_lock and item.carrier_lock for item in pilot[30:]) > 460
|
||||
assert not any(item.cycle_slip or item.sample_discontinuity for item in pilot)
|
||||
assert sum(pilot[index - 1].code_lock and not pilot[index].code_lock for index in range(1, len(pilot))) == 0
|
||||
assert np.median(
|
||||
np.asarray([abs(item.e1b_correlators.prompt) for item in epochs[150:]], dtype=np.float64)
|
||||
) > 1.0e4
|
||||
@@ -0,0 +1,24 @@
|
||||
from __future__ import annotations
|
||||
|
||||
import numpy as np
|
||||
|
||||
from galileo_rx.diagnostics.boc_lock_validation import (
|
||||
boc11_autocorrelation,
|
||||
boc11_five_tap_shape,
|
||||
)
|
||||
from galileo_rx.signal_profiles import galileo_e1_profile
|
||||
from galileo_rx.signals.code_provider import SyntheticCodeProvider
|
||||
|
||||
|
||||
def test_ideal_boc11_shoulder_and_negative_sidelobe_metrics() -> None:
|
||||
profile = galileo_e1_profile()
|
||||
code = SyntheticCodeProvider().primary_code(profile, "E1B", 1)
|
||||
shape = boc11_autocorrelation(code, samples_per_chip=32)
|
||||
taps = boc11_five_tap_shape(shape, np.asarray([0.0, 0.25, 0.5], dtype=np.float64))
|
||||
# Finite-code adjacent-chip cross terms perturb the ideal 0.1/0.84/1/3
|
||||
# values slightly; the classification must remain unchanged.
|
||||
assert 0.08 < taps["legacy_prompt_el_ratio"][1] < 0.12
|
||||
assert 0.80 < taps["main_peak_fraction"][1] < 0.88
|
||||
assert 0.28 < taps["main_peak_coherence"][1] < 0.38
|
||||
assert -0.55 < taps["prompt_amplitude"][2] < -0.45
|
||||
assert abs(taps["main_peak_coherence"][2]) < 1e-12
|
||||
@@ -2,7 +2,7 @@ from __future__ import annotations
|
||||
|
||||
import numpy as np
|
||||
|
||||
from galileo_rx.tracking.lock_detector import LockDetector
|
||||
from galileo_rx.tracking.lock_detector import BocLockDetectorConfig, LockDetector
|
||||
from galileo_rx.types import CorrelatorOutputs
|
||||
|
||||
|
||||
@@ -16,3 +16,89 @@ def test_data_lock_detector_ignores_bpsk_transition_but_detects_quadrature_jump(
|
||||
detector.update(_correlators(0.0))
|
||||
assert detector.update(_correlators(np.pi)).cycle_slip is False
|
||||
assert detector.update(_correlators(np.pi + 0.49 * np.pi)).cycle_slip is True
|
||||
|
||||
|
||||
def _detector() -> LockDetector:
|
||||
return LockDetector(
|
||||
data_sign_insensitive=True,
|
||||
config=BocLockDetectorConfig(
|
||||
smoothing_epochs=4,
|
||||
confirmation_epochs=2,
|
||||
failure_epochs=3,
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
def _repeat(detector: LockDetector, values: CorrelatorOutputs, count: int):
|
||||
return [detector.update(values) for _ in range(count)]
|
||||
|
||||
|
||||
def test_boc_lock_metric_validity_is_separate_from_lock_state() -> None:
|
||||
detector = _detector()
|
||||
statuses = _repeat(detector, _correlators(0.0), 5)
|
||||
assert [status.metric_valid for status in statuses] == [False, False, False, True, True]
|
||||
assert statuses[3].code_locked is False
|
||||
assert statuses[4].code_locked is True
|
||||
|
||||
|
||||
def test_boc_quarter_chip_shoulder_does_not_cause_false_unlock() -> None:
|
||||
detector = _detector()
|
||||
centered = CorrelatorOutputs(0.25 + 0j, 0.25 + 0j, 1.0 + 0j, 0.25 + 0j, 0.25 + 0j)
|
||||
_repeat(detector, centered, 8)
|
||||
# Ideal BOC(1,1) at +0.25 chip: one E/L tap is at the main peak,
|
||||
# while P is only 0.25 in amplitude. The legacy P/E/L ratio is 0.1.
|
||||
shoulder = CorrelatorOutputs(-0.5 + 0j, 1.0 + 0j, 0.25 + 0j, -0.5 + 0j, 0j)
|
||||
statuses = _repeat(detector, shoulder, 12)
|
||||
assert min(status.code_metric for status in statuses) < 0.11
|
||||
assert all(status.code_locked for status in statuses)
|
||||
assert not any(status.side_peak_suspected for status in statuses)
|
||||
|
||||
|
||||
def test_boc_outer_tap_side_peak_and_signal_loss_are_detected_after_debounce() -> None:
|
||||
detector = _detector()
|
||||
centered = CorrelatorOutputs(0.25 + 0j, 0.25 + 0j, 1.0 + 0j, 0.25 + 0j, 0.25 + 0j)
|
||||
_repeat(detector, centered, 8)
|
||||
side_peak = CorrelatorOutputs(1.0 + 0j, 0.5 + 0j, 0.25 + 0j, 0j, 0j)
|
||||
side_status = _repeat(detector, side_peak, 8)
|
||||
assert any(status.side_peak_suspected for status in side_status)
|
||||
assert side_status[-1].code_locked is False
|
||||
|
||||
detector = _detector()
|
||||
_repeat(detector, centered, 8)
|
||||
lost = _repeat(detector, CorrelatorOutputs(), 8)
|
||||
assert lost[-1].signal_present is False
|
||||
assert lost[-1].code_locked is False
|
||||
|
||||
|
||||
def test_boc_negative_half_chip_prompt_side_peak_is_detected_by_tap_coherence() -> None:
|
||||
detector = _detector()
|
||||
centered = CorrelatorOutputs(-0.25 + 0j, 0.25 + 0j, 1.0 + 0j, 0.25 + 0j, -0.25 + 0j)
|
||||
_repeat(detector, centered, 8)
|
||||
# At +0.5 chip the Prompt is the negative BOC sidelobe. E and L have
|
||||
# opposing signs, so powers alone are ambiguous but Re{(E+L)P*} is zero.
|
||||
half_chip_side = CorrelatorOutputs(0.25 + 0j, 0.25 + 0j, -0.5 + 0j, -0.25 + 0j, 0j)
|
||||
statuses = _repeat(detector, half_chip_side, 8)
|
||||
assert statuses[-1].boc_main_peak_coherence <= 0.15
|
||||
assert statuses[-1].side_peak_suspected is True
|
||||
assert statuses[-1].code_locked is False
|
||||
|
||||
|
||||
def test_single_bad_boc_epoch_is_debounced() -> None:
|
||||
detector = _detector()
|
||||
centered = CorrelatorOutputs(0.25 + 0j, 0.25 + 0j, 1.0 + 0j, 0.25 + 0j, 0.25 + 0j)
|
||||
_repeat(detector, centered, 8)
|
||||
side_peak = CorrelatorOutputs(1.0 + 0j, 0.5 + 0j, 0.25 + 0j, 0j, 0j)
|
||||
assert detector.update(side_peak).code_locked is True
|
||||
assert detector.update(centered).code_locked is True
|
||||
|
||||
|
||||
def test_invalid_integration_does_not_enter_power_smoother() -> None:
|
||||
detector = _detector()
|
||||
centered = CorrelatorOutputs(0.25 + 0j, 0.25 + 0j, 1.0 + 0j, 0.25 + 0j, 0.25 + 0j)
|
||||
for _ in range(10):
|
||||
status = detector.update(centered, metric_input_valid=False)
|
||||
assert status.metric_valid is False
|
||||
assert status.code_locked is False
|
||||
statuses = _repeat(detector, centered, 5)
|
||||
assert statuses[-1].metric_valid is True
|
||||
assert statuses[-1].code_locked is True
|
||||
|
||||
@@ -0,0 +1,120 @@
|
||||
#!/usr/bin/env python3
|
||||
"""Re-run SignalSim E1B acquisition/tracking and diagnose lock transitions."""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import argparse
|
||||
from dataclasses import asdict
|
||||
import json
|
||||
import math
|
||||
from pathlib import Path
|
||||
import sys
|
||||
from typing import Any
|
||||
|
||||
import numpy as np
|
||||
import yaml
|
||||
|
||||
PROJECT_ROOT = Path(__file__).resolve().parents[1]
|
||||
sys.path.insert(0, str(PROJECT_ROOT / "src"))
|
||||
|
||||
from galileo_rx.acquisition.acquisition_manager import AcquisitionManager
|
||||
from galileo_rx.config import AcquisitionConfig, TrackingConfig
|
||||
from galileo_rx.diagnostics.lock_analysis import (
|
||||
LockThresholds,
|
||||
analyze_tracking_lock,
|
||||
plot_tracking_lock_diagnostics,
|
||||
save_tracking_measurements,
|
||||
write_lock_report,
|
||||
write_transition_csv,
|
||||
)
|
||||
from galileo_rx.io.signalsim_reader import SignalSimReader, SignalSimSampleSpec
|
||||
from galileo_rx.signal_profiles import galileo_e1_profile
|
||||
from galileo_rx.signals.signalsim_codes import SignalSimCodeProvider
|
||||
from galileo_rx.tracking.tracking_channel import TrackingChannel
|
||||
|
||||
|
||||
def main() -> int:
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument("--config", default="configs/navigation_collection.yaml")
|
||||
parser.add_argument("--output-dir", default="reports/tracking_lock_baseline")
|
||||
parser.add_argument("--prn", type=int, action="append")
|
||||
args = parser.parse_args()
|
||||
config_path = Path(args.config).resolve()
|
||||
root = config_path.parent.parent
|
||||
cfg = yaml.safe_load(config_path.read_text(encoding="utf-8"))
|
||||
fs = float(cfg["rf"]["sampling_frequency_hz"])
|
||||
if_hz = float(cfg["rf"]["intermediate_frequency_hz"])
|
||||
source = (root / cfg["signalsim"]["path"]).resolve()
|
||||
samples_path = (root / cfg["signalsim"]["samples"]).resolve()
|
||||
samples = SignalSimReader(
|
||||
samples_path, SignalSimSampleSpec(cfg["signalsim"]["sample_format"]), memory_map=True
|
||||
).read()
|
||||
profile = galileo_e1_profile()
|
||||
acquisition_cfg = AcquisitionConfig(**cfg["acquisition"], parallelism="doppler_vectorized")
|
||||
provider = SignalSimCodeProvider(source)
|
||||
manager = AcquisitionManager(profile, provider, fs, acquisition_cfg)
|
||||
acquisition_count = manager.engine.coherent_samples * acquisition_cfg.noncoherent_accumulations
|
||||
primary_samples = int(round(fs * profile.component("E1B").primary_code_period_s))
|
||||
output = Path(args.output_dir).resolve()
|
||||
output.mkdir(parents=True, exist_ok=True)
|
||||
report: dict[str, Any] = {
|
||||
"analysis": "unmodified raw lock detector baseline",
|
||||
"sample_file": str(samples_path),
|
||||
"sample_count": int(samples.size),
|
||||
"thresholds": asdict(LockThresholds()),
|
||||
"satellites": {},
|
||||
}
|
||||
all_rows: list[dict[str, Any]] = []
|
||||
for prn in (args.prn or [int(value) for value in cfg["satellites"]["prns"]]):
|
||||
acquisition, _ = manager.acquire_one(samples[:acquisition_count], "E1B", prn, if_hz)
|
||||
start_sample = int(round(
|
||||
acquisition.code_phase_samples
|
||||
+ math.ceil((acquisition_count - acquisition.code_phase_samples) / primary_samples) * primary_samples
|
||||
))
|
||||
tracking_values = cfg["tracking"]
|
||||
tracking_cfg = TrackingConfig(
|
||||
integration_ms=float(tracking_values["integration_ms"]),
|
||||
pull_in_duration_ms=float(tracking_values["pull_in_duration_ms"]),
|
||||
pll_noise_bandwidth_hz=float(tracking_values["pll_noise_bandwidth_hz"]),
|
||||
fll_noise_bandwidth_hz=float(tracking_values["fll_noise_bandwidth_hz"]),
|
||||
dll_noise_bandwidth_hz=float(tracking_values["dll_noise_bandwidth_hz"]),
|
||||
secondary_code_mode="none",
|
||||
loss_of_lock_epochs=40,
|
||||
)
|
||||
channel = TrackingChannel(profile, provider, fs, tracking_cfg, acquisition, start_sample)
|
||||
measurements = channel.process(samples[start_sample:])
|
||||
summary, rows, nav_transitions = analyze_tracking_lock(
|
||||
prn,
|
||||
measurements,
|
||||
carrier_center_hz=channel.carrier_center_hz,
|
||||
integration_ms=tracking_cfg.integration_ms,
|
||||
)
|
||||
summary["acquisition"] = asdict(acquisition)
|
||||
report["satellites"][prn] = summary
|
||||
all_rows.extend(rows)
|
||||
plot_tracking_lock_diagnostics(
|
||||
output / f"prn_{prn:02d}_lock_diagnostics.png",
|
||||
measurements,
|
||||
nav_transitions,
|
||||
carrier_center_hz=channel.carrier_center_hz,
|
||||
)
|
||||
save_tracking_measurements(output / f"prn_{prn:02d}_measurements.npz", measurements)
|
||||
print(json.dumps({"prn": prn, "false_transitions": len(rows), "post_pull_in": summary["post_pull_in"]}))
|
||||
collection_path = root / "reports" / "inav_collection_report.json"
|
||||
if collection_path.is_file():
|
||||
collection = json.loads(collection_path.read_text(encoding="utf-8"))
|
||||
report["navigation_result"] = {
|
||||
"pages": sum(item["pages"] for item in collection["satellites"].values()),
|
||||
"crc_passes": sum(item["crc_passes"] for item in collection["satellites"].values()),
|
||||
"crc_failures": sum(item["crc_failures"] for item in collection["satellites"].values()),
|
||||
"complete_ephemeris_prns": [
|
||||
int(prn) for prn, item in collection["satellites"].items() if item["complete_ephemeris"]
|
||||
],
|
||||
}
|
||||
write_transition_csv(output / "lock_false_transitions.csv", all_rows)
|
||||
write_lock_report(output / "tracking_lock_baseline.json", report)
|
||||
return 0
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
raise SystemExit(main())
|
||||
@@ -0,0 +1,173 @@
|
||||
#!/usr/bin/env python3
|
||||
"""Replay SignalSim IQ through E1B-only and E1C-aided receiver modes."""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import argparse
|
||||
from dataclasses import asdict
|
||||
import json
|
||||
from pathlib import Path
|
||||
import sys
|
||||
|
||||
import numpy as np
|
||||
|
||||
PROJECT_ROOT = Path(__file__).resolve().parents[1]
|
||||
sys.path.insert(0, str(PROJECT_ROOT / "src"))
|
||||
|
||||
from galileo_rx.diagnostics.boc_lock_validation import (
|
||||
boc11_autocorrelation,
|
||||
boc11_five_tap_shape,
|
||||
calibration_points,
|
||||
plot_boc11_lock_calibration,
|
||||
)
|
||||
from galileo_rx.navigation.collection import collect_navigation
|
||||
from galileo_rx.signal_profiles import galileo_e1_profile
|
||||
from galileo_rx.signals.signalsim_codes import SignalSimCodeProvider
|
||||
|
||||
|
||||
def _satellite_row(item: dict) -> dict:
|
||||
lock = item["lock_analysis"]
|
||||
stable = lock["post_pull_in"]
|
||||
return {
|
||||
"prn": int(item["prn"]),
|
||||
"legacy_code_lock_falling_edges": int(lock["legacy_code_lock_falling_edges"]),
|
||||
"boc_aware_code_lock_falling_edges": int(lock["boc_aware_code_lock_falling_edges"]),
|
||||
"longest_boc_aware_code_lock_s": float(lock["boc_aware_longest_code_lock_s"]),
|
||||
"pll_error_rms_rad": float(stable["pll_error_rms_rad"]),
|
||||
"dll_error_rms_chips": float(stable["dll_error_rms_chips"]),
|
||||
"cn0_median_db_hz": float(stable["cn0_median_db_hz"]),
|
||||
"cycle_slips": int(item["cycle_slips"]),
|
||||
"sample_discontinuities": int(item["sample_discontinuities"]),
|
||||
"raw_navigation_symbols": int(item["raw_navigation_symbol_count"]),
|
||||
"crc_valid_pages": int(item["crc_passes"]),
|
||||
"crc_invalid_pages": int(item["crc_failures"]),
|
||||
"complete_ephemeris": bool(item["complete_ephemeris"]),
|
||||
"secondary_code_sync": item["secondary_code_sync"],
|
||||
}
|
||||
|
||||
|
||||
def _plot_comparison(path: Path, comparison: dict) -> None:
|
||||
import matplotlib.pyplot as plt
|
||||
|
||||
modes = list(comparison["modes"])
|
||||
prns = [int(value) for value in comparison["prns"]]
|
||||
x = np.arange(len(prns), dtype=np.float64)
|
||||
width = 0.36
|
||||
figure, axes = plt.subplots(3, 2, figsize=(13, 11))
|
||||
metrics = (
|
||||
("boc_aware_code_lock_falling_edges", "corrected lock falling edges"),
|
||||
("longest_boc_aware_code_lock_s", "longest code lock (s)"),
|
||||
("pll_error_rms_rad", "PLL RMS (rad)"),
|
||||
("dll_error_rms_chips", "DLL RMS (chips)"),
|
||||
("cn0_median_db_hz", "median C/N0 (dB-Hz)"),
|
||||
("crc_valid_pages", "CRC-valid I/NAV pages"),
|
||||
)
|
||||
for axis, (field, label) in zip(axes.flat, metrics, strict=True):
|
||||
for mode_index, mode in enumerate(modes):
|
||||
rows = comparison["modes"][mode]["satellites"]
|
||||
values = [rows[str(prn)][field] for prn in prns]
|
||||
axis.bar(x + (mode_index - 0.5) * width, values, width, label=mode)
|
||||
axis.set_xticks(x, [str(prn) for prn in prns])
|
||||
axis.set_xlabel("PRN")
|
||||
axis.set_ylabel(label)
|
||||
axis.grid(True, axis="y", alpha=0.25)
|
||||
axes[0, 0].legend(fontsize=8)
|
||||
figure.tight_layout()
|
||||
figure.savefig(path, dpi=160)
|
||||
plt.close(figure)
|
||||
|
||||
|
||||
def main() -> int:
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument("--config", default="configs/navigation_collection.yaml")
|
||||
parser.add_argument("--output-dir", default="reports/e1_tracking_mode_comparison")
|
||||
parser.add_argument("--signalsim-path")
|
||||
parser.add_argument(
|
||||
"--report-only", action="store_true",
|
||||
help="regenerate plots/Markdown from the existing comparison JSON",
|
||||
)
|
||||
args = parser.parse_args()
|
||||
output = Path(args.output_dir).resolve()
|
||||
output.mkdir(parents=True, exist_ok=True)
|
||||
comparison_path = output / "e1_tracking_mode_comparison.json"
|
||||
if args.report_only:
|
||||
if not comparison_path.is_file():
|
||||
raise FileNotFoundError(f"comparison JSON is unavailable: {comparison_path}")
|
||||
comparison = json.loads(comparison_path.read_text(encoding="utf-8"))
|
||||
passed = bool(comparison["all_navigation_ready"])
|
||||
else:
|
||||
comparison = {"modes": {}, "prns": []}
|
||||
passed = True
|
||||
for mode in ("e1b_only", "e1c_pilot_aided_e1b"):
|
||||
report, ready = collect_navigation(
|
||||
args.config,
|
||||
output / mode,
|
||||
signalsim_path=args.signalsim_path,
|
||||
tracking_mode=mode,
|
||||
)
|
||||
mode_rows = {
|
||||
str(prn): _satellite_row(item) for prn, item in report["satellites"].items()
|
||||
}
|
||||
comparison["modes"][mode] = {
|
||||
"navigation_ready": bool(ready),
|
||||
"satellites": mode_rows,
|
||||
"total_crc_valid_pages": sum(row["crc_valid_pages"] for row in mode_rows.values()),
|
||||
"complete_ephemerides": sum(row["complete_ephemeris"] for row in mode_rows.values()),
|
||||
}
|
||||
comparison["prns"] = sorted(int(prn) for prn in mode_rows)
|
||||
passed = passed and ready
|
||||
|
||||
input_report_path = output / "e1b_only" / "inav_collection_report.json"
|
||||
input_report = json.loads(input_report_path.read_text(encoding="utf-8"))
|
||||
comparison["input"] = {
|
||||
"sample_file": input_report["sample_file"],
|
||||
"sample_sha256": input_report["sample_sha256"],
|
||||
"complex_sample_count": input_report["sample_count"],
|
||||
"sampling_frequency_hz": input_report["sampling_frequency_hz"],
|
||||
"stored_duration_s": input_report["sample_count"] / input_report["sampling_frequency_hz"],
|
||||
"configured_duration_s": 32.2,
|
||||
}
|
||||
|
||||
source = Path(args.signalsim_path or PROJECT_ROOT / "signalsim" / "SignalSim").resolve()
|
||||
provider = SignalSimCodeProvider(source)
|
||||
profile = galileo_e1_profile()
|
||||
shape = boc11_autocorrelation(provider.primary_code(profile, "E1B", comparison["prns"][0]))
|
||||
errors = np.linspace(-1.0, 1.0, 513, dtype=np.float64)
|
||||
taps = boc11_five_tap_shape(shape, errors)
|
||||
comparison["boc11_calibration_points"] = calibration_points(taps)
|
||||
comparison["all_navigation_ready"] = passed
|
||||
plot_boc11_lock_calibration(output / "boc11_correlation_and_lock_metrics.png", shape, taps)
|
||||
_plot_comparison(output / "e1_tracking_mode_comparison.png", comparison)
|
||||
comparison_path.write_text(
|
||||
json.dumps(comparison, indent=2) + "\n", encoding="utf-8"
|
||||
)
|
||||
|
||||
rows = [
|
||||
"# Corrected BOC lock and E1 tracking architecture comparison", "",
|
||||
f"Both modes consume the same SignalSim IQ8 vector configured for 32.2 s. The file contains {comparison['input']['complex_sample_count']} complex samples ({comparison['input']['stored_duration_s']:.3f} s at {comparison['input']['sampling_frequency_hz']:.0f} Hz), so the stored vector is exactly 1 ms shorter than the requested duration. The E1C mode uses E1C acquisition, secondary-code synchronization/wipeoff, and pilot loop states; only its separate E1B Prompt branch enters I/NAV decoding.", "",
|
||||
"| Mode | PRN | Legacy falls | Corrected falls | Longest lock (s) | PLL RMS (rad) | DLL RMS (chips) | C/N0 (dB-Hz) | Slip candidates | Discontinuities | Secondary corr. | Symbols | CRC pages | Ephemeris |",
|
||||
"| --- | --: | --: | --: | --: | --: | --: | --: | --: | --: | --: | --: | --: | ---: |",
|
||||
]
|
||||
for mode, mode_result in comparison["modes"].items():
|
||||
for prn in comparison["prns"]:
|
||||
item = mode_result["satellites"][str(prn)]
|
||||
secondary_correlation = (
|
||||
"-" if item["secondary_code_sync"] is None
|
||||
else f"{item['secondary_code_sync']['normalized_correlation']:.4f}"
|
||||
)
|
||||
rows.append(
|
||||
f"| {mode} | {prn} | {item['legacy_code_lock_falling_edges']} | "
|
||||
f"{item['boc_aware_code_lock_falling_edges']} | {item['longest_boc_aware_code_lock_s']:.3f} | "
|
||||
f"{item['pll_error_rms_rad']:.6f} | {item['dll_error_rms_chips']:.6f} | "
|
||||
f"{item['cn0_median_db_hz']:.3f} | {item['cycle_slips']} | "
|
||||
f"{item['sample_discontinuities']} | {secondary_correlation} | {item['raw_navigation_symbols']} | "
|
||||
f"{item['crc_valid_pages']} | {item['complete_ephemeris']} |"
|
||||
)
|
||||
rows.extend(["", f"All navigation readiness gates passed: **{passed}**."])
|
||||
(output / "e1_tracking_mode_comparison.md").write_text("\n".join(rows) + "\n", encoding="utf-8")
|
||||
print(json.dumps({"passed": passed, "report": str(output / "e1_tracking_mode_comparison.json")}, indent=2))
|
||||
return 0 if passed else 1
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
raise SystemExit(main())
|
||||
@@ -0,0 +1,112 @@
|
||||
#!/usr/bin/env python3
|
||||
"""Build the measured BOC lock root-cause report from replay JSON."""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import argparse
|
||||
import json
|
||||
from pathlib import Path
|
||||
|
||||
|
||||
def main() -> int:
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument(
|
||||
"--comparison",
|
||||
default="reports/e1_tracking_mode_comparison/e1_tracking_mode_comparison.json",
|
||||
)
|
||||
parser.add_argument("--output-dir", default="reports/boc_lock_detector_validation")
|
||||
args = parser.parse_args()
|
||||
comparison_path = Path(args.comparison).resolve()
|
||||
comparison = json.loads(comparison_path.read_text(encoding="utf-8"))
|
||||
e1b_report_path = comparison_path.parent / "e1b_only" / "inav_collection_report.json"
|
||||
e1b_report = json.loads(e1b_report_path.read_text(encoding="utf-8"))
|
||||
output = Path(args.output_dir).resolve()
|
||||
output.mkdir(parents=True, exist_ok=True)
|
||||
|
||||
satellites: dict[str, dict] = {}
|
||||
for prn, item in e1b_report["satellites"].items():
|
||||
lock = item["lock_analysis"]
|
||||
satellites[str(prn)] = {
|
||||
"legacy_code_lock_falling_edges": lock["legacy_code_lock_falling_edges"],
|
||||
"boc_aware_code_lock_falling_edges": lock["boc_aware_code_lock_falling_edges"],
|
||||
"boc_aware_longest_code_lock_s": lock["boc_aware_longest_code_lock_s"],
|
||||
"legacy_failure_behavior": lock["legacy_code_metric_failure_behavior"],
|
||||
"legacy_pass_behavior": lock["legacy_code_metric_pass_behavior"],
|
||||
"side_peak_suspected_epochs": lock["boc_side_peak_suspected_epochs"],
|
||||
"cycle_slip_candidates": item["cycle_slips"],
|
||||
"sample_discontinuities": item["sample_discontinuities"],
|
||||
"crc_valid_pages": item["crc_passes"],
|
||||
"crc_invalid_pages": item["crc_failures"],
|
||||
"complete_ephemeris": item["complete_ephemeris"],
|
||||
}
|
||||
report = {
|
||||
"classification": "LOCK DETECTOR CHATTER CONFIRMED",
|
||||
"primary_cause": "instantaneous BPSK-style Prompt/Early/Late power ratio is invalid on the BOC(1,1) main-peak shoulder",
|
||||
"signal_modulation": "SignalSim BOC(1,1); no BOC(6,1) CBOC term",
|
||||
"loop_coefficients_changed": False,
|
||||
"sample_file": e1b_report["sample_file"],
|
||||
"sample_sha256": e1b_report["sample_sha256"],
|
||||
"sample_count": e1b_report["sample_count"],
|
||||
"sampling_frequency_hz": e1b_report["sampling_frequency_hz"],
|
||||
"intermediate_frequency_hz": e1b_report["intermediate_frequency_hz"],
|
||||
"exact_replay_command": "python tools/compare_e1_tracking_modes.py --config configs/navigation_collection.yaml --output-dir reports/e1_tracking_mode_comparison",
|
||||
"legacy_total_code_lock_falling_edges": sum(
|
||||
item["legacy_code_lock_falling_edges"] for item in satellites.values()
|
||||
),
|
||||
"boc_aware_total_code_lock_falling_edges": sum(
|
||||
item["boc_aware_code_lock_falling_edges"] for item in satellites.values()
|
||||
),
|
||||
"crc_valid_pages": sum(item["crc_valid_pages"] for item in satellites.values()),
|
||||
"crc_invalid_pages": sum(item["crc_invalid_pages"] for item in satellites.values()),
|
||||
"complete_ephemerides": sum(item["complete_ephemeris"] for item in satellites.values()),
|
||||
"satellites": satellites,
|
||||
"regression_tests": {
|
||||
"main_peak_and_metric_validity": "tests/unit/test_lock_detector.py",
|
||||
"quarter_chip_shoulder_false_unlock": "tests/unit/test_lock_detector.py",
|
||||
"outer_tap_side_peak": "tests/unit/test_lock_detector.py",
|
||||
"zero_signal_true_loss": "tests/unit/test_lock_detector.py",
|
||||
"invalid_and_single_bad_epoch": "tests/unit/test_lock_detector.py",
|
||||
"e1c_pilot_secondary_and_e1b_branch": "tests/integration/test_signalsim_e1c_pilot_aided_tracking.py",
|
||||
},
|
||||
}
|
||||
(output / "boc_lock_detector_validation.json").write_text(
|
||||
json.dumps(report, indent=2) + "\n", encoding="utf-8"
|
||||
)
|
||||
lines = [
|
||||
"# BOC-aware lock-detector validation", "",
|
||||
"**LOCK DETECTOR CHATTER CONFIRMED**", "",
|
||||
"The loops were not retuned. The failure source was the legacy instantaneous `P² / mean(E²,L²)` predicate, which falls to 0.1 at an ideal quarter-chip BOC(1,1) shoulder even though the five-tap energy remains in the central correlation basin.", "",
|
||||
f"Input evidence: {report['sample_count']} complex IQ8 samples at {report['sampling_frequency_hz']:.0f} Hz ({report['sample_count'] / report['sampling_frequency_hz']:.3f} s stored from the 32.2 s configured run), SHA-256 `{report['sample_sha256']}`.", "",
|
||||
f"Replay: `{report['exact_replay_command']}`", "",
|
||||
"| PRN | Legacy falls | Corrected falls | Longest corrected lock (s) | DLL RMS during old failures (chips) | Failure P power median | Failure E power median | Failure L power median | Max side metric | Min main coherence | CRC valid/invalid | Ephemeris |",
|
||||
"| --: | --: | --: | --: | --: | --: | --: | --: | --: | --: | --: | ---: |",
|
||||
]
|
||||
for prn, item in satellites.items():
|
||||
failure = item["legacy_failure_behavior"]
|
||||
lines.append(
|
||||
f"| {prn} | {item['legacy_code_lock_falling_edges']} | {item['boc_aware_code_lock_falling_edges']} | "
|
||||
f"{item['boc_aware_longest_code_lock_s']:.3f} | {failure['dll_error_rms_chips']:.6f} | "
|
||||
f"{failure['prompt_power_median']:.3e} | {failure['early_power_median']:.3e} | "
|
||||
f"{failure['late_power_median']:.3e} | {failure['boc_side_peak_metric_max']:.4f} | "
|
||||
f"{failure['boc_main_peak_coherence_min']:.4f} | "
|
||||
f"{item['crc_valid_pages']}/{item['crc_invalid_pages']} | {item['complete_ephemeris']} |"
|
||||
)
|
||||
lines.extend([
|
||||
"",
|
||||
f"Total legacy/corrected falling edges: **{report['legacy_total_code_lock_falling_edges']}/{report['boc_aware_total_code_lock_falling_edges']}**.",
|
||||
f"Navigation result: **{report['crc_valid_pages']}/{report['crc_valid_pages'] + report['crc_invalid_pages']} CRC-valid pages**, {report['complete_ephemerides']} complete ephemerides.",
|
||||
"",
|
||||
"Each PRN artifact directory contains the complete double-precision measurement NPZ, a CSV row for every legacy falling edge, and a six-panel plot with old metric, corrected BOC metrics, VE/E/P/L/VL powers, PLL/DLL errors, NCOs, C/N0, and transition markers.",
|
||||
"",
|
||||
"The observed smoothed outer/central metric and coherent tap-sign metric remain in the calibrated central basin during the legacy failures. Thus none was a main-to-side-peak transition. Synthetic +/-0.5-chip negative Prompt sidelobes and sustained outer-tap dominance both clear lock after debounce; zero-signal input clears signal presence and code lock. Invalid and incomplete integrations cannot seed the smoothing window.",
|
||||
"",
|
||||
"Two E1B phase-jump candidates (PRN 1 and 4) were recorded by the pre-existing one-epoch cycle-slip candidate test; neither coincided with NCO divergence, a discontinuity, CRC loss, or corrected code-lock loss. E1C-aided tracking recorded zero such candidates. They are reported rather than silently discarded.",
|
||||
"",
|
||||
"See `boc11_correlation_and_lock_metrics.png` in the comparison report and per-PRN `tracking_lock_diagnostics.png` under `verification/navigation/signalsim_navigation_multisat_e1b_only/`.",
|
||||
])
|
||||
(output / "boc_lock_detector_validation.md").write_text("\n".join(lines) + "\n", encoding="utf-8")
|
||||
return 0
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
raise SystemExit(main())
|
||||
@@ -0,0 +1,156 @@
|
||||
{
|
||||
"prn": 1,
|
||||
"tracking_architecture": "e1b_only",
|
||||
"acquisition_component": "E1B",
|
||||
"acquisition_detected": true,
|
||||
"acquisition_time_s": 0.10830689100112068,
|
||||
"raw_doppler_hz": 1750.0,
|
||||
"expected_doppler_hz": 1828.0,
|
||||
"start_sample_timestamp": 90995,
|
||||
"tracking_epoch_count": 16088,
|
||||
"tracking_time_s": 14.402149740999448,
|
||||
"tracking_final_state": "PLL_TRACK",
|
||||
"tracking_reacquisition_requests": 0,
|
||||
"tracking_lock_timestamp": 369251,
|
||||
"prompt_epoch_count": 8044,
|
||||
"valid_prompt_epoch_count": 8044,
|
||||
"invalid_prompt_epoch_count": 0,
|
||||
"cycle_slips": 1,
|
||||
"sample_discontinuities": 0,
|
||||
"raw_navigation_symbol_count": 8044,
|
||||
"first_synchronized_symbol_timestamp": 4428515,
|
||||
"first_page_sync_timestamp": 4428515,
|
||||
"first_crc_valid_page_timestamp": 4428515,
|
||||
"page_parts": 31,
|
||||
"pages": 15,
|
||||
"crc_passes": 15,
|
||||
"crc_failures": 0,
|
||||
"fec_failures": 0,
|
||||
"received_word_types": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4,
|
||||
5,
|
||||
6
|
||||
],
|
||||
"missing_ephemeris_word_types": [],
|
||||
"complete_ephemeris": true,
|
||||
"ephemeris_iod_nav": 29,
|
||||
"first_complete_ephemeris_timestamp": 61716515,
|
||||
"clock_parameters": true,
|
||||
"health_valid": true,
|
||||
"data_valid": true,
|
||||
"decoding_time_s": 1.3377819750021445,
|
||||
"secondary_code_sync": null,
|
||||
"lock_analysis": {
|
||||
"prn": 1,
|
||||
"epochs": 16088,
|
||||
"integration_ms": 2.0,
|
||||
"start_sample_timestamp": 90995,
|
||||
"end_sample_timestamp": 131755187,
|
||||
"raw_carrier_lock_pass_epochs": 16053,
|
||||
"raw_code_lock_pass_epochs": 15581,
|
||||
"raw_combined_lock_pass_epochs": 15561,
|
||||
"raw_combined_lock_fail_epochs": 527,
|
||||
"false_transition_count": 111,
|
||||
"legacy_code_lock_falling_edges": 105,
|
||||
"boc_aware_code_lock_falling_edges": 0,
|
||||
"boc_aware_metric_valid_epochs": 16064,
|
||||
"boc_aware_code_lock_pass_epochs": 16062,
|
||||
"boc_aware_combined_lock_pass_epochs": 16055,
|
||||
"boc_aware_longest_code_lock_s": 32.124,
|
||||
"boc_side_peak_suspected_epochs": 0,
|
||||
"carrier_metric_caused_transitions": 7,
|
||||
"code_metric_caused_transitions": 105,
|
||||
"symbol_transition_coincident_false_transitions": 25,
|
||||
"cycle_slips": 1,
|
||||
"sample_discontinuities": 0,
|
||||
"cn0_unavailable_false_transitions": 2,
|
||||
"false_run_count": 112,
|
||||
"single_epoch_false_runs": 39,
|
||||
"maximum_false_run_epochs": 49,
|
||||
"maximum_false_run_ms": 98.0,
|
||||
"maximum_continuous_raw_lock_epochs": 527,
|
||||
"maximum_continuous_raw_lock_s": 1.054,
|
||||
"carrier_metric_percentiles": {
|
||||
"1": 0.924754620433948,
|
||||
"5": 0.9885487615596471,
|
||||
"50": 0.9988920935338705,
|
||||
"95": 0.999988889095012,
|
||||
"99": 0.9999995126772309
|
||||
},
|
||||
"code_metric_percentiles": {
|
||||
"1": 0.08551747376691506,
|
||||
"5": 8.93110718797863,
|
||||
"50": 14.284296796423222,
|
||||
"95": 20.964203945365327,
|
||||
"99": 25.01283950305672
|
||||
},
|
||||
"boc_main_peak_fraction_percentiles": {
|
||||
"1": 0.8459457202588582,
|
||||
"5": 0.8743060376964639,
|
||||
"50": 0.8893911166731225,
|
||||
"95": 0.8991623523366161,
|
||||
"99": 0.9030265243663507
|
||||
},
|
||||
"boc_side_peak_metric_percentiles": {
|
||||
"1": 0.05558653630324674,
|
||||
"5": 0.05810940234394848,
|
||||
"50": 0.06563094730036426,
|
||||
"95": 0.08861816884470392,
|
||||
"99": 0.15873840916919643
|
||||
},
|
||||
"boc_main_peak_coherence_percentiles": {
|
||||
"1": 0.5697390611615102,
|
||||
"5": 0.8854239302839105,
|
||||
"50": 0.968031049010735,
|
||||
"95": 0.9797568799767267,
|
||||
"99": 0.9829484849900356
|
||||
},
|
||||
"legacy_code_metric_failure_behavior": {
|
||||
"epochs": 419,
|
||||
"dll_error_rms_chips": 0.08595496042669856,
|
||||
"dll_error_p99_abs_chips": 0.12241806445109668,
|
||||
"code_phase_residual_rms_chips": 14.36062232244801,
|
||||
"code_phase_residual_p99_abs_chips": 18.53252004246325,
|
||||
"prompt_power_median": 108501744.67290671,
|
||||
"early_power_median": 1382974759.31233,
|
||||
"late_power_median": 466361919.31117284,
|
||||
"very_early_power_median": 307844457.5642177,
|
||||
"very_late_power_median": 19056312.68379797,
|
||||
"boc_main_peak_fraction_min": 0.8248937085423966,
|
||||
"boc_side_peak_metric_max": 0.20376990864112443,
|
||||
"boc_main_peak_coherence_min": 0.34017817990919674
|
||||
},
|
||||
"legacy_code_metric_pass_behavior": {
|
||||
"epochs": 15420,
|
||||
"dll_error_rms_chips": 0.055454377972535635,
|
||||
"dll_error_p99_abs_chips": 0.15667600596267559,
|
||||
"code_phase_residual_rms_chips": 10.71701633330231,
|
||||
"code_phase_residual_p99_abs_chips": 18.663546673635288,
|
||||
"prompt_power_median": 1562883727.251472,
|
||||
"early_power_median": 103811805.97523968,
|
||||
"late_power_median": 104290812.8808927,
|
||||
"very_early_power_median": 103614117.47072616,
|
||||
"very_late_power_median": 103958458.73893663,
|
||||
"boc_main_peak_fraction_min": 0.8309234034145184,
|
||||
"boc_side_peak_metric_max": 0.19490409504935216,
|
||||
"boc_main_peak_coherence_min": 0.36173522031393907
|
||||
},
|
||||
"post_pull_in": {
|
||||
"pll_error_rms_rad": 0.08022448736431988,
|
||||
"pll_error_p99_abs_rad": 0.2319123841425817,
|
||||
"dll_error_rms_chips": 0.056473751245269044,
|
||||
"dll_error_p99_abs_chips": 0.155824404099305,
|
||||
"carrier_frequency_min_hz": 1024809.2483042779,
|
||||
"carrier_frequency_max_hz": 1024835.6971803386,
|
||||
"carrier_frequency_last_minus_first_hz": -11.414587492239662,
|
||||
"code_frequency_min_hz": 1023000.5244676823,
|
||||
"code_frequency_max_hz": 1023001.8449177502,
|
||||
"code_frequency_last_minus_first_hz": 0.11072196869645268,
|
||||
"cn0_median_db_hz": 46.870552785374464,
|
||||
"cn0_min_db_hz": 30.52229207847659
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"prn": 1,
|
||||
"iod_nav": 29,
|
||||
"toe_s": 555000.0,
|
||||
"toc_s": 555000.0,
|
||||
"sqrt_a": 5440.600309371948,
|
||||
"eccentricity": 7.992994505912066e-05,
|
||||
"inclination_rad": 0.9780546728858021,
|
||||
"omega0_rad": 0.1817990533460104,
|
||||
"argument_of_perigee_rad": -1.4927534274463103,
|
||||
"mean_anomaly_rad": 1.763453196161098,
|
||||
"delta_n_rad_s": 3.2858511546039716e-09,
|
||||
"inclination_rate_rad_s": 9.928985010651132e-11,
|
||||
"omega_dot_rad_s": -5.809527704433501e-09,
|
||||
"cuc_rad": 4.2263418436050415e-06,
|
||||
"cus_rad": 4.390254616737366e-06,
|
||||
"crc_m": 256.15625,
|
||||
"crs_m": 91.1875,
|
||||
"cic_rad": 1.4901161193847656e-08,
|
||||
"cis_rad": -5.774199962615967e-08,
|
||||
"clock_bias_s": -0.001132463337853551,
|
||||
"clock_drift_s_per_s": -7.972289495228324e-12,
|
||||
"clock_drift_rate_s_per_s2": 0.0,
|
||||
"sisa_index": 107,
|
||||
"health_valid": true,
|
||||
"data_valid": true,
|
||||
"first_received_timestamp": 12612515,
|
||||
"completed_timestamp": 61716515
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -33340699.065772306, "end_sample_timestamp": 12612515, "error_flags": 0, "fec_valid": true, "page_sequence": 0, "polarity_inverted": true, "prn": 1, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1], "receive_sample_timestamp": 4428515, "sync_valid": true, "word_bits": [1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "word_type": 63}
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -36706041.04379167, "end_sample_timestamp": 20796515, "error_flags": 0, "fec_valid": true, "page_sequence": 1, "polarity_inverted": true, "prn": 1, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1], "receive_sample_timestamp": 12612515, "sync_valid": true, "word_bits": [0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0], "word_type": 1}
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -37226523.73318894, "end_sample_timestamp": 28980515, "error_flags": 0, "fec_valid": true, "page_sequence": 2, "polarity_inverted": true, "prn": 1, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1], "receive_sample_timestamp": 20796515, "sync_valid": true, "word_bits": [0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1], "word_type": 3}
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -37532485.71853354, "end_sample_timestamp": 37164515, "error_flags": 0, "fec_valid": true, "page_sequence": 3, "polarity_inverted": true, "prn": 1, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1], "receive_sample_timestamp": 28980515, "sync_valid": true, "word_bits": [0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "word_type": 5}
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -37449482.48940744, "end_sample_timestamp": 45348515, "error_flags": 0, "fec_valid": true, "page_sequence": 4, "polarity_inverted": true, "prn": 1, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1], "receive_sample_timestamp": 37164515, "sync_valid": true, "word_bits": [0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1], "word_type": 0}
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -37617521.90934981, "end_sample_timestamp": 53532515, "error_flags": 0, "fec_valid": true, "page_sequence": 5, "polarity_inverted": true, "prn": 1, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1], "receive_sample_timestamp": 45348515, "sync_valid": true, "word_bits": [0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], "word_type": 16}
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -37603071.90695226, "end_sample_timestamp": 61716515, "error_flags": 0, "fec_valid": true, "page_sequence": 6, "polarity_inverted": true, "prn": 1, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1], "receive_sample_timestamp": 53532515, "sync_valid": true, "word_bits": [0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0], "word_type": 2}
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -37803836.031624325, "end_sample_timestamp": 69900515, "error_flags": 0, "fec_valid": true, "page_sequence": 7, "polarity_inverted": true, "prn": 1, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1], "receive_sample_timestamp": 61716515, "sync_valid": true, "word_bits": [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0], "word_type": 4}
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -37410621.4900544, "end_sample_timestamp": 78084515, "error_flags": 0, "fec_valid": true, "page_sequence": 8, "polarity_inverted": true, "prn": 1, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1], "receive_sample_timestamp": 69900515, "sync_valid": true, "word_bits": [0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0], "word_type": 6}
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -36933905.88506309, "end_sample_timestamp": 86268515, "error_flags": 0, "fec_valid": true, "page_sequence": 9, "polarity_inverted": true, "prn": 1, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1], "receive_sample_timestamp": 78084515, "sync_valid": true, "word_bits": [0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0], "word_type": 7}
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -37340921.80068565, "end_sample_timestamp": 94452515, "error_flags": 0, "fec_valid": true, "page_sequence": 10, "polarity_inverted": true, "prn": 1, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1], "receive_sample_timestamp": 86268515, "sync_valid": true, "word_bits": [0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0], "word_type": 8}
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -37552921.29082468, "end_sample_timestamp": 102636515, "error_flags": 0, "fec_valid": true, "page_sequence": 11, "polarity_inverted": true, "prn": 1, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1], "receive_sample_timestamp": 94452515, "sync_valid": true, "word_bits": [0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0], "word_type": 17}
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -37567522.846794136, "end_sample_timestamp": 110820515, "error_flags": 0, "fec_valid": true, "page_sequence": 12, "polarity_inverted": true, "prn": 1, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 1], "receive_sample_timestamp": 102636515, "sync_valid": true, "word_bits": [0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0], "word_type": 19}
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -37240870.985707864, "end_sample_timestamp": 119004515, "error_flags": 0, "fec_valid": true, "page_sequence": 13, "polarity_inverted": true, "prn": 1, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1], "receive_sample_timestamp": 110820515, "sync_valid": true, "word_bits": [0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], "word_type": 16}
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -37331828.054784365, "end_sample_timestamp": 127188515, "error_flags": 0, "fec_valid": true, "page_sequence": 14, "polarity_inverted": true, "prn": 1, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1], "receive_sample_timestamp": 119004515, "sync_valid": true, "word_bits": [0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1], "word_type": 0}
|
||||
@@ -0,0 +1,6 @@
|
||||
{"crc_valid": true, "health_valid": true, "iod_nav": 29, "payload": {"eccentricity": 7.992994505912066e-05, "eccentricity_raw": 686593, "iod_nav": 29, "mean_anomaly_rad": 1.763453196161098, "mean_anomaly_raw": 1205435370, "sqrt_a": 5440.600309371948, "sqrt_a_raw": 2852441455, "toe_raw": 9250, "toe_s": 555000.0}, "prn": 1, "raw_bits": [0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0], "receive_sample_timestamp": 12612515, "word_type": 1}
|
||||
{"crc_valid": true, "health_valid": true, "iod_nav": 29, "payload": {"crc_m": 256.15625, "crc_raw": 8197, "crs_m": 91.1875, "crs_raw": 2918, "cuc_rad": 4.2263418436050415e-06, "cuc_raw": 2269, "cus_rad": 4.390254616737366e-06, "cus_raw": 2357, "delta_n_rad_s": 3.2858511546039716e-09, "delta_n_raw": 9200, "iod_nav": 29, "omega_dot_rad_s": -5.809527704433501e-09, "omega_dot_raw": -16266, "sisa_index": 107}, "prn": 1, "raw_bits": [0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1], "receive_sample_timestamp": 20796515, "word_type": 3}
|
||||
{"crc_valid": true, "health_valid": true, "iod_nav": null, "payload": {"ai0_raw": 0, "ai0_sfu": 0.0, "ai1_raw": 0, "ai1_sfu_per_degree": 0.0, "ai2_raw": 0, "ai2_sfu_per_degree2": 0.0, "bgd_e1_e5a_raw": 2, "bgd_e1_e5a_s": 4.656612873077393e-10, "bgd_e1_e5b_raw": 2, "bgd_e1_e5b_s": 4.656612873077393e-10, "disturbance_flags": [false, false, false, false, false], "e1b_data_validity_status": 0, "e1b_health": 0, "e5b_data_validity_status": 0, "e5b_health": 0, "time_of_week_s": 554755, "week_number": 1138}, "prn": 1, "raw_bits": [0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "receive_sample_timestamp": 28980515, "word_type": 5}
|
||||
{"crc_valid": true, "health_valid": true, "iod_nav": 29, "payload": {"argument_of_perigee_rad": -1.4927534274463103, "argument_of_perigee_raw": -1020394408, "inclination_rad": 0.9780546728858021, "inclination_rate_rad_s": 9.928985010651132e-11, "inclination_rate_raw": 278, "inclination_raw": 668564212, "iod_nav": 29, "omega0_rad": 0.1817990533460104, "omega0_raw": 124271520}, "prn": 1, "raw_bits": [0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0], "receive_sample_timestamp": 53532515, "word_type": 2}
|
||||
{"crc_valid": true, "health_valid": true, "iod_nav": 29, "payload": {"cic_rad": 1.4901161193847656e-08, "cic_raw": 8, "cis_rad": -5.774199962615967e-08, "cis_raw": -31, "clock_bias_raw": -19455572, "clock_bias_s": -0.001132463337853551, "clock_drift_rate_raw": 0, "clock_drift_rate_s_per_s2": 0.0, "clock_drift_raw": -561, "clock_drift_s_per_s": -7.972289495228324e-12, "iod_nav": 29, "svid": 1, "toc_raw": 9250, "toc_s": 555000.0}, "prn": 1, "raw_bits": [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0], "receive_sample_timestamp": 61716515, "word_type": 4}
|
||||
{"crc_valid": true, "health_valid": true, "iod_nav": null, "payload": {"a0_raw": 2, "a0_s": 1.862645149230957e-09, "a1_raw": -1, "a1_s_per_s": -8.881784197001252e-16, "delta_tls_s": 18, "future_delta_tls_s": 18, "leap_day": 0, "leap_week_mod256": 114, "reference_time_s": 453600, "reference_week_mod256": 114, "time_of_week_s": 554765}, "prn": 1, "raw_bits": [0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0], "receive_sample_timestamp": 69900515, "word_type": 6}
|
||||
|
After Width: | Height: | Size: 668 KiB |
@@ -0,0 +1,156 @@
|
||||
{
|
||||
"prn": 4,
|
||||
"tracking_architecture": "e1b_only",
|
||||
"acquisition_component": "E1B",
|
||||
"acquisition_detected": true,
|
||||
"acquisition_time_s": 0.0816367379957228,
|
||||
"raw_doppler_hz": 2250.0,
|
||||
"expected_doppler_hz": 2171.0,
|
||||
"start_sample_timestamp": 86819,
|
||||
"tracking_epoch_count": 16088,
|
||||
"tracking_time_s": 14.430910755996592,
|
||||
"tracking_final_state": "PLL_TRACK",
|
||||
"tracking_reacquisition_requests": 0,
|
||||
"tracking_lock_timestamp": 307787,
|
||||
"prompt_epoch_count": 8044,
|
||||
"valid_prompt_epoch_count": 8044,
|
||||
"invalid_prompt_epoch_count": 0,
|
||||
"cycle_slips": 1,
|
||||
"sample_discontinuities": 0,
|
||||
"raw_navigation_symbol_count": 8044,
|
||||
"first_synchronized_symbol_timestamp": 4440707,
|
||||
"first_page_sync_timestamp": 4440707,
|
||||
"first_crc_valid_page_timestamp": 4440707,
|
||||
"page_parts": 31,
|
||||
"pages": 15,
|
||||
"crc_passes": 15,
|
||||
"crc_failures": 0,
|
||||
"fec_failures": 0,
|
||||
"received_word_types": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4,
|
||||
5,
|
||||
6
|
||||
],
|
||||
"missing_ephemeris_word_types": [],
|
||||
"complete_ephemeris": true,
|
||||
"ephemeris_iod_nav": 30,
|
||||
"first_complete_ephemeris_timestamp": 61728707,
|
||||
"clock_parameters": true,
|
||||
"health_valid": true,
|
||||
"data_valid": true,
|
||||
"decoding_time_s": 1.2749508049964788,
|
||||
"secondary_code_sync": null,
|
||||
"lock_analysis": {
|
||||
"prn": 4,
|
||||
"epochs": 16088,
|
||||
"integration_ms": 2.0,
|
||||
"start_sample_timestamp": 86819,
|
||||
"end_sample_timestamp": 131751011,
|
||||
"raw_carrier_lock_pass_epochs": 16046,
|
||||
"raw_code_lock_pass_epochs": 15341,
|
||||
"raw_combined_lock_pass_epochs": 15333,
|
||||
"raw_combined_lock_fail_epochs": 755,
|
||||
"false_transition_count": 103,
|
||||
"legacy_code_lock_falling_edges": 102,
|
||||
"boc_aware_code_lock_falling_edges": 0,
|
||||
"boc_aware_metric_valid_epochs": 16064,
|
||||
"boc_aware_code_lock_pass_epochs": 16062,
|
||||
"boc_aware_combined_lock_pass_epochs": 16062,
|
||||
"boc_aware_longest_code_lock_s": 32.124,
|
||||
"boc_side_peak_suspected_epochs": 0,
|
||||
"carrier_metric_caused_transitions": 2,
|
||||
"code_metric_caused_transitions": 101,
|
||||
"symbol_transition_coincident_false_transitions": 16,
|
||||
"cycle_slips": 1,
|
||||
"sample_discontinuities": 0,
|
||||
"cn0_unavailable_false_transitions": 1,
|
||||
"false_run_count": 104,
|
||||
"single_epoch_false_runs": 44,
|
||||
"maximum_false_run_epochs": 73,
|
||||
"maximum_false_run_ms": 146.0,
|
||||
"maximum_continuous_raw_lock_epochs": 711,
|
||||
"maximum_continuous_raw_lock_s": 1.422,
|
||||
"carrier_metric_percentiles": {
|
||||
"1": 0.9006114811826954,
|
||||
"5": 0.9880196779777404,
|
||||
"50": 0.998917933924071,
|
||||
"95": 0.9999904113075034,
|
||||
"99": 0.9999996323666765
|
||||
},
|
||||
"code_metric_percentiles": {
|
||||
"1": 0.07309672107241362,
|
||||
"5": 1.8395070908641913,
|
||||
"50": 14.232888120404398,
|
||||
"95": 20.753241348914994,
|
||||
"99": 24.700549594083974
|
||||
},
|
||||
"boc_main_peak_fraction_percentiles": {
|
||||
"1": 0.8369048237646338,
|
||||
"5": 0.8691701944942682,
|
||||
"50": 0.8889001522944426,
|
||||
"95": 0.8990638983460914,
|
||||
"99": 0.9029804777517545
|
||||
},
|
||||
"boc_side_peak_metric_percentiles": {
|
||||
"1": 0.05584529615780422,
|
||||
"5": 0.05849069688921327,
|
||||
"50": 0.06592340648291048,
|
||||
"95": 0.10467028996552871,
|
||||
"99": 0.18648158052062583
|
||||
},
|
||||
"boc_main_peak_coherence_percentiles": {
|
||||
"1": 0.3567737363221064,
|
||||
"5": 0.8179211704762331,
|
||||
"50": 0.9678703955887004,
|
||||
"95": 0.9802584589520537,
|
||||
"99": 0.983359271481221
|
||||
},
|
||||
"legacy_code_metric_failure_behavior": {
|
||||
"epochs": 570,
|
||||
"dll_error_rms_chips": 0.0856283362712608,
|
||||
"dll_error_p99_abs_chips": 0.11934673527382932,
|
||||
"code_phase_residual_rms_chips": 18.0490751133773,
|
||||
"code_phase_residual_p99_abs_chips": 22.013505561931513,
|
||||
"prompt_power_median": 109001732.74343339,
|
||||
"early_power_median": 1400349552.302199,
|
||||
"late_power_median": 456965181.93616223,
|
||||
"very_early_power_median": 326692792.80833435,
|
||||
"very_late_power_median": 17308238.42519528,
|
||||
"boc_main_peak_fraction_min": 0.8206212827432912,
|
||||
"boc_side_peak_metric_max": 0.21247511232075716,
|
||||
"boc_main_peak_coherence_min": 0.3170832361168166
|
||||
},
|
||||
"legacy_code_metric_pass_behavior": {
|
||||
"epochs": 15269,
|
||||
"dll_error_rms_chips": 0.056238434131421364,
|
||||
"dll_error_p99_abs_chips": 0.16003776421021423,
|
||||
"code_phase_residual_rms_chips": 12.648913028517638,
|
||||
"code_phase_residual_p99_abs_chips": 22.225825912676154,
|
||||
"prompt_power_median": 1561549596.45384,
|
||||
"early_power_median": 104409162.05052581,
|
||||
"late_power_median": 103889433.28955534,
|
||||
"very_early_power_median": 104425788.59980236,
|
||||
"very_late_power_median": 103991111.01094447,
|
||||
"boc_main_peak_fraction_min": 0.8222270181579056,
|
||||
"boc_side_peak_metric_max": 0.2095520802570801,
|
||||
"boc_main_peak_coherence_min": 0.34907181516682484
|
||||
},
|
||||
"post_pull_in": {
|
||||
"pll_error_rms_rad": 0.08339194913655366,
|
||||
"pll_error_p99_abs_rad": 0.28066749828951293,
|
||||
"dll_error_rms_chips": 0.05755699775579458,
|
||||
"dll_error_p99_abs_chips": 0.15855664425855148,
|
||||
"carrier_frequency_min_hz": 1025162.3551379391,
|
||||
"carrier_frequency_max_hz": 1025184.484426808,
|
||||
"carrier_frequency_last_minus_first_hz": -4.571598100825213,
|
||||
"code_frequency_min_hz": 1023000.7643501132,
|
||||
"code_frequency_max_hz": 1023002.1426815203,
|
||||
"code_frequency_last_minus_first_hz": -0.09867795300669968,
|
||||
"cn0_median_db_hz": 46.629410476651934,
|
||||
"cn0_min_db_hz": 29.640332876174572
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"prn": 4,
|
||||
"iod_nav": 30,
|
||||
"toe_s": 555600.0,
|
||||
"toc_s": 555600.0,
|
||||
"sqrt_a": 5440.619691848755,
|
||||
"eccentricity": 0.0003278222866356373,
|
||||
"inclination_rad": 0.9546608529078708,
|
||||
"omega0_rad": -1.916469336297527,
|
||||
"argument_of_perigee_rad": -1.2995103390103033,
|
||||
"mean_anomaly_rad": 2.9471624393166582,
|
||||
"delta_n_rad_s": 3.3912126861918165e-09,
|
||||
"inclination_rate_rad_s": -2.3250968496165061e-10,
|
||||
"omega_dot_rad_s": -5.7763120351532645e-09,
|
||||
"cuc_rad": -3.553926944732666e-06,
|
||||
"cus_rad": 7.985159754753113e-06,
|
||||
"crc_m": 161.75,
|
||||
"crs_m": -73.28125,
|
||||
"cic_rad": 2.0489096641540527e-08,
|
||||
"cis_rad": 5.4016709327697754e-08,
|
||||
"clock_bias_s": -0.0007956350455060601,
|
||||
"clock_drift_s_per_s": -8.043343768804334e-12,
|
||||
"clock_drift_rate_s_per_s2": 0.0,
|
||||
"sisa_index": 107,
|
||||
"health_valid": true,
|
||||
"data_valid": true,
|
||||
"first_received_timestamp": 12624707,
|
||||
"completed_timestamp": 61728707
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -30112145.355260894, "end_sample_timestamp": 12624707, "error_flags": 0, "fec_valid": true, "page_sequence": 0, "polarity_inverted": false, "prn": 4, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1], "receive_sample_timestamp": 4440707, "sync_valid": true, "word_bits": [1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "word_type": 63}
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -35364229.276966974, "end_sample_timestamp": 20808707, "error_flags": 0, "fec_valid": true, "page_sequence": 1, "polarity_inverted": false, "prn": 4, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1], "receive_sample_timestamp": 12624707, "sync_valid": true, "word_bits": [0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0], "word_type": 1}
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -36429870.87408933, "end_sample_timestamp": 28992707, "error_flags": 0, "fec_valid": true, "page_sequence": 2, "polarity_inverted": false, "prn": 4, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1], "receive_sample_timestamp": 20808707, "sync_valid": true, "word_bits": [0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1], "word_type": 3}
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -37653452.23250389, "end_sample_timestamp": 37176707, "error_flags": 0, "fec_valid": true, "page_sequence": 3, "polarity_inverted": false, "prn": 4, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1], "receive_sample_timestamp": 28992707, "sync_valid": true, "word_bits": [0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "word_type": 5}
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -37946202.280775234, "end_sample_timestamp": 45360707, "error_flags": 0, "fec_valid": true, "page_sequence": 4, "polarity_inverted": false, "prn": 4, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1], "receive_sample_timestamp": 37176707, "sync_valid": true, "word_bits": [0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1], "word_type": 0}
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -37694874.79214685, "end_sample_timestamp": 53544707, "error_flags": 0, "fec_valid": true, "page_sequence": 5, "polarity_inverted": false, "prn": 4, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1], "receive_sample_timestamp": 45360707, "sync_valid": true, "word_bits": [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0], "word_type": 16}
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -37669949.070271626, "end_sample_timestamp": 61728707, "error_flags": 0, "fec_valid": true, "page_sequence": 6, "polarity_inverted": false, "prn": 4, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1], "receive_sample_timestamp": 53544707, "sync_valid": true, "word_bits": [0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0], "word_type": 2}
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -37195099.22291262, "end_sample_timestamp": 69912707, "error_flags": 0, "fec_valid": true, "page_sequence": 7, "polarity_inverted": false, "prn": 4, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1], "receive_sample_timestamp": 61728707, "sync_valid": true, "word_bits": [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], "word_type": 4}
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -37549247.059369266, "end_sample_timestamp": 78096707, "error_flags": 0, "fec_valid": true, "page_sequence": 8, "polarity_inverted": false, "prn": 4, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1], "receive_sample_timestamp": 69912707, "sync_valid": true, "word_bits": [0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0], "word_type": 6}
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -37348881.28567538, "end_sample_timestamp": 86280707, "error_flags": 0, "fec_valid": true, "page_sequence": 9, "polarity_inverted": false, "prn": 4, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1], "receive_sample_timestamp": 78096707, "sync_valid": true, "word_bits": [0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0], "word_type": 7}
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -37365546.10146383, "end_sample_timestamp": 94464707, "error_flags": 0, "fec_valid": true, "page_sequence": 10, "polarity_inverted": false, "prn": 4, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1], "receive_sample_timestamp": 86280707, "sync_valid": true, "word_bits": [0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0], "word_type": 8}
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -37492659.25690748, "end_sample_timestamp": 102648707, "error_flags": 0, "fec_valid": true, "page_sequence": 11, "polarity_inverted": false, "prn": 4, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1], "receive_sample_timestamp": 94464707, "sync_valid": true, "word_bits": [0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0], "word_type": 17}
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -37323915.65769069, "end_sample_timestamp": 110832707, "error_flags": 0, "fec_valid": true, "page_sequence": 12, "polarity_inverted": false, "prn": 4, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1], "receive_sample_timestamp": 102648707, "sync_valid": true, "word_bits": [0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0], "word_type": 19}
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -37409159.83634141, "end_sample_timestamp": 119016707, "error_flags": 0, "fec_valid": true, "page_sequence": 13, "polarity_inverted": false, "prn": 4, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1], "receive_sample_timestamp": 110832707, "sync_valid": true, "word_bits": [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0], "word_type": 16}
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -37462941.02204284, "end_sample_timestamp": 127200707, "error_flags": 0, "fec_valid": true, "page_sequence": 14, "polarity_inverted": false, "prn": 4, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1], "receive_sample_timestamp": 119016707, "sync_valid": true, "word_bits": [0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1], "word_type": 0}
|
||||
@@ -0,0 +1,6 @@
|
||||
{"crc_valid": true, "health_valid": true, "iod_nav": 30, "payload": {"eccentricity": 0.0003278222866356373, "eccentricity_raw": 2815972, "iod_nav": 30, "mean_anomaly_rad": 2.9471624393166582, "mean_anomaly_raw": 2014577905, "sqrt_a": 5440.619691848755, "sqrt_a_raw": 2852451617, "toe_raw": 9260, "toe_s": 555600.0}, "prn": 4, "raw_bits": [0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0], "receive_sample_timestamp": 12624707, "word_type": 1}
|
||||
{"crc_valid": true, "health_valid": true, "iod_nav": 30, "payload": {"crc_m": 161.75, "crc_raw": 5176, "crs_m": -73.28125, "crs_raw": -2345, "cuc_rad": -3.553926944732666e-06, "cuc_raw": -1908, "cus_rad": 7.985159754753113e-06, "cus_raw": 4287, "delta_n_rad_s": 3.3912126861918165e-09, "delta_n_raw": 9495, "iod_nav": 30, "omega_dot_rad_s": -5.7763120351532645e-09, "omega_dot_raw": -16173, "sisa_index": 107}, "prn": 4, "raw_bits": [0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1], "receive_sample_timestamp": 20808707, "word_type": 3}
|
||||
{"crc_valid": true, "health_valid": true, "iod_nav": null, "payload": {"ai0_raw": 0, "ai0_sfu": 0.0, "ai1_raw": 0, "ai1_sfu_per_degree": 0.0, "ai2_raw": 0, "ai2_sfu_per_degree2": 0.0, "bgd_e1_e5a_raw": -13, "bgd_e1_e5a_s": -3.026798367500305e-09, "bgd_e1_e5b_raw": -15, "bgd_e1_e5b_s": -3.4924596548080444e-09, "disturbance_flags": [false, false, false, false, false], "e1b_data_validity_status": 0, "e1b_health": 0, "e5b_data_validity_status": 0, "e5b_health": 0, "time_of_week_s": 554755, "week_number": 1138}, "prn": 4, "raw_bits": [0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "receive_sample_timestamp": 28992707, "word_type": 5}
|
||||
{"crc_valid": true, "health_valid": true, "iod_nav": 30, "payload": {"argument_of_perigee_rad": -1.2995103390103033, "argument_of_perigee_raw": -888300143, "inclination_rad": 0.9546608529078708, "inclination_rate_rad_s": -2.3250968496165061e-10, "inclination_rate_raw": -651, "inclination_raw": 652573009, "iod_nav": 30, "omega0_rad": -1.916469336297527, "omega0_raw": -1310031890}, "prn": 4, "raw_bits": [0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0], "receive_sample_timestamp": 53544707, "word_type": 2}
|
||||
{"crc_valid": true, "health_valid": true, "iod_nav": 30, "payload": {"cic_rad": 2.0489096641540527e-08, "cic_raw": 11, "cis_rad": 5.4016709327697754e-08, "cis_raw": 29, "clock_bias_raw": -13668906, "clock_bias_s": -0.0007956350455060601, "clock_drift_rate_raw": 0, "clock_drift_rate_s_per_s2": 0.0, "clock_drift_raw": -566, "clock_drift_s_per_s": -8.043343768804334e-12, "iod_nav": 30, "svid": 4, "toc_raw": 9260, "toc_s": 555600.0}, "prn": 4, "raw_bits": [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], "receive_sample_timestamp": 61728707, "word_type": 4}
|
||||
{"crc_valid": true, "health_valid": true, "iod_nav": null, "payload": {"a0_raw": 2, "a0_s": 1.862645149230957e-09, "a1_raw": -1, "a1_s_per_s": -8.881784197001252e-16, "delta_tls_s": 18, "future_delta_tls_s": 18, "leap_day": 0, "leap_week_mod256": 114, "reference_time_s": 453600, "reference_week_mod256": 114, "time_of_week_s": 554765}, "prn": 4, "raw_bits": [0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0], "receive_sample_timestamp": 69912707, "word_type": 6}
|
||||
|
After Width: | Height: | Size: 682 KiB |
@@ -0,0 +1,156 @@
|
||||
{
|
||||
"prn": 19,
|
||||
"tracking_architecture": "e1b_only",
|
||||
"acquisition_component": "E1B",
|
||||
"acquisition_detected": true,
|
||||
"acquisition_time_s": 0.083444698000676,
|
||||
"raw_doppler_hz": -250.0,
|
||||
"expected_doppler_hz": -367.0,
|
||||
"start_sample_timestamp": 87566,
|
||||
"tracking_epoch_count": 16088,
|
||||
"tracking_time_s": 14.574368724999658,
|
||||
"tracking_final_state": "PLL_TRACK",
|
||||
"tracking_reacquisition_requests": 0,
|
||||
"tracking_lock_timestamp": 308534,
|
||||
"prompt_epoch_count": 8044,
|
||||
"valid_prompt_epoch_count": 8044,
|
||||
"invalid_prompt_epoch_count": 0,
|
||||
"cycle_slips": 0,
|
||||
"sample_discontinuities": 0,
|
||||
"raw_navigation_symbol_count": 8044,
|
||||
"first_synchronized_symbol_timestamp": 4408718,
|
||||
"first_page_sync_timestamp": 4408718,
|
||||
"first_crc_valid_page_timestamp": 4408718,
|
||||
"page_parts": 31,
|
||||
"pages": 15,
|
||||
"crc_passes": 15,
|
||||
"crc_failures": 0,
|
||||
"fec_failures": 0,
|
||||
"received_word_types": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4,
|
||||
5,
|
||||
6
|
||||
],
|
||||
"missing_ephemeris_word_types": [],
|
||||
"complete_ephemeris": true,
|
||||
"ephemeris_iod_nav": 29,
|
||||
"first_complete_ephemeris_timestamp": 61696718,
|
||||
"clock_parameters": true,
|
||||
"health_valid": true,
|
||||
"data_valid": true,
|
||||
"decoding_time_s": 1.2817934039994725,
|
||||
"secondary_code_sync": null,
|
||||
"lock_analysis": {
|
||||
"prn": 19,
|
||||
"epochs": 16088,
|
||||
"integration_ms": 2.0,
|
||||
"start_sample_timestamp": 87566,
|
||||
"end_sample_timestamp": 131751758,
|
||||
"raw_carrier_lock_pass_epochs": 16047,
|
||||
"raw_code_lock_pass_epochs": 15074,
|
||||
"raw_combined_lock_pass_epochs": 15059,
|
||||
"raw_combined_lock_fail_epochs": 1029,
|
||||
"false_transition_count": 32,
|
||||
"legacy_code_lock_falling_edges": 28,
|
||||
"boc_aware_code_lock_falling_edges": 0,
|
||||
"boc_aware_metric_valid_epochs": 16064,
|
||||
"boc_aware_code_lock_pass_epochs": 16062,
|
||||
"boc_aware_combined_lock_pass_epochs": 16062,
|
||||
"boc_aware_longest_code_lock_s": 32.124,
|
||||
"boc_side_peak_suspected_epochs": 0,
|
||||
"carrier_metric_caused_transitions": 5,
|
||||
"code_metric_caused_transitions": 28,
|
||||
"symbol_transition_coincident_false_transitions": 6,
|
||||
"cycle_slips": 0,
|
||||
"sample_discontinuities": 0,
|
||||
"cn0_unavailable_false_transitions": 1,
|
||||
"false_run_count": 33,
|
||||
"single_epoch_false_runs": 3,
|
||||
"maximum_false_run_epochs": 205,
|
||||
"maximum_false_run_ms": 410.0,
|
||||
"maximum_continuous_raw_lock_epochs": 1040,
|
||||
"maximum_continuous_raw_lock_s": 2.08,
|
||||
"carrier_metric_percentiles": {
|
||||
"1": 0.8250788450769927,
|
||||
"5": 0.9855152346445263,
|
||||
"50": 0.9988325017265458,
|
||||
"95": 0.9999904463638747,
|
||||
"99": 0.999999584262411
|
||||
},
|
||||
"code_metric_percentiles": {
|
||||
"1": 0.06293823514347473,
|
||||
"5": 0.15085214771723615,
|
||||
"50": 14.198579206339014,
|
||||
"95": 21.128684737127564,
|
||||
"99": 25.346681809351058
|
||||
},
|
||||
"boc_main_peak_fraction_percentiles": {
|
||||
"1": 0.8309412498197165,
|
||||
"5": 0.848473635110624,
|
||||
"50": 0.889589966801388,
|
||||
"95": 0.8990595913335233,
|
||||
"99": 0.9024111251151156
|
||||
},
|
||||
"boc_side_peak_metric_percentiles": {
|
||||
"1": 0.05577188338791906,
|
||||
"5": 0.05825619631512907,
|
||||
"50": 0.06517459314233992,
|
||||
"95": 0.15546615905984618,
|
||||
"99": 0.19598981895836773
|
||||
},
|
||||
"boc_main_peak_coherence_percentiles": {
|
||||
"1": 0.3254011372143649,
|
||||
"5": 0.5738643256149084,
|
||||
"50": 0.9698973653484377,
|
||||
"95": 0.9808574456656932,
|
||||
"99": 0.9841602630201733
|
||||
},
|
||||
"legacy_code_metric_failure_behavior": {
|
||||
"epochs": 836,
|
||||
"dll_error_rms_chips": 0.08382550491114514,
|
||||
"dll_error_p99_abs_chips": 0.11672054552674169,
|
||||
"code_phase_residual_rms_chips": 2.7550161372072455,
|
||||
"code_phase_residual_p99_abs_chips": 3.9163627824740046,
|
||||
"prompt_power_median": 104126149.50421108,
|
||||
"early_power_median": 494980627.1907859,
|
||||
"late_power_median": 1419480537.7622817,
|
||||
"very_early_power_median": 23356098.258554555,
|
||||
"very_late_power_median": 320909640.2537514,
|
||||
"boc_main_peak_fraction_min": 0.8178550688248921,
|
||||
"boc_side_peak_metric_max": 0.21387662507504698,
|
||||
"boc_main_peak_coherence_min": 0.309749906504684
|
||||
},
|
||||
"legacy_code_metric_pass_behavior": {
|
||||
"epochs": 15003,
|
||||
"dll_error_rms_chips": 0.05441480503429248,
|
||||
"dll_error_p99_abs_chips": 0.14248386733785928,
|
||||
"code_phase_residual_rms_chips": 2.1823469005629192,
|
||||
"code_phase_residual_p99_abs_chips": 3.841100800917238,
|
||||
"prompt_power_median": 1574617462.1943545,
|
||||
"early_power_median": 104240558.74906312,
|
||||
"late_power_median": 104608632.72580688,
|
||||
"very_early_power_median": 104886518.99392597,
|
||||
"very_late_power_median": 104026970.69437188,
|
||||
"boc_main_peak_fraction_min": 0.8311755975651924,
|
||||
"boc_side_peak_metric_max": 0.19705562228004905,
|
||||
"boc_main_peak_coherence_min": 0.33567645683146424
|
||||
},
|
||||
"post_pull_in": {
|
||||
"pll_error_rms_rad": 0.09139711767212633,
|
||||
"pll_error_p99_abs_rad": 0.35414693526447544,
|
||||
"dll_error_rms_chips": 0.056352156142962954,
|
||||
"dll_error_p99_abs_chips": 0.14171859512013438,
|
||||
"carrier_frequency_min_hz": 1022616.0549381182,
|
||||
"carrier_frequency_max_hz": 1022640.4704177197,
|
||||
"carrier_frequency_last_minus_first_hz": -11.655729941674508,
|
||||
"code_frequency_min_hz": 1022999.1533629585,
|
||||
"code_frequency_max_hz": 1023000.4009552913,
|
||||
"code_frequency_last_minus_first_hz": 0.3831741127651185,
|
||||
"cn0_median_db_hz": 47.38005914259544,
|
||||
"cn0_min_db_hz": 28.3661530363324
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"prn": 19,
|
||||
"iod_nav": 29,
|
||||
"toe_s": 555000.0,
|
||||
"toc_s": 555000.0,
|
||||
"sqrt_a": 5440.615934371948,
|
||||
"eccentricity": 0.0003091230755671859,
|
||||
"inclination_rad": 0.9603429613162078,
|
||||
"omega0_rad": -1.9160215912014322,
|
||||
"argument_of_perigee_rad": -1.486853610495253,
|
||||
"mean_anomaly_rad": -2.3572179169593204,
|
||||
"delta_n_rad_s": 3.2276344439300102e-09,
|
||||
"inclination_rate_rad_s": -1.753644474902772e-10,
|
||||
"omega_dot_rad_s": -5.699880280035303e-09,
|
||||
"cuc_rad": -3.518536686897278e-06,
|
||||
"cus_rad": 7.985159754753113e-06,
|
||||
"crc_m": 166.625,
|
||||
"crs_m": -77.1875,
|
||||
"cic_rad": -5.587935447692871e-09,
|
||||
"cis_rad": 4.0978193283081055e-08,
|
||||
"clock_bias_s": 0.00030605588108301163,
|
||||
"clock_drift_s_per_s": 9.549694368615746e-12,
|
||||
"clock_drift_rate_s_per_s2": 0.0,
|
||||
"sisa_index": 107,
|
||||
"health_valid": true,
|
||||
"data_valid": true,
|
||||
"first_received_timestamp": 12592718,
|
||||
"completed_timestamp": 61696718
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -33567351.47123019, "end_sample_timestamp": 12592718, "error_flags": 0, "fec_valid": true, "page_sequence": 0, "polarity_inverted": true, "prn": 19, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1], "receive_sample_timestamp": 4408718, "sync_valid": true, "word_bits": [1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "word_type": 63}
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -33385013.599702053, "end_sample_timestamp": 20776718, "error_flags": 0, "fec_valid": true, "page_sequence": 1, "polarity_inverted": true, "prn": 19, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1], "receive_sample_timestamp": 12592718, "sync_valid": true, "word_bits": [0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0], "word_type": 1}
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -35498231.37815516, "end_sample_timestamp": 28960718, "error_flags": 0, "fec_valid": true, "page_sequence": 2, "polarity_inverted": true, "prn": 19, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1], "receive_sample_timestamp": 20776718, "sync_valid": true, "word_bits": [0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1], "word_type": 3}
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -35189316.239425614, "end_sample_timestamp": 37144718, "error_flags": 0, "fec_valid": true, "page_sequence": 3, "polarity_inverted": true, "prn": 19, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1], "receive_sample_timestamp": 28960718, "sync_valid": true, "word_bits": [0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "word_type": 5}
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -37621290.39703659, "end_sample_timestamp": 45328718, "error_flags": 0, "fec_valid": true, "page_sequence": 4, "polarity_inverted": true, "prn": 19, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1], "receive_sample_timestamp": 37144718, "sync_valid": true, "word_bits": [0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1], "word_type": 0}
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -37006763.856863946, "end_sample_timestamp": 53512718, "error_flags": 0, "fec_valid": true, "page_sequence": 5, "polarity_inverted": true, "prn": 19, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1], "receive_sample_timestamp": 45328718, "sync_valid": true, "word_bits": [0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0], "word_type": 16}
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -37545670.41351046, "end_sample_timestamp": 61696718, "error_flags": 0, "fec_valid": true, "page_sequence": 6, "polarity_inverted": true, "prn": 19, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 1, 1], "receive_sample_timestamp": 53512718, "sync_valid": true, "word_bits": [0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0], "word_type": 2}
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -37823678.47897925, "end_sample_timestamp": 69880718, "error_flags": 0, "fec_valid": true, "page_sequence": 7, "polarity_inverted": true, "prn": 19, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1], "receive_sample_timestamp": 61696718, "sync_valid": true, "word_bits": [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "word_type": 4}
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -37529036.008047596, "end_sample_timestamp": 78064718, "error_flags": 0, "fec_valid": true, "page_sequence": 8, "polarity_inverted": true, "prn": 19, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1], "receive_sample_timestamp": 69880718, "sync_valid": true, "word_bits": [0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0], "word_type": 6}
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -37378600.57587983, "end_sample_timestamp": 86248718, "error_flags": 0, "fec_valid": true, "page_sequence": 9, "polarity_inverted": true, "prn": 19, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1], "receive_sample_timestamp": 78064718, "sync_valid": true, "word_bits": [0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0], "word_type": 7}
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -37890041.36713679, "end_sample_timestamp": 94432718, "error_flags": 0, "fec_valid": true, "page_sequence": 10, "polarity_inverted": true, "prn": 19, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1], "receive_sample_timestamp": 86248718, "sync_valid": true, "word_bits": [0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0], "word_type": 8}
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -36882999.79319899, "end_sample_timestamp": 102616718, "error_flags": 0, "fec_valid": true, "page_sequence": 11, "polarity_inverted": true, "prn": 19, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1], "receive_sample_timestamp": 94432718, "sync_valid": true, "word_bits": [0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1], "word_type": 17}
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -37393929.40321697, "end_sample_timestamp": 110800718, "error_flags": 0, "fec_valid": true, "page_sequence": 12, "polarity_inverted": true, "prn": 19, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1], "receive_sample_timestamp": 102616718, "sync_valid": true, "word_bits": [0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0], "word_type": 19}
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -36594294.112067655, "end_sample_timestamp": 118984718, "error_flags": 0, "fec_valid": true, "page_sequence": 13, "polarity_inverted": true, "prn": 19, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1], "receive_sample_timestamp": 110800718, "sync_valid": true, "word_bits": [0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0], "word_type": 16}
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -37445392.97311185, "end_sample_timestamp": 127168718, "error_flags": 0, "fec_valid": true, "page_sequence": 14, "polarity_inverted": true, "prn": 19, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1], "receive_sample_timestamp": 118984718, "sync_valid": true, "word_bits": [0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1], "word_type": 0}
|
||||
@@ -0,0 +1,6 @@
|
||||
{"crc_valid": true, "health_valid": true, "iod_nav": 29, "payload": {"eccentricity": 0.0003091230755671859, "eccentricity_raw": 2655347, "iod_nav": 29, "mean_anomaly_rad": -2.3572179169593204, "mean_anomaly_raw": -1611312315, "sqrt_a": 5440.615934371948, "sqrt_a_raw": 2852449647, "toe_raw": 9250, "toe_s": 555000.0}, "prn": 19, "raw_bits": [0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0], "receive_sample_timestamp": 12592718, "word_type": 1}
|
||||
{"crc_valid": true, "health_valid": true, "iod_nav": 29, "payload": {"crc_m": 166.625, "crc_raw": 5332, "crs_m": -77.1875, "crs_raw": -2470, "cuc_rad": -3.518536686897278e-06, "cuc_raw": -1889, "cus_rad": 7.985159754753113e-06, "cus_raw": 4287, "delta_n_rad_s": 3.2276344439300102e-09, "delta_n_raw": 9037, "iod_nav": 29, "omega_dot_rad_s": -5.699880280035303e-09, "omega_dot_raw": -15959, "sisa_index": 107}, "prn": 19, "raw_bits": [0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1], "receive_sample_timestamp": 20776718, "word_type": 3}
|
||||
{"crc_valid": true, "health_valid": true, "iod_nav": null, "payload": {"ai0_raw": 0, "ai0_sfu": 0.0, "ai1_raw": 0, "ai1_sfu_per_degree": 0.0, "ai2_raw": 0, "ai2_sfu_per_degree2": 0.0, "bgd_e1_e5a_raw": -15, "bgd_e1_e5a_s": -3.4924596548080444e-09, "bgd_e1_e5b_raw": -17, "bgd_e1_e5b_s": -3.958120942115784e-09, "disturbance_flags": [false, false, false, false, false], "e1b_data_validity_status": 0, "e1b_health": 0, "e5b_data_validity_status": 0, "e5b_health": 0, "time_of_week_s": 554755, "week_number": 1138}, "prn": 19, "raw_bits": [0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "receive_sample_timestamp": 28960718, "word_type": 5}
|
||||
{"crc_valid": true, "health_valid": true, "iod_nav": 29, "payload": {"argument_of_perigee_rad": -1.486853610495253, "argument_of_perigee_raw": -1016361498, "inclination_rad": 0.9603429613162078, "inclination_rate_rad_s": -1.753644474902772e-10, "inclination_rate_raw": -491, "inclination_raw": 656457101, "iod_nav": 29, "omega0_rad": -1.9160215912014322, "omega0_raw": -1309725827}, "prn": 19, "raw_bits": [0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0], "receive_sample_timestamp": 53512718, "word_type": 2}
|
||||
{"crc_valid": true, "health_valid": true, "iod_nav": 29, "payload": {"cic_rad": -5.587935447692871e-09, "cic_raw": -3, "cis_rad": 4.0978193283081055e-08, "cis_raw": 22, "clock_bias_raw": 5258000, "clock_bias_s": 0.00030605588108301163, "clock_drift_rate_raw": 0, "clock_drift_rate_s_per_s2": 0.0, "clock_drift_raw": 672, "clock_drift_s_per_s": 9.549694368615746e-12, "iod_nav": 29, "svid": 19, "toc_raw": 9250, "toc_s": 555000.0}, "prn": 19, "raw_bits": [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "receive_sample_timestamp": 61696718, "word_type": 4}
|
||||
{"crc_valid": true, "health_valid": true, "iod_nav": null, "payload": {"a0_raw": 2, "a0_s": 1.862645149230957e-09, "a1_raw": -1, "a1_s_per_s": -8.881784197001252e-16, "delta_tls_s": 18, "future_delta_tls_s": 18, "leap_day": 0, "leap_week_mod256": 114, "reference_time_s": 453600, "reference_week_mod256": 114, "time_of_week_s": 554765}, "prn": 19, "raw_bits": [0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0], "receive_sample_timestamp": 69880718, "word_type": 6}
|
||||
|
After Width: | Height: | Size: 648 KiB |
@@ -0,0 +1,156 @@
|
||||
{
|
||||
"prn": 21,
|
||||
"tracking_architecture": "e1b_only",
|
||||
"acquisition_component": "E1B",
|
||||
"acquisition_detected": true,
|
||||
"acquisition_time_s": 0.07547835899458732,
|
||||
"raw_doppler_hz": -750.0,
|
||||
"expected_doppler_hz": -712.0,
|
||||
"start_sample_timestamp": 93628,
|
||||
"tracking_epoch_count": 16088,
|
||||
"tracking_time_s": 14.999443346998305,
|
||||
"tracking_final_state": "PLL_TRACK",
|
||||
"tracking_reacquisition_requests": 0,
|
||||
"tracking_lock_timestamp": 396436,
|
||||
"prompt_epoch_count": 8044,
|
||||
"valid_prompt_epoch_count": 8044,
|
||||
"invalid_prompt_epoch_count": 0,
|
||||
"cycle_slips": 0,
|
||||
"sample_discontinuities": 0,
|
||||
"raw_navigation_symbol_count": 8044,
|
||||
"first_synchronized_symbol_timestamp": 4414780,
|
||||
"first_page_sync_timestamp": 4414780,
|
||||
"first_crc_valid_page_timestamp": 4414780,
|
||||
"page_parts": 31,
|
||||
"pages": 15,
|
||||
"crc_passes": 15,
|
||||
"crc_failures": 0,
|
||||
"fec_failures": 0,
|
||||
"received_word_types": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4,
|
||||
5,
|
||||
6
|
||||
],
|
||||
"missing_ephemeris_word_types": [],
|
||||
"complete_ephemeris": true,
|
||||
"ephemeris_iod_nav": 29,
|
||||
"first_complete_ephemeris_timestamp": 61702780,
|
||||
"clock_parameters": true,
|
||||
"health_valid": true,
|
||||
"data_valid": true,
|
||||
"decoding_time_s": 1.2827165410053567,
|
||||
"secondary_code_sync": null,
|
||||
"lock_analysis": {
|
||||
"prn": 21,
|
||||
"epochs": 16088,
|
||||
"integration_ms": 2.0,
|
||||
"start_sample_timestamp": 93628,
|
||||
"end_sample_timestamp": 131757820,
|
||||
"raw_carrier_lock_pass_epochs": 16041,
|
||||
"raw_code_lock_pass_epochs": 15283,
|
||||
"raw_combined_lock_pass_epochs": 15275,
|
||||
"raw_combined_lock_fail_epochs": 813,
|
||||
"false_transition_count": 55,
|
||||
"legacy_code_lock_falling_edges": 53,
|
||||
"boc_aware_code_lock_falling_edges": 0,
|
||||
"boc_aware_metric_valid_epochs": 16064,
|
||||
"boc_aware_code_lock_pass_epochs": 16062,
|
||||
"boc_aware_combined_lock_pass_epochs": 16052,
|
||||
"boc_aware_longest_code_lock_s": 32.124,
|
||||
"boc_side_peak_suspected_epochs": 0,
|
||||
"carrier_metric_caused_transitions": 2,
|
||||
"code_metric_caused_transitions": 53,
|
||||
"symbol_transition_coincident_false_transitions": 6,
|
||||
"cycle_slips": 0,
|
||||
"sample_discontinuities": 0,
|
||||
"cn0_unavailable_false_transitions": 2,
|
||||
"false_run_count": 55,
|
||||
"single_epoch_false_runs": 4,
|
||||
"maximum_false_run_epochs": 157,
|
||||
"maximum_false_run_ms": 314.0,
|
||||
"maximum_continuous_raw_lock_epochs": 800,
|
||||
"maximum_continuous_raw_lock_s": 1.6,
|
||||
"carrier_metric_percentiles": {
|
||||
"1": 0.9047472439510723,
|
||||
"5": 0.9875935696337723,
|
||||
"50": 0.9988690021482018,
|
||||
"95": 0.9999913344044875,
|
||||
"99": 0.9999997184342263
|
||||
},
|
||||
"code_metric_percentiles": {
|
||||
"1": 0.07122686789715414,
|
||||
"5": 0.48199809747243283,
|
||||
"50": 14.237096884230695,
|
||||
"95": 20.79918594545313,
|
||||
"99": 25.346953045367712
|
||||
},
|
||||
"boc_main_peak_fraction_percentiles": {
|
||||
"1": 0.832632973462268,
|
||||
"5": 0.8641412127478515,
|
||||
"50": 0.8898561018506831,
|
||||
"95": 0.8989597471660353,
|
||||
"99": 0.9026667736908286
|
||||
},
|
||||
"boc_side_peak_metric_percentiles": {
|
||||
"1": 0.05551281831608973,
|
||||
"5": 0.05798460486772076,
|
||||
"50": 0.0649456388053434,
|
||||
"95": 0.11752193418418655,
|
||||
"99": 0.1926831125323308
|
||||
},
|
||||
"boc_main_peak_coherence_percentiles": {
|
||||
"1": 0.3279666024267286,
|
||||
"5": 0.7717814001999667,
|
||||
"50": 0.9697885183838393,
|
||||
"95": 0.981013843149453,
|
||||
"99": 0.9839141652847234
|
||||
},
|
||||
"legacy_code_metric_failure_behavior": {
|
||||
"epochs": 648,
|
||||
"dll_error_rms_chips": 0.08424634662191456,
|
||||
"dll_error_p99_abs_chips": 0.11389992057204788,
|
||||
"code_phase_residual_rms_chips": 5.413591139197087,
|
||||
"code_phase_residual_p99_abs_chips": 7.323643837672498,
|
||||
"prompt_power_median": 111248106.93399511,
|
||||
"early_power_median": 485571773.9336411,
|
||||
"late_power_median": 1409101427.9671085,
|
||||
"very_early_power_median": 22451415.420087457,
|
||||
"very_late_power_median": 329617228.81067777,
|
||||
"boc_main_peak_fraction_min": 0.819938710284846,
|
||||
"boc_side_peak_metric_max": 0.21273197297837107,
|
||||
"boc_main_peak_coherence_min": 0.3046987458565688
|
||||
},
|
||||
"legacy_code_metric_pass_behavior": {
|
||||
"epochs": 15191,
|
||||
"dll_error_rms_chips": 0.05451572831224683,
|
||||
"dll_error_p99_abs_chips": 0.14644158425623585,
|
||||
"code_phase_residual_rms_chips": 4.209875215718045,
|
||||
"code_phase_residual_p99_abs_chips": 7.380953776232491,
|
||||
"prompt_power_median": 1570174203.4927423,
|
||||
"early_power_median": 105114623.37528723,
|
||||
"late_power_median": 104143701.14155619,
|
||||
"very_early_power_median": 104061383.87129441,
|
||||
"very_late_power_median": 104456768.35503499,
|
||||
"boc_main_peak_fraction_min": 0.8188953806005115,
|
||||
"boc_side_peak_metric_max": 0.21372055486034422,
|
||||
"boc_main_peak_coherence_min": 0.33918431088914197
|
||||
},
|
||||
"post_pull_in": {
|
||||
"pll_error_rms_rad": 0.08461586517746887,
|
||||
"pll_error_p99_abs_rad": 0.299612023401952,
|
||||
"dll_error_rms_chips": 0.05604235022384973,
|
||||
"dll_error_p99_abs_chips": 0.14519328115199148,
|
||||
"carrier_frequency_min_hz": 1022270.5221824985,
|
||||
"carrier_frequency_max_hz": 1022293.3561117956,
|
||||
"carrier_frequency_last_minus_first_hz": -12.292378992773592,
|
||||
"code_frequency_min_hz": 1022998.9509105735,
|
||||
"code_frequency_max_hz": 1023000.1469076271,
|
||||
"code_frequency_last_minus_first_hz": 0.3794000932248309,
|
||||
"cn0_median_db_hz": 47.6095854731344,
|
||||
"cn0_min_db_hz": 28.552748009530106
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"prn": 21,
|
||||
"iod_nav": 29,
|
||||
"toe_s": 555000.0,
|
||||
"toc_s": 555000.0,
|
||||
"sqrt_a": 5440.612789154053,
|
||||
"eccentricity": 3.8767699152231216e-05,
|
||||
"inclination_rad": 0.9776274861774753,
|
||||
"omega0_rad": 0.1789455277652162,
|
||||
"argument_of_perigee_rad": -2.4629566570365555,
|
||||
"mean_anomaly_rad": -2.7956633818013814,
|
||||
"delta_n_rad_s": 3.2879941010091484e-09,
|
||||
"inclination_rate_rad_s": 1.392915163364727e-10,
|
||||
"omega_dot_rad_s": -5.86703009963907e-09,
|
||||
"cuc_rad": 4.423782229423523e-06,
|
||||
"cus_rad": 4.608184099197388e-06,
|
||||
"crc_m": 248.09375,
|
||||
"crs_m": 94.3125,
|
||||
"cic_rad": 1.3224780559539795e-07,
|
||||
"cis_rad": 2.7939677238464355e-08,
|
||||
"clock_bias_s": -0.0006715285708196461,
|
||||
"clock_drift_s_per_s": -2.0889956431346945e-12,
|
||||
"clock_drift_rate_s_per_s2": 0.0,
|
||||
"sisa_index": 107,
|
||||
"health_valid": true,
|
||||
"data_valid": true,
|
||||
"first_received_timestamp": 12598780,
|
||||
"completed_timestamp": 61702780
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -31774791.554786503, "end_sample_timestamp": 12598780, "error_flags": 0, "fec_valid": true, "page_sequence": 0, "polarity_inverted": false, "prn": 21, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1], "receive_sample_timestamp": 4414780, "sync_valid": true, "word_bits": [1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "word_type": 63}
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -35552034.932629086, "end_sample_timestamp": 20782780, "error_flags": 0, "fec_valid": true, "page_sequence": 1, "polarity_inverted": false, "prn": 21, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 1], "receive_sample_timestamp": 12598780, "sync_valid": true, "word_bits": [0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0], "word_type": 1}
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -37406761.28839019, "end_sample_timestamp": 28966780, "error_flags": 0, "fec_valid": true, "page_sequence": 2, "polarity_inverted": false, "prn": 21, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1], "receive_sample_timestamp": 20782780, "sync_valid": true, "word_bits": [0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1], "word_type": 3}
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -37390503.79311398, "end_sample_timestamp": 37150780, "error_flags": 0, "fec_valid": true, "page_sequence": 3, "polarity_inverted": false, "prn": 21, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1], "receive_sample_timestamp": 28966780, "sync_valid": true, "word_bits": [0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "word_type": 5}
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -37742921.30671926, "end_sample_timestamp": 45334780, "error_flags": 0, "fec_valid": true, "page_sequence": 4, "polarity_inverted": false, "prn": 21, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1], "receive_sample_timestamp": 37150780, "sync_valid": true, "word_bits": [0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1], "word_type": 0}
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -36745894.37789178, "end_sample_timestamp": 53518780, "error_flags": 0, "fec_valid": true, "page_sequence": 5, "polarity_inverted": false, "prn": 21, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1], "receive_sample_timestamp": 45334780, "sync_valid": true, "word_bits": [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0], "word_type": 16}
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -37621979.68292135, "end_sample_timestamp": 61702780, "error_flags": 0, "fec_valid": true, "page_sequence": 6, "polarity_inverted": false, "prn": 21, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1], "receive_sample_timestamp": 53518780, "sync_valid": true, "word_bits": [0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0], "word_type": 2}
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -37389928.756721064, "end_sample_timestamp": 69886780, "error_flags": 0, "fec_valid": true, "page_sequence": 7, "polarity_inverted": false, "prn": 21, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1], "receive_sample_timestamp": 61702780, "sync_valid": true, "word_bits": [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0], "word_type": 4}
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -37171491.51545077, "end_sample_timestamp": 78070780, "error_flags": 0, "fec_valid": true, "page_sequence": 8, "polarity_inverted": false, "prn": 21, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1], "receive_sample_timestamp": 69886780, "sync_valid": true, "word_bits": [0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0], "word_type": 6}
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -36449412.9196042, "end_sample_timestamp": 86254780, "error_flags": 0, "fec_valid": true, "page_sequence": 9, "polarity_inverted": false, "prn": 21, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1], "receive_sample_timestamp": 78070780, "sync_valid": true, "word_bits": [0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0], "word_type": 7}
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -37366221.348352455, "end_sample_timestamp": 94438780, "error_flags": 0, "fec_valid": true, "page_sequence": 10, "polarity_inverted": false, "prn": 21, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1], "receive_sample_timestamp": 86254780, "sync_valid": true, "word_bits": [0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0], "word_type": 8}
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -37771438.548462, "end_sample_timestamp": 102622780, "error_flags": 0, "fec_valid": true, "page_sequence": 11, "polarity_inverted": false, "prn": 21, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1], "receive_sample_timestamp": 94438780, "sync_valid": true, "word_bits": [0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1], "word_type": 17}
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -37679861.20349145, "end_sample_timestamp": 110806780, "error_flags": 0, "fec_valid": true, "page_sequence": 12, "polarity_inverted": false, "prn": 21, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1], "receive_sample_timestamp": 102622780, "sync_valid": true, "word_bits": [0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1], "word_type": 19}
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -37625249.3058452, "end_sample_timestamp": 118990780, "error_flags": 0, "fec_valid": true, "page_sequence": 13, "polarity_inverted": false, "prn": 21, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1], "receive_sample_timestamp": 110806780, "sync_valid": true, "word_bits": [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0], "word_type": 16}
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -37544146.925401546, "end_sample_timestamp": 127174780, "error_flags": 0, "fec_valid": true, "page_sequence": 14, "polarity_inverted": false, "prn": 21, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1], "receive_sample_timestamp": 118990780, "sync_valid": true, "word_bits": [0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1], "word_type": 0}
|
||||
@@ -0,0 +1,6 @@
|
||||
{"crc_valid": true, "health_valid": true, "iod_nav": 29, "payload": {"eccentricity": 3.8767699152231216e-05, "eccentricity_raw": 333012, "iod_nav": 29, "mean_anomaly_rad": -2.7956633818013814, "mean_anomaly_raw": -1911018410, "sqrt_a": 5440.612789154053, "sqrt_a_raw": 2852447998, "toe_raw": 9250, "toe_s": 555000.0}, "prn": 21, "raw_bits": [0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0], "receive_sample_timestamp": 12598780, "word_type": 1}
|
||||
{"crc_valid": true, "health_valid": true, "iod_nav": 29, "payload": {"crc_m": 248.09375, "crc_raw": 7939, "crs_m": 94.3125, "crs_raw": 3018, "cuc_rad": 4.423782229423523e-06, "cuc_raw": 2375, "cus_rad": 4.608184099197388e-06, "cus_raw": 2474, "delta_n_rad_s": 3.2879941010091484e-09, "delta_n_raw": 9206, "iod_nav": 29, "omega_dot_rad_s": -5.86703009963907e-09, "omega_dot_raw": -16427, "sisa_index": 107}, "prn": 21, "raw_bits": [0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1], "receive_sample_timestamp": 20782780, "word_type": 3}
|
||||
{"crc_valid": true, "health_valid": true, "iod_nav": null, "payload": {"ai0_raw": 0, "ai0_sfu": 0.0, "ai1_raw": 0, "ai1_sfu_per_degree": 0.0, "ai2_raw": 0, "ai2_sfu_per_degree2": 0.0, "bgd_e1_e5a_raw": 10, "bgd_e1_e5a_s": 2.3283064365386963e-09, "bgd_e1_e5b_raw": 11, "bgd_e1_e5b_s": 2.561137080192566e-09, "disturbance_flags": [false, false, false, false, false], "e1b_data_validity_status": 0, "e1b_health": 0, "e5b_data_validity_status": 0, "e5b_health": 0, "time_of_week_s": 554755, "week_number": 1138}, "prn": 21, "raw_bits": [0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "receive_sample_timestamp": 28966780, "word_type": 5}
|
||||
{"crc_valid": true, "health_valid": true, "iod_nav": 29, "payload": {"argument_of_perigee_rad": -2.4629566570365555, "argument_of_perigee_raw": -1683591646, "inclination_rad": 0.9776274861774753, "inclination_rate_rad_s": 1.392915163364727e-10, "inclination_rate_raw": 390, "inclination_raw": 668272202, "iod_nav": 29, "omega0_rad": 0.1789455277652162, "omega0_raw": 122320949}, "prn": 21, "raw_bits": [0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0], "receive_sample_timestamp": 53518780, "word_type": 2}
|
||||
{"crc_valid": true, "health_valid": true, "iod_nav": 29, "payload": {"cic_rad": 1.3224780559539795e-07, "cic_raw": 71, "cis_rad": 2.7939677238464355e-08, "cis_raw": 15, "clock_bias_raw": -11536773, "clock_bias_s": -0.0006715285708196461, "clock_drift_rate_raw": 0, "clock_drift_rate_s_per_s2": 0.0, "clock_drift_raw": -147, "clock_drift_s_per_s": -2.0889956431346945e-12, "iod_nav": 29, "svid": 21, "toc_raw": 9250, "toc_s": 555000.0}, "prn": 21, "raw_bits": [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0], "receive_sample_timestamp": 61702780, "word_type": 4}
|
||||
{"crc_valid": true, "health_valid": true, "iod_nav": null, "payload": {"a0_raw": 2, "a0_s": 1.862645149230957e-09, "a1_raw": -1, "a1_s_per_s": -8.881784197001252e-16, "delta_tls_s": 18, "future_delta_tls_s": 18, "leap_day": 0, "leap_week_mod256": 114, "reference_time_s": 453600, "reference_week_mod256": 114, "time_of_week_s": 554765}, "prn": 21, "raw_bits": [0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0], "receive_sample_timestamp": 69886780, "word_type": 6}
|
||||
|
After Width: | Height: | Size: 633 KiB |
@@ -0,0 +1,156 @@
|
||||
{
|
||||
"prn": 27,
|
||||
"tracking_architecture": "e1b_only",
|
||||
"acquisition_component": "E1B",
|
||||
"acquisition_detected": true,
|
||||
"acquisition_time_s": 0.07637914700171677,
|
||||
"raw_doppler_hz": -2750.0,
|
||||
"expected_doppler_hz": -2637.0,
|
||||
"start_sample_timestamp": 88014,
|
||||
"tracking_epoch_count": 16088,
|
||||
"tracking_time_s": 14.562362108001253,
|
||||
"tracking_final_state": "PLL_TRACK",
|
||||
"tracking_reacquisition_requests": 0,
|
||||
"tracking_lock_timestamp": 374454,
|
||||
"prompt_epoch_count": 8044,
|
||||
"valid_prompt_epoch_count": 8044,
|
||||
"invalid_prompt_epoch_count": 0,
|
||||
"cycle_slips": 0,
|
||||
"sample_discontinuities": 0,
|
||||
"raw_navigation_symbol_count": 8044,
|
||||
"first_synchronized_symbol_timestamp": 4458270,
|
||||
"first_page_sync_timestamp": 4458270,
|
||||
"first_crc_valid_page_timestamp": 4458270,
|
||||
"page_parts": 31,
|
||||
"pages": 15,
|
||||
"crc_passes": 15,
|
||||
"crc_failures": 0,
|
||||
"fec_failures": 0,
|
||||
"received_word_types": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4,
|
||||
5,
|
||||
6
|
||||
],
|
||||
"missing_ephemeris_word_types": [],
|
||||
"complete_ephemeris": true,
|
||||
"ephemeris_iod_nav": 29,
|
||||
"first_complete_ephemeris_timestamp": 61746270,
|
||||
"clock_parameters": true,
|
||||
"health_valid": true,
|
||||
"data_valid": true,
|
||||
"decoding_time_s": 1.2438860419933917,
|
||||
"secondary_code_sync": null,
|
||||
"lock_analysis": {
|
||||
"prn": 27,
|
||||
"epochs": 16088,
|
||||
"integration_ms": 2.0,
|
||||
"start_sample_timestamp": 88014,
|
||||
"end_sample_timestamp": 131752206,
|
||||
"raw_carrier_lock_pass_epochs": 16067,
|
||||
"raw_code_lock_pass_epochs": 15658,
|
||||
"raw_combined_lock_pass_epochs": 15639,
|
||||
"raw_combined_lock_fail_epochs": 449,
|
||||
"false_transition_count": 112,
|
||||
"legacy_code_lock_falling_edges": 109,
|
||||
"boc_aware_code_lock_falling_edges": 0,
|
||||
"boc_aware_metric_valid_epochs": 16064,
|
||||
"boc_aware_code_lock_pass_epochs": 16062,
|
||||
"boc_aware_combined_lock_pass_epochs": 16054,
|
||||
"boc_aware_longest_code_lock_s": 32.124,
|
||||
"boc_side_peak_suspected_epochs": 0,
|
||||
"carrier_metric_caused_transitions": 4,
|
||||
"code_metric_caused_transitions": 109,
|
||||
"symbol_transition_coincident_false_transitions": 31,
|
||||
"cycle_slips": 0,
|
||||
"sample_discontinuities": 0,
|
||||
"cn0_unavailable_false_transitions": 1,
|
||||
"false_run_count": 112,
|
||||
"single_epoch_false_runs": 45,
|
||||
"maximum_false_run_epochs": 34,
|
||||
"maximum_false_run_ms": 68.0,
|
||||
"maximum_continuous_raw_lock_epochs": 1164,
|
||||
"maximum_continuous_raw_lock_s": 2.328,
|
||||
"carrier_metric_percentiles": {
|
||||
"1": 0.9315747767603281,
|
||||
"5": 0.9885008456059692,
|
||||
"50": 0.9988940971806233,
|
||||
"95": 0.9999901309240785,
|
||||
"99": 0.9999995888240764
|
||||
},
|
||||
"code_metric_percentiles": {
|
||||
"1": 0.09879609703984188,
|
||||
"5": 9.080471485434053,
|
||||
"50": 14.302504297122677,
|
||||
"95": 20.85778840476877,
|
||||
"99": 25.01093086797165
|
||||
},
|
||||
"boc_main_peak_fraction_percentiles": {
|
||||
"1": 0.8565120438959688,
|
||||
"5": 0.875453126003631,
|
||||
"50": 0.8899896460430916,
|
||||
"95": 0.8997115953950414,
|
||||
"99": 0.9035034846077066
|
||||
},
|
||||
"boc_side_peak_metric_percentiles": {
|
||||
"1": 0.05524704793200052,
|
||||
"5": 0.057713152725854415,
|
||||
"50": 0.06518329408369328,
|
||||
"95": 0.08690914597098019,
|
||||
"99": 0.1314848377470475
|
||||
},
|
||||
"boc_main_peak_coherence_percentiles": {
|
||||
"1": 0.7157764010353866,
|
||||
"5": 0.8866123305319763,
|
||||
"50": 0.966762814273809,
|
||||
"95": 0.9796520676102011,
|
||||
"99": 0.9832116126401708
|
||||
},
|
||||
"legacy_code_metric_failure_behavior": {
|
||||
"epochs": 344,
|
||||
"dll_error_rms_chips": 0.08580174731724177,
|
||||
"dll_error_p99_abs_chips": 0.11904739019023991,
|
||||
"code_phase_residual_rms_chips": 20.756058971087125,
|
||||
"code_phase_residual_p99_abs_chips": 26.772812207727803,
|
||||
"prompt_power_median": 116680356.99560717,
|
||||
"early_power_median": 478044790.6615449,
|
||||
"late_power_median": 1323037640.8633256,
|
||||
"very_early_power_median": 21059764.41682536,
|
||||
"very_late_power_median": 301495191.6249375,
|
||||
"boc_main_peak_fraction_min": 0.8520196594098788,
|
||||
"boc_side_peak_metric_max": 0.1598536311317901,
|
||||
"boc_main_peak_coherence_min": 0.5220145133276418
|
||||
},
|
||||
"legacy_code_metric_pass_behavior": {
|
||||
"epochs": 15495,
|
||||
"dll_error_rms_chips": 0.057575532524275004,
|
||||
"dll_error_p99_abs_chips": 0.1638616542926032,
|
||||
"code_phase_residual_rms_chips": 15.543010751491565,
|
||||
"code_phase_residual_p99_abs_chips": 27.027411115714,
|
||||
"prompt_power_median": 1553941487.134823,
|
||||
"early_power_median": 103487220.28957783,
|
||||
"late_power_median": 103902035.7428725,
|
||||
"very_early_power_median": 102551866.10199845,
|
||||
"very_late_power_median": 102470250.29049863,
|
||||
"boc_main_peak_fraction_min": 0.8478458386727497,
|
||||
"boc_side_peak_metric_max": 0.16693609746582583,
|
||||
"boc_main_peak_coherence_min": 0.4883110563425638
|
||||
},
|
||||
"post_pull_in": {
|
||||
"pll_error_rms_rad": 0.07824456217725519,
|
||||
"pll_error_p99_abs_rad": 0.22038819465856418,
|
||||
"dll_error_rms_chips": 0.05833383960144811,
|
||||
"dll_error_p99_abs_chips": 0.16333137649902485,
|
||||
"carrier_frequency_min_hz": 1020354.2779776619,
|
||||
"carrier_frequency_max_hz": 1020370.8600749114,
|
||||
"carrier_frequency_last_minus_first_hz": -2.6808873339323327,
|
||||
"code_frequency_min_hz": 1022997.5945833776,
|
||||
"code_frequency_max_hz": 1022998.9341637382,
|
||||
"code_frequency_last_minus_first_hz": -0.19883055984973907,
|
||||
"cn0_median_db_hz": 46.09243167825323,
|
||||
"cn0_min_db_hz": 32.709523323495624
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"prn": 27,
|
||||
"iod_nav": 29,
|
||||
"toe_s": 555000.0,
|
||||
"toc_s": 555000.0,
|
||||
"sqrt_a": 5440.6105098724365,
|
||||
"eccentricity": 0.00015918409917503595,
|
||||
"inclination_rad": 0.9775995078692093,
|
||||
"omega0_rad": 0.17894288427224694,
|
||||
"argument_of_perigee_rad": -1.0541993804356522,
|
||||
"mean_anomaly_rad": 2.8707087693201396,
|
||||
"delta_n_rad_s": 3.316566719744835e-09,
|
||||
"inclination_rate_rad_s": 2.282237921512976e-10,
|
||||
"omega_dot_rad_s": -5.8148850704464415e-09,
|
||||
"cuc_rad": 4.628673195838928e-06,
|
||||
"cus_rad": 4.498288035392761e-06,
|
||||
"crc_m": 251.0,
|
||||
"crs_m": 97.59375,
|
||||
"cic_rad": -5.029141902923584e-08,
|
||||
"cis_rad": 1.2293457984924316e-07,
|
||||
"clock_bias_s": -5.756091559305787e-05,
|
||||
"clock_drift_s_per_s": -8.256506589532364e-12,
|
||||
"clock_drift_rate_s_per_s2": 0.0,
|
||||
"sisa_index": 107,
|
||||
"health_valid": true,
|
||||
"data_valid": true,
|
||||
"first_received_timestamp": 12642270,
|
||||
"completed_timestamp": 61746270
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -34428503.89428906, "end_sample_timestamp": 12642270, "error_flags": 0, "fec_valid": true, "page_sequence": 0, "polarity_inverted": true, "prn": 27, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1], "receive_sample_timestamp": 4458270, "sync_valid": true, "word_bits": [1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "word_type": 63}
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -36075280.43897449, "end_sample_timestamp": 20826270, "error_flags": 0, "fec_valid": true, "page_sequence": 1, "polarity_inverted": true, "prn": 27, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1], "receive_sample_timestamp": 12642270, "sync_valid": true, "word_bits": [0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0], "word_type": 1}
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -36844147.456490785, "end_sample_timestamp": 29010270, "error_flags": 0, "fec_valid": true, "page_sequence": 2, "polarity_inverted": true, "prn": 27, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 1, 1], "receive_sample_timestamp": 20826270, "sync_valid": true, "word_bits": [0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1], "word_type": 3}
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -37622592.753190145, "end_sample_timestamp": 37194270, "error_flags": 0, "fec_valid": true, "page_sequence": 3, "polarity_inverted": true, "prn": 27, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1], "receive_sample_timestamp": 29010270, "sync_valid": true, "word_bits": [0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "word_type": 5}
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -37726140.381278366, "end_sample_timestamp": 45378270, "error_flags": 0, "fec_valid": true, "page_sequence": 4, "polarity_inverted": true, "prn": 27, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1], "receive_sample_timestamp": 37194270, "sync_valid": true, "word_bits": [0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1], "word_type": 0}
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -37556708.00923011, "end_sample_timestamp": 53562270, "error_flags": 0, "fec_valid": true, "page_sequence": 5, "polarity_inverted": true, "prn": 27, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1], "receive_sample_timestamp": 45378270, "sync_valid": true, "word_bits": [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0], "word_type": 16}
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -37497983.06468448, "end_sample_timestamp": 61746270, "error_flags": 0, "fec_valid": true, "page_sequence": 6, "polarity_inverted": true, "prn": 27, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1], "receive_sample_timestamp": 53562270, "sync_valid": true, "word_bits": [0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0], "word_type": 2}
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -37651522.04398209, "end_sample_timestamp": 69930270, "error_flags": 0, "fec_valid": true, "page_sequence": 7, "polarity_inverted": true, "prn": 27, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1], "receive_sample_timestamp": 61746270, "sync_valid": true, "word_bits": [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0], "word_type": 4}
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -37160244.39852003, "end_sample_timestamp": 78114270, "error_flags": 0, "fec_valid": true, "page_sequence": 8, "polarity_inverted": true, "prn": 27, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1], "receive_sample_timestamp": 69930270, "sync_valid": true, "word_bits": [0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0], "word_type": 6}
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -37279585.36709596, "end_sample_timestamp": 86298270, "error_flags": 0, "fec_valid": true, "page_sequence": 9, "polarity_inverted": true, "prn": 27, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1], "receive_sample_timestamp": 78114270, "sync_valid": true, "word_bits": [0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0], "word_type": 7}
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -36969263.602846794, "end_sample_timestamp": 94482270, "error_flags": 0, "fec_valid": true, "page_sequence": 10, "polarity_inverted": true, "prn": 27, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1], "receive_sample_timestamp": 86298270, "sync_valid": true, "word_bits": [0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0], "word_type": 8}
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -37372093.25419253, "end_sample_timestamp": 102666270, "error_flags": 0, "fec_valid": true, "page_sequence": 11, "polarity_inverted": true, "prn": 27, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1], "receive_sample_timestamp": 94482270, "sync_valid": true, "word_bits": [0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 0, 1], "word_type": 17}
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -37256582.12557742, "end_sample_timestamp": 110850270, "error_flags": 0, "fec_valid": true, "page_sequence": 12, "polarity_inverted": true, "prn": 27, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1], "receive_sample_timestamp": 102666270, "sync_valid": true, "word_bits": [0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0], "word_type": 19}
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -37464088.224176735, "end_sample_timestamp": 119034270, "error_flags": 0, "fec_valid": true, "page_sequence": 13, "polarity_inverted": true, "prn": 27, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1], "receive_sample_timestamp": 110850270, "sync_valid": true, "word_bits": [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0], "word_type": 16}
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -37485285.829763494, "end_sample_timestamp": 127218270, "error_flags": 0, "fec_valid": true, "page_sequence": 14, "polarity_inverted": true, "prn": 27, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1], "receive_sample_timestamp": 119034270, "sync_valid": true, "word_bits": [0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1], "word_type": 0}
|
||||
@@ -0,0 +1,6 @@
|
||||
{"crc_valid": true, "health_valid": true, "iod_nav": 29, "payload": {"eccentricity": 0.00015918409917503595, "eccentricity_raw": 1367381, "iod_nav": 29, "mean_anomaly_rad": 2.8707087693201396, "mean_anomaly_raw": 1962316831, "sqrt_a": 5440.6105098724365, "sqrt_a_raw": 2852446803, "toe_raw": 9250, "toe_s": 555000.0}, "prn": 27, "raw_bits": [0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0], "receive_sample_timestamp": 12642270, "word_type": 1}
|
||||
{"crc_valid": true, "health_valid": true, "iod_nav": 29, "payload": {"crc_m": 251.0, "crc_raw": 8032, "crs_m": 97.59375, "crs_raw": 3123, "cuc_rad": 4.628673195838928e-06, "cuc_raw": 2485, "cus_rad": 4.498288035392761e-06, "cus_raw": 2415, "delta_n_rad_s": 3.316566719744835e-09, "delta_n_raw": 9286, "iod_nav": 29, "omega_dot_rad_s": -5.8148850704464415e-09, "omega_dot_raw": -16281, "sisa_index": 107}, "prn": 27, "raw_bits": [0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1], "receive_sample_timestamp": 20826270, "word_type": 3}
|
||||
{"crc_valid": true, "health_valid": true, "iod_nav": null, "payload": {"ai0_raw": 0, "ai0_sfu": 0.0, "ai1_raw": 0, "ai1_sfu_per_degree": 0.0, "ai2_raw": 0, "ai2_sfu_per_degree2": 0.0, "bgd_e1_e5a_raw": 9, "bgd_e1_e5a_s": 2.0954757928848267e-09, "bgd_e1_e5b_raw": 10, "bgd_e1_e5b_s": 2.3283064365386963e-09, "disturbance_flags": [false, false, false, false, false], "e1b_data_validity_status": 0, "e1b_health": 0, "e5b_data_validity_status": 0, "e5b_health": 0, "time_of_week_s": 554755, "week_number": 1138}, "prn": 27, "raw_bits": [0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "receive_sample_timestamp": 29010270, "word_type": 5}
|
||||
{"crc_valid": true, "health_valid": true, "iod_nav": 29, "payload": {"argument_of_perigee_rad": -1.0541993804356522, "argument_of_perigee_raw": -720614090, "inclination_rad": 0.9775995078692093, "inclination_rate_rad_s": 2.282237921512976e-10, "inclination_rate_raw": 639, "inclination_raw": 668253077, "iod_nav": 29, "omega0_rad": 0.17894288427224694, "omega0_raw": 122319142}, "prn": 27, "raw_bits": [0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0], "receive_sample_timestamp": 53562270, "word_type": 2}
|
||||
{"crc_valid": true, "health_valid": true, "iod_nav": 29, "payload": {"cic_rad": -5.029141902923584e-08, "cic_raw": -27, "cis_rad": 1.2293457984924316e-07, "cis_raw": 66, "clock_bias_raw": -988889, "clock_bias_s": -5.756091559305787e-05, "clock_drift_rate_raw": 0, "clock_drift_rate_s_per_s2": 0.0, "clock_drift_raw": -581, "clock_drift_s_per_s": -8.256506589532364e-12, "iod_nav": 29, "svid": 27, "toc_raw": 9250, "toc_s": 555000.0}, "prn": 27, "raw_bits": [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0], "receive_sample_timestamp": 61746270, "word_type": 4}
|
||||
{"crc_valid": true, "health_valid": true, "iod_nav": null, "payload": {"a0_raw": 2, "a0_s": 1.862645149230957e-09, "a1_raw": -1, "a1_s_per_s": -8.881784197001252e-16, "delta_tls_s": 18, "future_delta_tls_s": 18, "leap_day": 0, "leap_week_mod256": 114, "reference_time_s": 453600, "reference_week_mod256": 114, "time_of_week_s": 554765}, "prn": 27, "raw_bits": [0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0], "receive_sample_timestamp": 69930270, "word_type": 6}
|
||||
|
After Width: | Height: | Size: 670 KiB |
@@ -0,0 +1,162 @@
|
||||
{
|
||||
"prn": 1,
|
||||
"tracking_architecture": "e1c_pilot_aided_e1b",
|
||||
"acquisition_component": "E1C",
|
||||
"acquisition_detected": true,
|
||||
"acquisition_time_s": 0.07704714899591636,
|
||||
"raw_doppler_hz": 1750.0,
|
||||
"expected_doppler_hz": 1828.0,
|
||||
"start_sample_timestamp": 90995,
|
||||
"tracking_epoch_count": 16088,
|
||||
"tracking_time_s": 28.164707089999865,
|
||||
"tracking_final_state": "PLL_TRACK",
|
||||
"tracking_reacquisition_requests": 0,
|
||||
"tracking_lock_timestamp": 311963,
|
||||
"prompt_epoch_count": 8044,
|
||||
"valid_prompt_epoch_count": 8044,
|
||||
"invalid_prompt_epoch_count": 0,
|
||||
"cycle_slips": 0,
|
||||
"sample_discontinuities": 0,
|
||||
"raw_navigation_symbol_count": 8044,
|
||||
"first_synchronized_symbol_timestamp": 4428515,
|
||||
"first_page_sync_timestamp": 4428515,
|
||||
"first_crc_valid_page_timestamp": 4428515,
|
||||
"page_parts": 31,
|
||||
"pages": 15,
|
||||
"crc_passes": 15,
|
||||
"crc_failures": 0,
|
||||
"fec_failures": 0,
|
||||
"received_word_types": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4,
|
||||
5,
|
||||
6
|
||||
],
|
||||
"missing_ephemeris_word_types": [],
|
||||
"complete_ephemeris": true,
|
||||
"ephemeris_iod_nav": 29,
|
||||
"first_complete_ephemeris_timestamp": 61716515,
|
||||
"clock_parameters": true,
|
||||
"health_valid": true,
|
||||
"data_valid": true,
|
||||
"decoding_time_s": 1.2859532189977472,
|
||||
"secondary_code_sync": {
|
||||
"phase": 10,
|
||||
"residual_frequency_hz": 59.5,
|
||||
"normalized_correlation": 0.9941599620460754,
|
||||
"compared_periods": 100,
|
||||
"sign_errors": 0
|
||||
},
|
||||
"lock_analysis": {
|
||||
"prn": 1,
|
||||
"epochs": 16088,
|
||||
"integration_ms": 2.0,
|
||||
"start_sample_timestamp": 90995,
|
||||
"end_sample_timestamp": 131755187,
|
||||
"raw_carrier_lock_pass_epochs": 16078,
|
||||
"raw_code_lock_pass_epochs": 15617,
|
||||
"raw_combined_lock_pass_epochs": 15617,
|
||||
"raw_combined_lock_fail_epochs": 471,
|
||||
"false_transition_count": 102,
|
||||
"legacy_code_lock_falling_edges": 102,
|
||||
"boc_aware_code_lock_falling_edges": 0,
|
||||
"boc_aware_metric_valid_epochs": 16064,
|
||||
"boc_aware_code_lock_pass_epochs": 16062,
|
||||
"boc_aware_combined_lock_pass_epochs": 16062,
|
||||
"boc_aware_longest_code_lock_s": 32.124,
|
||||
"boc_side_peak_suspected_epochs": 0,
|
||||
"carrier_metric_caused_transitions": 0,
|
||||
"code_metric_caused_transitions": 102,
|
||||
"symbol_transition_coincident_false_transitions": 0,
|
||||
"cycle_slips": 0,
|
||||
"sample_discontinuities": 0,
|
||||
"cn0_unavailable_false_transitions": 0,
|
||||
"false_run_count": 102,
|
||||
"single_epoch_false_runs": 45,
|
||||
"maximum_false_run_epochs": 49,
|
||||
"maximum_false_run_ms": 98.0,
|
||||
"maximum_continuous_raw_lock_epochs": 632,
|
||||
"maximum_continuous_raw_lock_s": 1.264,
|
||||
"carrier_metric_percentiles": {
|
||||
"1": 0.926123934471329,
|
||||
"5": 0.9887965609469924,
|
||||
"50": 0.9988996165475693,
|
||||
"95": 0.9999914964295384,
|
||||
"99": 0.9999996897371967
|
||||
},
|
||||
"code_metric_percentiles": {
|
||||
"1": 0.09265723002677347,
|
||||
"5": 9.240924942018399,
|
||||
"50": 14.358082125149325,
|
||||
"95": 20.787106913901518,
|
||||
"99": 24.857166929725683
|
||||
},
|
||||
"boc_main_peak_fraction_percentiles": {
|
||||
"1": 0.8475615556941004,
|
||||
"5": 0.8752438026290285,
|
||||
"50": 0.8897649686117325,
|
||||
"95": 0.899335220269324,
|
||||
"99": 0.9027108176195193
|
||||
},
|
||||
"boc_side_peak_metric_percentiles": {
|
||||
"1": 0.055600833755340986,
|
||||
"5": 0.05813312240679952,
|
||||
"50": 0.06516955958934093,
|
||||
"95": 0.08724568096229031,
|
||||
"99": 0.15809803712879886
|
||||
},
|
||||
"boc_main_peak_coherence_percentiles": {
|
||||
"1": 0.5909426356047754,
|
||||
"5": 0.8795912735269322,
|
||||
"50": 0.9687487070428722,
|
||||
"95": 0.9810030499701589,
|
||||
"99": 0.9846774791776529
|
||||
},
|
||||
"legacy_code_metric_failure_behavior": {
|
||||
"epochs": 383,
|
||||
"dll_error_rms_chips": 0.08574237706359694,
|
||||
"dll_error_p99_abs_chips": 0.1203286532395151,
|
||||
"code_phase_residual_rms_chips": 14.049922537033622,
|
||||
"code_phase_residual_p99_abs_chips": 18.527759786491757,
|
||||
"prompt_power_median": 110703392.74175157,
|
||||
"early_power_median": 1367287690.10518,
|
||||
"late_power_median": 486504907.02446777,
|
||||
"very_early_power_median": 294439962.72082204,
|
||||
"very_late_power_median": 28908749.984774385,
|
||||
"boc_main_peak_fraction_min": 0.8290411435832495,
|
||||
"boc_side_peak_metric_max": 0.1881158513724548,
|
||||
"boc_main_peak_coherence_min": 0.3224312067233396
|
||||
},
|
||||
"legacy_code_metric_pass_behavior": {
|
||||
"epochs": 15456,
|
||||
"dll_error_rms_chips": 0.05564808250796124,
|
||||
"dll_error_p99_abs_chips": 0.1566524337921172,
|
||||
"code_phase_residual_rms_chips": 10.738451874002433,
|
||||
"code_phase_residual_p99_abs_chips": 18.667906550937186,
|
||||
"prompt_power_median": 1558915633.5385687,
|
||||
"early_power_median": 103260909.49179389,
|
||||
"late_power_median": 102910301.02848622,
|
||||
"very_early_power_median": 103411517.73663911,
|
||||
"very_late_power_median": 103558607.31775787,
|
||||
"boc_main_peak_fraction_min": 0.8293685997191675,
|
||||
"boc_side_peak_metric_max": 0.19289641323661258,
|
||||
"boc_main_peak_coherence_min": 0.34335711247300654
|
||||
},
|
||||
"post_pull_in": {
|
||||
"pll_error_rms_rad": 0.07859984972937414,
|
||||
"pll_error_p99_abs_rad": 0.240824657200552,
|
||||
"dll_error_rms_chips": 0.056565003221219566,
|
||||
"dll_error_p99_abs_chips": 0.1551231594917256,
|
||||
"carrier_frequency_min_hz": 1024814.8951608158,
|
||||
"carrier_frequency_max_hz": 1024835.3125753923,
|
||||
"carrier_frequency_last_minus_first_hz": -10.013514776015654,
|
||||
"code_frequency_min_hz": 1023000.5447241135,
|
||||
"code_frequency_max_hz": 1023001.8192012197,
|
||||
"code_frequency_last_minus_first_hz": -0.18815856706351042,
|
||||
"cn0_median_db_hz": 46.94012968974618,
|
||||
"cn0_min_db_hz": 30.850429544319983
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"prn": 1,
|
||||
"iod_nav": 29,
|
||||
"toe_s": 555000.0,
|
||||
"toc_s": 555000.0,
|
||||
"sqrt_a": 5440.600309371948,
|
||||
"eccentricity": 7.992994505912066e-05,
|
||||
"inclination_rad": 0.9780546728858021,
|
||||
"omega0_rad": 0.1817990533460104,
|
||||
"argument_of_perigee_rad": -1.4927534274463103,
|
||||
"mean_anomaly_rad": 1.763453196161098,
|
||||
"delta_n_rad_s": 3.2858511546039716e-09,
|
||||
"inclination_rate_rad_s": 9.928985010651132e-11,
|
||||
"omega_dot_rad_s": -5.809527704433501e-09,
|
||||
"cuc_rad": 4.2263418436050415e-06,
|
||||
"cus_rad": 4.390254616737366e-06,
|
||||
"crc_m": 256.15625,
|
||||
"crs_m": 91.1875,
|
||||
"cic_rad": 1.4901161193847656e-08,
|
||||
"cis_rad": -5.774199962615967e-08,
|
||||
"clock_bias_s": -0.001132463337853551,
|
||||
"clock_drift_s_per_s": -7.972289495228324e-12,
|
||||
"clock_drift_rate_s_per_s2": 0.0,
|
||||
"sisa_index": 107,
|
||||
"health_valid": true,
|
||||
"data_valid": true,
|
||||
"first_received_timestamp": 12612515,
|
||||
"completed_timestamp": 61716515
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -33919619.20704411, "end_sample_timestamp": 12612515, "error_flags": 0, "fec_valid": true, "page_sequence": 0, "polarity_inverted": false, "prn": 1, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1], "receive_sample_timestamp": 4428515, "sync_valid": true, "word_bits": [1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "word_type": 63}
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -36790267.9102207, "end_sample_timestamp": 20796515, "error_flags": 0, "fec_valid": true, "page_sequence": 1, "polarity_inverted": false, "prn": 1, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1], "receive_sample_timestamp": 12612515, "sync_valid": true, "word_bits": [0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0], "word_type": 1}
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -37052772.446551785, "end_sample_timestamp": 28980515, "error_flags": 0, "fec_valid": true, "page_sequence": 2, "polarity_inverted": false, "prn": 1, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1], "receive_sample_timestamp": 20796515, "sync_valid": true, "word_bits": [0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1], "word_type": 3}
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -37536019.05381694, "end_sample_timestamp": 37164515, "error_flags": 0, "fec_valid": true, "page_sequence": 3, "polarity_inverted": false, "prn": 1, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1], "receive_sample_timestamp": 28980515, "sync_valid": true, "word_bits": [0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "word_type": 5}
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -37210875.78073935, "end_sample_timestamp": 45348515, "error_flags": 0, "fec_valid": true, "page_sequence": 4, "polarity_inverted": false, "prn": 1, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1], "receive_sample_timestamp": 37164515, "sync_valid": true, "word_bits": [0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1], "word_type": 0}
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -37431209.41147949, "end_sample_timestamp": 53532515, "error_flags": 0, "fec_valid": true, "page_sequence": 5, "polarity_inverted": false, "prn": 1, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1], "receive_sample_timestamp": 45348515, "sync_valid": true, "word_bits": [0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], "word_type": 16}
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -37510113.967207536, "end_sample_timestamp": 61716515, "error_flags": 0, "fec_valid": true, "page_sequence": 6, "polarity_inverted": false, "prn": 1, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1], "receive_sample_timestamp": 53532515, "sync_valid": true, "word_bits": [0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0], "word_type": 2}
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -37539694.90097387, "end_sample_timestamp": 69900515, "error_flags": 0, "fec_valid": true, "page_sequence": 7, "polarity_inverted": false, "prn": 1, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1], "receive_sample_timestamp": 61716515, "sync_valid": true, "word_bits": [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0], "word_type": 4}
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -37539329.75040752, "end_sample_timestamp": 78084515, "error_flags": 0, "fec_valid": true, "page_sequence": 8, "polarity_inverted": false, "prn": 1, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1], "receive_sample_timestamp": 69900515, "sync_valid": true, "word_bits": [0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0], "word_type": 6}
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -37525307.10588679, "end_sample_timestamp": 86268515, "error_flags": 0, "fec_valid": true, "page_sequence": 9, "polarity_inverted": false, "prn": 1, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1], "receive_sample_timestamp": 78084515, "sync_valid": true, "word_bits": [0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0], "word_type": 7}
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -37507120.0265536, "end_sample_timestamp": 94452515, "error_flags": 0, "fec_valid": true, "page_sequence": 10, "polarity_inverted": false, "prn": 1, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1], "receive_sample_timestamp": 86268515, "sync_valid": true, "word_bits": [0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0], "word_type": 8}
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -37557964.53813797, "end_sample_timestamp": 102636515, "error_flags": 0, "fec_valid": true, "page_sequence": 11, "polarity_inverted": false, "prn": 1, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1], "receive_sample_timestamp": 94452515, "sync_valid": true, "word_bits": [0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0], "word_type": 17}
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -37591745.70331926, "end_sample_timestamp": 110820515, "error_flags": 0, "fec_valid": true, "page_sequence": 12, "polarity_inverted": false, "prn": 1, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 1], "receive_sample_timestamp": 102636515, "sync_valid": true, "word_bits": [0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0], "word_type": 19}
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -37573501.41062001, "end_sample_timestamp": 119004515, "error_flags": 0, "fec_valid": true, "page_sequence": 13, "polarity_inverted": false, "prn": 1, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1], "receive_sample_timestamp": 110820515, "sync_valid": true, "word_bits": [0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], "word_type": 16}
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -37497615.82310637, "end_sample_timestamp": 127188515, "error_flags": 0, "fec_valid": true, "page_sequence": 14, "polarity_inverted": false, "prn": 1, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1], "receive_sample_timestamp": 119004515, "sync_valid": true, "word_bits": [0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1], "word_type": 0}
|
||||
@@ -0,0 +1,6 @@
|
||||
{"crc_valid": true, "health_valid": true, "iod_nav": 29, "payload": {"eccentricity": 7.992994505912066e-05, "eccentricity_raw": 686593, "iod_nav": 29, "mean_anomaly_rad": 1.763453196161098, "mean_anomaly_raw": 1205435370, "sqrt_a": 5440.600309371948, "sqrt_a_raw": 2852441455, "toe_raw": 9250, "toe_s": 555000.0}, "prn": 1, "raw_bits": [0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0], "receive_sample_timestamp": 12612515, "word_type": 1}
|
||||
{"crc_valid": true, "health_valid": true, "iod_nav": 29, "payload": {"crc_m": 256.15625, "crc_raw": 8197, "crs_m": 91.1875, "crs_raw": 2918, "cuc_rad": 4.2263418436050415e-06, "cuc_raw": 2269, "cus_rad": 4.390254616737366e-06, "cus_raw": 2357, "delta_n_rad_s": 3.2858511546039716e-09, "delta_n_raw": 9200, "iod_nav": 29, "omega_dot_rad_s": -5.809527704433501e-09, "omega_dot_raw": -16266, "sisa_index": 107}, "prn": 1, "raw_bits": [0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1], "receive_sample_timestamp": 20796515, "word_type": 3}
|
||||
{"crc_valid": true, "health_valid": true, "iod_nav": null, "payload": {"ai0_raw": 0, "ai0_sfu": 0.0, "ai1_raw": 0, "ai1_sfu_per_degree": 0.0, "ai2_raw": 0, "ai2_sfu_per_degree2": 0.0, "bgd_e1_e5a_raw": 2, "bgd_e1_e5a_s": 4.656612873077393e-10, "bgd_e1_e5b_raw": 2, "bgd_e1_e5b_s": 4.656612873077393e-10, "disturbance_flags": [false, false, false, false, false], "e1b_data_validity_status": 0, "e1b_health": 0, "e5b_data_validity_status": 0, "e5b_health": 0, "time_of_week_s": 554755, "week_number": 1138}, "prn": 1, "raw_bits": [0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "receive_sample_timestamp": 28980515, "word_type": 5}
|
||||
{"crc_valid": true, "health_valid": true, "iod_nav": 29, "payload": {"argument_of_perigee_rad": -1.4927534274463103, "argument_of_perigee_raw": -1020394408, "inclination_rad": 0.9780546728858021, "inclination_rate_rad_s": 9.928985010651132e-11, "inclination_rate_raw": 278, "inclination_raw": 668564212, "iod_nav": 29, "omega0_rad": 0.1817990533460104, "omega0_raw": 124271520}, "prn": 1, "raw_bits": [0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0], "receive_sample_timestamp": 53532515, "word_type": 2}
|
||||
{"crc_valid": true, "health_valid": true, "iod_nav": 29, "payload": {"cic_rad": 1.4901161193847656e-08, "cic_raw": 8, "cis_rad": -5.774199962615967e-08, "cis_raw": -31, "clock_bias_raw": -19455572, "clock_bias_s": -0.001132463337853551, "clock_drift_rate_raw": 0, "clock_drift_rate_s_per_s2": 0.0, "clock_drift_raw": -561, "clock_drift_s_per_s": -7.972289495228324e-12, "iod_nav": 29, "svid": 1, "toc_raw": 9250, "toc_s": 555000.0}, "prn": 1, "raw_bits": [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0], "receive_sample_timestamp": 61716515, "word_type": 4}
|
||||
{"crc_valid": true, "health_valid": true, "iod_nav": null, "payload": {"a0_raw": 2, "a0_s": 1.862645149230957e-09, "a1_raw": -1, "a1_s_per_s": -8.881784197001252e-16, "delta_tls_s": 18, "future_delta_tls_s": 18, "leap_day": 0, "leap_week_mod256": 114, "reference_time_s": 453600, "reference_week_mod256": 114, "time_of_week_s": 554765}, "prn": 1, "raw_bits": [0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0], "receive_sample_timestamp": 69900515, "word_type": 6}
|
||||
|
After Width: | Height: | Size: 586 KiB |
@@ -0,0 +1,162 @@
|
||||
{
|
||||
"prn": 4,
|
||||
"tracking_architecture": "e1c_pilot_aided_e1b",
|
||||
"acquisition_component": "E1C",
|
||||
"acquisition_detected": true,
|
||||
"acquisition_time_s": 0.0783599209971726,
|
||||
"raw_doppler_hz": 2250.0,
|
||||
"expected_doppler_hz": 2171.0,
|
||||
"start_sample_timestamp": 86819,
|
||||
"tracking_epoch_count": 16088,
|
||||
"tracking_time_s": 28.813704886000778,
|
||||
"tracking_final_state": "PLL_TRACK",
|
||||
"tracking_reacquisition_requests": 0,
|
||||
"tracking_lock_timestamp": 324155,
|
||||
"prompt_epoch_count": 8044,
|
||||
"valid_prompt_epoch_count": 8044,
|
||||
"invalid_prompt_epoch_count": 0,
|
||||
"cycle_slips": 0,
|
||||
"sample_discontinuities": 0,
|
||||
"raw_navigation_symbol_count": 8044,
|
||||
"first_synchronized_symbol_timestamp": 4440707,
|
||||
"first_page_sync_timestamp": 4440707,
|
||||
"first_crc_valid_page_timestamp": 4440707,
|
||||
"page_parts": 31,
|
||||
"pages": 15,
|
||||
"crc_passes": 15,
|
||||
"crc_failures": 0,
|
||||
"fec_failures": 0,
|
||||
"received_word_types": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4,
|
||||
5,
|
||||
6
|
||||
],
|
||||
"missing_ephemeris_word_types": [],
|
||||
"complete_ephemeris": true,
|
||||
"ephemeris_iod_nav": 30,
|
||||
"first_complete_ephemeris_timestamp": 61728707,
|
||||
"clock_parameters": true,
|
||||
"health_valid": true,
|
||||
"data_valid": true,
|
||||
"decoding_time_s": 1.2606132280052407,
|
||||
"secondary_code_sync": {
|
||||
"phase": 9,
|
||||
"residual_frequency_hz": -62.5,
|
||||
"normalized_correlation": 0.9860075818874949,
|
||||
"compared_periods": 100,
|
||||
"sign_errors": 0
|
||||
},
|
||||
"lock_analysis": {
|
||||
"prn": 4,
|
||||
"epochs": 16088,
|
||||
"integration_ms": 2.0,
|
||||
"start_sample_timestamp": 86819,
|
||||
"end_sample_timestamp": 131751011,
|
||||
"raw_carrier_lock_pass_epochs": 15999,
|
||||
"raw_code_lock_pass_epochs": 15416,
|
||||
"raw_combined_lock_pass_epochs": 15400,
|
||||
"raw_combined_lock_fail_epochs": 688,
|
||||
"false_transition_count": 110,
|
||||
"legacy_code_lock_falling_edges": 110,
|
||||
"boc_aware_code_lock_falling_edges": 0,
|
||||
"boc_aware_metric_valid_epochs": 16064,
|
||||
"boc_aware_code_lock_pass_epochs": 16062,
|
||||
"boc_aware_combined_lock_pass_epochs": 16060,
|
||||
"boc_aware_longest_code_lock_s": 32.124,
|
||||
"boc_side_peak_suspected_epochs": 0,
|
||||
"carrier_metric_caused_transitions": 2,
|
||||
"code_metric_caused_transitions": 108,
|
||||
"symbol_transition_coincident_false_transitions": 0,
|
||||
"cycle_slips": 0,
|
||||
"sample_discontinuities": 0,
|
||||
"cn0_unavailable_false_transitions": 1,
|
||||
"false_run_count": 111,
|
||||
"single_epoch_false_runs": 44,
|
||||
"maximum_false_run_epochs": 83,
|
||||
"maximum_false_run_ms": 166.0,
|
||||
"maximum_continuous_raw_lock_epochs": 1332,
|
||||
"maximum_continuous_raw_lock_s": 2.664,
|
||||
"carrier_metric_percentiles": {
|
||||
"1": 0.7792907543694391,
|
||||
"5": 0.986886910203348,
|
||||
"50": 0.9988692376063891,
|
||||
"95": 0.9999904419181908,
|
||||
"99": 0.9999995892743159
|
||||
},
|
||||
"code_metric_percentiles": {
|
||||
"1": 0.07231780273965693,
|
||||
"5": 4.680507563993592,
|
||||
"50": 14.135902184076237,
|
||||
"95": 20.836601051980484,
|
||||
"99": 24.70518847538168
|
||||
},
|
||||
"boc_main_peak_fraction_percentiles": {
|
||||
"1": 0.8383947757378236,
|
||||
"5": 0.8717822698761091,
|
||||
"50": 0.888551897894365,
|
||||
"95": 0.8981109549819073,
|
||||
"99": 0.9024539160758924
|
||||
},
|
||||
"boc_side_peak_metric_percentiles": {
|
||||
"1": 0.05606138409551904,
|
||||
"5": 0.058899453610220434,
|
||||
"50": 0.06631402357636437,
|
||||
"95": 0.09431335702543445,
|
||||
"99": 0.182588937217342
|
||||
},
|
||||
"boc_main_peak_coherence_percentiles": {
|
||||
"1": 0.3941670522754639,
|
||||
"5": 0.8633412765595349,
|
||||
"50": 0.9665765778788711,
|
||||
"95": 0.9798465018068564,
|
||||
"99": 0.9838025458145414
|
||||
},
|
||||
"legacy_code_metric_failure_behavior": {
|
||||
"epochs": 495,
|
||||
"dll_error_rms_chips": 0.08511890392660415,
|
||||
"dll_error_p99_abs_chips": 0.11897485396810367,
|
||||
"code_phase_residual_rms_chips": 17.39502421893431,
|
||||
"code_phase_residual_p99_abs_chips": 22.010231444418938,
|
||||
"prompt_power_median": 110387217.19998863,
|
||||
"early_power_median": 1414197765.1115377,
|
||||
"late_power_median": 455470385.12999207,
|
||||
"very_early_power_median": 327808041.9437474,
|
||||
"very_late_power_median": 17217167.445349354,
|
||||
"boc_main_peak_fraction_min": 0.8208748889416547,
|
||||
"boc_side_peak_metric_max": 0.2108131397387269,
|
||||
"boc_main_peak_coherence_min": 0.3186205201893039
|
||||
},
|
||||
"legacy_code_metric_pass_behavior": {
|
||||
"epochs": 15344,
|
||||
"dll_error_rms_chips": 0.05701516121119478,
|
||||
"dll_error_p99_abs_chips": 0.15711356864497972,
|
||||
"code_phase_residual_rms_chips": 12.712359749555613,
|
||||
"code_phase_residual_p99_abs_chips": 22.22504688444559,
|
||||
"prompt_power_median": 1557607909.2091415,
|
||||
"early_power_median": 104464066.41081777,
|
||||
"late_power_median": 103832797.49488433,
|
||||
"very_early_power_median": 104021624.65023576,
|
||||
"very_late_power_median": 104184118.93725646,
|
||||
"boc_main_peak_fraction_min": 0.825903881328457,
|
||||
"boc_side_peak_metric_max": 0.20186498523859175,
|
||||
"boc_main_peak_coherence_min": 0.3410282015915683
|
||||
},
|
||||
"post_pull_in": {
|
||||
"pll_error_rms_rad": 0.08218993802219834,
|
||||
"pll_error_p99_abs_rad": 0.2578335220481495,
|
||||
"dll_error_rms_chips": 0.05809960919771263,
|
||||
"dll_error_p99_abs_chips": 0.1559104269486663,
|
||||
"carrier_frequency_min_hz": 1025162.5739244855,
|
||||
"carrier_frequency_max_hz": 1025179.2658243881,
|
||||
"carrier_frequency_last_minus_first_hz": -4.755713645135984,
|
||||
"code_frequency_min_hz": 1023000.7767271643,
|
||||
"code_frequency_max_hz": 1023002.1806047091,
|
||||
"code_frequency_last_minus_first_hz": -0.02835774887353182,
|
||||
"cn0_median_db_hz": 46.40741068588617,
|
||||
"cn0_min_db_hz": 29.42711443027489
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"prn": 4,
|
||||
"iod_nav": 30,
|
||||
"toe_s": 555600.0,
|
||||
"toc_s": 555600.0,
|
||||
"sqrt_a": 5440.619691848755,
|
||||
"eccentricity": 0.0003278222866356373,
|
||||
"inclination_rad": 0.9546608529078708,
|
||||
"omega0_rad": -1.916469336297527,
|
||||
"argument_of_perigee_rad": -1.2995103390103033,
|
||||
"mean_anomaly_rad": 2.9471624393166582,
|
||||
"delta_n_rad_s": 3.3912126861918165e-09,
|
||||
"inclination_rate_rad_s": -2.3250968496165061e-10,
|
||||
"omega_dot_rad_s": -5.7763120351532645e-09,
|
||||
"cuc_rad": -3.553926944732666e-06,
|
||||
"cus_rad": 7.985159754753113e-06,
|
||||
"crc_m": 161.75,
|
||||
"crs_m": -73.28125,
|
||||
"cic_rad": 2.0489096641540527e-08,
|
||||
"cis_rad": 5.4016709327697754e-08,
|
||||
"clock_bias_s": -0.0007956350455060601,
|
||||
"clock_drift_s_per_s": -8.043343768804334e-12,
|
||||
"clock_drift_rate_s_per_s2": 0.0,
|
||||
"sisa_index": 107,
|
||||
"health_valid": true,
|
||||
"data_valid": true,
|
||||
"first_received_timestamp": 12624707,
|
||||
"completed_timestamp": 61728707
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -31563264.953851737, "end_sample_timestamp": 12624707, "error_flags": 0, "fec_valid": true, "page_sequence": 0, "polarity_inverted": false, "prn": 4, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1], "receive_sample_timestamp": 4440707, "sync_valid": true, "word_bits": [1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "word_type": 63}
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -36346130.19976398, "end_sample_timestamp": 20808707, "error_flags": 0, "fec_valid": true, "page_sequence": 1, "polarity_inverted": false, "prn": 4, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1], "receive_sample_timestamp": 12624707, "sync_valid": true, "word_bits": [0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0], "word_type": 1}
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -37509692.39427363, "end_sample_timestamp": 28992707, "error_flags": 0, "fec_valid": true, "page_sequence": 2, "polarity_inverted": false, "prn": 4, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1], "receive_sample_timestamp": 20808707, "sync_valid": true, "word_bits": [0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1], "word_type": 3}
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -37616383.07199316, "end_sample_timestamp": 37176707, "error_flags": 0, "fec_valid": true, "page_sequence": 3, "polarity_inverted": false, "prn": 4, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1], "receive_sample_timestamp": 28992707, "sync_valid": true, "word_bits": [0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "word_type": 5}
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -37617368.78230326, "end_sample_timestamp": 45360707, "error_flags": 0, "fec_valid": true, "page_sequence": 4, "polarity_inverted": false, "prn": 4, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1], "receive_sample_timestamp": 37176707, "sync_valid": true, "word_bits": [0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1], "word_type": 0}
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -36820857.560362145, "end_sample_timestamp": 53544707, "error_flags": 0, "fec_valid": true, "page_sequence": 5, "polarity_inverted": false, "prn": 4, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1], "receive_sample_timestamp": 45360707, "sync_valid": true, "word_bits": [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0], "word_type": 16}
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -37384461.638473585, "end_sample_timestamp": 61728707, "error_flags": 0, "fec_valid": true, "page_sequence": 6, "polarity_inverted": false, "prn": 4, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1], "receive_sample_timestamp": 53544707, "sync_valid": true, "word_bits": [0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0], "word_type": 2}
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -37122977.2173153, "end_sample_timestamp": 69912707, "error_flags": 0, "fec_valid": true, "page_sequence": 7, "polarity_inverted": false, "prn": 4, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1], "receive_sample_timestamp": 61728707, "sync_valid": true, "word_bits": [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], "word_type": 4}
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -37464900.1877128, "end_sample_timestamp": 78096707, "error_flags": 0, "fec_valid": true, "page_sequence": 8, "polarity_inverted": false, "prn": 4, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1], "receive_sample_timestamp": 69912707, "sync_valid": true, "word_bits": [0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0], "word_type": 6}
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -37409499.85363285, "end_sample_timestamp": 86280707, "error_flags": 0, "fec_valid": true, "page_sequence": 9, "polarity_inverted": false, "prn": 4, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1], "receive_sample_timestamp": 78096707, "sync_valid": true, "word_bits": [0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0], "word_type": 7}
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -37582366.09101655, "end_sample_timestamp": 94464707, "error_flags": 0, "fec_valid": true, "page_sequence": 10, "polarity_inverted": false, "prn": 4, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1], "receive_sample_timestamp": 86280707, "sync_valid": true, "word_bits": [0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0], "word_type": 8}
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -37475088.65540868, "end_sample_timestamp": 102648707, "error_flags": 0, "fec_valid": true, "page_sequence": 11, "polarity_inverted": false, "prn": 4, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1], "receive_sample_timestamp": 94464707, "sync_valid": true, "word_bits": [0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0], "word_type": 17}
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -37396406.89695661, "end_sample_timestamp": 110832707, "error_flags": 0, "fec_valid": true, "page_sequence": 12, "polarity_inverted": false, "prn": 4, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1], "receive_sample_timestamp": 102648707, "sync_valid": true, "word_bits": [0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0], "word_type": 19}
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -37237127.85622738, "end_sample_timestamp": 119016707, "error_flags": 0, "fec_valid": true, "page_sequence": 13, "polarity_inverted": false, "prn": 4, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1], "receive_sample_timestamp": 110832707, "sync_valid": true, "word_bits": [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0], "word_type": 16}
|
||||
{"crc_valid": true, "decoded_bits": [0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "decoder_metric": -37621354.178205535, "end_sample_timestamp": 127200707, "error_flags": 0, "fec_valid": true, "page_sequence": 14, "polarity_inverted": false, "prn": 4, "raw_symbols": [0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1], "receive_sample_timestamp": 119016707, "sync_valid": true, "word_bits": [0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1], "word_type": 0}
|
||||
@@ -0,0 +1,6 @@
|
||||
{"crc_valid": true, "health_valid": true, "iod_nav": 30, "payload": {"eccentricity": 0.0003278222866356373, "eccentricity_raw": 2815972, "iod_nav": 30, "mean_anomaly_rad": 2.9471624393166582, "mean_anomaly_raw": 2014577905, "sqrt_a": 5440.619691848755, "sqrt_a_raw": 2852451617, "toe_raw": 9260, "toe_s": 555600.0}, "prn": 4, "raw_bits": [0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0], "receive_sample_timestamp": 12624707, "word_type": 1}
|
||||
{"crc_valid": true, "health_valid": true, "iod_nav": 30, "payload": {"crc_m": 161.75, "crc_raw": 5176, "crs_m": -73.28125, "crs_raw": -2345, "cuc_rad": -3.553926944732666e-06, "cuc_raw": -1908, "cus_rad": 7.985159754753113e-06, "cus_raw": 4287, "delta_n_rad_s": 3.3912126861918165e-09, "delta_n_raw": 9495, "iod_nav": 30, "omega_dot_rad_s": -5.7763120351532645e-09, "omega_dot_raw": -16173, "sisa_index": 107}, "prn": 4, "raw_bits": [0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1], "receive_sample_timestamp": 20808707, "word_type": 3}
|
||||
{"crc_valid": true, "health_valid": true, "iod_nav": null, "payload": {"ai0_raw": 0, "ai0_sfu": 0.0, "ai1_raw": 0, "ai1_sfu_per_degree": 0.0, "ai2_raw": 0, "ai2_sfu_per_degree2": 0.0, "bgd_e1_e5a_raw": -13, "bgd_e1_e5a_s": -3.026798367500305e-09, "bgd_e1_e5b_raw": -15, "bgd_e1_e5b_s": -3.4924596548080444e-09, "disturbance_flags": [false, false, false, false, false], "e1b_data_validity_status": 0, "e1b_health": 0, "e5b_data_validity_status": 0, "e5b_health": 0, "time_of_week_s": 554755, "week_number": 1138}, "prn": 4, "raw_bits": [0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "receive_sample_timestamp": 28992707, "word_type": 5}
|
||||
{"crc_valid": true, "health_valid": true, "iod_nav": 30, "payload": {"argument_of_perigee_rad": -1.2995103390103033, "argument_of_perigee_raw": -888300143, "inclination_rad": 0.9546608529078708, "inclination_rate_rad_s": -2.3250968496165061e-10, "inclination_rate_raw": -651, "inclination_raw": 652573009, "iod_nav": 30, "omega0_rad": -1.916469336297527, "omega0_raw": -1310031890}, "prn": 4, "raw_bits": [0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0], "receive_sample_timestamp": 53544707, "word_type": 2}
|
||||
{"crc_valid": true, "health_valid": true, "iod_nav": 30, "payload": {"cic_rad": 2.0489096641540527e-08, "cic_raw": 11, "cis_rad": 5.4016709327697754e-08, "cis_raw": 29, "clock_bias_raw": -13668906, "clock_bias_s": -0.0007956350455060601, "clock_drift_rate_raw": 0, "clock_drift_rate_s_per_s2": 0.0, "clock_drift_raw": -566, "clock_drift_s_per_s": -8.043343768804334e-12, "iod_nav": 30, "svid": 4, "toc_raw": 9260, "toc_s": 555600.0}, "prn": 4, "raw_bits": [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], "receive_sample_timestamp": 61728707, "word_type": 4}
|
||||
{"crc_valid": true, "health_valid": true, "iod_nav": null, "payload": {"a0_raw": 2, "a0_s": 1.862645149230957e-09, "a1_raw": -1, "a1_s_per_s": -8.881784197001252e-16, "delta_tls_s": 18, "future_delta_tls_s": 18, "leap_day": 0, "leap_week_mod256": 114, "reference_time_s": 453600, "reference_week_mod256": 114, "time_of_week_s": 554765}, "prn": 4, "raw_bits": [0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0], "receive_sample_timestamp": 69912707, "word_type": 6}
|
||||