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, KFState &kfState)
 
double netResidualAndChainOutputs (Trace &trace, Observation &obs, KFMeasEntry &measEntry)
 
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 (RejectCallbackDetails rejectDetails)
 Deweight worst measurement.
 
bool pseudoMeasTest (RejectCallbackDetails rejectDetails)
 Call state rejection functions when a measurement is a pseudo observation.
 
bool deweightStationMeas (RejectCallbackDetails rejectDetails)
 Deweight measurement and its relatives.
 
bool incrementPhaseSignalError (RejectCallbackDetails rejectDetails)
 Count worst measurement.
 
bool incrementReceiverErrors (RejectCallbackDetails rejectDetails)
 Count all errors on receiver.
 
bool incrementSatelliteErrors (RejectCallbackDetails rejectDetails)
 Count all errors on satellite.
 
bool rejectByState (RejectCallbackDetails rejectDetails)
 Reject measurements attached to worst state using measurement reject callback list.
 
bool clockGlitchReaction (RejectCallbackDetails rejectDetails)
 
bool satelliteGlitchReaction (RejectCallbackDetails rejectDetails)
 Immediately executed reaction to orbital state errors.
 
bool resetPhaseSignalError (const GTime &time, KFMeas &kfMeas, int index)
 
bool resetIonoSignalOutage (const GTime &time, KFMeas &kfMeas, int index)
 
void receiverUducGnss (Trace &pppTrace, Receiver &rec, KFState &kfState, KFMeasEntryList &kfMeasEntryList, KFState &remoteState)
 
void orbitPseudoObs (Trace &pppTrace, Receiver &rec, 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, KFState &kfState, KFMeasEntryList &kfMeasEntryList, ReceiverMap &receiverMap)
 
void readPseudosFromFile (string &file)
 
void receiverSlr (Trace &pppTrace, Receiver &rec, 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 phasePseudoObs (Trace &trace, KFState &kfState, KFMeasEntryList &kfMeasEntryList)
 Add pseudo-observations to set one satellite's phase biases variances to zero.
 
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)
 
void addRejectDetails (const GTime &time, Trace &trace, KFState &kfState, const KFKey &key, const string &action, const string &reason, vector< ArbitraryKVP > details={})
 

Function Documentation

◆ addRejectDetails()

void addRejectDetails ( const GTime & time,
Trace & trace,
KFState & kfState,
const KFKey & key,
const string & action,
const string & reason,
vector< ArbitraryKVP > details = {} )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ 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 ( RejectCallbackDetails rejectDetails)

◆ deweightMeas()

bool deweightMeas ( RejectCallbackDetails rejectDetails)

Deweight worst measurement.

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

◆ deweightStationMeas()

bool deweightStationMeas ( RejectCallbackDetails rejectDetails)

Deweight measurement and its relatives.

Here is the call graph for this function:
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,
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 ( RejectCallbackDetails rejectDetails)

Count worst measurement.

Here is the caller graph for this function:

◆ incrementReceiverErrors()

bool incrementReceiverErrors ( RejectCallbackDetails rejectDetails)

Count all errors on receiver.

Here is the caller graph for this function:

◆ incrementSatelliteErrors()

bool incrementSatelliteErrors ( RejectCallbackDetails rejectDetails)

Count all errors on satellite.

Here is the call graph for this function:
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:

◆ orbitPseudoObs()

void orbitPseudoObs ( Trace & pppTrace,
Receiver & rec,
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:

◆ phasePseudoObs()

void phasePseudoObs ( Trace & trace,
KFState & kfState,
KFMeasEntryList & kfMeasEntryList )

Add pseudo-observations to set one satellite's phase biases variances to zero.

This shouldnt occur in the parallel section because multiple receivers may be trying to set different satellites to 0 if they see different satellites.

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 ( RejectCallbackDetails rejectDetails)

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,
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,
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,
KFState & kfState,
KFMeasEntryList & kfMeasEntryList,
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 ( RejectCallbackDetails rejectDetails)

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

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:

◆ 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:

◆ 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:

◆ satelliteGlitchReaction()

bool satelliteGlitchReaction ( RejectCallbackDetails rejectDetails)

Immediately executed reaction to orbital state errors.

Note there is also a 1 epoch delayed reaction 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:
Here is the caller 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: