"""Acquire then track a synthetic pilot.""" from galileo_rx.acquisition.acquisition_manager import AcquisitionManager from galileo_rx.config import AcquisitionConfig, TrackingConfig from galileo_rx.signal_profiles import galileo_e1_profile from galileo_rx.signals.code_provider import SyntheticCodeProvider from galileo_rx.signals.signal_generator import ChannelModelConfig, SatelliteSignalConfig, SyntheticSignalGenerator from galileo_rx.tracking.tracking_channel import TrackingChannel fs = 4.092e6 profile, provider = galileo_e1_profile(), SyntheticCodeProvider() generator = SyntheticSignalGenerator(profile, provider, fs, satellites=[SatelliteSignalConfig(1, code_delay_chips=40, doppler_hz=750, cn0_db_hz=50)], channel=ChannelModelConfig(seed=5)) samples, _ = generator.generate(int(0.12 * fs)) acq_config = AcquisitionConfig(doppler_min_hz=-2000, doppler_max_hz=2000, noncoherent_accumulations=2, zero_padding_mode="none") result, _ = AcquisitionManager(profile, provider, fs, acq_config).acquire_one(samples, "E1C", 1) channel = TrackingChannel(profile, provider, fs, TrackingConfig(secondary_code_mode="wipeoff", pull_in_duration_ms=20), result) measurements = channel.process(samples) print(measurements[-1])