Ignore:
Timestamp:
Jul 4, 2026, 7:37:18 AM (2 days ago)
Author:
stuerze
Message:

minor changes

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/BNC/src/combination/bnccomb.cpp

    r10956 r10958  
    11741174    cmbCorr* corr = it.value();
    11751175
     1176    // Reject GLONASS corrections whose broadcast ephemeris has exceeded its
     1177    // declared validity window.  GLONASS nav ephemerides are issued every
     1178    // 30 min and are valid for ±900 s around the reference time (TOC).
     1179    // t_ephGlo::position() uses Runge-Kutta integration from TOC; beyond
     1180    // ±900 s the integration error grows unchecked and propagates into both
     1181    // the combined clock estimate and the SP3 position.
     1182    if (corr->_eph->prn().system() == 'R') {
     1183      double age = epoTime - corr->_eph->TOC();
     1184      if (fabs(age) > 900.0) {
     1185        emit newMessage(QString().asprintf(
     1186          "bncComb: skip %s, GLONASS eph age %.0fs",
     1187          corr->_prn.mid(0,3).toLatin1().data(), age).toLatin1(), false);
     1188        delete corr;
     1189        it.remove();
     1190        continue;
     1191      }
     1192    }
     1193
    11761194    // ORBIT
    11771195    t_orbCorr orbCorr(corr->_orbCorr);
     
    11961214      it.remove();
    11971215      continue;
    1198     }
    1199 
    1200     // TEMPORARY DIAGNOSTIC: how far is this epoch from the GLONASS broadcast
    1201     // ephemeris reference time? t_ephGlo::position() numerically integrates
    1202     // (Runge-Kutta) from that reference time, with a 24h extrapolation
    1203     // guard far looser than GLONASS nav's ~30-35 min nominal validity - a
    1204     // large age here would point to extrapolation-driven along-track error
    1205     // rather than anything attitude/yaw related.
    1206     if (corr->_eph->prn().system() == 'R') {
    1207       double age = epoTime - corr->_eph->TOC();
    1208       if (fabs(age) > 600.0) {
    1209         emit newMessage(QString().asprintf(
    1210           "bncComb: GLONASS eph age %s %.0fs Mjd=%.6f",
    1211           corr->_prn.mid(0,3).toLatin1().data(), age,
    1212           epoTime.mjd() + epoTime.daysec()/86400.0).toLatin1(), false);
    1213       }
    12141216    }
    12151217
Note: See TracChangeset for help on using the changeset viewer.