![]() |
Ginan
|
Data Structures | |
| struct | SlipNoise |
Functions | |
| void | traceSlipEvent (Trace &trace, const char *detector, const GObs &obs, const char *action, E_FType frq1, E_FType frq2, E_FType frq3, double value1, double value2, double threshold, E_SlipDiagReason reason) |
| Emit one structured cycle-slip diagnostic trace line. | |
| void | traceScdiaEvent (Trace &trace, const GObs &obs, const char *action, E_FType frq1, E_FType frq2, E_FType frq3, int nf, E_FilterMode filterMode, double value1, double value2, double threshold, double amb1, double amb2, double amb3, E_SlipDiagReason reason) |
| Emit a structured diagnostic line for SCDIA internals. | |
| double | lomThreshold (int dof) |
| bool | satFreqs (E_Sys sys, E_FType &ft1, E_FType &ft2, E_FType &ft3) |
| Select up to three configured frequency bands for a satellite system. | |
| int | obsFreqs (const GObs &obs, E_FType &ft1, E_FType &ft2, E_FType &ft3) |
| Select observed frequency bands that are usable for slip detection. | |
| bool | slipNoise (const GObs &obs, const E_FType freqs[], int nf, SlipNoise &noise) |
| Derive conservative slip-detector noise from the selected observation bands. | |
| void | detslp_ll (Trace &trace, ObsList &obsList) |
| Detect cycle slip by reported loss of lock. | |
| void | detslp_gf (Trace &trace, ObsList &obsList) |
| Detect cycle slip by geometry free phase jump. | |
| void | detslp_mw (Trace &trace, ObsList &obsList) |
| Detect slip by Melbourne-Wubbena linear combination jump. | |
| double | mwnoise (double sigcode, double sigphase, double lam1, double lam2) |
| Melbourne-Wenbunna (MW) measurement noise (m) | |
| void | scdia (Trace &trace, SatStat &satStat, lc_t &lc, const GObs &obs, map< int, double > &lam, double sigmaPhase, double sigmaCode, int nf, E_FilterMode filterMode, E_FType frq1, E_FType frq2, E_FType frq3) |
| Single channel detection–identification–adaptation (DIA) for integer cycle slips. | |
| void | cycleslip2 (Trace &trace, SatStat &satStat, lc_t &lcBase, GObs &obs) |
| Cycle slip detection for dual-frequency. | |
| void | cycleslip3 (Trace &trace, SatStat &satStat, lc_t &lc, GObs &obs) |
| Cycle slip detection and repair for triple-frequency. | |
| void | detectslip (Trace &trace, SatStat &satStat, lc_t &lc_new, lc_t &lc_old, GObs &obs) |
| Cycle slip detection and repair. | |
| void | clearSlips (ObsList &obsList) |
| void | detectslips (Trace &trace, ObsList &obsList) |
| Detect slips for multiple observations. | |
Enumerations | |
| enum class | E_SlipDiagReason { NONE , RECEIVER_LLI , NO_FREQUENCY_PAIR , NO_FREQUENCIES , INVALID_LC , NO_PREVIOUS_GF , NO_PREVIOUS_MW , PHASE_JUMP , MW_JUMP , WITHIN_THRESHOLD , FIRST_EPOCH , TIME_GAP , LOW_ELEVATION , DUAL_FREQUENCY , TRIPLE_FREQUENCY , THIRD_FREQUENCY_REACQUIRED , FREQUENCY_REACQUIRED , SINGLE_FREQUENCY , MISSING_FREQUENCY_VARIANCE , INVALID_CODE_VARIANCE , INVALID_PHASE_VARIANCE , VALID_VARIANCE , LOM_WITHIN_THRESHOLD , LOM_OUTLIER , LAMBDA_FIXED , LAMBDA_FLOAT , KALMAN_WAITING } |
|
strong |
| void clearSlips | ( | ObsList & | obsList | ) |
Cycle slip detection for dual-frequency.
| trace | Trace to output to |
| satStat | Persistant satellite status parameters |
| lcBase | Linear combinations |
| obs | Navigation object for this satellite |
Cycle slip detection and repair for triple-frequency.
| trace | Trace to output to |
| satStat | Persistant satellite status parameters |
| lc | Linear combinations |
| obs | Navigation object for this satellite |
Cycle slip detection and repair.
| trace | Trace to output to |
| satStat | Persistant satellite status parameters |
| lc_new | Linear combination for this epoch |
| lc_old | Linear combination from previous epoch |
| obs | Navigation object for this satellite |
Detect slips for multiple observations.
| trace | Trace to output to |
| obsList | List of observations to detect slips within |
Detect cycle slip by geometry free phase jump.
| trace | Trace to output to |
| obsList | List of observations to detect slips within |
Detect cycle slip by reported loss of lock.
| trace | Trace to output to |
| obsList | List of observations to detect slips within |
Detect slip by Melbourne-Wubbena linear combination jump.
| trace | Trace to output to |
| obsList | List of observations to detect slips within |
| double lomThreshold | ( | int | dof | ) |
| double mwnoise | ( | double | sigcode, |
| double | sigphase, | ||
| double | lam1, | ||
| double | lam2 ) |
Melbourne-Wenbunna (MW) measurement noise (m)
| sigcode | Code noise |
| sigphase | Phase noise |
| lam1 | L1 wavelength |
| lam2 | L2 wavelength |
Select observed frequency bands that are usable for slip detection.
This helper is intentionally stricter than satFreqs(): it still honours configured code priorities, but only returns frequency bands that are present in the current observation, have a non-zero representative phase measurement, and have a non-zero wavelength available in the satellite navigation data.
This prevents GF/MW/PDE slip checks from evaluating assumed frequency bands when an epoch is missing one of the configured signals.
| [in] | obs | Observation to inspect. |
| [out] | ft1 | First observed usable frequency, or NONE. |
| [out] | ft2 | Second observed usable frequency, or NONE. |
| [out] | ft3 | Third observed usable frequency, or NONE. |
Select up to three configured frequency bands for a satellite system.
This is the legacy frequency selector used by several modelling paths outside slip detection. It follows acsConfig.code_priorities[sys] and converts the first unique codes into frequency bands, but it does not inspect a particular observation to confirm that measurements are present.
The outputs retain historical defaults (F1, F2, F5) when priorities are incomplete. Do not use this helper when the algorithm must know which frequencies are actually observed at the current epoch; use obsFreqs() for slip detection.
| [in] | sys | Satellite system. |
| [out] | ft1 | First configured frequency band. |
| [out] | ft2 | Second configured frequency band. |
| [out] | ft3 | Third configured frequency band. |
sys; true otherwise. | void scdia | ( | Trace & | trace, |
| SatStat & | satStat, | ||
| lc_t & | lc, | ||
| const GObs & | obs, | ||
| map< int, double > & | lam, | ||
| double | sigmaPhase, | ||
| double | sigmaCode, | ||
| int | nf, | ||
| E_FilterMode | filterMode, | ||
| E_FType | frq1, | ||
| E_FType | frq2, | ||
| E_FType | frq3 ) |
Single channel detection–identification–adaptation (DIA) for integer cycle slips.
| trace | Trace to output to |
| satStat | Persistant satellite status parameters |
| lc | Linear combinations |
| obs | Observation context for diagnostics |
| lam | Signal wavelength map |
| sigmaPhase | Phase noise |
| sigmaCode | Code noise |
| nf | Number of frequencies |
| filterMode | LSQ/Kalman filter flag |
Derive conservative slip-detector noise from the selected observation bands.
Slip detection chooses concrete observed frequencies with obsFreqs(). The corresponding noise values must come from those same bands; using an arbitrary first signal can pass zero or invalid variances into PDE/SCDIA and produce NaNs in trace output.
This helper requires each selected band to have finite, positive code and phase variance. It then uses the largest selected variance for each observable type as a conservative single-noise input to the current PDE/SCDIA equations.
| [in] | obs | Observation containing selected signals. |
| [in] | freqs | Selected frequency bands. |
| [in] | nf | Number of selected frequencies to validate. |
| [out] | noise | Derived standard deviations, or failure reason. |
| void traceScdiaEvent | ( | Trace & | trace, |
| const GObs & | obs, | ||
| const char * | action, | ||
| E_FType | frq1, | ||
| E_FType | frq2, | ||
| E_FType | frq3, | ||
| int | nf, | ||
| E_FilterMode | filterMode, | ||
| double | value1, | ||
| double | value2, | ||
| double | threshold, | ||
| double | amb1, | ||
| double | amb2, | ||
| double | amb3, | ||
| E_SlipDiagReason | reason ) |
Emit a structured diagnostic line for SCDIA internals.
PDE-SCDIA-DIAG is intentionally separate from PDE-CS-DIAG so existing detector-routing summaries remain stable while SCDIA outcomes become machine-readable.
| void traceSlipEvent | ( | Trace & | trace, |
| const char * | detector, | ||
| const GObs & | obs, | ||
| const char * | action, | ||
| E_FType | frq1, | ||
| E_FType | frq2, | ||
| E_FType | frq3, | ||
| double | value1, | ||
| double | value2, | ||
| double | threshold, | ||
| E_SlipDiagReason | reason ) |
Emit one structured cycle-slip diagnostic trace line.
These lines are intended to make detector decisions auditable without changing the detector result. They are emitted at trace level 2 with stable key=value fields so trace files can be summarised with simple text tools.