268 lines
9.4 KiB
JSON
268 lines
9.4 KiB
JSON
{
|
|
"simulator": {
|
|
"name": "SignalSim",
|
|
"path": "/home/onur/Desktop/galileo/signalsim/SignalSim",
|
|
"remote": "https://github.com/globsky/SignalSim",
|
|
"commit": "80b262113e77c4482ca9f5cbfef9bcada402ed28",
|
|
"git_status": "## main...origin/main"
|
|
},
|
|
"vector": {
|
|
"name": "high_cn0_single_prn",
|
|
"samples": "verification/vectors/signalsim/high_cn0_single_prn/high_cn0_single_prn_iq8.bin",
|
|
"generator_config": "verification/vectors/signalsim/high_cn0_single_prn/config.json",
|
|
"sample_format": "IQ8",
|
|
"sampling_frequency_hz": 8184000.0,
|
|
"intermediate_frequency_hz": 2046000.0,
|
|
"duration_s": 2.2,
|
|
"prn": 1,
|
|
"expected_doppler_hz": 1828.0,
|
|
"expected_doppler_source": "SignalSim_validate_only_summary_rounded_to_integer_hz",
|
|
"expected_code_phase_samples": null,
|
|
"path": "/home/onur/Desktop/galileo/verification/vectors/signalsim/high_cn0_single_prn/high_cn0_single_prn_iq8.bin",
|
|
"size_bytes": 36009600,
|
|
"complex_sample_count": 18004800,
|
|
"sha256": "3e72a5ad2d35ee68273b77587a66847b0fb328650b39c9e39272f0dc54e39e3c",
|
|
"internal_dtype": "complex128"
|
|
},
|
|
"mode": "quick",
|
|
"acquisition": {
|
|
"E1B": {
|
|
"detected": true,
|
|
"prn": 1,
|
|
"component": "E1B",
|
|
"code_phase_samples": 18309.41036755577,
|
|
"code_phase_chips": 2288.6762959444713,
|
|
"doppler_hz": 1766.3593126265423,
|
|
"carrier_frequency_hz": 2047766.3593126265,
|
|
"peak_power": 5441370632.908489,
|
|
"second_peak_power": 724471887.0812238,
|
|
"detection_metric": 7.510809915386589,
|
|
"estimated_cn0_db_hz": 38.1685032317465,
|
|
"coherent_integration_ms": 4.0,
|
|
"noncoherent_accumulations": 5,
|
|
"raw_code_phase_samples": 18309,
|
|
"raw_doppler_hz": 1750.0,
|
|
"metrics": {
|
|
"peak_to_second": 7.510809915386589,
|
|
"peak_to_mean": 27.236766759293843,
|
|
"peak_to_sidelobe": 9.98985090978008,
|
|
"cfar": 59.10585279263198,
|
|
"noise_mean": 199780344.01061067,
|
|
"noise_median": 186242777.1487124,
|
|
"noise_std": 88910448.07689284,
|
|
"second_peak": 724471887.0812238
|
|
},
|
|
"side_peak_suspected": false,
|
|
"expected_prn": 1,
|
|
"expected_doppler_hz": 1828.0,
|
|
"raw_doppler_error_hz": -78.0,
|
|
"interpolated_doppler_error_hz": -61.640687373457695,
|
|
"expected_code_phase_samples": null,
|
|
"code_phase_error_samples": null,
|
|
"processing_time_s": 0.06577738200576277,
|
|
"overflow_count": 0
|
|
},
|
|
"E1C": {
|
|
"detected": true,
|
|
"prn": 1,
|
|
"component": "E1C",
|
|
"code_phase_samples": 18309.255563640225,
|
|
"code_phase_chips": 2288.656945455028,
|
|
"doppler_hz": 1776.6435168702901,
|
|
"carrier_frequency_hz": 2047776.6435168702,
|
|
"peak_power": 5496116005.536917,
|
|
"second_peak_power": 796144387.0872731,
|
|
"detection_metric": 6.90341613239865,
|
|
"estimated_cn0_db_hz": 38.21910556645223,
|
|
"coherent_integration_ms": 4.0,
|
|
"noncoherent_accumulations": 5,
|
|
"raw_code_phase_samples": 18309,
|
|
"raw_doppler_hz": 1750.0,
|
|
"metrics": {
|
|
"peak_to_second": 6.90341613239865,
|
|
"peak_to_mean": 27.54425543885342,
|
|
"peak_to_sidelobe": 8.877838662393293,
|
|
"cfar": 59.373205541870576,
|
|
"noise_mean": 199537650.1549647,
|
|
"noise_median": 185090556.71506774,
|
|
"noise_std": 89451553.10970132,
|
|
"second_peak": 796144387.0872731
|
|
},
|
|
"side_peak_suspected": false,
|
|
"expected_prn": 1,
|
|
"expected_doppler_hz": 1828.0,
|
|
"raw_doppler_error_hz": -78.0,
|
|
"interpolated_doppler_error_hz": -51.356483129709886,
|
|
"expected_code_phase_samples": null,
|
|
"code_phase_error_samples": null,
|
|
"processing_time_s": 0.0624623160038027,
|
|
"overflow_count": 0
|
|
}
|
|
},
|
|
"tracking": {
|
|
"E1B": {
|
|
"epoch_count": 1088,
|
|
"tail_epoch_count": 200,
|
|
"final_state": "PLL_TRACK",
|
|
"reacquisition_epoch_count": 0,
|
|
"loss_of_lock_flag_count": 0,
|
|
"estimated_doppler_hz": 1828.251096939249,
|
|
"doppler_error_hz": 0.25109693924900967,
|
|
"doppler_jitter_hz_rms": 1.3255296914423045,
|
|
"dll_error_chips_rms": 0.09628370185540092,
|
|
"mean_prompt_magnitude": 22399.083674143894,
|
|
"mean_carrier_lock_metric": 0.9896417407083584,
|
|
"mean_code_lock_metric": 12.739000577793442,
|
|
"median_cn0_db_hz": 40.7319852224026
|
|
},
|
|
"E1C": {
|
|
"epoch_count": 544,
|
|
"tail_epoch_count": 200,
|
|
"final_state": "PLL_TRACK",
|
|
"reacquisition_epoch_count": 0,
|
|
"loss_of_lock_flag_count": 0,
|
|
"estimated_doppler_hz": 1828.2835216359945,
|
|
"doppler_error_hz": 0.2835216359944752,
|
|
"doppler_jitter_hz_rms": 1.0823023869896848,
|
|
"dll_error_chips_rms": 0.08491496617672437,
|
|
"mean_prompt_magnitude": 43800.06510755679,
|
|
"mean_carrier_lock_metric": 0.9933108801959688,
|
|
"mean_code_lock_metric": 12.868774234261869,
|
|
"median_cn0_db_hz": 39.005575872111315
|
|
}
|
|
},
|
|
"e1b_symbols": {
|
|
"status": "raw_symbols_recovered_page_decoding_not_implemented",
|
|
"comparison_scope": "known_10_symbol_INAV_sync_words_only",
|
|
"recovered_symbols": 469,
|
|
"compared_symbols": 20,
|
|
"initial_ignored_tracking_epochs": 150,
|
|
"initial_ignored_time_s": 0.3,
|
|
"bounded_alignment": "code boundary from PCPS; sync search within remaining 1.876 s",
|
|
"sync_matches": [
|
|
{
|
|
"symbol_index": 190,
|
|
"sign_inverted": false,
|
|
"errors": 0
|
|
},
|
|
{
|
|
"symbol_index": 440,
|
|
"sign_inverted": false,
|
|
"errors": 0
|
|
}
|
|
],
|
|
"symbol_errors": 0,
|
|
"symbol_error_rate": 0.0,
|
|
"median_soft_symbol_magnitude": 43846.682818616624,
|
|
"frame_or_page_sync": true,
|
|
"fec_decoding": "not_implemented",
|
|
"crc_validation": "not_implemented"
|
|
},
|
|
"e1c_secondary": {
|
|
"phase": 10,
|
|
"residual_frequency_hz": 52.0,
|
|
"normalized_correlation": 0.9830279116196488,
|
|
"compared_periods": 100,
|
|
"sign_errors": 0,
|
|
"sequence_source": "/home/onur/Desktop/galileo/signalsim/SignalSim/src/PilotBit.cpp",
|
|
"sequence_classification": "SignalSim_implemented_sequence_not_independently_certified_against_ICD",
|
|
"wiped_25_period_coherent_gain_db": 13.719295519016415,
|
|
"unwiped_25_period_coherent_gain_db": -0.863467276962604,
|
|
"wipeoff_gain_improvement_db": 14.582762795979018
|
|
},
|
|
"fixed_point_acquisition": {
|
|
"reference_dtype": "complex128/float64",
|
|
"input_format": {
|
|
"total_bits": 10,
|
|
"fractional_bits": 8
|
|
},
|
|
"fft_boundary_format": {
|
|
"total_bits": 32,
|
|
"fractional_bits": 20
|
|
},
|
|
"power_format": {
|
|
"total_bits": 64,
|
|
"fractional_bits": 32,
|
|
"signed": false
|
|
},
|
|
"reference_doppler_bin_hz": 2000.0,
|
|
"fixed_doppler_bin_hz": 2000.0,
|
|
"reference_code_phase_samples": 18310,
|
|
"fixed_code_phase_samples": 18310,
|
|
"doppler_bin_agreement": true,
|
|
"code_phase_agreement": true,
|
|
"acquisition_decision_agreement": true,
|
|
"normalized_absolute_error_mean": 0.0015404047604332905,
|
|
"normalized_rms_error": 0.0021864998265414934,
|
|
"normalized_peak_error": 0.01995720714695684,
|
|
"overflow_count": 0
|
|
},
|
|
"rtl_vector_manifest": {
|
|
"stem": "signalsim_acquisition_input_iq8",
|
|
"sample_count": 163680,
|
|
"total_bits": 8,
|
|
"fractional_bits": 0,
|
|
"signed": true,
|
|
"encoding": "two_complement_hex",
|
|
"i_file": "signalsim_acquisition_input_iq8_i.hex",
|
|
"q_file": "signalsim_acquisition_input_iq8_q.hex",
|
|
"overflow_count": 0,
|
|
"sampling_frequency_hz": 8184000.0,
|
|
"sample_period_s": 1.2218963831867057e-07,
|
|
"timestamp_file": "signalsim_acquisition_input_iq8_timestamps.csv",
|
|
"register_values": {
|
|
"SAMPLE_WIDTH": 8,
|
|
"SAMPLE_FRACTIONAL_BITS": 0,
|
|
"INPUT_REPRESENTATION": "COMPLEX_IQ",
|
|
"IQ_ORDER": "IQ",
|
|
"SAMPLING_FREQUENCY_HZ": 8184000.0,
|
|
"INTERMEDIATE_FREQUENCY_HZ": 2046000.0,
|
|
"PRN": 1,
|
|
"COMPONENT": "E1C",
|
|
"ACQ_DOPPLER_MIN_HZ": 1000.0,
|
|
"ACQ_DOPPLER_MAX_HZ": 2500.0,
|
|
"ACQ_DOPPLER_STEP_HZ": 250.0,
|
|
"ACQ_COHERENT_SAMPLES": 32736,
|
|
"ACQ_NONCOHERENT_COUNT": 5,
|
|
"ACQ_FFT_LENGTH": 32736,
|
|
"TRACK_E1B_INTEGRATION_SAMPLES": 16368,
|
|
"TRACK_E1C_INTEGRATION_SAMPLES": 32736,
|
|
"CARRIER_NCO_PHASE_WIDTH": 32,
|
|
"CARRIER_NCO_FCW": 1074701159,
|
|
"CODE_NCO_PHASE_WIDTH": 48,
|
|
"CODE_NCO_FCW": 35184412914156,
|
|
"E1C_SECONDARY_PHASE": 10,
|
|
"ACQ_TO_TRACK_CODE_PHASE_SAMPLES": 18309.255563640225,
|
|
"ACQ_TO_TRACK_DOPPLER_HZ": 1828.0,
|
|
"NOTE": "Symbolic names; APB addresses remain to be assigned by the RTL IP register map"
|
|
}
|
|
},
|
|
"pass_criteria": {
|
|
"maximum_raw_doppler_error_hz": 250.0,
|
|
"maximum_tracking_doppler_error_hz": 10.0,
|
|
"maximum_tracking_doppler_jitter_hz": 5.0,
|
|
"maximum_dll_rms_chips": 0.15,
|
|
"minimum_secondary_correlation": 0.9,
|
|
"maximum_secondary_sign_errors": 0,
|
|
"minimum_inav_sync_words": 2
|
|
},
|
|
"passes": {
|
|
"acquisition": true,
|
|
"e1b_tracking": true,
|
|
"e1b_raw_symbol_sync": true,
|
|
"e1c_secondary_sync": true,
|
|
"e1c_tracking": true,
|
|
"fixed_point_acquisition": true
|
|
},
|
|
"overall_pass": true,
|
|
"known_failures": [
|
|
"SignalSim E1 output cannot select E1B-only or E1C-only",
|
|
"SignalSim E1 uses BOC(1,1), not full CBOC",
|
|
"SignalSim has no native real-IF output",
|
|
"SignalSim IQ2 writer omits the output-byte assignment at this commit",
|
|
"Full I/NAV receiver-side FEC/page/CRC decoding is not implemented",
|
|
"SignalSim does not emit exact sample-side code-delay or navigation-symbol truth",
|
|
"Full multi-vector regression is not generated yet"
|
|
]
|
|
}
|