Definition at line 402 of file DiscCorr.cpp.
Public Member Functions | |
list< Segment >::iterator | createSegment (list< Segment >::iterator sit, int ibeg, string msg=string()) |
void | deleteSegment (list< Segment >::iterator &it, string msg=string()) |
int | detectGFslips () |
int | detectGFsmallSlips () |
int | detectObviousSlips (string which) |
int | detectWLslips () |
int | detectWLsmallSlips () |
string | dumpSegments (string msg, int level=2, bool extra=false) |
long | EstimateGFslipFix (list< Segment >::iterator &left, list< Segment >::iterator &right, unsigned int nb, unsigned int ne, long n1) |
string | finish (int iret, SatPass &svp, vector< string > &editCmds) |
int | firstDifferences (string which) |
int | fixAllSlips (string which) |
void | fixOneSlip (list< Segment >::iterator &kt, string which) |
bool | foundGFoutlier (int i, int inew, Stats< double > &pastSt, Stats< double > &futureSt) |
bool | foundGFsmallSlip (int i, int nseg, int iend, int ibeg, deque< int > &pastIn, deque< int > &futureIn, Stats< double > &pastSt, Stats< double > &futureSt) |
bool | foundWLsmallSlip (list< Segment >::iterator &it, int i) |
GDCPass (SatPass &sp, const GDCconfiguration &gdc) | |
int | GFphaseResiduals (list< Segment >::iterator &it) |
void | GFslipFix (list< Segment >::iterator &left, list< Segment >::iterator &right) |
int | linearCombinations () |
int | prepareGFdata () |
int | preprocess () |
void | WLcomputeStats (list< Segment >::iterator &it) |
int | WLconsistencyCheck () |
void | WLsigmaStrip (list< Segment >::iterator &it) |
void | WLslipFix (list< Segment >::iterator &left, list< Segment >::iterator &right) |
int | WLstatSweep (list< Segment >::iterator &it, int width) |
![]() | |
int | addData (const Epoch &tt, const std::vector< std::string > &obstypes, const std::vector< double > &data, const std::vector< unsigned short > &lli, const std::vector< unsigned short > &ssi, const unsigned short flag=SatPass::OK) |
int | addData (const Epoch &tt, std::vector< std::string > &obstypes, std::vector< double > &data) |
int | addData (const RinexObsData &robs) |
void | clear () |
clear the data (but not the obs types) from the arrays More... | |
double & | data (unsigned int i, const std::string &type) |
double | data (unsigned int i, const std::string &type1, const std::string &type2) const |
void | decimate (const int N, Epoch refTime=CommonTime::BEGINNING_OF_TIME) |
void | dump (std::ostream &os, const std::string &msg1, const std::string &msg2=std::string()) |
unsigned int | getCount (unsigned int i) const |
double | getDT () const |
Epoch | getFirstGoodTime () const |
Epoch | getFirstTime () const |
unsigned short | getFlag (unsigned int i) const |
bool | getGLOchannel (int &n, std::string &msg) |
Epoch | getLastGoodTime () const |
Epoch | getLastTime () const |
double | getMaxGap () const |
int | getNgood () const |
std::vector< std::string > | getObsTypes () |
std::vector< std::string > | getObstypes () |
Access the obstypes (as strings) More... | |
std::string | getOutputFormat () |
RinexSatID | getSat () const |
int | getStatus () const |
Access the status as r-value only. More... | |
unsigned int | getUserFlag (unsigned int i) const |
bool | hasCommonView (const SatPass &that, double *pdelt=NULL, Epoch *pttb=NULL, Epoch *ptte=NULL) |
bool | hasOverlap (const SatPass &that, double *pdelt=NULL, Epoch *pttb=NULL, Epoch *ptte=NULL) |
bool | hasType (std::string type) const |
bool | includesTime (const Epoch &tt) const |
int | index (const Epoch &tt) const |
unsigned short & | LLI (unsigned int i, const std::string &type) |
unsigned short | LLI (unsigned int i, const std::string &type1, const std::string &type2) |
bool | operator< (const SatPass &right) const |
'less than' is required for sort() and map<SatPass,...>.find(SatPass) More... | |
SatPass & | operator= (const SatPass &right) |
void | renameObstypes (std::map< std::string, std::string > &subst) |
SatPass (const RinexSatID &sat, double dt) | |
SatPass (const RinexSatID &sat, double dt, std::vector< std::string > obstypes) | |
void | setFlag (unsigned int i, unsigned short flag) |
void | setOutputFormat (std::string fmt, int round=3) |
void | setUserFlag (unsigned int i, unsigned int inflag) |
unsigned int | size () const |
void | smooth (bool smoothPR, bool smoothPH, std::string &msg, const double &wl1=L1_WAVELENGTH_GPS, const double &wl2=L2_WAVELENGTH_GPS) |
void | smoothSF (bool smoothPR, bool smoothPH, std::string &msg, const int freq, double wl) |
bool | split (int N, SatPass &newSP) |
unsigned short & | SSI (unsigned int i, const std::string &type) |
unsigned short | SSI (unsigned int i, const std::string &type1, const std::string &type2) |
int & | status () |
Access the status; l-value may be assigned SP.status() = 1;. More... | |
Epoch | time (unsigned int i) const |
double & | timeoffset (unsigned int i) |
std::string | toString (std::string msg="", std::string fmt="%04Y/%02m/%02d %02H:%02M:%06.3f = %04F %w %10.3g") |
int | trimAfter (const Epoch ttag) |
![]() | |
void | DisplayParameterUsage (std::ostream &os, bool advanced=false) |
GDCconfiguration () | |
constructor; this sets a full default set of parameters. More... | |
std::string | getDescription (const std::string &label) |
Get the description of a parameter. More... | |
double | getParameter (const std::string &label) |
Get the parameter in the configuration corresponding to label. More... | |
void | setDebugStream (std::ostream &os) |
Tell GDCconfiguration to which stream to send debugging output. More... | |
void | setParameter (const std::string &label, double value) |
void | setParameter (std::string cmd) |
std::string | Version () |
Return version string. More... | |
~GDCconfiguration () | |
destructor More... | |
Static Public Attributes | |
static const unsigned short | DETECT = 6 |
static const unsigned short | FIX = 24 |
static const unsigned short | GFDETECT = 4 |
static const unsigned short | GFFIX = 16 |
static const unsigned short | WLDETECT = 2 |
static const unsigned short | WLFIX = 8 |
![]() | |
static const GNSSTK_EXPORT unsigned short | BAD = 0 |
flag indicating bad data More... | |
static const GNSSTK_EXPORT unsigned short | LL1 = 2 |
static const GNSSTK_EXPORT unsigned short | LL2 = 4 |
static const GNSSTK_EXPORT unsigned short | LL3 = 6 |
static GNSSTK_EXPORT std::string | longfmt |
static GNSSTK_EXPORT double | maxGap = 1800 |
size of maximum time gap, in seconds, allowed within SatPass data. More... | |
static const GNSSTK_EXPORT unsigned short | OK = 1 |
static GNSSTK_EXPORT std::string | outFormat |
static GNSSTK_EXPORT int | outRound = 3 |
Private Member Functions | |
double | cfg_func (string a) |
Private Attributes | |
Stats< double > | GFPassStats |
stats on the first difference of GF after detectObviousSlips(GF) More... | |
map< string, int > | learn |
polynomial fit to the geometry-free range for the whole pass More... | |
list< Segment > | SegList |
list< Slip > | SlipList |
list of Slips found; used to generate the editing commands on output More... | |
Stats< double > | WLPassStats |
temporary storage arrays, parallel to SatPass::data More... | |
Additional Inherited Members | |
![]() | |
static double | setMaxGap (double gap) |
![]() | |
int | countForTime (const Epoch &tt) const |
struct SatPassData | getData (unsigned int i) const |
void | init (const RinexSatID &sat, double dt, std::vector< std::string > obstypes) |
called by constructors to initialize - see doc for them. More... | |
int | pushBack (const Epoch tt, SatPassData &spd) |
![]() | |
void | initialize () |
![]() | |
double | dt |
Nominal time spacing of the data; determined on input or by decimate() More... | |
Epoch | firstTime |
std::map< std::string, unsigned int > | indexForLabel |
std::map< unsigned int, std::string > | labelForIndex |
Epoch | lastTime |
unsigned int | ngood |
number of timetags with good data in the data arrays. More... | |
RinexSatID | sat |
Satellite identifier for this data. More... | |
std::vector< SatPassData > | spdvector |
ALL data in the pass, stored in SatPassData objects, in time order. More... | |
int | Status |
![]() | |
std::map< std::string, double > | CFG |
map containing configuration labels and their values More... | |
std::map< std::string, std::string > | CFGdescription |
map containing configuration labels and their descriptions More... | |
std::ostream * | p_oflog |
Stream on which to write debug output. More... | |
![]() | |
static const GNSSTK_EXPORT std::string | GDCVersion = string("6.3 12/15/2015") |
|
explicit |
Definition at line 948 of file DiscCorr.cpp.
|
inlineprivate |
define this function so that invalid labels will throw, because this fails silently #define cfg(a) CFG[#a] // stringize
Exception |
Definition at line 587 of file DiscCorr.cpp.
list< Segment >::iterator GDCPass::createSegment | ( | list< Segment >::iterator | sit, |
int | ibeg, | ||
string | msg = string() |
||
) |
create a new segment from the given one, starting at index ibeg, and insert it after the given iterator. Return an iterator pointing to the new segment. String msg is for debug output
Exception |
Definition at line 4299 of file DiscCorr.cpp.
void GDCPass::deleteSegment | ( | list< Segment >::iterator & | it, |
string | msg = string() |
||
) |
delete (set all points bad) segment it, optional message is used in debug print
Exception |
Definition at line 4493 of file DiscCorr.cpp.
int GDCPass::detectGFslips | ( | ) |
detect slips in the geometry-free phase
Exception |
Definition at line 2976 of file DiscCorr.cpp.
int GDCPass::detectGFsmallSlips | ( | ) |
detect small slips in the geometry-free phase using its first difference compute statistics in two windows of fixed width on either side of the point of interest and use these to find slips and outliers
Exception |
Definition at line 3178 of file DiscCorr.cpp.
int GDCPass::detectObviousSlips | ( | string | which | ) |
detect obvious slips by computing the first difference (of either WL or GFP) and looking for outliers. create new segments where there are slips which is either 'WL' or 'GF'.
Exception |
Definition at line 1349 of file DiscCorr.cpp.
int GDCPass::detectWLslips | ( | ) |
detect slips in the wide lane bias
Exception |
Definition at line 1246 of file DiscCorr.cpp.
int GDCPass::detectWLsmallSlips | ( | ) |
detect slips in all segments using the results of WLstatSweep() if close to either end (< window width), just chop off the small segment when a slip is found, create a new segment also compute conventional stats for each Segment, store in Segment.WLStats
Exception |
Definition at line 1943 of file DiscCorr.cpp.
string GDCPass::dumpSegments | ( | string | msg, |
int | level = 2 , |
||
bool | extra = false |
||
) |
dump a list of the segments, detail dependent on level level=0 one line summary (number of segments) level=1 one per line list of segments level=2 dump all data, including (if extra) temporary arrays return the level 1 output as a string
Exception |
Definition at line 4374 of file DiscCorr.cpp.
long GDCPass::EstimateGFslipFix | ( | list< Segment >::iterator & | left, |
list< Segment >::iterator & | right, | ||
unsigned int | nb, | ||
unsigned int | ne, | ||
long | n1 | ||
) |
estimate the size of the slip between segments left and right, using points from indexes nb to ne; n1 is the initial estimate of the slip called by GFslipFix()
Exception |
Definition at line 2739 of file DiscCorr.cpp.
string GDCPass::finish | ( | int | iret, |
SatPass & | svp, | ||
vector< string > & | editCmds | ||
) |
last call before returning: copy edited data back into caller's SatPass, generate editing commands, and print and return the final summary.
Exception |
Definition at line 3862 of file DiscCorr.cpp.
int GDCPass::firstDifferences | ( | string | which | ) |
compute first differences of data arrays for WL and GF gross slips detection. for WL difference the WLbias; for GF, the GFP and the residual GFP-GFR Store results in temporary array A1 and A2
Exception |
Definition at line 1516 of file DiscCorr.cpp.
int GDCPass::fixAllSlips | ( | string | which | ) |
estimate slips in the WL bias and adjust biases appropriately - ie fix WL slips also compute stats for WL for the whole pass
Exception |
Definition at line 2281 of file DiscCorr.cpp.
void GDCPass::fixOneSlip | ( | list< Segment >::iterator & | kt, |
string | which | ||
) |
fix the slip at the beginning of the segment pointed to by kt, which is the string 'WL' or 'GF'.
Exception |
Definition at line 2393 of file DiscCorr.cpp.
bool GDCPass::foundGFoutlier | ( | int | i, |
int | inew, | ||
Stats< double > & | pastSt, | ||
Stats< double > & | futureSt | ||
) |
determine if there is an outlier in the GF phase, using the GFP first difference and the statistics computed in detectGFsmallSlips(). Criteria:
Exception |
Definition at line 3331 of file DiscCorr.cpp.
bool GDCPass::foundGFsmallSlip | ( | int | i, |
int | nseg, | ||
int | iend, | ||
int | ibeg, | ||
deque< int > & | pastIn, | ||
deque< int > & | futureIn, | ||
Stats< double > & | pastSt, | ||
Stats< double > & | futureSt | ||
) |
determine if a small GF slip is found, using the first differenced gfp and statistics computed in detectGFsmallSlips() Criteria:
Exception |
Definition at line 3423 of file DiscCorr.cpp.
bool GDCPass::foundWLsmallSlip | ( | list< Segment >::iterator & | it, |
int | i | ||
) |
determine if a slip has been found at index i, in segment nseg (0..) which is associated with it. conditions for a slip to be detected:
Exception |
Definition at line 2077 of file DiscCorr.cpp.
int GDCPass::GFphaseResiduals | ( | list< Segment >::iterator & | it | ) |
for each segment, fit a polynomial to the gfr, then compute and store the residual of fit; at the same time, compute stats on the first difference of GF
Exception |
Definition at line 3077 of file DiscCorr.cpp.
fix the slip between segments pointed to by left and right
Exception |
Definition at line 2567 of file DiscCorr.cpp.
int GDCPass::linearCombinations | ( | ) |
compute linear combinations and place the result in the data arrays: L1 -> L1; L2 -> GFP(m) P1 -> WLB(cyc) P2 -> -GFR(m)
Exception |
Definition at line 1171 of file DiscCorr.cpp.
int GDCPass::prepareGFdata | ( | ) |
fit a polynomial to the GF range, and replace P2 (-gfr) with the residual gfp+fit(gfr); divide both P1(gfp) and P2(residual) by wlgf to convert to cycles also place the residual gfp+gfr(cycles) in L1
Exception |
Definition at line 2918 of file DiscCorr.cpp.
int GDCPass::preprocess | ( | ) |
edit obvious outliers, divide into segments using MaxGap
Exception |
Definition at line 984 of file DiscCorr.cpp.
void GDCPass::WLcomputeStats | ( | list< Segment >::iterator & | it | ) |
for one segment, compute conventional statistics on the WL bias and count the number of good points
Exception |
Definition at line 1588 of file DiscCorr.cpp.
int GDCPass::WLconsistencyCheck | ( | ) |
final check on consistency of WL slip fixes with GF slip detection
Exception |
Definition at line 3735 of file DiscCorr.cpp.
void GDCPass::WLsigmaStrip | ( | list< Segment >::iterator & | it | ) |
for one segment mark bad points that lie outside N*sigma delete segments that are too small
Exception |
Definition at line 1632 of file DiscCorr.cpp.
fix the slip between segments pointed to by left and right
Exception |
Definition at line 2485 of file DiscCorr.cpp.
int GDCPass::WLstatSweep | ( | list< Segment >::iterator & | it, |
int | width | ||
) |
for one segment, compute statistics on the WL bias using a 'two-paned sliding window', each pane of width 'width' good points. store the results in the parallel (to SatPass::data) arrays A1,A2.
Exception |
Definition at line 1824 of file DiscCorr.cpp.
|
static |
Definition at line 405 of file DiscCorr.cpp.
|
static |
Definition at line 406 of file DiscCorr.cpp.
|
static |
Definition at line 409 of file DiscCorr.cpp.
|
static |
Definition at line 410 of file DiscCorr.cpp.
|
private |
stats on the first difference of GF after detectObviousSlips(GF)
Definition at line 611 of file DiscCorr.cpp.
|
private |
polynomial fit to the geometry-free range for the whole pass
keep count of various results: slips, deletions, etc.; print to log in finish()
Definition at line 618 of file DiscCorr.cpp.
|
private |
list of Segments, always in time order, of segments of continuous data within the SVPass.
Definition at line 599 of file DiscCorr.cpp.
|
private |
list of Slips found; used to generate the editing commands on output
Definition at line 602 of file DiscCorr.cpp.
|
static |
Definition at line 407 of file DiscCorr.cpp.
|
static |
Definition at line 408 of file DiscCorr.cpp.
|
private |
temporary storage arrays, parallel to SatPass::data
stats on the WL bias after editing for the entire pass
Definition at line 608 of file DiscCorr.cpp.