22#include "Navigation/Transformations/Units.hpp"
167 static constexpr std::array<double, PLOT_SAMPLES>
_elevation = genRangeArray<PLOT_SAMPLES>(0.0, deg2rad(0.01), deg2rad(90.001));
169 static constexpr std::array<double, PLOT_SAMPLES>
_elevation_deg = genRangeArray<PLOT_SAMPLES>(0.0, 0.01, 90.001);
nlohmann::json json
json namespace
Definition FlowManager.hpp:21
Frequency definition for different satellite systems.
Frequency definition for different satellite systems.
Definition Frequency.hpp:59
Errors concerning GNSS observations.
Definition MeasurementErrors.hpp:31
void updateStdDevCurvePlot(Model model)
Updates the curve plot data for the given model.
ModelParametersCosineType _modelParametersCosineType
Model parameters for the 'cosine - type' model.
Definition MeasurementErrors.hpp:160
ModelParametersExponential _modelParametersExponential
Model parameters for the 'exponential' model.
Definition MeasurementErrors.hpp:150
double _carrierStdDev
Carrier Measurement error standard deviation per Frequency [m].
Definition MeasurementErrors.hpp:86
double carrierMeasErrorVar(const SatelliteSystem &satSys, double elevation, double cn0) const
Calculates the measurement Error Variance for carrier-phase observations.
friend void from_json(const json &j, ModelParametersSine &obj)
Converts the provided json object into a node object.
friend void to_json(json &j, const ModelParametersSineCN0 &obj)
Converts the provided object into json.
friend void from_json(const json &j, ModelParametersSineSqrt &obj)
Converts the provided json object into a node object.
double _codeStdDev
Code/Pseudorange Measurement error standard deviation per Frequency [m].
Definition MeasurementErrors.hpp:88
GnssMeasurementErrorModel()
Default constructor.
ModelParametersSine _modelParametersSine
Model parameters for the 'sine' model.
Definition MeasurementErrors.hpp:103
friend void from_json(const json &j, ModelParametersSineCN0 &obj)
Converts the provided json object into a node object.
friend void to_json(json &j, const ModelParametersExponential &obj)
Converts the provided object into json.
friend void to_json(json &j, const ModelParametersSine &obj)
Converts the provided object into json.
double weightingFunction(Model model, double elevation, double cn0) const
Calculates the weighting function for the standard deviation.
friend void to_json(json &j, const GnssMeasurementErrorModel &obj)
Converts the provided object into json.
ModelParametersSineOffset _modelParametersSineOffset
Model parameters for the 'sine + offset' model.
Definition MeasurementErrors.hpp:112
double _plotCN0
Carrier-to-Noise density [dB-Hz] to use in the plot.
Definition MeasurementErrors.hpp:93
std::vector< std::vector< double > > _stdDevCurvePlot
Standard deviations for plotting.
Definition MeasurementErrors.hpp:171
double codeBiasErrorVar() const
Returns the Code Bias Error Variance.
Model
Models.
Definition MeasurementErrors.hpp:38
@ SINE_CN0
Sine and CN0 dependent. See groves2013 Groves, ch. 9.4.2.4, eq. 9.168, p. 422 (range acceleration is ...
Definition MeasurementErrors.hpp:42
@ None
Measurement error model turned off.
Definition MeasurementErrors.hpp:39
@ COUNT
Amount of items in the enum.
Definition MeasurementErrors.hpp:47
@ EXPONENTIAL
Exponential. See eulergoad1991 Euler and Goad 1991 / li2016 Li et al. 2016.
Definition MeasurementErrors.hpp:45
@ SINE
Sine. See dach2015 Dach 2015.
Definition MeasurementErrors.hpp:40
@ RTKLIB
RTKLIB error model. See rtklib RTKLIB ch. E.6, eq. E.6.24, p. 162.
Definition MeasurementErrors.hpp:43
@ COSINE_TYPE
Cosine Type. See hadas2020 Hadas 2020 eq. 14, p. 8.
Definition MeasurementErrors.hpp:46
@ SINE_SQRT
Sine square-root. See kiliszek2022 Kiliszek 2022, table 2, p. 5.
Definition MeasurementErrors.hpp:44
@ SINE_OFFSET
Sine with offset. See zhang2021 Zhang 2021 eq. 7, p. 3.
Definition MeasurementErrors.hpp:41
friend void to_json(json &j, const ModelParametersCosineType &obj)
Converts the provided object into json.
static double satSysErrorFactorVariance(const SatelliteSystem &satSys)
Returns an error factor for the variance depending on the satellite system.
friend void from_json(const json &j, GnssMeasurementErrorModel &obj)
Converts the provided json object into a node object.
bool ShowGuiWidgets(const char *id, float width)
Shows a GUI widgets.
Model _model
Model to use.
Definition MeasurementErrors.hpp:83
double psrRateMeasErrorVar(const Frequency &freq, int8_t num, double elevation, double cn0) const
Returns the Pseudo-range rate Error Variance.
friend void from_json(const json &j, ModelParametersExponential &obj)
Converts the provided json object into a node object.
static constexpr size_t PLOT_SAMPLES
Amount of samples for the plot.
Definition MeasurementErrors.hpp:165
ModelParametersSineCN0 _modelParametersSineCN0
Model parameters for the 'sine + CN0' model.
Definition MeasurementErrors.hpp:122
static constexpr std::array< double, PLOT_SAMPLES > _elevation_deg
Elevation data for plotting [rad].
Definition MeasurementErrors.hpp:169
double psrMeasErrorVar(const SatelliteSystem &satSys, double elevation, double cn0) const
Calculates the measurement Error Variance for pseudorange observations.
friend void to_json(json &j, const ModelParametersRtklib &obj)
Converts the provided object into json.
double _dopplerStdDev
Doppler Frequency error factor [Hz] - Measurement error standard deviation.
Definition MeasurementErrors.hpp:90
friend void to_json(json &j, const ModelParametersSineSqrt &obj)
Converts the provided object into json.
friend void from_json(const json &j, ModelParametersCosineType &obj)
Converts the provided json object into a node object.
friend void from_json(const json &j, ModelParametersRtklib &obj)
Converts the provided json object into a node object.
ModelParametersRtklib _modelParametersRtklib
Model parameters for the 'RTKLIB' model.
Definition MeasurementErrors.hpp:131
ModelParametersSineSqrt _modelParametersSineSqrt
Model parameters for the 'sine - sqrt' model.
Definition MeasurementErrors.hpp:140
static constexpr std::array< double, PLOT_SAMPLES > _elevation
Elevation data for plotting [rad].
Definition MeasurementErrors.hpp:167
friend void from_json(const json &j, ModelParametersSineOffset &obj)
Converts the provided json object into a node object.
friend void to_json(json &j, const ModelParametersSineOffset &obj)
Converts the provided object into json.
Model parameters for the 'cosine - type' model.
Definition MeasurementErrors.hpp:154
int n
Coefficient.
Definition MeasurementErrors.hpp:157
double b
Coefficient.
Definition MeasurementErrors.hpp:156
double a
Coefficient.
Definition MeasurementErrors.hpp:155
Model parameters for the 'exponential' model.
Definition MeasurementErrors.hpp:144
double b
Coefficient.
Definition MeasurementErrors.hpp:146
double e0
Coefficient [deg].
Definition MeasurementErrors.hpp:147
double a
Coefficient.
Definition MeasurementErrors.hpp:145
Model parameters for the 'RTKLIB' model.
Definition MeasurementErrors.hpp:126
double b
Coefficient.
Definition MeasurementErrors.hpp:128
double a
Coefficient.
Definition MeasurementErrors.hpp:127
Satellite System type.
Definition SatelliteSystem.hpp:44