Esempio n. 1
0
 ObsRngDev::ObsRngDev(
    const double prange,
    const SatID& svid,
    const DayTime& time,
    const ECEF& rxpos,
    const XvtStore<SatID>& eph,
    GeoidModel& gm,
    bool svTime)
    : obstime(time), svid(svid), ord(0), wonky(false)
 {
    computeOrd(prange, rxpos, eph, gm, svTime);
    Geodetic gx(rxpos, &gm);
    NBTropModel nb(gx.getAltitude(), gx.getLatitude(), time.DOYday());
    computeTrop(nb);
 }
Esempio n. 2
0
 ObsRngDev::ObsRngDev(
    const double prange,
    const SatID& svid,
    const DayTime& time,
    const ECEF& rxpos,
    const XvtStore<SatID>& eph,
    GeoidModel& gm,
    const IonoModelStore& ion,
    IonoModel::Frequency fq,
    bool svTime)
       : obstime(time), svid(svid), ord(0), wonky(false)
 {
    computeOrd(prange, rxpos, eph, gm, svTime);
    Geodetic gx(rxpos, &gm);
    NBTropModel nb(gx.getAltitude(), gx.getLatitude(), time.DOYday());
    computeTrop(nb);
    iono = ion.getCorrection(time, gx, elevation, azimuth, fq);
    ord -= iono;
 }
Esempio n. 3
0
   ObsRngDev::ObsRngDev(
      const double prange1,
      const double prange2,
      const SatID& svid,
      const DayTime& time,
      const ECEF& rxpos,
      const XvtStore<SatID>& eph,
      GeoidModel& gm,
      bool svTime)
         : obstime(time), svid(svid), ord(0), wonky(false)
   {
      // for dual frequency see ICD-GPS-211, section 20.3.3.3.3.3
      double icpr = (prange2 - GAMMA * prange1)/IGAMMA;
      iono = prange1 - icpr;

      computeOrd(icpr, rxpos, eph, gm, svTime);
      Geodetic gx(rxpos, &gm);
      NBTropModel nb(gx.getAltitude(), gx.getLatitude(), time.DOYday());
      computeTrop(nb);
   }