![]() |
0.5.1
|
Cycle-slip detection. More...
Data Structures | |
| struct | SignalDetector |
| Signal Detector struct. More... | |
Public Types | |
| using | Strategy |
| Strategies for fitting. | |
Public Member Functions | |
| PolynomialCycleSlipDetectorResult | checkForCycleSlip (const Key &key, InsTime insTime, double measurementDifference, double threshold) |
| Checks for a cycle slip. | |
| void | clear () |
| Empties the collected polynomials. | |
| std::optional< size_t > | getDataSize (const Key &key) const |
| Get the amount of data collected. | |
| Strategy | getFitStrategy () const |
| Get the strategy used for fitting. | |
| size_t | getPolynomialDegree () const |
| Get the degree of the polynomial which is used for fitting. | |
| size_t | getWindowSize () const |
| Get the window size for the polynomial fit. | |
| bool | isEnabled () const |
| Is the cycle-slip detector enabled? | |
| PolynomialCycleSlipDetector (size_t windowSize, size_t polyDegree, bool enabled=true) | |
| Constructor. | |
| void | reset (const Key &key) |
| Reset the polynomial for the given combination. | |
| bool | resetAfterCycleSlip () const |
| Whether to discard all data after a cycle-slip. | |
| void | setEnabled (bool enabled) |
| Sets the enabled state. | |
| void | setFitStrategy (Strategy strategy) |
| Sets the strategy used for fitting. | |
| void | setPolynomialDegree (size_t polyDegree) |
| Sets the degree of the polynomial which is used for fitting. | |
| void | setResetAfterCycleSlip (bool reset) |
| Sets whether to discard all data after a cycle-slip. | |
| void | setWindowSize (size_t windowSize) |
| Sets the amount of points used for the fit (sliding window) | |
Private Member Functions | |
| void | addMeasurement (const Key &key, InsTime insTime, double measurementDifference) |
| Add a measurement to the polynomial fit. | |
| std::optional< Polynomial< double > > | calcPolynomial (const Key &key) const |
| Calculates the polynomial from the collected data. | |
| std::optional< double > | calcRelativeTime (const Key &key, const InsTime &insTime) const |
| Calculate the relative time to the start time of the detector. | |
| std::optional< double > | predictValue (const Key &key, const InsTime &insTime) const |
| Predicts a value from the collected data and polynomial fit. | |
Static Private Member Functions | |
| static double | calcRelativeTime (const InsTime &insTime, const SignalDetector &detector) |
| Calculate the relative time to the start time of the detector. | |
Private Attributes | |
| unordered_map< Key, SignalDetector > | _detectors |
| Detectors, one for each key. | |
| bool | _enabled |
| Whether the cycle-slip detector is enabled. | |
| size_t | _polyDegree |
| Polynomial degree to fit. | |
| bool | _resetAfterCycleSlip |
| Whether to discard all data after a cycle-slip. | |
| Strategy | _strategy |
| Strategy used for fitting. | |
| size_t | _windowSize |
| Window size for the sliding window. | |
Friends | |
| class | CycleSlipDetector |
| class | GnssAnalyzer |
Cycle-slip detection.
Definition at line 48 of file PolynomialCycleSlipDetector.hpp.
| using NAV::PolynomialCycleSlipDetector< Key >::Strategy |
Strategies for fitting.
Definition at line 165 of file PolynomialCycleSlipDetector.hpp.
|
inlineexplicit |
Constructor.
| [in] | windowSize | Amount of points to use for the fit (sliding window) |
| [in] | polyDegree | Polynomial degree to fit |
| [in] | enabled | Whether the detector is enabled |
Definition at line 55 of file PolynomialCycleSlipDetector.hpp.
|
inlineprivate |
Add a measurement to the polynomial fit.
| [in] | key | Key of the detector |
| [in] | insTime | Time of the measurement |
| [in] | measurementDifference | Measurement difference |
Definition at line 256 of file PolynomialCycleSlipDetector.hpp.
|
inlinenodiscardprivate |
Calculates the polynomial from the collected data.
| [in] | key | Key of the detector |
Definition at line 245 of file PolynomialCycleSlipDetector.hpp.
|
inlinestaticnodiscardprivate |
Calculate the relative time to the start time of the detector.
| [in] | insTime | Time of the measurement |
| [in] | detector | Detector to use |
Definition at line 215 of file PolynomialCycleSlipDetector.hpp.
|
inlinenodiscardprivate |
Calculate the relative time to the start time of the detector.
| [in] | key | Key of the detector |
| [in] | insTime | Time of the measurement |
Definition at line 222 of file PolynomialCycleSlipDetector.hpp.
|
inlinenodiscard |
Checks for a cycle slip.
| [in] | key | Key of the detector |
| [in] | insTime | Time of the measurement |
| [in] | measurementDifference | Measurement difference |
| [in] | threshold | Threshold to categorize a measurement as cycle slip |
Definition at line 64 of file PolynomialCycleSlipDetector.hpp.
|
inline |
Empties the collected polynomials.
Definition at line 99 of file PolynomialCycleSlipDetector.hpp.
|
inlinenodiscard |
Get the amount of data collected.
| [in] | key | Key of the detector |
Definition at line 182 of file PolynomialCycleSlipDetector.hpp.
|
inlinenodiscard |
Get the strategy used for fitting.
Definition at line 168 of file PolynomialCycleSlipDetector.hpp.
|
inlinenodiscard |
Get the degree of the polynomial which is used for fitting.
Definition at line 152 of file PolynomialCycleSlipDetector.hpp.
|
inlinenodiscard |
Get the window size for the polynomial fit.
Definition at line 139 of file PolynomialCycleSlipDetector.hpp.
|
inlinenodiscard |
Is the cycle-slip detector enabled?
Definition at line 115 of file PolynomialCycleSlipDetector.hpp.
|
inlinenodiscardprivate |
Predicts a value from the collected data and polynomial fit.
| [in] | key | Key of the detector |
| [in] | insTime | Time of the measurement |
Definition at line 232 of file PolynomialCycleSlipDetector.hpp.
|
inline |
Reset the polynomial for the given combination.
| [in] | key | Key of the detector |
Definition at line 106 of file PolynomialCycleSlipDetector.hpp.
|
inlinenodiscard |
Whether to discard all data after a cycle-slip.
Definition at line 127 of file PolynomialCycleSlipDetector.hpp.
|
inline |
Sets the enabled state.
| [in] | enabled | Whether to enabled or not |
Definition at line 121 of file PolynomialCycleSlipDetector.hpp.
|
inline |
Sets the strategy used for fitting.
| [in] | strategy | Strategy for fitting |
Definition at line 171 of file PolynomialCycleSlipDetector.hpp.
|
inline |
Sets the degree of the polynomial which is used for fitting.
| [in] | polyDegree | Polynomial degree to fit |
Definition at line 155 of file PolynomialCycleSlipDetector.hpp.
|
inline |
Sets whether to discard all data after a cycle-slip.
| [in] | reset | Whether to reset or not |
Definition at line 133 of file PolynomialCycleSlipDetector.hpp.
|
inline |
Sets the amount of points used for the fit (sliding window)
| [in] | windowSize | Amount of points to use for the fit |
Definition at line 142 of file PolynomialCycleSlipDetector.hpp.
|
friend |
Definition at line 265 of file PolynomialCycleSlipDetector.hpp.
|
friend |
Definition at line 264 of file PolynomialCycleSlipDetector.hpp.
|
private |
Detectors, one for each key.
Definition at line 210 of file PolynomialCycleSlipDetector.hpp.
|
private |
Whether the cycle-slip detector is enabled.
Definition at line 205 of file PolynomialCycleSlipDetector.hpp.
|
private |
Polynomial degree to fit.
Definition at line 208 of file PolynomialCycleSlipDetector.hpp.
|
private |
Whether to discard all data after a cycle-slip.
Definition at line 206 of file PolynomialCycleSlipDetector.hpp.
|
private |
Strategy used for fitting.
Definition at line 209 of file PolynomialCycleSlipDetector.hpp.
|
private |
Window size for the sliding window.
Definition at line 207 of file PolynomialCycleSlipDetector.hpp.