Implement Galileo E1B I/NAV navigation decoding
This commit is contained in:
@@ -0,0 +1,211 @@
|
||||
{
|
||||
"decoder_truth_inputs": [],
|
||||
"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,
|
||||
"acquisition_detected": true,
|
||||
"acquisition_time_s": 0.1004119270000956,
|
||||
"raw_doppler_hz": 1750.0,
|
||||
"expected_doppler_hz": 1828.0,
|
||||
"start_sample_timestamp": 90995,
|
||||
"tracking_epoch_count": 16088,
|
||||
"tracking_time_s": 13.650105177999649,
|
||||
"tracking_final_state": "PLL_TRACK",
|
||||
"tracking_reacquisition_requests": 10,
|
||||
"tracking_lock_timestamp": 107363,
|
||||
"prompt_epoch_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.260811995001859
|
||||
},
|
||||
"4": {
|
||||
"prn": 4,
|
||||
"acquisition_detected": true,
|
||||
"acquisition_time_s": 0.08580062900000485,
|
||||
"raw_doppler_hz": 2250.0,
|
||||
"expected_doppler_hz": 2171.0,
|
||||
"start_sample_timestamp": 86819,
|
||||
"tracking_epoch_count": 16088,
|
||||
"tracking_time_s": 13.877967087995785,
|
||||
"tracking_final_state": "PLL_TRACK",
|
||||
"tracking_reacquisition_requests": 61,
|
||||
"tracking_lock_timestamp": 103187,
|
||||
"prompt_epoch_count": 8044,
|
||||
"first_synchronized_symbol_timestamp": 12624707,
|
||||
"first_page_sync_timestamp": 12624707,
|
||||
"first_crc_valid_page_timestamp": 12624707,
|
||||
"page_parts": 29,
|
||||
"pages": 14,
|
||||
"crc_passes": 14,
|
||||
"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.3411525530027575
|
||||
},
|
||||
"19": {
|
||||
"prn": 19,
|
||||
"acquisition_detected": true,
|
||||
"acquisition_time_s": 0.0836479790013982,
|
||||
"raw_doppler_hz": -250.0,
|
||||
"expected_doppler_hz": -367.0,
|
||||
"start_sample_timestamp": 87566,
|
||||
"tracking_epoch_count": 16088,
|
||||
"tracking_time_s": 13.9836710640011,
|
||||
"tracking_final_state": "PLL_TRACK",
|
||||
"tracking_reacquisition_requests": 406,
|
||||
"tracking_lock_timestamp": 103934,
|
||||
"prompt_epoch_count": 8044,
|
||||
"first_synchronized_symbol_timestamp": 16684718,
|
||||
"first_page_sync_timestamp": 16684718,
|
||||
"first_crc_valid_page_timestamp": 20776718,
|
||||
"page_parts": 28,
|
||||
"pages": 13,
|
||||
"crc_passes": 13,
|
||||
"crc_failures": 0,
|
||||
"fec_failures": 0,
|
||||
"received_word_types": [
|
||||
2,
|
||||
3,
|
||||
4,
|
||||
5,
|
||||
6
|
||||
],
|
||||
"missing_ephemeris_word_types": [
|
||||
1
|
||||
],
|
||||
"complete_ephemeris": false,
|
||||
"ephemeris_iod_nav": null,
|
||||
"first_complete_ephemeris_timestamp": null,
|
||||
"clock_parameters": true,
|
||||
"health_valid": false,
|
||||
"data_valid": false,
|
||||
"decoding_time_s": 1.2081766550036264
|
||||
},
|
||||
"21": {
|
||||
"prn": 21,
|
||||
"acquisition_detected": true,
|
||||
"acquisition_time_s": 0.08741291100159287,
|
||||
"raw_doppler_hz": -750.0,
|
||||
"expected_doppler_hz": -712.0,
|
||||
"start_sample_timestamp": 93628,
|
||||
"tracking_epoch_count": 16088,
|
||||
"tracking_time_s": 13.982213923998643,
|
||||
"tracking_final_state": "PLL_TRACK",
|
||||
"tracking_reacquisition_requests": 259,
|
||||
"tracking_lock_timestamp": 101812,
|
||||
"prompt_epoch_count": 8044,
|
||||
"first_synchronized_symbol_timestamp": 12598780,
|
||||
"first_page_sync_timestamp": 12598780,
|
||||
"first_crc_valid_page_timestamp": 12598780,
|
||||
"page_parts": 29,
|
||||
"pages": 14,
|
||||
"crc_passes": 14,
|
||||
"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.231179278001946
|
||||
},
|
||||
"27": {
|
||||
"prn": 27,
|
||||
"acquisition_detected": true,
|
||||
"acquisition_time_s": 0.08157938700605882,
|
||||
"raw_doppler_hz": -2750.0,
|
||||
"expected_doppler_hz": -2637.0,
|
||||
"start_sample_timestamp": 88014,
|
||||
"tracking_epoch_count": 16088,
|
||||
"tracking_time_s": 13.978430488001322,
|
||||
"tracking_final_state": "PLL_TRACK",
|
||||
"tracking_reacquisition_requests": 0,
|
||||
"tracking_lock_timestamp": 96198,
|
||||
"prompt_epoch_count": 8044,
|
||||
"first_synchronized_symbol_timestamp": 12642270,
|
||||
"first_page_sync_timestamp": 12642270,
|
||||
"first_crc_valid_page_timestamp": 12642270,
|
||||
"page_parts": 29,
|
||||
"pages": 14,
|
||||
"crc_passes": 14,
|
||||
"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.2002744679994066
|
||||
}
|
||||
},
|
||||
"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 | 29 | 14 | True | True | True | True |
|
||||
| 19 | PLL_TRACK | True | 28 | 13 | False | True | True | False |
|
||||
| 21 | PLL_TRACK | True | 29 | 14 | True | True | True | True |
|
||||
| 27 | PLL_TRACK | True | 29 | 14 | True | True | True | True |
|
||||
Reference in New Issue
Block a user