#include <OneFreqCSDetector.hpp>
Inheritance diagram for OneFreqCSDetector:


This class is meant to be used with the GNSS data structures objects found in "DataStructures" class.
A typical way to use this class follows:
RinexObsStream rin("ebre0300.02o"); gnssRinex gRin; OneFreqCSDetector markCSC1; while(rin >> gRin) { gRin >> markCSC1; }
The "OneFreqCSDetector" object will visit every satellite in the GNSS data structure that is "gRin" and will decide if a cycle slip has happened in the given observable.
By default, the algorithm will use C1 and L1 observables, and the LLI1 index. The result (a 1 if a cycle slip is found, 0 otherwise) will be stored in the data structure as the CSL1 index.
Note that these data types may be changed using the appropriate methods. For example:
markCSC1.setCodeType(TypeID::P2);
markCSC1.setPhaseType(TypeID::L2);
markCSC1.setLLIType(TypeID::LLI2);
markCSC1.setResultType(TypeID::CSI2);
This algorithm will compute the bias between code and phase, and will compare it with a mean bias that is computed on the fly. If the current bias exceeds a given threshold, then a cycle slip is declared.
The algorithm will also use the corresponding LLI index (and the RINEX epoch flag, if present) to guide its decision.
The threshold, as well as the filter window size and the maximum allowed time interval between two successive measures, may be tuned with their corresponding methods. For instance:
markCSC1.setMaxNumSigmas(3.5);
markCSC1.setMaxWindowSize(20);
Please be aware that the window size should not be too big, because other factors (such as ionospheric drift) may show up in the bias, affecting the algorithm. When using 1 Hz data sampling, a window size between 60 and 100 samples will be fine.
When used with the ">>" operator, this class returns the same incoming data structure with the cycle slip index inserted along their corresponding satellites.
Be warned that if a given satellite does not have the observations required, it will be summarily deleted from the data structure.
Definition at line 122 of file OneFreqCSDetector.hpp.
Public Member Functions | |
| OneFreqCSDetector () | |
| Default constructor, setting default parameters and C1 and L1 observables. | |
| OneFreqCSDetector (const TypeID &codeT, const double &dtMax=31.0, const int &mwSize=60, const double &mnSigmas=4.5, const double &dbSigma=4.0) | |
| Common constructor. | |
| virtual satTypeValueMap & | Process (const DayTime &epoch, satTypeValueMap &gData, const short &epochflag=0) throw (ProcessingException) |
| Returns a satTypeValueMap object, adding the new data generated when calling this object. | |
| virtual OneFreqCSDetector & | setCodeType (const TypeID &codeT) |
| Method to set the default code type to be used. | |
| virtual TypeID | getCodeType () const |
| Method to get the default code type being used. | |
| virtual OneFreqCSDetector & | setPhaseType (const TypeID &phaseT) |
| Method to set the default phase type to be used. | |
| virtual TypeID | getPhaseType () const |
| Method to get the default phase type being used. | |
| virtual OneFreqCSDetector & | setLLIType (const TypeID &lliT) |
| Method to set the default LLI to be used. | |
| virtual TypeID | getLLIType () const |
| Method to get the default LLI being used. | |
| virtual OneFreqCSDetector & | setResultType (const TypeID &resultT) |
| Method to set the default return type to be used. | |
| virtual TypeID | getResultType () const |
| Method to get the default return type being used. | |
| virtual OneFreqCSDetector & | setDeltaTMax (const double &maxDelta) |
| Method to set the maximum interval of time allowed between two successive epochs. | |
| virtual double | getDeltaTMax () const |
| Method to get the maximum interval of time allowed between two successive epochs. | |
| virtual OneFreqCSDetector & | setMaxWindowSize (const int &maxSize) |
| Method to set the maximum size of filter window, in samples. | |
| virtual int | getMaxWindowSize () const |
| Method to get the maximum size of filter window, in samples. | |
| virtual OneFreqCSDetector & | setMaxNumSigmas (const double &maxNSigmas) |
| Method to set the maximum deviation allowed before declaring cycle slip (in number of sigmas). | |
| virtual double | getMaxNumSigmas () const |
| Method to get the maximum deviation allowed before declaring cycle slip (in number of sigmas). | |
| virtual OneFreqCSDetector & | setDefaultBiasSigma (const double &defSigma) |
| Method to set the default value assigned to sigma when filter starts. | |
| virtual double | getDefaultBiasSigma () const |
| Method to get the default value assigned to sigma when filter starts, in meters. | |
| virtual gnssSatTypeValue & | Process (gnssSatTypeValue &gData) throw (ProcessingException) |
| Returns a gnnsSatTypeValue object, adding the new data generated when calling this object. | |
| virtual gnssRinex & | Process (gnssRinex &gData) throw (ProcessingException) |
| Returns a gnnsRinex object, adding the new data generated when calling this object. | |
| virtual int | getIndex (void) const |
| Returns an index identifying this object. | |
| virtual std::string | getClassName (void) const |
| Returns a string identifying this object. | |
| virtual | ~OneFreqCSDetector () |
| Destructor. | |
|
|
Default constructor, setting default parameters and C1 and L1 observables.
Definition at line 129 of file OneFreqCSDetector.hpp. References gpstk::codeType, and L1. |
|
||||||||||||||||||||||||
|
Common constructor.
Definition at line 63 of file OneFreqCSDetector.cpp. References gpstk::codeType, and TypeID::type. |
|
|
Destructor.
Definition at line 306 of file OneFreqCSDetector.hpp. |
|
|
Returns a string identifying this object.
Implements ProcessingClass. Definition at line 48 of file OneFreqCSDetector.cpp. |
|
|
Method to get the default code type being used.
Definition at line 176 of file OneFreqCSDetector.hpp. |
|
|
Method to get the default value assigned to sigma when filter starts, in meters.
Definition at line 274 of file OneFreqCSDetector.hpp. |
|
|
Method to get the maximum interval of time allowed between two successive epochs.
Definition at line 230 of file OneFreqCSDetector.hpp. |
|
|
Returns an index identifying this object.
Implements ProcessingClass. Definition at line 43 of file OneFreqCSDetector.cpp. |
|
|
Method to get the default LLI being used.
Definition at line 202 of file OneFreqCSDetector.hpp. |
|
|
Method to get the maximum deviation allowed before declaring cycle slip (in number of sigmas).
Definition at line 258 of file OneFreqCSDetector.hpp. |
|
|
Method to get the maximum size of filter window, in samples.
Definition at line 242 of file OneFreqCSDetector.hpp. |
|
|
Method to get the default phase type being used.
Definition at line 189 of file OneFreqCSDetector.hpp. |
|
|
Method to get the default return type being used.
Definition at line 215 of file OneFreqCSDetector.hpp. |
|
|
Returns a gnnsRinex object, adding the new data generated when calling this object.
Implements ProcessingClass. Definition at line 231 of file OneFreqCSDetector.cpp. References GPSTK_THROW. |
|
|
Returns a gnnsSatTypeValue object, adding the new data generated when calling this object.
Implements ProcessingClass. Definition at line 283 of file OneFreqCSDetector.hpp. |
|
||||||||||||||||
|
Returns a satTypeValueMap object, adding the new data generated when calling this object.
Definition at line 133 of file OneFreqCSDetector.cpp. References gpstk::codeType, GPSTK_THROW, and gpstk::SatIDSet. |
|
|
Method to set the default code type to be used.
Definition at line 171 of file OneFreqCSDetector.hpp. References gpstk::codeType. |
|
|
Method to set the default value assigned to sigma when filter starts.
Definition at line 268 of file OneFreqCSDetector.hpp. |
|
|
Method to set the maximum interval of time allowed between two successive epochs.
Definition at line 224 of file OneFreqCSDetector.hpp. |
|
|
Method to set the default LLI to be used.
Definition at line 197 of file OneFreqCSDetector.hpp. |
|
|
Method to set the maximum deviation allowed before declaring cycle slip (in number of sigmas).
Definition at line 252 of file OneFreqCSDetector.hpp. |
|
|
Method to set the maximum size of filter window, in samples.
Definition at line 208 of file OneFreqCSDetector.cpp. |
|
|
Method to set the default phase type to be used.
Definition at line 184 of file OneFreqCSDetector.hpp. |
|
|
Method to set the default return type to be used.
Definition at line 210 of file OneFreqCSDetector.hpp. |
1.3.9.1