![]() |
0.4.1
|
Cycle-slip detector. More...
Data Structures | |
struct | CycleSlipDualFrequency |
Cycle-slip found in dual frequency combination. More... | |
struct | CycleSlipLossOfLockIndicator |
Cycle-slip because LLI was set. More... | |
struct | CycleSlipSingleFrequency |
Cycle-slip found in single frequency carrier-phase observation. More... | |
struct | SatelliteObservation |
Satellite observations ordered per satellite. More... | |
Public Types | |
enum class | Detector : uint8_t { LLI , SingleFrequency , DualFrequency } |
Detectors in use. More... | |
using | Result |
Result of the cycle-slip detection test. | |
using | Strategy |
Strategies for fitting. | |
Public Member Functions | |
std::vector< Result > | checkForCycleSlip (InsTime insTime, const std::vector< SatelliteObservation > &satObs, const std::string &nameId) |
Checks for a cycle slip. | |
Strategy | getFitStrategy (const Detector &detector) const |
Get the strategy used for fitting. | |
size_t | getPolynomialDegree (const Detector &detector) const |
Get the degree of the polynomial which is used for fitting. | |
double | getThreshold (const Detector &detector) const |
Get the threshold to categorize a measurement as cycle slip [% of smallest wavelength]. | |
size_t | getWindowSize (const Detector &detector) const |
Get the window size for the polynomial fit. | |
bool | isEnabled (const Detector &detector) const |
Is the cycle-slip detector enabled? | |
void | reset () |
Resets all data. | |
void | resetSignal (const SatSigId &satSigId) |
Resets all data related to the provided signal. | |
void | setEnabled (bool enabled, const Detector &detector) |
Sets the enabled state. | |
void | setFitStrategy (Strategy strategy, const Detector &detector) |
Sets the strategy used for fitting. | |
void | setPolynomialDegree (size_t polyDegree, const Detector &detector) |
Sets the degree of the polynomial which is used for fitting. | |
void | setThreshold (double threshold, const Detector &detector) |
Sets the threshold to categorize a measurement as cycle slip. | |
void | setWindowSize (size_t windowSize, const Detector &detector) |
Sets the amount of points used for the fit (sliding window) | |
Private Attributes | |
PolynomialCycleSlipDetector< DualFrequencyCombination > | _dualFrequencyDetector |
Dual Frequency cycle-slip detector using polynomial fits. | |
double | _dualFrequencyThresholdPercentage |
Threshold to detect a cycle-slip in [% of smallest wavelength]. | |
bool | _enableLLICheck |
Whether to check for LLI flag. | |
PolynomialCycleSlipDetector< SatSigId > | _singleFrequencyDetector |
Single Frequency carrier-phase cycle-slip detector using polynomial fits. | |
double | _singleFrequencyThresholdPercentage |
Threshold to detect a cycle-slip in [% of smallest wavelength]. | |
Friends | |
bool | CycleSlipDetectorGui (const char *label, CycleSlipDetector &cycleSlipDetector, float width=0.0F, bool dualFrequencyAvailable=true) |
Shows a GUI for advanced configuration of the CycleSlipDetector. | |
void | from_json (const json &j, CycleSlipDetector &data) |
Read info from a json object. | |
void | to_json (json &j, const CycleSlipDetector &data) |
Write info to a json object. | |
Cycle-slip detector.
Definition at line 73 of file CycleSlipDetector.hpp.
Result of the cycle-slip detection test.
Definition at line 198 of file CycleSlipDetector.hpp.
Strategies for fitting.
Definition at line 164 of file CycleSlipDetector.hpp.
|
strong |
Detectors in use.
Enumerator | |
---|---|
LLI | Loss-of-Lock Indicator check. |
SingleFrequency | Single frequency detector. |
DualFrequency | Dual frequency detector. |
Definition at line 77 of file CycleSlipDetector.hpp.
|
nodiscard |
Checks for a cycle slip.
[in] | insTime | Time of the measurement |
[in] | satObs | Satellite observations |
[in] | nameId | Node nameId for log messages |
Definition at line 24 of file CycleSlipDetector.cpp.
Get the strategy used for fitting.
[in] | detector | Detector to request data for |
Definition at line 168 of file CycleSlipDetector.hpp.
|
inlinenodiscard |
Get the degree of the polynomial which is used for fitting.
[in] | detector | Detector to request data for |
Definition at line 150 of file CycleSlipDetector.hpp.
|
inlinenodiscard |
Get the threshold to categorize a measurement as cycle slip [% of smallest wavelength].
[in] | detector | Detector to request data for |
Definition at line 135 of file CycleSlipDetector.hpp.
|
inlinenodiscard |
Get the window size for the polynomial fit.
[in] | detector | Detector to request data for |
Definition at line 120 of file CycleSlipDetector.hpp.
|
inlinenodiscard |
Is the cycle-slip detector enabled?
[in] | detector | Detector to request data for |
Definition at line 86 of file CycleSlipDetector.hpp.
void NAV::CycleSlipDetector::reset | ( | ) |
Resets all data.
Definition at line 196 of file CycleSlipDetector.cpp.
void NAV::CycleSlipDetector::resetSignal | ( | const SatSigId & | satSigId | ) |
Resets all data related to the provided signal.
satSigId | Satellite signal identifier |
Definition at line 202 of file CycleSlipDetector.cpp.
|
inline |
Sets the enabled state.
[in] | enabled | Whether to enabled or not |
[in] | detector | Detector to modify |
Definition at line 102 of file CycleSlipDetector.hpp.
Sets the strategy used for fitting.
Definition at line 175 of file CycleSlipDetector.hpp.
|
inline |
Sets the degree of the polynomial which is used for fitting.
[in] | polyDegree | Polynomial degree to fit |
[in] | detector | Detector to modify |
Definition at line 157 of file CycleSlipDetector.hpp.
|
inline |
Sets the threshold to categorize a measurement as cycle slip.
[in] | threshold | Threshold value in [% of smallest wavelength] |
[in] | detector | Detector to modify |
Definition at line 142 of file CycleSlipDetector.hpp.
|
inline |
Sets the amount of points used for the fit (sliding window)
[in] | windowSize | Amount of points to use for the fit |
[in] | detector | Detector to modify |
Definition at line 127 of file CycleSlipDetector.hpp.
|
friend |
Shows a GUI for advanced configuration of the CycleSlipDetector.
[in] | label | Label to show beside the combo box. This has to be a unique id for ImGui. |
[in] | cycleSlipDetector | Reference to the cycle-slip detector to configure |
[in] | width | Width of the widget |
[in] | dualFrequencyAvailable | Whether dual frequency is available |
Definition at line 211 of file CycleSlipDetector.cpp.
|
friend |
Read info from a json object.
[in] | j | Json variable to read info from |
[out] | data | Output object |
Definition at line 288 of file CycleSlipDetector.cpp.
|
friend |
Write info to a json object.
[out] | j | Json output |
[in] | data | Object to read info from |
Definition at line 278 of file CycleSlipDetector.cpp.
|
private |
Dual Frequency cycle-slip detector using polynomial fits.
Definition at line 240 of file CycleSlipDetector.hpp.
|
private |
Threshold to detect a cycle-slip in [% of smallest wavelength].
Definition at line 234 of file CycleSlipDetector.hpp.
|
private |
Whether to check for LLI flag.
Definition at line 231 of file CycleSlipDetector.hpp.
|
private |
Single Frequency carrier-phase cycle-slip detector using polynomial fits.
Definition at line 237 of file CycleSlipDetector.hpp.
|
private |
Threshold to detect a cycle-slip in [% of smallest wavelength].
Definition at line 233 of file CycleSlipDetector.hpp.