LICSDetector Class Reference
[GPS solution algorithms and Tropospheric]

#include <LICSDetector.hpp>

Inheritance diagram for LICSDetector:

Inheritance graph
[legend]
Collaboration diagram for LICSDetector:

Collaboration graph
[legend]
List of all members.

Detailed Description

This is a class to detect cycle slips using LI observables.

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;
   ComputeLI getLI;
   LICSDetector markCSLI;

   while(rin >> gRin)
   {
      gRin >> getLI >> markCSLI;
   }

The "LICSDetector" 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.

The algorithm will use LI observables, and the LLI1 and LLI2 indexes. The result (a 1 if a cycle slip is found, 0 otherwise) will be stored in the data structure both as the CSL1 and CSL2 indexes.

This algorithm will use some values as maximum interval of time between two successive epochs, minimum threshold to declare cycle slip and LI combination limit drift.

The default values are usually fine, but you may change them with the appropriate methods. This is of special importance for the maximum interval time, that should be adjusted for your sampling rate. It is 61 seconds by default, which is appropriate for 30 seconds per sample RINEX observation files.

When used with the ">>" operator, this class returns the same incoming data structure with the cycle slip indexes 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.

Be aware that some combinations of cycle slips in L1 and L2 may result in a false negative when using a cycle slip detector based on LI. Therefore, to be on the safe side you should complement this with another kind of detector, such as one based on the Melbourne-Wubbena combination.

See also:
MWCSDetector.hpp for more information.
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 103 of file LICSDetector.hpp.

Public Member Functions

 LICSDetector ()
 Default constructor, setting default parameters.
 LICSDetector (const double &mThr, const double &drift, const double &dtMax=61.0, const bool &use=true)
 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 double getDeltaTMax () const
 Method to get the maximum interval of time allowed between two successive epochs, in seconds.
virtual LICSDetectorsetDeltaTMax (const double &maxDelta)
 Method to set the maximum interval of time allowed between two successive epochs.
virtual double getMinThreshold () const
 Method to get the minimum threshold for cycle slip detection, in meters.
virtual LICSDetectorsetMinThreshold (const double &mThr)
 Method to set the minimum threshold for cycle slip detection, in meters.
virtual double getLIDrift () const
 Method to get the LI combination limit drift, in meters/second.
virtual LICSDetectorsetLIDrift (const double &drift)
 Method to set the LI combination limit drift, in meters/second.
virtual bool getUseLLI () const
 Method to know if the LLI check is enabled or disabled.
virtual LICSDetectorsetUseLLI (const bool &use)
 Method to set whether the LLI indexes will be used as an aid or not.
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 ~LICSDetector ()
 Destructor.


Constructor & Destructor Documentation

LICSDetector  )  [inline]
 

Default constructor, setting default parameters.

Definition at line 108 of file LICSDetector.hpp.

LICSDetector const double &  mThr,
const double &  drift,
const double &  dtMax = 61.0,
const bool &  use = true
 

Common constructor.

Parameters:
mThr Minimum threshold to declare cycle slip, in meters.
drift LI combination limit drift, in meters/second.
dtMax Maximum interval of time allowed between two successive epochs, in seconds.

Definition at line 58 of file LICSDetector.cpp.

References LICSDetector::setDeltaTMax(), LICSDetector::setLIDrift(), and LICSDetector::setMinThreshold().

virtual ~LICSDetector  )  [inline, virtual]
 

Destructor.

Definition at line 227 of file LICSDetector.hpp.


Member Function Documentation

std::string getClassName void   )  const [virtual]
 

Returns a string identifying this object.

Implements ProcessingClass.

Definition at line 47 of file LICSDetector.cpp.

virtual double getDeltaTMax  )  const [inline, virtual]
 

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

Definition at line 145 of file LICSDetector.hpp.

int getIndex void   )  const [virtual]
 

Returns an index identifying this object.

Implements ProcessingClass.

Definition at line 42 of file LICSDetector.cpp.

virtual double getLIDrift  )  const [inline, virtual]
 

Method to get the LI combination limit drift, in meters/second.

Definition at line 174 of file LICSDetector.hpp.

virtual double getMinThreshold  )  const [inline, virtual]
 

Method to get the minimum threshold for cycle slip detection, in meters.

Definition at line 160 of file LICSDetector.hpp.

virtual bool getUseLLI  )  const [inline, virtual]
 

Method to know if the LLI check is enabled or disabled.

Definition at line 186 of file LICSDetector.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 254 of file LICSDetector.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 204 of file LICSDetector.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 79 of file LICSDetector.cpp.

References GPSTK_THROW, and gpstk::SatIDSet.

LICSDetector & setDeltaTMax const double &  maxDelta  )  [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 185 of file LICSDetector.cpp.

Referenced by LICSDetector::LICSDetector().

LICSDetector & setLIDrift const double &  drift  )  [virtual]
 

Method to set the LI combination limit drift, in meters/second.

Parameters:
drift LI combination limit drift, in meters/second.

Definition at line 231 of file LICSDetector.cpp.

Referenced by LICSDetector::LICSDetector().

LICSDetector & setMinThreshold const double &  mThr  )  [virtual]
 

Method to set the minimum threshold for cycle slip detection, in meters.

Parameters:
mThr Minimum threshold for cycle slip detection, in meters.

Definition at line 209 of file LICSDetector.cpp.

Referenced by LICSDetector::LICSDetector().

virtual LICSDetector& setUseLLI const bool &  use  )  [inline, virtual]
 

Method to set whether the LLI indexes will be used as an aid or not.

Parameters:
use Boolean value enabling/disabling LLI check

Definition at line 195 of file LICSDetector.hpp.


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