16 lines
650 B
Python
16 lines
650 B
Python
import pytest
|
|
|
|
|
|
@pytest.mark.signalsim
|
|
def test_signalsim_e1b_and_e1c_tracking_lock(signalsim_validation_result) -> None:
|
|
report, _, output = signalsim_validation_result
|
|
for component in ("E1B", "E1C"):
|
|
result = report["tracking"][component]
|
|
assert result["final_state"] == "PLL_TRACK"
|
|
assert result["reacquisition_epoch_count"] == 0
|
|
assert abs(result["doppler_error_hz"]) < 10.0
|
|
assert result["doppler_jitter_hz_rms"] < 5.0
|
|
assert result["dll_error_chips_rms"] < 0.15
|
|
assert result["mean_code_lock_metric"] > 1.0
|
|
assert (output / f"tracking_{component.lower()}.csv").is_file()
|