Loop Filter
The default loop filter are provided by TrackingLoopFilters.jl. This includes
- first order loop filter
FirstOrderLF - second order biliner loop filter
SecondOrderBilinearLF - second order boxcar loop filter
SecondOrderBoxcarLF - third order bilinear loop filter
ThirdOrderBilinarLF - third order boxcar loop filter
ThirdOrderBoxcarLF
The default loop filter for the carrier loop is ThirdOrderBilinarLF and the default loop filter for the code loop is SecondOrderBilinearLF. This is set by the initialization of the TrackingState and can be changed by:
state = TrackingState(
GPSL1,
carrier_doppler,
code_phase,
carrier_loop_filter = ThirdOrderBilinearLF(),
code_loop_filter = SecondOrderBilinearLF()
)The bandwidth of the loop filter is set by the track function:
next_results = track(
next_signal,
get_state(results),
prn,
sample_frequency,
carrier_loop_filter_bandwidth = 18Hz,
code_loop_filter_bandwidth = 1Hz
)You can easily implement a custom loop filter MyLoopFilter <: AbstractLoopFilter. In this case, a specialized propagate and get_filter_output is needed. For more information refer to TrackingLoopFilters.jl.