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


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:
// INITIALIZATION PART // EBRE station nominal position Position nominalPos(4833520.192, 41537.1043, 4147461.560); RinexObsStream rin("ebre0300.02o"); // Data stream // Load all the SP3 ephemerides files SP3EphemerisStore SP3EphList; SP3EphList.loadFile("igs11512.sp3"); SP3EphList.loadFile("igs11513.sp3"); SP3EphList.loadFile("igs11514.sp3"); // More declarations here: ComputeMOPSWeights, SimpleFilter, // LICSDetector, MWCSDetector, SolidTides, OceanLoading, // PoleTides, CorrectObservables, ComputeWindUp, ComputeLinear, // LinearCombinations, SolverPPP, etc... // Object to align phase (LC) with code (PC) measurements PhaseCodeAlignment phaseAlign; // PROCESSING PART gnssRinex gRin; while(rin >> gRin) { try { gRin >> basicM >> correctObs >> compWindup >> computeTropo >> linear >> pcFilter >> markCSLI >> markCSMW >> markArc >> phaseAlign >> pppSolver; } catch(...) { cerr << "Unknown exception at epoch: " << time << endl; continue; } // Print results cout << time.DOYsecond() << " "; // Output field #1 cout << pppSolver.solution[1] << " "; // dx: Output field #2 cout << pppSolver.solution[2] << " "; // dy: Output field #3 cout << pppSolver.solution[3] << " "; // dz: Output field #4 cout << pppSolver.solution[0] << " "; // wetTropo: Out field #5 cout << endl; }
The "PhaseCodeAlignment" object will visit every satellite in the GNSS data structure that is "gRin" and, if an arc change or cycle slip has happened, it will compute a phase offset in order to take the phase measurement close to the corresponding code measurement.
By default, "PhaseCodeAlignment" objects will align the ionosphere-free phase combination (LC) with the corresponding code (PC). Also, it will check changes in satellite arcs in order to know when offset recomputing is necessary. All these defaults may be changed with the appropriate methods.
The use of this class is not mandatory; however, it is recommendable given that resulting phase ambiguities are smaller, and it potentially improves the numerical stability of the solver.
Objects in this class store their internal state, so you MUST NOT use the SAME object to process DIFFERENT data streams.
Definition at line 134 of file PhaseCodeAlignment.hpp.
Public Member Functions | |
| PhaseCodeAlignment () | |
| Default constructor. | |
| PhaseCodeAlignment (const TypeID &phase, const TypeID &code, const double wavelength, bool useArc=true) | |
| Common constructor. | |
| virtual TypeID | getPhaseType () const |
| Method to get the phase TypeID being used. | |
| virtual PhaseCodeAlignment & | setPhaseType (const TypeID &phase) |
| Method to set the phase TypeID to be used. | |
| virtual TypeID | getCodeType () const |
| Method to get the code TypeID being used. | |
| virtual PhaseCodeAlignment & | setCodeType (const TypeID &code) |
| Method to set the code TypeID to be used. | |
| virtual double | getPhaseWavelength () const |
| Method to get phase wavelength being used. | |
| virtual PhaseCodeAlignment & | setPhaseWavelength (double wavelength) |
| Method to set the phase wavelength to be used. | |
| virtual bool | getUseSatArc () const |
| Method to get if this class will use satellite arcs (true) or cycle slip flags (false). | |
| virtual PhaseCodeAlignment & | setUseSatArc (bool useArc) |
| Method to set if this class will use satellite arcs (true) or cycle slip flags (false). | |
| virtual TypeID | getCSFlag () const |
| Method to get the default CS flag type being used. | |
| virtual PhaseCodeAlignment & | setCSFlag (const TypeID &watchFlag) |
| Method to set the default CS flag type to be used. | |
| virtual satTypeValueMap & | Process (const DayTime &epoch, 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 int | getIndex (void) const |
| Returns an index identifying this object. | |
| virtual std::string | getClassName (void) const |
| Returns a string identifying this object. | |
| virtual | ~PhaseCodeAlignment () |
| Destructor. | |
|
|
Default constructor.
Definition at line 139 of file PhaseCodeAlignment.hpp. References gpstk::codeType. |
|
||||||||||||||||||||
|
Common constructor.
Definition at line 58 of file PhaseCodeAlignment.cpp. References gpstk::codeType, and PhaseCodeAlignment::setPhaseWavelength(). |
|
|
Destructor.
Definition at line 264 of file PhaseCodeAlignment.hpp. |
|
|
Returns a string identifying this object.
Implements ProcessingClass. Definition at line 47 of file PhaseCodeAlignment.cpp. |
|
|
Method to get the code TypeID being used.
Definition at line 173 of file PhaseCodeAlignment.hpp. |
|
|
Method to get the default CS flag type being used.
Definition at line 214 of file PhaseCodeAlignment.hpp. |
|
|
Returns an index identifying this object.
Implements ProcessingClass. Definition at line 42 of file PhaseCodeAlignment.cpp. |
|
|
Method to get the phase TypeID being used.
Definition at line 160 of file PhaseCodeAlignment.hpp. |
|
|
Method to get phase wavelength being used.
Definition at line 186 of file PhaseCodeAlignment.hpp. |
|
|
Method to get if this class will use satellite arcs (true) or cycle slip flags (false).
Definition at line 199 of file PhaseCodeAlignment.hpp. |
|
|
Returns a gnnsRinex object, adding the new data generated when calling this object.
Implements ProcessingClass. Definition at line 292 of file PhaseCodeAlignment.cpp. References GPSTK_THROW. |
|
|
Returns a gnnsSatTypeValue object, adding the new data generated when calling this object.
Implements ProcessingClass. Definition at line 260 of file PhaseCodeAlignment.cpp. References GPSTK_THROW. |
|
||||||||||||
|
Returns a satTypeValueMap object, adding the new data generated when calling this object.
Definition at line 104 of file PhaseCodeAlignment.cpp. References gpstk::codeType, GPSTK_THROW, and gpstk::SatIDSet. |
|
|
Method to set the code TypeID to be used.
Definition at line 181 of file PhaseCodeAlignment.hpp. References gpstk::codeType. |
|
|
Method to set the default CS flag type to be used.
Definition at line 222 of file PhaseCodeAlignment.hpp. |
|
|
Method to set the phase TypeID to be used.
Definition at line 168 of file PhaseCodeAlignment.hpp. |
|
|
Method to set the phase wavelength to be used.
Definition at line 79 of file PhaseCodeAlignment.cpp. Referenced by PhaseCodeAlignment::PhaseCodeAlignment(). |
|
|
Method to set if this class will use satellite arcs (true) or cycle slip flags (false).
Definition at line 209 of file PhaseCodeAlignment.hpp. |
1.3.9.1