Changeset 4572 in ntrip for trunk/BNC


Ignore:
Timestamp:
Aug 29, 2012, 11:23:06 AM (12 years ago)
Author:
mervart
Message:
 
Location:
trunk/BNC/src/rinex
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/BNC/src/rinex/reqcanalyze.cpp

    r4571 r4572  
    6868  _currEpo = 0;
    6969
    70   connect(this, SIGNAL(displayGraph(const QString&,
     70  connect(this, SIGNAL(dspSkyPlot(const QString&,
     71                                  const QByteArray&,
     72                                  QVector<t_polarPoint*>*,
     73                                  const QByteArray&,
     74                                  QVector<t_polarPoint*>*,
     75                                  const QByteArray&, double)),
     76          this, SLOT(slotDspSkyPlot(const QString&,
    7177                                    const QByteArray&,
    7278                                    QVector<t_polarPoint*>*,
    7379                                    const QByteArray&,
    7480                                    QVector<t_polarPoint*>*,
    75                                     const QByteArray&, double)),
    76           this, SLOT(slotDisplayGraph(const QString&,
     81                                    const QByteArray&, double)));
     82
     83  connect(this, SIGNAL(dspAvailPlot(const QString&,
     84                                    const QByteArray&,
     85                                    QMap<QString, QVector<int> >*)),
     86          this, SLOT(slotDspAvailPlot(const QString&,
    7787                                      const QByteArray&,
    78                                       QVector<t_polarPoint*>*,
    79                                       const QByteArray&,
    80                                       QVector<t_polarPoint*>*,
    81                                       const QByteArray&, double)));
     88                                      QMap<QString, QVector<int> >*)));
     89
    8290}
    8391
     
    101109// 
    102110////////////////////////////////////////////////////////////////////////////
    103 void t_reqcAnalyze::slotDisplayGraph(const QString& fileName,
    104                                      const QByteArray& title1,
    105                                      QVector<t_polarPoint*>* data1,
    106                                      const QByteArray& title2,
    107                                      QVector<t_polarPoint*>* data2,
    108                                      const QByteArray& scaleTitle,
    109                                      double maxValue) {
     111void t_reqcAnalyze::slotDspSkyPlot(const QString& fileName,
     112                                   const QByteArray& title1,
     113                                   QVector<t_polarPoint*>* data1,
     114                                   const QByteArray& title2,
     115                                   QVector<t_polarPoint*>* data2,
     116                                   const QByteArray& scaleTitle,
     117                                   double maxValue) {
    110118
    111119  bncApp* app = dynamic_cast<bncApp*>(qApp);
     
    247255  // Analyze the Multipath
    248256  // ---------------------
    249   QVector<t_polarPoint*>* dataMP1  = new QVector<t_polarPoint*>;
    250   QVector<t_polarPoint*>* dataMP2  = new QVector<t_polarPoint*>;
    251   QVector<t_polarPoint*>* dataSNR1 = new QVector<t_polarPoint*>;
    252   QVector<t_polarPoint*>* dataSNR2 = new QVector<t_polarPoint*>;
     257  QVector<t_polarPoint*>*       dataMP1  = new QVector<t_polarPoint*>;
     258  QVector<t_polarPoint*>*       dataMP2  = new QVector<t_polarPoint*>;
     259  QVector<t_polarPoint*>*       dataSNR1 = new QVector<t_polarPoint*>;
     260  QVector<t_polarPoint*>*       dataSNR2 = new QVector<t_polarPoint*>;
     261  QMap<QString, QVector<int> >* availL1  = new QMap<QString, QVector<int> >;
     262
    253263
    254264  QMapIterator<QString, t_satStat> it(_satStat);
     
    257267    QString          prn     = it.key();
    258268    const t_satStat& satStat = it.value();
    259     analyzeMultipathAndSNR(prn, satStat, xyz, obsFile->interval(),
    260                            dataMP1, dataMP2, dataSNR1, dataSNR2);
    261   }
    262 
    263   emit displayGraph(obsFile->fileName(), "MP1", dataMP1, "MP2", dataMP2,
    264                     "Meters", 2.0);
    265   emit displayGraph(obsFile->fileName(), "SNR1", dataSNR1, "SNR2", dataSNR2,
    266                     "", 9.0);
     269    QVector<int>&    dataL1  = (*availL1)[prn];
     270    preparePlotData(prn, satStat, xyz, obsFile->interval(),
     271                    dataMP1, dataMP2, dataSNR1, dataSNR2, dataL1);
     272  }
     273
     274  emit dspSkyPlot(obsFile->fileName(), "MP1", dataMP1, "MP2", dataMP2,
     275                  "Meters", 2.0);
     276
     277  emit dspSkyPlot(obsFile->fileName(), "SNR1", dataSNR1, "SNR2", dataSNR2,
     278                  "", 9.0);
     279
     280  emit dspAvailPlot(obsFile->fileName(), "Availability L1", availL1);
    267281
    268282  if (_log) {
     
    356370// 
    357371////////////////////////////////////////////////////////////////////////////
    358 void t_reqcAnalyze::analyzeMultipathAndSNR(const QString& prn,
    359                                            const t_satStat& satStat,
    360                                            const ColumnVector& xyz,
    361                                            double obsInterval,
    362                                            QVector<t_polarPoint*>* dataMP1,
    363                                            QVector<t_polarPoint*>* dataMP2,
    364                                            QVector<t_polarPoint*>* dataSNR1,
    365                                            QVector<t_polarPoint*>* dataSNR2) {
     372void t_reqcAnalyze::preparePlotData(const QString& prn,
     373                                    const t_satStat& satStat,
     374                                    const ColumnVector& xyz,
     375                                    double obsInterval,
     376                                    QVector<t_polarPoint*>* dataMP1,
     377                                    QVector<t_polarPoint*>* dataMP2,
     378                                    QVector<t_polarPoint*>* dataSNR1,
     379                                    QVector<t_polarPoint*>* dataSNR2,
     380                                    QVector<int>&           dataL1) {
    366381
    367382  const int chunkStep = int( 30.0 / obsInterval); // chunk step (30 sec) 
     
    370385  for (int chunkStart = 0; chunkStart + numEpo < satStat.anaObs.size();
    371386       chunkStart += chunkStep) {
     387
     388    bncTime firstEpoch;
    372389
    373390    // Compute Mean
     
    379396    double SNR2     = 0.0;
    380397
    381 
    382398    for (int ii = 0; ii < numEpo; ii++) {
    383399      int iEpo = chunkStart + ii;
    384400      const t_anaObs* anaObs = satStat.anaObs[iEpo];
     401
     402      if (ii == 0) {
     403        firstEpoch.set(anaObs->_GPSWeek, anaObs->_GPSWeeks);
     404      }
     405
    385406      mean1 += anaObs->_MP1;
    386407      mean2 += anaObs->_MP2;
     
    462483    (*dataSNR2) << (new t_polarPoint(az, zen, SNR2));
    463484
     485    dataL1 << int(firstEpoch.gpssec());
     486
    464487    if (_log) {
    465488      _log->setRealNumberNotation(QTextStream::FixedNotation);
     
    479502  }
    480503}
     504
     505// 
     506////////////////////////////////////////////////////////////////////////////
     507void t_reqcAnalyze::slotDspAvailPlot(const QString& fileName,
     508                                     const QByteArray& title,
     509                                     QMap<QString, QVector<int> >* prnAvail){
     510
     511}
  • trunk/BNC/src/rinex/reqcanalyze.h

    r4571 r4572  
    4545 signals:
    4646  void finished();
    47   void displayGraph(const QString& fileName,
    48                     const QByteArray&,
    49                     QVector<t_polarPoint*>*,
    50                     const QByteArray&,
    51                     QVector<t_polarPoint*>*,
    52                     const QByteArray&, double);
     47  void dspSkyPlot(const QString&,
     48                  const QByteArray&,
     49                  QVector<t_polarPoint*>*,
     50                  const QByteArray&,
     51                  QVector<t_polarPoint*>*,
     52                  const QByteArray&, double);
     53
     54  void dspAvailPlot(const QString&, const QByteArray&,
     55                    QMap<QString, QVector<int> >*);
    5356   
    5457 private slots:
    55   void slotDisplayGraph(const QString& fileName,
    56                         const QByteArray& title1,
    57                         QVector<t_polarPoint*>* data1,
    58                         const QByteArray& title2,
    59                         QVector<t_polarPoint*>* data2,
    60                         const QByteArray& scaleTitle, double maxValue);
     58  void slotDspSkyPlot(const QString& fileName,
     59                      const QByteArray& title1,
     60                      QVector<t_polarPoint*>* data1,
     61                      const QByteArray& title2,
     62                      QVector<t_polarPoint*>* data2,
     63                      const QByteArray& scaleTitle, double maxValue);
     64
     65  void slotDspAvailPlot(const QString& fileName, const QByteArray& title,
     66                        QMap<QString, QVector<int> >* prnAvail);
    6167
    6268 public:
     
    99105
    100106  void analyzeFile(t_rnxObsFile* obsFile);
    101   void analyzeMultipathAndSNR(const QString& prn,
    102                               const t_satStat& satStat,
    103                               const ColumnVector& xyz,
    104                               double obsInterval,
    105                               QVector<t_polarPoint*>* dataMP1,
    106                               QVector<t_polarPoint*>* dataMP2,
    107                               QVector<t_polarPoint*>* dataSNR1,
    108                               QVector<t_polarPoint*>* dataSNR2);
     107  void preparePlotData(const QString& prn, const t_satStat& satStat,
     108                       const ColumnVector& xyz, double obsInterval,
     109                       QVector<t_polarPoint*>* dataMP1,
     110                       QVector<t_polarPoint*>* dataMP2,
     111                       QVector<t_polarPoint*>* dataSNR1,
     112                       QVector<t_polarPoint*>* dataSNR2,
     113                       QVector<int>&           dataL1);
    109114
    110115  QString                  _logFileName;
Note: See TracChangeset for help on using the changeset viewer.