Initial Galileo receiver and SignalSim integration
This commit is contained in:
@@ -0,0 +1,18 @@
|
||||
import numpy as np
|
||||
|
||||
from galileo_rx.config import AcquisitionConfig
|
||||
from galileo_rx.acquisition.fft_pcps import PcpsAcquisition
|
||||
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
|
||||
|
||||
|
||||
def test_doppler_batched_matches_sequential() -> None:
|
||||
fs = 4.092e6
|
||||
profile, provider = galileo_e1_profile(), SyntheticCodeProvider()
|
||||
generator = SyntheticSignalGenerator(profile, provider, fs, satellites=[SatelliteSignalConfig(1, doppler_hz=500)], channel=ChannelModelConfig(add_awgn=False))
|
||||
samples, _ = generator.generate(int(0.004 * fs))
|
||||
common = dict(doppler_min_hz=0, doppler_max_hz=1000, doppler_step_hz=250, noncoherent_accumulations=1, zero_padding_mode="none")
|
||||
sequential = PcpsAcquisition(profile, provider, fs, AcquisitionConfig(**common, parallelism="sequential")).search(samples, "E1C", 1)
|
||||
batched = PcpsAcquisition(profile, provider, fs, AcquisitionConfig(**common, parallelism="batched", doppler_batch_size=3)).search(samples, "E1C", 1)
|
||||
np.testing.assert_allclose(batched.power, sequential.power, rtol=1e-12, atol=1e-6)
|
||||
Reference in New Issue
Block a user