A single (one observation from one sv), Observed Range Deviation (ORD). It contains all of the parameters that define an ORD and includes metadata on ORD computation such as SV position and health.
Definition at line 73 of file ObsRngDev.hpp.
#include <ObsRngDev.hpp>
Public Attributes | |
vfloat | azimuth |
SV azimuth. More... | |
vfloat | elevation |
SV elevation. More... | |
vshort | health |
SV health bitfield. More... | |
vshort | iodc |
ephemeris IODC More... | |
vdouble | iono |
iono correction (meters) More... | |
CommonTime | obstime |
time of SV observation More... | |
double | ord |
difference between expected and observed range More... | |
vdouble | rho |
expected geometric range More... | |
SatID | svid |
PRN number of observed SV. More... | |
vdouble | trop |
trop correction (meters) More... | |
unsigned | wonky |
A bitmask defined by the application to flag questionable data. More... | |
Static Public Attributes | |
static GNSSTK_EXPORT bool | debug =false |
Private Member Functions | |
void | computeOrd (double obs, const Position &rxpos, NavLibrary &navLib, const EllipsoidModel &em, bool svTime, NavSearchOrder order, SVHealth xmitHealth, NavValidityType valid) |
void | computeOrdRx (double obs, const Position &rxpos, NavLibrary &navLib, const EllipsoidModel &em, NavSearchOrder order, SVHealth xmitHealth, NavValidityType valid) |
void | computeOrdTx (double obs, const Position &rxpos, NavLibrary &navLib, const EllipsoidModel &em, NavSearchOrder order, SVHealth xmitHealth, NavValidityType valid) |
void | computeTrop (const TropModel &tm) |
Friends | |
std::ostream & | operator<< (std::ostream &s, const ObsRngDev &r) noexcept |
|
inlinenoexcept |
default constructor. Creates an empty, useless object to facilitate STL containers of this object.
Definition at line 82 of file ObsRngDev.hpp.
gnsstk::ObsRngDev::ObsRngDev | ( | const double | prange, |
const SatID & | svid, | ||
const CommonTime & | time, | ||
const Position & | rxpos, | ||
NavLibrary & | navLib, | ||
EllipsoidModel & | em, | ||
bool | svTime = false , |
||
NavSearchOrder | order = NavSearchOrder::User , |
||
SVHealth | xmitHealth = SVHealth::Any , |
||
NavValidityType | valid = NavValidityType::ValidOnly |
||
) |
Creates an ORD, with no ionospheric correction and a default trop correction.
[in] | prange | The observed pseudorange |
[in] | svid | The SV being observed |
[in] | time | The time of the observation |
[in] | rxpos | The earth-centered, earth-fixed receiver position |
[in] | navLib | A store of either broadcast or precise ephemerides |
[in] | em | An EllipsoidModel for performing range calculations |
[in] | svTime | True if prange is in SV time, false for RX time. |
[in] | order | Specify whether to search by receiver behavior or by nearest to when in time. |
[in] | xmitHealth | The desired health status of the satellite transmitting the nav data. |
[in] | valid | Specify whether to search only for valid or invalid messages, or both. |
Definition at line 58 of file ObsRngDev.cpp.
gnsstk::ObsRngDev::ObsRngDev | ( | const double | prange, |
const SatID & | svid, | ||
const CommonTime & | time, | ||
const Position & | rxpos, | ||
NavLibrary & | navLib, | ||
EllipsoidModel & | em, | ||
const IonoModelStore & | ion, | ||
CarrierBand | band, | ||
bool | svTime = false , |
||
NavSearchOrder | order = NavSearchOrder::User , |
||
SVHealth | xmitHealth = SVHealth::Any , |
||
NavValidityType | valid = NavValidityType::ValidOnly |
||
) |
Creates an ORD, applies a single-frequency nav-message based ionospheric correction and a default trop correction.
[in] | prange | The observed pseudorange |
[in] | svid | The PRN number of the observed SV |
[in] | time | The time of the observation |
[in] | rxpos | The earth-centered, earth-fixed receiver position |
[in] | navLib | A store of either broadcast or precise ephemerides |
[in] | em | An EllipsoidModel for performing range calculations |
[in] | ion | A store of nav based ionospheric models |
[in] | fq | The GPS band (L1, L2, L5) from which the obs was made |
[in] | svTime | True if prange is in SV time, false for RX time. |
[in] | order | Specify whether to search by receiver behavior or by nearest to when in time. |
[in] | xmitHealth | The desired health status of the satellite transmitting the nav data. |
[in] | valid | Specify whether to search only for valid or invalid messages, or both. |
Definition at line 80 of file ObsRngDev.cpp.
gnsstk::ObsRngDev::ObsRngDev | ( | const double | prange, |
const SatID & | svid, | ||
const CommonTime & | time, | ||
const Position & | rxpos, | ||
NavLibrary & | navLib, | ||
EllipsoidModel & | em, | ||
const TropModel & | tm, | ||
bool | svTime = false , |
||
NavSearchOrder | order = NavSearchOrder::User , |
||
SVHealth | xmitHealth = SVHealth::Any , |
||
NavValidityType | valid = NavValidityType::ValidOnly |
||
) |
Creates an ORD, applies no ionospheric correction and a user-specified trop correction.
[in] | prange | The observed pseudorange |
[in] | svid | The PRN number of the observed SV |
[in] | time | The time of the observation |
[in] | rxpos | The earth-centered, earth-fixed receiver position |
[in] | navLib | A store of either broadcast or precise ephemerides |
[in] | em | An EllipsoidModel for performing range calculations |
[in] | tm | A TropModel for performing trop calculation |
[in] | svTime | True if prange is in SV time, false for RX time. |
[in] | order | Specify whether to search by receiver behavior or by nearest to when in time. |
[in] | xmitHealth | The desired health status of the satellite transmitting the nav data. |
[in] | valid | Specify whether to search only for valid or invalid messages, or both. |
Definition at line 106 of file ObsRngDev.cpp.
gnsstk::ObsRngDev::ObsRngDev | ( | const double | prange, |
const SatID & | svid, | ||
const CommonTime & | time, | ||
const Position & | rxpos, | ||
NavLibrary & | navLib, | ||
EllipsoidModel & | em, | ||
const TropModel & | tm, | ||
const IonoModelStore & | ion, | ||
CarrierBand | band, | ||
bool | svTime = false , |
||
NavSearchOrder | order = NavSearchOrder::User , |
||
SVHealth | xmitHealth = SVHealth::Any , |
||
NavValidityType | valid = NavValidityType::ValidOnly |
||
) |
Creates an ORD, applies a single-frequency nav-message based ionospheric correction and a user-specified trop correction.
[in] | prange | The observed pseudorange |
[in] | svid | The PRN number of the observed SV |
[in] | time | The time of the observation |
[in] | rxpos | The earth-centered, earth-fixed receiver position |
[in] | navLib | A store of either broadcast or precise ephemerides |
[in] | em | An EllipsoidModel for performing range calculations |
[in] | tm | A TropModel for performing trop calculation |
[in] | ion | A store of nav based ionospheric models |
[in] | fq | The GPS band (L1, L2, L5) from which the obs was made |
[in] | svTime | True if prange is in SV time, false for RX time. |
[in] | order | Specify whether to search by receiver behavior or by nearest to when in time. |
[in] | xmitHealth | The desired health status of the satellite transmitting the nav data. |
[in] | valid | Specify whether to search only for valid or invalid messages, or both. |
Definition at line 124 of file ObsRngDev.cpp.
gnsstk::ObsRngDev::ObsRngDev | ( | const double | prange1, |
const double | prange2, | ||
const SatID & | svid, | ||
const CommonTime & | time, | ||
const Position & | rxpos, | ||
NavLibrary & | navLib, | ||
EllipsoidModel & | em, | ||
bool | svTime = false , |
||
double | gamma = GAMMA_GPS , |
||
NavSearchOrder | order = NavSearchOrder::User , |
||
SVHealth | xmitHealth = SVHealth::Any , |
||
NavValidityType | valid = NavValidityType::ValidOnly |
||
) |
Creates an ORD, applies a dual-frequency ionospheric correction and a default trop correction.
[in] | prange1 | The observed pseudorange on the first carrier |
[in] | prange2 | The observed pseudorange on the second carrier |
[in] | svid | The PRN number of the observed SV |
[in] | time | The time of the observation |
[in] | rxpos | The earth-centered, earth-fixed receiver position |
[in] | navLib | A store of either broadcast or precise ephemerides |
[in] | em | An EllipsoidModel for performing range calculations |
[in] | svTime | True if prange is in SV time, false for RX time. |
[in] | gamma | The value of gamma: ![]() |
[in] | order | Specify whether to search by receiver behavior or by nearest to when in time. |
[in] | xmitHealth | The desired health status of the satellite transmitting the nav data. |
[in] | valid | Specify whether to search only for valid or invalid messages, or both. |
Definition at line 149 of file ObsRngDev.cpp.
gnsstk::ObsRngDev::ObsRngDev | ( | const double | prange1, |
const double | prange2, | ||
const SatID & | svid, | ||
const CommonTime & | time, | ||
const Position & | rxpos, | ||
NavLibrary & | navLib, | ||
const EllipsoidModel & | em, | ||
const TropModel & | tm, | ||
bool | svTime = false , |
||
double | gamma = GAMMA_GPS , |
||
NavSearchOrder | order = NavSearchOrder::User , |
||
SVHealth | xmitHealth = SVHealth::Any , |
||
NavValidityType | valid = NavValidityType::ValidOnly |
||
) |
Creates an ORD, applies a dual-frequency ionospheric correction and a user-specified trop correction.
[in] | prange1 | The observed pseudorange on the first carrier |
[in] | prange2 | The observed pseudorange on the second carrier |
[in] | svid | The PRN number of the observed SV |
[in] | time | The time of the observation |
[in] | rxpos | The earth-centered, earth-fixed receiver position |
[in] | navLib | A store of either broadcast or precise ephemerides |
[in] | em | An EllipsoidModel for performing range calculations |
[in] | tm | A TropModel for performing trop calculations |
[in] | svTime | True if prange is in SV time, false for RX time. |
[in] | gamma | The value of gamma: ![]() |
[in] | order | Specify whether to search by receiver behavior or by nearest to when in time. |
[in] | xmitHealth | The desired health status of the satellite transmitting the nav data. |
[in] | valid | Specify whether to search only for valid or invalid messages, or both. |
Definition at line 178 of file ObsRngDev.cpp.
|
inlinevirtualnoexcept |
destructor
Definition at line 277 of file ObsRngDev.hpp.
|
inline |
Definition at line 347 of file ObsRngDev.hpp.
|
inlineprivate |
Definition at line 353 of file ObsRngDev.hpp.
|
private |
Definition at line 203 of file ObsRngDev.cpp.
|
private |
Definition at line 241 of file ObsRngDev.cpp.
Definition at line 278 of file ObsRngDev.cpp.
|
inlinenoexcept |
returns the SV azimuth angle (in degrees) in relation to the rx
Definition at line 299 of file ObsRngDev.hpp.
|
inlinenoexcept |
returns elevation (in degrees) of the SV in relation to the rx
Definition at line 306 of file ObsRngDev.hpp.
|
inlinenoexcept |
returns the 6-bit SV health bitfield from epehemeris, subframe 1
Definition at line 313 of file ObsRngDev.hpp.
|
inlinenoexcept |
returns the Issue Of Data, Clock (IODC) from ephemeris, subframe 1
Definition at line 320 of file ObsRngDev.hpp.
|
inlinenoexcept |
returns the ionospheric offset (in meters)
Definition at line 334 of file ObsRngDev.hpp.
|
inlinenoexcept |
returns the observed range deviation (ORD) (in meters)
Definition at line 327 of file ObsRngDev.hpp.
|
inlinenoexcept |
|
inlinenoexcept |
returns the time of the SV observation
Definition at line 285 of file ObsRngDev.hpp.
|
inlinenoexcept |
returns the tropospheric offset (in meters)
Definition at line 341 of file ObsRngDev.hpp.
Definition at line 284 of file ObsRngDev.cpp.
vfloat gnsstk::ObsRngDev::azimuth |
SV azimuth.
Definition at line 395 of file ObsRngDev.hpp.
|
static |
Definition at line 350 of file ObsRngDev.hpp.
vfloat gnsstk::ObsRngDev::elevation |
SV elevation.
Definition at line 396 of file ObsRngDev.hpp.
vshort gnsstk::ObsRngDev::health |
SV health bitfield.
Definition at line 397 of file ObsRngDev.hpp.
vshort gnsstk::ObsRngDev::iodc |
ephemeris IODC
Definition at line 398 of file ObsRngDev.hpp.
vdouble gnsstk::ObsRngDev::iono |
iono correction (meters)
Definition at line 400 of file ObsRngDev.hpp.
CommonTime gnsstk::ObsRngDev::obstime |
time of SV observation
Definition at line 390 of file ObsRngDev.hpp.
double gnsstk::ObsRngDev::ord |
difference between expected and observed range
Definition at line 392 of file ObsRngDev.hpp.
vdouble gnsstk::ObsRngDev::rho |
expected geometric range
Definition at line 399 of file ObsRngDev.hpp.
SatID gnsstk::ObsRngDev::svid |
PRN number of observed SV.
Definition at line 391 of file ObsRngDev.hpp.
vdouble gnsstk::ObsRngDev::trop |
trop correction (meters)
Definition at line 401 of file ObsRngDev.hpp.
unsigned gnsstk::ObsRngDev::wonky |
A bitmask defined by the application to flag questionable data.
Definition at line 393 of file ObsRngDev.hpp.