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.TrackState — Type
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.
SatState
Per-satellite tracking state containing phase, Doppler, correlator, and bit buffer information.
Tracking.SatState — Type
Holds the state of a single satellite being tracked. Contains code and carrier phase/doppler information, correlator state, CN0 estimator, and bit buffer.
SatState Accessor Functions
Tracking.get_prn — Function
get_prn(s)
Get the PRN (Pseudo-Random Noise) number of the satellite.
Tracking.get_code_phase — Function
get_code_phase(s)
Get the current code phase in chips.
Tracking.get_code_doppler — Function
get_code_doppler(s)
Get the current code Doppler frequency.
Tracking.get_carrier_phase — Function
get_carrier_phase(s)
Get the current carrier phase in radians.
Tracking.get_carrier_doppler — Function
get_carrier_doppler(s)
Get the current carrier Doppler frequency.
Tracking.get_integrated_samples — Function
get_integrated_samples(s)
Get the number of samples that have been integrated so far.
Tracking.get_signal_start_sample — Function
get_signal_start_sample(s)
Get the starting sample index in the signal for the next integration.
Tracking.get_correlator — Function
get_correlator(s)
Get the current correlator state.
Tracking.get_last_fully_integrated_correlator — Function
get_last_fully_integrated_correlator(s)
Get the correlator from the last fully completed integration period.
Tracking.get_last_fully_integrated_filtered_prompt — Function
get_last_fully_integrated_filtered_prompt(s)
Get the filtered prompt value from the last fully completed integration period.
Tracking.get_bit_buffer — Function
get_bit_buffer(s)
Get the bit buffer containing decoded navigation bits.
Tracking.get_bits — Function
get_bits(s)
Get the decoded navigation bits as an integer.
Tracking.get_num_bits — Function
get_num_bits(s)
Get the number of decoded navigation bits.
Tracking.has_bit_or_secondary_code_been_found — Function
has_bit_or_secondary_code_been_found(s)
Check if the bit or secondary code synchronization has been achieved.
SystemSatsState
Container for multiple satellites of the same GNSS system.
Tracking.SystemSatsState — Type
Holds the state of multiple satellites for a single GNSS system. Contains the system definition and a dictionary of satellite states indexed by identifier.
Multi-System Support
Tracking.MultipleSystemSatsState — Type
Type alias for a tuple or named tuple of SystemSatsState objects, representing tracking state across multiple GNSS systems.
Tracking.get_system_sats_state — Function
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.
Tracking.get_sat_states — Function
get_sat_states(multiple_system_sats_state, system_idx)
Get the dictionary of satellite states for a specific GNSS system.
Tracking.get_sat_state — Function
get_sat_state(sss, identifier)
Get the satellite state for a specific satellite identifier.
Tracking.get_system — Function
get_system(sss)
Get the GNSS system definition from a SystemSatsState.
Modifying Tracking State
Tracking.merge_sats — Function
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.
Tracking.filter_out_sats — Function
filter_out_sats(
multiple_system_sats_state,
system_idx,
identifiers
)
Remove satellites with the specified identifiers from the tracking state.