Changeset 11129 in ntrip for trunk/BNC/src/ssrQc.h


Ignore:
Timestamp:
Oct 28, 2026, 9:31:18 AM (4 days ago)
Author:
stuerze
Message:

attitude check added to the SSR QC

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/BNC/src/ssrQc.h

    r11117 r11129  
    1616////////////////////////////////////////////////////////////////////////////
    1717class bncBiasSnx;
     18class bncAntex;
    1819
    1920class t_ssrQc : public QObject {
    … …  
    171172  QMap<QString, t_vtecStat>            _vtecStat;  // stream
    172173  bncTime                              _nextVtecCmp;
     174
     175  // Attitude check: for streams sending the yaw angle, the clock change of
     176  // the stream relative to the consensus during a turn (yaw difference to
     177  // BNC's attitude model changing by more than ATT_ONSET) is compared with
     178  // the change predicted by the phase wind-up, lambda_IF * dpsi / 2pi
     179  class t_yawLast {          // latest SSR yaw angle of a stream and satellite
     180   public:
     181    bncTime time;
     182    double  yaw  = 0.0;      // [rad]
     183    double  rate = 0.0;      // [rad/s]
     184  };
     185  class t_attSample {
     186   public:
     187    double t;                // [s] (tKey)
     188    double dc;               // clock difference to the consensus [m]
     189    double p;                // predicted clock difference, unwrapped [m]
     190    double dpsi;             // yaw difference model - stream, unwrapped [rad]
     191  };
     192  class t_attTrack {         // per stream and satellite
     193   public:
     194    bool                 active   = false;
     195    bool                 hasLast  = false;
     196    double               lastDPsi = 0.0;
     197    double               lastT    = 0.0;
     198    QVector<t_attSample> hist;   // recent samples before a turn
     199    QVector<t_attSample> event;  // samples of the current turn
     200    double               dc0 = 0.0, p0 = 0.0, dpsi0 = 0.0;  // before the turn
     201  };
     202  void   attitudeSample(const QString& staID, const QString& prn, const bncTime& tt,
     203                        const ColumnVector& xx, const ColumnVector& vv, double dc);
     204  void   attitudeEvent(const QString& staID, const QString& prn, t_attTrack& tr, const QString& end);
     205  bncAntex*                                       _antex;      // option ssrQcAntexFile
     206  QMap<QString, QMap<QString, t_yawLast> >        _yawLast;    // stream, PRN
     207  QMap<QString, QMap<QString, t_attTrack> >       _attTrack;   // stream, PRN
     208  QMap<QString, double>                           _psiModel;   // PRN: model yaw at _psiModelT
     209  double                                          _psiModelT = 0.0;
     210  QMap<QString, QMap<char, QStringList> >         _attEvents;  // stream, system: report lines
    173211};
    174212
Note: See TracChangeset for help on using the changeset viewer.