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


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; // We MUST mark cycle slips CodeSmoother smoothC1; while(rin >> gRin) { gRin >> markCSC1 >> smoothC1; }
The "CodeSmoother" object will visit every satellite in the GNSS data structure that is "gRin" and will smooth the given code observation using the corresponding phase observation.
By default, the algorithm will use C1 and L1 observables, and the CSL1 index will be consulted for cycle slip information. You can change these settings with the appropriate methods.
When used with the ">>" operator, this class returns the same incoming data structure with the code observation smoothed (unless the 'resultType' field is changed). Be warned that if a given satellite does not have the observations required, it will be summarily deleted from the data structure.
Another important parameter is the maxWindowSize field. By default, it is set to 100 samples (you may adjust that with the setMaxWindowSize() method).
A window of 100 samples is typical and appropriate when working with data sampled at 1 Hz, because then the full window will last at most 100 seconds.
However, if for instance your samples are taken at 30 seconds (and you are working with C1/L1 or other ionosphere-affected observation pair), then the former value of number of samples will yield a window of 50 minutes will be used and you will get badly distorted data because of ionosphere drift, among other effects.
A good rule here is to make sure that the filter window lasts at most 5 minutes. Therefore, for a 30 s sampling data set you should set your smoother object like this:
CodeSmoother smoothC1; smoothC1.setMaxWindowSize(8);
Resulting in a 4 minutes filter window.
Definition at line 110 of file CodeSmoother.hpp.
Public Member Functions | |
| CodeSmoother () | |
| Default constructor, setting default parameters and C1 and L1 as observables. | |
| CodeSmoother (const TypeID &codeT, const int &mwSize=100) | |
| Common constructor. | |
| virtual satTypeValueMap & | Process (satTypeValueMap &gData) throw (ProcessingException) |
| Returns a satTypeValueMap object, adding the new data generated when calling this object. | |
| 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 TypeID | getCodeType () const |
| Method to get the default code type being used. | |
| virtual CodeSmoother & | setCodeType (const TypeID &codeT) |
| Method to set the default code type to be used. | |
| virtual TypeID | getPhaseType () const |
| Method to get the default phase type being used. | |
| virtual CodeSmoother & | setPhaseType (const TypeID &phaseT) |
| Method to set the default phase type to be used. | |
| virtual TypeID | getCSFlag () const |
| Method to get the default cycle slip type being used. | |
| virtual CodeSmoother & | setCSFlag (const TypeID &csT) |
| Method to set the default cycle slip type to be used. | |
| virtual TypeID | getResultType () const |
| Method to get the default return type being used. | |
| virtual CodeSmoother & | setResultType (const TypeID &resultT) |
| Method to set the default return type to be used. | |
| virtual int | getMaxWindowSize () const |
| Method to get the maximum size of filter window, in samples. | |
| virtual CodeSmoother & | setMaxWindowSize (const int &maxSize) |
| Method to set the maximum size of filter window, in samples. | |
| virtual int | getIndex (void) const |
| Returns an index identifying this object. | |
| virtual std::string | getClassName (void) const |
| Returns a string identifying this object. | |
| virtual | ~CodeSmoother () |
| Destructor. | |
|
|
Default constructor, setting default parameters and C1 and L1 as observables.
Definition at line 116 of file CodeSmoother.hpp. References gpstk::codeType, and L1. |
|
||||||||||||
|
Common constructor.
Definition at line 58 of file CodeSmoother.cpp. References gpstk::codeType, and TypeID::type. |
|
|
Destructor.
Definition at line 232 of file CodeSmoother.hpp. |
|
|
Returns a string identifying this object.
Implements ProcessingClass. Reimplemented in PCSmoother. Definition at line 48 of file CodeSmoother.cpp. |
|
|
Method to get the default code type being used.
Definition at line 160 of file CodeSmoother.hpp. |
|
|
Method to get the default cycle slip type being used.
Definition at line 186 of file CodeSmoother.hpp. |
|
|
Returns an index identifying this object.
Implements ProcessingClass. Reimplemented in PCSmoother. Definition at line 43 of file CodeSmoother.cpp. |
|
|
Method to get the maximum size of filter window, in samples.
Reimplemented in PCSmoother. Definition at line 212 of file CodeSmoother.hpp. |
|
|
Method to get the default phase type being used.
Definition at line 173 of file CodeSmoother.hpp. |
|
|
Method to get the default return type being used.
Reimplemented in PCSmoother. Definition at line 199 of file CodeSmoother.hpp. |
|
|
Returns a gnnsRinex object, adding the new data generated when calling this object.
Implements ProcessingClass. Definition at line 154 of file CodeSmoother.hpp. |
|
|
Returns a gnnsSatTypeValue object, adding the new data generated when calling this object.
Implements ProcessingClass. Definition at line 144 of file CodeSmoother.hpp. |
|
|
Returns a satTypeValueMap object, adding the new data generated when calling this object.
Reimplemented in PCSmoother. Definition at line 142 of file CodeSmoother.cpp. References gpstk::codeType, GPSTK_THROW, and gpstk::SatIDSet. |
|
|
Method to set the default code type to be used.
Definition at line 168 of file CodeSmoother.hpp. References gpstk::codeType. |
|
|
Method to set the default cycle slip type to be used.
Definition at line 194 of file CodeSmoother.hpp. |
|
|
Method to set the maximum size of filter window, in samples.
Reimplemented in PCSmoother. Definition at line 212 of file CodeSmoother.cpp. |
|
|
Method to set the default phase type to be used.
Definition at line 181 of file CodeSmoother.hpp. |
|
|
Method to set the default return type to be used.
Reimplemented in PCSmoother. Definition at line 207 of file CodeSmoother.hpp. |
1.3.9.1