Ginan
Loading...
Searching...
No Matches
ppp.hpp File Reference

Functions

double relativity2 (VectorEcef &rSat, VectorEcef &rRec)
 
double recAntDelta (VectorEcef &e, Receiver &rec)
 
tuple< Vector3d, Vector3d, Vector3d, Vector3d, Vector3d > tideDelta (Trace &trace, GTime time, Receiver &rec, VectorEcef &rRec, ReceiverOptions &recOpts)
 
void eopAdjustment (GTime &time, VectorEcef &e, ERPValues &erpv, FrameSwapper &frameSwapper, Receiver &rec, VectorEcef &rRec, KFMeasEntry &measEntry, const KFState &kfState)
 
double netResidualAndChainOutputs (Trace &trace, Observation &obs, KFMeasEntry &measEntry)
 
void removeUnmeasuredAmbiguities (Trace &trace, KFState &kfState, map< KFKey, bool > measuredStates)
 
void outputPppNmea (Trace &trace, KFState &kfState, string id)
 
void spp (Trace &trace, ObsList &obsList, Solution &sol, string id, KFState *kfState_ptr=nullptr, KFState *remote_ptr=nullptr)
 Compute receiver position, velocity, clock bias by single-point positioning with pseudorange observables.
 
void testEclipse (ObsList &obsList)
 exclude meas of eclipsing satellite (block IIA)
 
void pppCorrections (Trace &trace, ObsList &obsList, Vector3d &rRec, Receiver &rec)
 
void ppp (Trace &trace, ReceiverMap &receiverMap, KFState &kfState, KFState &remoteState)
 
void phaseWindup (GObs &obs, Receiver &rec, double &phw)
 phase windup model
 
bool ionoModel (GTime &time, VectorPos &pos, AzEl &azel, E_IonoMapFn mapFn, E_IonoMode mode, double layerHeight, double ionoState, double &dion, double &var)
 ionospheric model
 
void outputApriori (ReceiverMap &receiverMap)
 
void selectAprioriSource (Trace &trace, Receiver &rec, GTime &time, bool &sppUsed, KFState &kfState, KFState *remote_ptr=nullptr)
 
void selectAprioriSource (SatSys &Sat, GTime &time, KFState &kfState, KFState *remote_ptr=nullptr)
 Compare estimated station position with benchmark in SINEX file.
 
void postFilterChecks (const GTime &time, KFMeas &kfMeas)
 
bool deweightMeas (Trace &trace, KFState &kfState, KFMeas &kfMeas, int index, bool postFit)
 Deweight worst measurement.
 
bool pseudoMeasTest (Trace &trace, KFState &kfState, KFMeas &kfMeas, int index, bool postFit)
 Call state rejection functions when a measurement is a pseudo observation.
 
bool deweightStationMeas (Trace &trace, KFState &kfState, KFMeas &kfMeas, int index, bool postFit)
 Deweight measurement and its relatives.
 
bool countSignalErrors (Trace &trace, KFState &kfState, KFMeas &kfMeas, int index, bool postFit)
 
bool incrementPhaseSignalError (Trace &trace, KFState &kfState, KFMeas &kfMeas, int index, bool postFit)
 Count worst measurement.
 
bool incrementReceiverError (Trace &trace, KFState &kfState, KFMeas &kfMeas, int index, bool postFit)
 Count all errors on receiver.
 
bool resetPhaseSignalError (const GTime &time, KFMeas &kfMeas, int index)
 
bool resetPhaseSignalOutage (const GTime &time, KFMeas &kfMeas, int index)
 
bool resetIonoSignalOutage (const GTime &time, KFMeas &kfMeas, int index)
 
bool rejectByState (Trace &trace, KFState &kfState, KFMeas &kfMeas, const KFKey &kfKey, bool postFit)
 Reject measurements attached to worst state using measurement reject callback list.
 
bool clockGlitchReaction (Trace &trace, KFState &kfState, KFMeas &kfMeas, const KFKey &kfKey, bool postFit)
 
bool orbitGlitchReaction (Trace &trace, KFState &kfState, KFMeas &kfMeas, const KFKey &kfKey, bool postFit)
 Remove any states connected to a bad clock if it glitches.
 
void receiverUducGnss (Trace &pppTrace, Receiver &rec, const KFState &kfState, KFMeasEntryList &kfMeasEntryList, const KFState &remoteState)
 
void orbitPseudoObs (Trace &pppTrace, Receiver &rec, const KFState &kfState, KFMeasEntryList &kfMeasEntryList)
 
void initPseudoObs (Trace &pppTrace, KFState &kfState, KFMeasEntryList &kfMeasEntryList)
 
void filterPseudoObs (Trace &pppTrace, KFState &kfState, KFMeasEntryList &kfMeasEntryList)
 
void receiverPseudoObs (Trace &pppTrace, Receiver &rec, const KFState &kfState, KFMeasEntryList &kfMeasEntryList, ReceiverMap &receiverMap)
 
void readPseudosFromFile (string &file)
 
void receiverSlr (Trace &pppTrace, Receiver &rec, const KFState &kfState, KFMeasEntryList &kfMeasEntryList)
 
bool satQuat (SatPos &satPos, vector< E_Source > attitudeTypes, Quaterniond &quat)
 Satellite attitude - calculates attitude of satellite as a quaternion (ECEF) Also transforms coordinates in body frame into ECEF Returns false if no attitude available (usually due to eclipse)
 
void fixAndHoldAmbiguities (Trace &trace, KFState &kfState)
 
bool queryBiasUC (Trace &trace, GTime time, KFState &kfState, SatSys sat, string rec, E_ObsCode code, double &bias, double &vari, E_MeasType typ)
 
void pseudoRecDcb (Trace &trace, KFState &kfState, KFMeasEntryList &kfMeasEntryList)
 
void ambgPseudoObs (Trace &trace, KFState &kfState, KFMeasEntryList &kfMeasEntryList)
 
void ionoPseudoObs (Trace &trace, ReceiverMap &receiverMap, KFState &kfState, KFMeasEntryList &kfMeasEntryList)
 
void tropPseudoObs (Trace &trace, ReceiverMap &receiverMap, KFState &kfState, KFMeasEntryList &kfMeasEntryList)
 
void satClockPivotPseudoObs (Trace &trace, KFState &kfState, KFMeasEntryList &kfMeasEntryList)
 
KFState propagateUncertainty (Trace &trace, KFState &kfState)
 
void explainMeasurements (Trace &trace, KFMeas &meas, KFState &kfState)
 

Function Documentation

◆ ambgPseudoObs()

void ambgPseudoObs ( Trace & trace,
KFState & kfState,
KFMeasEntryList & kfMeasEntryList )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ clockGlitchReaction()

bool clockGlitchReaction ( Trace & trace,
KFState & kfState,
KFMeas & kfMeas,
const KFKey & kfKey,
bool postFit )

◆ countSignalErrors()

bool countSignalErrors ( Trace & trace,
KFState & kfState,
KFMeas & kfMeas,
int index,
bool postFit )

◆ deweightMeas()

bool deweightMeas ( Trace & trace,
KFState & kfState,
KFMeas & kfMeas,
int index,
bool postFit )

Deweight worst measurement.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ deweightStationMeas()

bool deweightStationMeas ( Trace & trace,
KFState & kfState,
KFMeas & kfMeas,
int index,
bool postFit )

Deweight measurement and its relatives.

Here is the caller graph for this function:

◆ eopAdjustment()

void eopAdjustment ( GTime & time,
VectorEcef & e,
ERPValues & erpv,
FrameSwapper & frameSwapper,
Receiver & rec,
VectorEcef & rRec,
KFMeasEntry & measEntry,
const KFState & kfState )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ explainMeasurements()

void explainMeasurements ( Trace & trace,
KFMeas & meas,
KFState & kfState )
Here is the caller graph for this function:

◆ filterPseudoObs()

void filterPseudoObs ( Trace & pppTrace,
KFState & kfState,
KFMeasEntryList & kfMeasEntryList )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ fixAndHoldAmbiguities()

void fixAndHoldAmbiguities ( Trace & trace,
KFState & kfState )
Parameters
traceDebug trace
kfStateFilter state
Here is the call graph for this function:
Here is the caller graph for this function:

◆ incrementPhaseSignalError()

bool incrementPhaseSignalError ( Trace & trace,
KFState & kfState,
KFMeas & kfMeas,
int index,
bool postFit )

Count worst measurement.

Here is the caller graph for this function:

◆ incrementReceiverError()

bool incrementReceiverError ( Trace & trace,
KFState & kfState,
KFMeas & kfMeas,
int index,
bool postFit )

Count all errors on receiver.

Here is the caller graph for this function:

◆ initPseudoObs()

void initPseudoObs ( Trace & pppTrace,
KFState & kfState,
KFMeasEntryList & kfMeasEntryList )
Parameters
pppTraceTrace to output to
kfStateKalman filter object containing the network state parameters
kfMeasEntryListList to append kf measurements to
Here is the call graph for this function:
Here is the caller graph for this function:

◆ ionoModel()

bool ionoModel ( GTime & time,
VectorPos & pos,
AzEl & azel,
E_IonoMapFn mapFn,
E_IonoMode mode,
double layerHeight,
double ionoState,
double & dion,
double & var )

ionospheric model

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ionoPseudoObs()

void ionoPseudoObs ( Trace & trace,
ReceiverMap & receiverMap,
KFState & kfState,
KFMeasEntryList & kfMeasEntryList )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ netResidualAndChainOutputs()

double netResidualAndChainOutputs ( Trace & trace,
Observation & obs,
KFMeasEntry & measEntry )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ orbitGlitchReaction()

bool orbitGlitchReaction ( Trace & trace,
KFState & kfState,
KFMeas & kfMeas,
const KFKey & kfKey,
bool postFit )

Remove any states connected to a bad clock if it glitches.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ orbitPseudoObs()

void orbitPseudoObs ( Trace & pppTrace,
Receiver & rec,
const KFState & kfState,
KFMeasEntryList & kfMeasEntryList )
Parameters
pppTraceTrace to output to
recReceiver to perform calculations for
kfStateKalman filter object containing the network state parameters
kfMeasEntryListList to append kf measurements to
Here is the call graph for this function:
Here is the caller graph for this function:

◆ outputApriori()

void outputApriori ( ReceiverMap & receiverMap)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ outputPppNmea()

void outputPppNmea ( Trace & trace,
KFState & kfState,
string id )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ phaseWindup()

void phaseWindup ( GObs & obs,
Receiver & rec,
double & phw )

phase windup model

Parameters
obsObservation detailing the satellite to apply model to
recPosition of receiver (ECEF)
phwOutput of phase windup result
Here is the caller graph for this function:

◆ postFilterChecks()

void postFilterChecks ( const GTime & time,
KFMeas & kfMeas )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ ppp()

void ppp ( Trace & trace,
ReceiverMap & receiverMap,
KFState & kfState,
KFState & remoteState )
Parameters
traceTrace to output to
receiverMapList of receivers containing observations for this epoch
kfStateKalman filter object containing the network state parameters
remoteStateOptional pointer to remote kalman filter
Here is the call graph for this function:
Here is the caller graph for this function:

◆ pppCorrections()

void pppCorrections ( Trace & trace,
ObsList & obsList,
Vector3d & rRec,
Receiver & rec )

◆ propagateUncertainty()

KFState propagateUncertainty ( Trace & trace,
KFState & kfState )
Here is the caller graph for this function:

◆ pseudoMeasTest()

bool pseudoMeasTest ( Trace & trace,
KFState & kfState,
KFMeas & kfMeas,
int index,
bool postFit )

Call state rejection functions when a measurement is a pseudo observation.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ pseudoRecDcb()

void pseudoRecDcb ( Trace & trace,
KFState & kfState,
KFMeasEntryList & kfMeasEntryList )
Parameters
traceTrace to output to
kfStateKalman filter object containing the network state parameters
kfMeasEntryListList to append kf measurements to
Here is the call graph for this function:
Here is the caller graph for this function:

◆ queryBiasUC()

bool queryBiasUC ( Trace & trace,
GTime time,
KFState & kfState,
SatSys sat,
string rec,
E_ObsCode code,
double & bias,
double & vari,
E_MeasType typ )
Parameters
tracedebug stream
timetime of biases
kfStatefilter state to take biases from
satsatellite (for receiver biases, sat.sys needs to be set to the appropriate system, and sat.prn must be 0)
recreceiver (for satellite biases nees to be "")
codesignal code
biasbias value
varibias variance
typmeasurement type
Here is the call graph for this function:
Here is the caller graph for this function:

◆ readPseudosFromFile()

void readPseudosFromFile ( string & file)
Here is the caller graph for this function:

◆ recAntDelta()

double recAntDelta ( VectorEcef & e,
Receiver & rec )
Here is the caller graph for this function:

◆ receiverPseudoObs()

void receiverPseudoObs ( Trace & pppTrace,
Receiver & rec,
const KFState & kfState,
KFMeasEntryList & kfMeasEntryList,
ReceiverMap & receiverMap )
Parameters
pppTraceTrace to output to
rec(Pseudo) Receiver to perform calculations for
kfStateKalman filter object containing the network state parameters
kfMeasEntryListList to append kf measurements to
receiverMapMap of stations to retrieve receiver metadata from
Here is the call graph for this function:
Here is the caller graph for this function:

◆ receiverSlr()

void receiverSlr ( Trace & pppTrace,
Receiver & rec,
const KFState & kfState,
KFMeasEntryList & kfMeasEntryList )
Parameters
pppTraceTrace to output to
recReceiver to perform calculations for
kfStateKalman filter object containing the network state parameters
kfMeasEntryListList to append kf measurements to
Here is the call graph for this function:
Here is the caller graph for this function:

◆ receiverUducGnss()

void receiverUducGnss ( Trace & pppTrace,
Receiver & rec,
const KFState & kfState,
KFMeasEntryList & kfMeasEntryList,
const KFState & remoteState )
Parameters
pppTraceTrace to output to
recReceiver to perform calculations for
kfStateKalman filter object containing the state parameters
kfMeasEntryListList to append kf measurements to
remoteStateKalman filter object containing remote filter values
Here is the caller graph for this function:

◆ rejectByState()

bool rejectByState ( Trace & trace,
KFState & kfState,
KFMeas & kfMeas,
const KFKey & kfKey,
bool postFit )

Reject measurements attached to worst state using measurement reject callback list.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ relativity2()

double relativity2 ( VectorEcef & rSat,
VectorEcef & rRec )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ removeUnmeasuredAmbiguities()

void removeUnmeasuredAmbiguities ( Trace & trace,
KFState & kfState,
map< KFKey, bool > measuredStates )

◆ resetIonoSignalOutage()

bool resetIonoSignalOutage ( const GTime & time,
KFMeas & kfMeas,
int index )
Here is the caller graph for this function:

◆ resetPhaseSignalError()

bool resetPhaseSignalError ( const GTime & time,
KFMeas & kfMeas,
int index )
Here is the caller graph for this function:

◆ resetPhaseSignalOutage()

bool resetPhaseSignalOutage ( const GTime & time,
KFMeas & kfMeas,
int index )
Here is the caller graph for this function:

◆ satClockPivotPseudoObs()

void satClockPivotPseudoObs ( Trace & trace,
KFState & kfState,
KFMeasEntryList & kfMeasEntryList )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ satQuat()

bool satQuat ( SatPos & satPos,
vector< E_Source > attitudeTypes,
Quaterniond & quat )

Satellite attitude - calculates attitude of satellite as a quaternion (ECEF) Also transforms coordinates in body frame into ECEF Returns false if no attitude available (usually due to eclipse)

Parameters
satPosobservation
attitudeTypesAttitude type
quatRotation of satellite from ECEF
Here is the call graph for this function:
Here is the caller graph for this function:

◆ selectAprioriSource() [1/2]

void selectAprioriSource ( SatSys & Sat,
GTime & time,
KFState & kfState,
KFState * remote_ptr )

Compare estimated station position with benchmark in SINEX file.

Output GPGGA or modified GPGGA messages

Here is the call graph for this function:
Here is the caller graph for this function:

◆ selectAprioriSource() [2/2]

void selectAprioriSource ( Trace & trace,
Receiver & rec,
GTime & time,
bool & sppUsed,
KFState & kfState,
KFState * remote_ptr = nullptr )
Here is the call graph for this function:

◆ spp()

void spp ( Trace & trace,
ObsList & obsList,
Solution & sol,
string id,
KFState * kfState_ptr = nullptr,
KFState * remote_ptr = nullptr )

Compute receiver position, velocity, clock bias by single-point positioning with pseudorange observables.

Parameters
traceTrace file to output to
obsListList of observations for this epoch
solSolution object containing initial state and results
idId of receiver
kfState_ptrOptional pointer to filter to take ephemerides from
remote_ptrOptional pointer to filter to take ephemerides from
Here is the call graph for this function:
Here is the caller graph for this function:

◆ testEclipse()

void testEclipse ( ObsList & obsList)

exclude meas of eclipsing satellite (block IIA)

Here is the call graph for this function:

◆ tideDelta()

tuple< Vector3d, Vector3d, Vector3d, Vector3d, Vector3d > tideDelta ( Trace & trace,
GTime time,
Receiver & rec,
VectorEcef & rRec,
ReceiverOptions & recOpts )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ tropPseudoObs()

void tropPseudoObs ( Trace & trace,
ReceiverMap & receiverMap,
KFState & kfState,
KFMeasEntryList & kfMeasEntryList )
Here is the call graph for this function:
Here is the caller graph for this function: