Track

The track function is the main entry point for processing GNSS signals. It takes an incoming signal and a TrackState, performs downconversion and correlation for all tracked satellites, estimates Doppler frequencies, and returns an updated TrackState.

Function Reference

Tracking.trackFunction
track(
    signal,
    track_state,
    sampling_frequency;
    downconvert_and_correlator,
    intermediate_frequency,
    preferred_num_code_blocks_to_integrate
)

Main tracking function that processes a signal and updates the tracking state. Performs downconversion, correlation, and Doppler estimation for all satellites in the track state. Returns an updated TrackState with new phase/Doppler estimates and decoded bits.

source

Optional Parameters

  • downconvert_and_correlator: The downconversion and correlation implementation to use. Defaults to CPUDownconvertAndCorrelator.
  • intermediate_frequency: The intermediate frequency of the signal. Defaults to 0.0Hz.
  • preferred_num_code_blocks_to_integrate: The preferred number of code blocks to integrate. Defaults to 1. Will only integrate more than one block once bit synchronization has been achieved.

Downconversion and Correlation

Correlator Sample Shifts

Tracking.get_correlator_sample_shiftsFunction
get_correlator_sample_shifts(
    correlator,
    sampling_frequency,
    code_frequency
)

Calculate the replica phase offset required for the correlator with respect to the prompt correlator, expressed in samples. The shifts are ordered from latest to earliest replica.

source
get_correlator_sample_shifts(
    correlator,
    sampling_frequency,
    code_frequency
)

Calculate the replica phase offset required for the correlator with respect to the prompt correlator, expressed in samples. The shifts are ordered from latest to earliest replica.

source