Ginan
Loading...
Searching...
No Matches
ppppp.cpp File Reference

Data Structures

struct  Duo
 

Functions

Architecture Main_Filter__ ()
 Primary estimation and filtering.
 
Architecture Combinators__ ()
 
void explainMeasurements (Trace &trace, KFMeas &kfMeas, KFState &kfState)
 
void alternatePostfits (Trace &trace, KFMeas &kfMeas, KFState &kfState)
 
void makeIFLCs (Trace &trace, const KFState &kfState, KFMeasEntryList &kfMeasEntryList)
 
KFMeas makeGFLCs (KFMeas &kfMeas, KFState &kfState)
 Replace individual measurements with linear combinations.
 
KFMeas makeRTKLCs1 (KFMeas &kfMeas, KFState &kfState)
 Replace individual measurements with linear combinations.
 
KFMeas makeRTKLCs2 (KFMeas &kfMeas, KFState &kfState)
 Replace individual measurements with linear combinations.
 
void updateRecClocks (Trace &trace, ReceiverMap &receiverMap, KFState &kfState)
 Prepare receiver clocks using spp values to minimise pre-fit residuals.
 
void updateAvgIonosphere (Trace &trace, GTime time, KFState &kfState)
 Prepare stec values clocks to minimise residuals to klobuchar model.
 
void updateAvgOrbits (Trace &trace, GTime time, KFState &kfState)
 Prepare Satellite clocks to minimise residuals to broadcast clocks.
 
void updateAvgClocks (Trace &trace, GTime time, KFState &kfState)
 Prepare Satellite clocks to minimise residuals to broadcast clocks.
 
KFState propagateUncertainty (Trace &trace, KFState &kfState)
 
void chunkFilter (Trace &trace, KFState &kfState, KFMeas &kfMeas, ReceiverMap &receiverMap, map< string, FilterChunk > &filterChunkMap, map< string, std::ofstream > &traceList)
 
void updatePseudoPulses (Trace &trace, KFState &kfState)
 
void updateNukeFilter (Trace &trace, KFState &kfState)
 
void removeBadAmbiguities (Trace &trace, KFState &kfState, ReceiverMap &receiverMap)
 Remove ambiguity states from filter when they deemed old or bad This effectively reinitialises them on the following epoch as a new state, and can be used for simple resolution of cycle-slips.
 
void removeBadReceivers (Trace &trace, KFState &kfState, ReceiverMap &receiverMap)
 
void removeBadIonospheres (Trace &trace, KFState &kfState)
 Remove ambiguity states from filter when they deemed old or bad This effectively reinitialises them on the following epoch as a new state, and can be used for simple resolution of cycle-slips.
 
void checkOrbits (Trace &trace, KFState &kfState)
 
void updateFilter (Trace &trace, ReceiverMap &receiverMap, KFState &kfState)
 
void perRecMeasurements (Trace &trace, Receiver &rec, ReceiverMap &receiverMap, KFMeasEntryList &kfMeasEntryList, const KFState &kfState, const KFState &remoteState)
 
void pppLinearCombinations (KFMeas &kfMeas, KFState &kfState)
 
void pppPseudoObs (Trace &trace, ReceiverMap &receiverMap, KFState &kfState, KFMeasEntryList &kfMeasEntryList)
 
void ppp (Trace &trace, ReceiverMap &receiverMap, KFState &kfState, KFState &remoteState)
 

Function Documentation

◆ alternatePostfits()

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

◆ checkOrbits()

void checkOrbits ( Trace & trace,
KFState & kfState )

◆ chunkFilter()

void chunkFilter ( Trace & trace,
KFState & kfState,
KFMeas & kfMeas,
ReceiverMap & receiverMap,
map< string, FilterChunk > & filterChunkMap,
map< string, std::ofstream > & traceList )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ Combinators__()

Architecture Combinators__ ( )
Here is the caller graph for this function:

◆ explainMeasurements()

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

◆ Main_Filter__()

Architecture Main_Filter__ ( )

Primary estimation and filtering.

While there are other auxiliary filters and states used within the Pea, all PPP processing flows through a common filtering stage.

The residuals for all observations are first computed in an undifferenced-uncombined state, which leads to the greatest generality and extensibility. As each receiver's observations are then independent of each other, these computations are computed in parallel, using openMP directives, increasing thoughput.

Bookkeeping around the initialisation of state elements and their state transitions is taken care of automatically at the point they are first referenced in the observation equations, using values as configured in the yaml file.

The distinction between "Network" and "User" positioning modes that may be used in other software packages is not required in Ginan. All receivers are always stored in a large single filter. Depending on the configuration, the state and it's covariance matrix may turn out to be block-diagonal (user-mode), which will automatically be treated optimally upon the estimation stage by applying 'chunking'.

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

◆ makeGFLCs()

KFMeas makeGFLCs ( KFMeas & kfMeas,
KFState & kfState )

Replace individual measurements with linear combinations.

Here is the caller graph for this function:

◆ makeIFLCs()

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

◆ makeRTKLCs1()

KFMeas makeRTKLCs1 ( KFMeas & kfMeas,
KFState & kfState )

Replace individual measurements with linear combinations.

Here is the caller graph for this function:

◆ makeRTKLCs2()

KFMeas makeRTKLCs2 ( KFMeas & kfMeas,
KFState & kfState )

Replace individual measurements with linear combinations.

Here is the caller graph for this function:

◆ perRecMeasurements()

void perRecMeasurements ( Trace & trace,
Receiver & rec,
ReceiverMap & receiverMap,
KFMeasEntryList & kfMeasEntryList,
const KFState & kfState,
const KFState & remoteState )
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:

◆ pppLinearCombinations()

void pppLinearCombinations ( KFMeas & kfMeas,
KFState & kfState )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ pppPseudoObs()

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

◆ propagateUncertainty()

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

◆ removeBadAmbiguities()

void removeBadAmbiguities ( Trace & trace,
KFState & kfState,
ReceiverMap & receiverMap )

Remove ambiguity states from filter when they deemed old or bad This effectively reinitialises them on the following epoch as a new state, and can be used for simple resolution of cycle-slips.

Parameters
traceTrace to output to
kfStateFilter to remove states from
receiverMapList of stations containing observations for this epoch
Here is the call graph for this function:
Here is the caller graph for this function:

◆ removeBadIonospheres()

void removeBadIonospheres ( Trace & trace,
KFState & kfState )

Remove ambiguity states from filter when they deemed old or bad This effectively reinitialises them on the following epoch as a new state, and can be used for simple resolution of cycle-slips.

Parameters
traceTrace to output to
kfStateFilter to remove states from
Here is the call graph for this function:
Here is the caller graph for this function:

◆ removeBadReceivers()

void removeBadReceivers ( Trace & trace,
KFState & kfState,
ReceiverMap & receiverMap )
Parameters
traceTrace to output to
kfStateFilter to remove states from
receiverMapList of stations containing observations for this epoch
Here is the call graph for this function:
Here is the caller graph for this function:

◆ updateAvgClocks()

void updateAvgClocks ( Trace & trace,
GTime time,
KFState & kfState )

Prepare Satellite clocks to minimise residuals to broadcast clocks.

Parameters
traceTrace to output to
timeTime
kfStateKalman filter object containing the network state parameters
Here is the call graph for this function:
Here is the caller graph for this function:

◆ updateAvgIonosphere()

void updateAvgIonosphere ( Trace & trace,
GTime time,
KFState & kfState )

Prepare stec values clocks to minimise residuals to klobuchar model.

Parameters
traceTrace to output to
timeTime
kfStateKalman filter object containing the network state parameters
Here is the call graph for this function:
Here is the caller graph for this function:

◆ updateAvgOrbits()

void updateAvgOrbits ( Trace & trace,
GTime time,
KFState & kfState )

Prepare Satellite clocks to minimise residuals to broadcast clocks.

Parameters
traceTrace to output to
timeTime
kfStateKalman filter object containing the network state parameters
Here is the call graph for this function:
Here is the caller graph for this function:

◆ updateFilter()

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

◆ updateNukeFilter()

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

◆ updatePseudoPulses()

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

◆ updateRecClocks()

void updateRecClocks ( Trace & trace,
ReceiverMap & receiverMap,
KFState & kfState )

Prepare receiver clocks using spp values to minimise pre-fit residuals.

Parameters
traceTrace to output to
receiverMapList of stations containing observations for this epoch
kfStateKalman filter object containing the network state parameters
Here is the call graph for this function:
Here is the caller graph for this function: