OneFreqCSDetector Class Reference
[GPS solution algorithms and Tropospheric]

#include <OneFreqCSDetector.hpp>

Inheritance diagram for OneFreqCSDetector:

Inheritance graph
[legend]
Collaboration diagram for OneFreqCSDetector:

Collaboration graph
[legend]
List of all members.

Detailed Description

This is a class to detect cycle slips using observables in just one frequency.

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.

See also:
LICSDetector.hpp, LICSDetector2.hpp and MWCSDetector.hpp for other cycle slip detectors.
Warning:
Cycle slip detectors are objets that store their internal state, so you MUST NOT use the SAME object to process DIFFERENT data streams.

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 satTypeValueMapProcess (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 OneFreqCSDetectorsetCodeType (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 OneFreqCSDetectorsetPhaseType (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 OneFreqCSDetectorsetLLIType (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 OneFreqCSDetectorsetResultType (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 OneFreqCSDetectorsetDeltaTMax (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 OneFreqCSDetectorsetMaxWindowSize (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 OneFreqCSDetectorsetMaxNumSigmas (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 OneFreqCSDetectorsetDefaultBiasSigma (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 gnssSatTypeValueProcess (gnssSatTypeValue &gData) throw (ProcessingException)
 Returns a gnnsSatTypeValue object, adding the new data generated when calling this object.
virtual gnssRinexProcess (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.


Constructor & Destructor Documentation

OneFreqCSDetector  )  [inline]
 

Default constructor, setting default parameters and C1 and L1 observables.

Definition at line 129 of file OneFreqCSDetector.hpp.

References gpstk::codeType, and L1.

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.

Parameters:
codeT Type of code to be used.
dtMax Maximum interval of time allowed between two successive epochs.
mwSize Maximum size of filter window, in samples.
mnSigmas Maximum deviation allowed before declaring cycle slip (in number of sigmas).
dbSigma Default value assigned to sigma when filter starts, in meters.

Definition at line 63 of file OneFreqCSDetector.cpp.

References gpstk::codeType, and TypeID::type.

virtual ~OneFreqCSDetector  )  [inline, virtual]
 

Destructor.

Definition at line 306 of file OneFreqCSDetector.hpp.


Member Function Documentation

std::string getClassName void   )  const [virtual]
 

Returns a string identifying this object.

Implements ProcessingClass.

Definition at line 48 of file OneFreqCSDetector.cpp.

virtual TypeID getCodeType  )  const [inline, virtual]
 

Method to get the default code type being used.

Definition at line 176 of file OneFreqCSDetector.hpp.

virtual double getDefaultBiasSigma  )  const [inline, virtual]
 

Method to get the default value assigned to sigma when filter starts, in meters.

Definition at line 274 of file OneFreqCSDetector.hpp.

virtual double getDeltaTMax  )  const [inline, virtual]
 

Method to get the maximum interval of time allowed between two successive epochs.

Definition at line 230 of file OneFreqCSDetector.hpp.

int getIndex void   )  const [virtual]
 

Returns an index identifying this object.

Implements ProcessingClass.

Definition at line 43 of file OneFreqCSDetector.cpp.

virtual TypeID getLLIType  )  const [inline, virtual]
 

Method to get the default LLI being used.

Definition at line 202 of file OneFreqCSDetector.hpp.

virtual double getMaxNumSigmas  )  const [inline, virtual]
 

Method to get the maximum deviation allowed before declaring cycle slip (in number of sigmas).

Definition at line 258 of file OneFreqCSDetector.hpp.

virtual int getMaxWindowSize  )  const [inline, virtual]
 

Method to get the maximum size of filter window, in samples.

Definition at line 242 of file OneFreqCSDetector.hpp.

virtual TypeID getPhaseType  )  const [inline, virtual]
 

Method to get the default phase type being used.

Definition at line 189 of file OneFreqCSDetector.hpp.

virtual TypeID getResultType  )  const [inline, virtual]
 

Method to get the default return type being used.

Definition at line 215 of file OneFreqCSDetector.hpp.

gnssRinex & Process gnssRinex gData  )  throw (ProcessingException) [virtual]
 

Returns a gnnsRinex object, adding the new data generated when calling this object.

Parameters:
gData Data object holding the data.

Implements ProcessingClass.

Definition at line 231 of file OneFreqCSDetector.cpp.

References GPSTK_THROW.

virtual gnssSatTypeValue& Process gnssSatTypeValue gData  )  throw (ProcessingException) [inline, virtual]
 

Returns a gnnsSatTypeValue object, adding the new data generated when calling this object.

Parameters:
gData Data object holding the data.

Implements ProcessingClass.

Definition at line 283 of file OneFreqCSDetector.hpp.

satTypeValueMap & Process const DayTime epoch,
satTypeValueMap gData,
const short &  epochflag = 0
throw (ProcessingException) [virtual]
 

Returns a satTypeValueMap object, adding the new data generated when calling this object.

Parameters:
epoch Time of observations.
gData Data object holding the data.
epochflag Epoch flag.

Definition at line 133 of file OneFreqCSDetector.cpp.

References gpstk::codeType, GPSTK_THROW, and gpstk::SatIDSet.

virtual OneFreqCSDetector& setCodeType const TypeID codeT  )  [inline, virtual]
 

Method to set the default code type to be used.

Parameters:
codeT TypeID of code to be used

Definition at line 171 of file OneFreqCSDetector.hpp.

References gpstk::codeType.

virtual OneFreqCSDetector& setDefaultBiasSigma const double &  defSigma  )  [inline, virtual]
 

Method to set the default value assigned to sigma when filter starts.

Parameters:
defSigma Default value assigned to sigma when filter starts, in meters.

Definition at line 268 of file OneFreqCSDetector.hpp.

virtual OneFreqCSDetector& setDeltaTMax const double &  maxDelta  )  [inline, virtual]
 

Method to set the maximum interval of time allowed between two successive epochs.

Parameters:
maxDelta Maximum interval of time, in seconds

Definition at line 224 of file OneFreqCSDetector.hpp.

virtual OneFreqCSDetector& setLLIType const TypeID lliT  )  [inline, virtual]
 

Method to set the default LLI to be used.

Parameters:
lliT LLI to be used

Definition at line 197 of file OneFreqCSDetector.hpp.

virtual OneFreqCSDetector& setMaxNumSigmas const double &  maxNSigmas  )  [inline, virtual]
 

Method to set the maximum deviation allowed before declaring cycle slip (in number of sigmas).

Parameters:
maxNSigmas Maximum deviation allowed before declaring cycle slip (in number of sigmas).

Definition at line 252 of file OneFreqCSDetector.hpp.

OneFreqCSDetector & setMaxWindowSize const int &  maxSize  )  [virtual]
 

Method to set the maximum size of filter window, in samples.

Parameters:
maxSize Maximum size of filter window, in samples.

Definition at line 208 of file OneFreqCSDetector.cpp.

virtual OneFreqCSDetector& setPhaseType const TypeID phaseT  )  [inline, virtual]
 

Method to set the default phase type to be used.

Parameters:
phaseT TypeID of phase to be used

Definition at line 184 of file OneFreqCSDetector.hpp.

virtual OneFreqCSDetector& setResultType const TypeID resultT  )  [inline, virtual]
 

Method to set the default return type to be used.

Parameters:
returnT TypeID to be returned

Definition at line 210 of file OneFreqCSDetector.hpp.


The documentation for this class was generated from the following files:
Generated on Thu Feb 9 03:31:30 2012 for GPS ToolKit Software Library by  doxygen 1.3.9.1