Ignore:
Timestamp:
Oct 22, 2020, 4:33:20 PM (4 years ago)
Author:
stuerze
Message:

check if orbit and clock corrections are in defined ranges is added

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/BNC_2.12/src/upload/bncrtnetuploadcaster.cpp

    r9141 r9180  
    604604        t_irc irc = processSatellite(eph, epoTime.gpsw(), epoTime.gpssec(), prnStr, rtnAPC,
    605605                                     rtnUra, rtnClk, rtnVel, rtnCoM, rtnClkSig, sd, outLine);
    606         if (irc != success) {
     606        if (irc != success) {/*
    607607          // very few cases: check states bad and unhealthy are excluded earlier
    608608          sd->ID = prnStr.mid(1).toInt(); // to prevent G00, R00 entries
    609609          sd->IOD = eph->IOD();
     610          */
     611          continue;
    610612        }
    611613      }
     
    996998    sd->Orbit.DotDeltaAlongTrack = dotRsw(2);
    997999    sd->Orbit.DotDeltaCrossTrack = dotRsw(3);
     1000
     1001    if (corrIsOutOfRange(sd)) {
     1002      return failure;
     1003    }
    9981004  }
    9991005
    10001006  outLine.sprintf("%d %.1f %s  %u  %10.3f %8.3f %8.3f  %8.3f %8.3f %8.3f\n", GPSweek,
    10011007      GPSweeks, eph->prn().toString().c_str(), eph->IOD(), dClkA0, dClkA1, dClkA2,
    1002       rsw(1), rsw(2), rsw(3));
     1008      rsw(1), rsw(2), rsw(3));  //fprintf(stderr, "%s\n", outLine.toStdString().c_str());
    10031009
    10041010  // RTNET full clock for RINEX and SP3 file
     
    11531159  return 2;  // default
    11541160}
     1161
     1162bool bncRtnetUploadCaster::corrIsOutOfRange(struct SsrCorr::ClockOrbit::SatData* sd) {
     1163
     1164  if (fabs(sd->Clock.DeltaA0) > 209.7151)   {return true;}
     1165  if (fabs(sd->Clock.DeltaA1) > 1.048575)   {return true;}
     1166  if (fabs(sd->Clock.DeltaA2) > 1.34217726) {return true;}
     1167
     1168  if (fabs(sd->Orbit.DeltaRadial)     > 209.7151) {return true;}
     1169  if (fabs(sd->Orbit.DeltaAlongTrack) > 209.7148) {return true;}
     1170  if (fabs(sd->Orbit.DeltaCrossTrack) > 209.7148) {return true;}
     1171
     1172  if (fabs(sd->Orbit.DotDeltaRadial)     > 1.048575) {return true;}
     1173  if (fabs(sd->Orbit.DotDeltaAlongTrack) > 1.048572) {return true;}
     1174  if (fabs(sd->Orbit.DotDeltaCrossTrack) > 1.048572) {return true;}
     1175
     1176  return false;
     1177}
Note: See TracChangeset for help on using the changeset viewer.