Tracking State

Tracking.jl uses a hierarchy of state types to manage tracking across multiple satellites and GNSS systems.

TrackState

The main container for all tracking state. It holds satellite states for one or more GNSS systems and the Doppler estimator (PLL/DLL).

Tracking.TrackStateType

Main tracking state container holding satellite states for multiple GNSS systems and the Doppler estimator (e.g., PLL/DLL). This is the primary struct used for tracking operations.

source

SatState

Per-satellite tracking state containing phase, Doppler, correlator, and bit buffer information.

Tracking.SatStateType

Holds the state of a single satellite being tracked. Contains code and carrier phase/doppler information, correlator state, CN0 estimator, and bit buffer.

source

SatState Accessor Functions

SystemSatsState

Container for multiple satellites of the same GNSS system.

Tracking.SystemSatsStateType

Holds the state of multiple satellites for a single GNSS system. Contains the system definition and a dictionary of satellite states indexed by identifier.

source

Multi-System Support

Tracking.get_system_sats_stateFunction
get_system_sats_state(track_state, system_idx)

Get the SystemSatsState for a specific GNSS system from a TrackState or MultipleSystemSatsState by index or symbol.

source
Tracking.get_sat_statesFunction
get_sat_states(multiple_system_sats_state, system_idx)

Get the dictionary of satellite states for a specific GNSS system.

source

Modifying Tracking State

Tracking.merge_satsFunction
merge_sats(
    multiple_system_sats_state,
    system_idx,
    new_sat_states
)

Merge new satellite states into the existing tracking state. Adds or updates satellites in the specified system.

source
Tracking.filter_out_satsFunction
filter_out_sats(
    multiple_system_sats_state,
    system_idx,
    identifiers
)

Remove satellites with the specified identifiers from the tracking state.

source