0.4.1
Loading...
Searching...
No Matches
NAV::CycleSlipDetector Class Reference

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< ResultcheckForCycleSlip (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.
 

Detailed Description

Cycle-slip detector.

Definition at line 73 of file CycleSlipDetector.hpp.

Member Typedef Documentation

◆ Result

Result of the cycle-slip detection test.

Definition at line 198 of file CycleSlipDetector.hpp.

◆ Strategy

Strategies for fitting.

Definition at line 164 of file CycleSlipDetector.hpp.

Member Enumeration Documentation

◆ Detector

enum class NAV::CycleSlipDetector::Detector : uint8_t
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.

Member Function Documentation

◆ checkForCycleSlip()

std::vector< CycleSlipDetector::Result > NAV::CycleSlipDetector::checkForCycleSlip ( InsTime insTime,
const std::vector< SatelliteObservation > & satObs,
const std::string & nameId )
nodiscard

Checks for a cycle slip.

Parameters
[in]insTimeTime of the measurement
[in]satObsSatellite observations
[in]nameIdNode nameId for log messages
Returns
Cycle-slip result

Definition at line 24 of file CycleSlipDetector.cpp.

◆ getFitStrategy()

Strategy NAV::CycleSlipDetector::getFitStrategy ( const Detector & detector) const
inlinenodiscard

Get the strategy used for fitting.

Parameters
[in]detectorDetector to request data for

Definition at line 168 of file CycleSlipDetector.hpp.

◆ getPolynomialDegree()

size_t NAV::CycleSlipDetector::getPolynomialDegree ( const Detector & detector) const
inlinenodiscard

Get the degree of the polynomial which is used for fitting.

Parameters
[in]detectorDetector to request data for

Definition at line 150 of file CycleSlipDetector.hpp.

◆ getThreshold()

double NAV::CycleSlipDetector::getThreshold ( const Detector & detector) const
inlinenodiscard

Get the threshold to categorize a measurement as cycle slip [% of smallest wavelength].

Parameters
[in]detectorDetector to request data for

Definition at line 135 of file CycleSlipDetector.hpp.

◆ getWindowSize()

size_t NAV::CycleSlipDetector::getWindowSize ( const Detector & detector) const
inlinenodiscard

Get the window size for the polynomial fit.

Parameters
[in]detectorDetector to request data for

Definition at line 120 of file CycleSlipDetector.hpp.

◆ isEnabled()

bool NAV::CycleSlipDetector::isEnabled ( const Detector & detector) const
inlinenodiscard

Is the cycle-slip detector enabled?

Parameters
[in]detectorDetector to request data for

Definition at line 86 of file CycleSlipDetector.hpp.

◆ reset()

void NAV::CycleSlipDetector::reset ( )

Resets all data.

Definition at line 196 of file CycleSlipDetector.cpp.

◆ resetSignal()

void NAV::CycleSlipDetector::resetSignal ( const SatSigId & satSigId)

Resets all data related to the provided signal.

Parameters
satSigIdSatellite signal identifier

Definition at line 202 of file CycleSlipDetector.cpp.

◆ setEnabled()

void NAV::CycleSlipDetector::setEnabled ( bool enabled,
const Detector & detector )
inline

Sets the enabled state.

Parameters
[in]enabledWhether to enabled or not
[in]detectorDetector to modify

Definition at line 102 of file CycleSlipDetector.hpp.

◆ setFitStrategy()

void NAV::CycleSlipDetector::setFitStrategy ( Strategy strategy,
const Detector & detector )
inline

Sets the strategy used for fitting.

Parameters
[in]strategyStrategy for fitting
[in]detectorDetector to modify

Definition at line 175 of file CycleSlipDetector.hpp.

◆ setPolynomialDegree()

void NAV::CycleSlipDetector::setPolynomialDegree ( size_t polyDegree,
const Detector & detector )
inline

Sets the degree of the polynomial which is used for fitting.

Parameters
[in]polyDegreePolynomial degree to fit
[in]detectorDetector to modify

Definition at line 157 of file CycleSlipDetector.hpp.

◆ setThreshold()

void NAV::CycleSlipDetector::setThreshold ( double threshold,
const Detector & detector )
inline

Sets the threshold to categorize a measurement as cycle slip.

Parameters
[in]thresholdThreshold value in [% of smallest wavelength]
[in]detectorDetector to modify

Definition at line 142 of file CycleSlipDetector.hpp.

◆ setWindowSize()

void NAV::CycleSlipDetector::setWindowSize ( size_t windowSize,
const Detector & detector )
inline

Sets the amount of points used for the fit (sliding window)

Parameters
[in]windowSizeAmount of points to use for the fit
[in]detectorDetector to modify

Definition at line 127 of file CycleSlipDetector.hpp.

Friends And Related Symbol Documentation

◆ CycleSlipDetectorGui

bool CycleSlipDetectorGui ( const char * label,
CycleSlipDetector & cycleSlipDetector,
float width = 0.0F,
bool dualFrequencyAvailable = true )
friend

Shows a GUI for advanced configuration of the CycleSlipDetector.

Parameters
[in]labelLabel to show beside the combo box. This has to be a unique id for ImGui.
[in]cycleSlipDetectorReference to the cycle-slip detector to configure
[in]widthWidth of the widget
[in]dualFrequencyAvailableWhether dual frequency is available

Definition at line 211 of file CycleSlipDetector.cpp.

◆ from_json

void from_json ( const json & j,
CycleSlipDetector & data )
friend

Read info from a json object.

Parameters
[in]jJson variable to read info from
[out]dataOutput object

Definition at line 288 of file CycleSlipDetector.cpp.

◆ to_json

void to_json ( json & j,
const CycleSlipDetector & data )
friend

Write info to a json object.

Parameters
[out]jJson output
[in]dataObject to read info from

Definition at line 278 of file CycleSlipDetector.cpp.

Field Documentation

◆ _dualFrequencyDetector

PolynomialCycleSlipDetector<DualFrequencyCombination> NAV::CycleSlipDetector::_dualFrequencyDetector
private

Dual Frequency cycle-slip detector using polynomial fits.

Definition at line 240 of file CycleSlipDetector.hpp.

◆ _dualFrequencyThresholdPercentage

double NAV::CycleSlipDetector::_dualFrequencyThresholdPercentage
private

Threshold to detect a cycle-slip in [% of smallest wavelength].

Definition at line 234 of file CycleSlipDetector.hpp.

◆ _enableLLICheck

bool NAV::CycleSlipDetector::_enableLLICheck
private

Whether to check for LLI flag.

Definition at line 231 of file CycleSlipDetector.hpp.

◆ _singleFrequencyDetector

PolynomialCycleSlipDetector<SatSigId> NAV::CycleSlipDetector::_singleFrequencyDetector
private

Single Frequency carrier-phase cycle-slip detector using polynomial fits.

Definition at line 237 of file CycleSlipDetector.hpp.

◆ _singleFrequencyThresholdPercentage

double NAV::CycleSlipDetector::_singleFrequencyThresholdPercentage
private

Threshold to detect a cycle-slip in [% of smallest wavelength].

Definition at line 233 of file CycleSlipDetector.hpp.


The documentation for this class was generated from the following files: