Changeset 9821 in ntrip for trunk/BNC


Ignore:
Timestamp:
Sep 9, 2022, 10:57:27 AM (20 months ago)
Author:
stuerze
Message:

minor changes

Location:
trunk/BNC/src
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/BNC/src/PPP/pppSatObs.cpp

    r9807 r9821  
    3333using namespace std;
    3434
     35const double   GLO_WEIGHT_FACTOR = 5.0;
     36const double   BDS_WEIGHT_FACTOR = 2.0;
     37
    3538// Constructor
    3639////////////////////////////////////////////////////////////////////////////
     
    344347
    345348  retVal = sqrt(retVal);
     349
     350  // De-Weight GLO+BDS
     351  // -----------------
     352  if (_prn.system() == 'R') {
     353    retVal *= GLO_WEIGHT_FACTOR;
     354  }
     355  if (_prn.system() == 'C') {
     356    retVal *= BDS_WEIGHT_FACTOR;
     357  }
     358
    346359
    347360  // Elevation-Dependent Weighting
  • trunk/BNC/src/PPP_SSR_I/pppFilter.cpp

    r9485 r9821  
    5555using namespace std;
    5656
    57 const double   GLONASS_WEIGHT_FACTOR = 5.0;
    58 const double   BDS_WEIGHT_FACTOR     = 2.0; // 5.0;
     57const double   GLO_WEIGHT_FACTOR = 5.0;
     58const double   BDS_WEIGHT_FACTOR = 2.0; // 5.0;
    5959
    6060#define LOG (_pppClient->log())
     
    846846  ionFacGLO = ionFac(prnGlo,satData);
    847847  if (iPhase == 0)
    848     ionFacGLO *= (prnGlo[0]=='R'? GLONASS_WEIGHT_FACTOR : BDS_WEIGHT_FACTOR);
     848    ionFacGLO *= (prnGlo[0]=='R'? GLO_WEIGHT_FACTOR : BDS_WEIGHT_FACTOR);
    849849  ionFacGPS = ionFac(prnGPS,satData);
    850850
     
    10251025    double sigL3 = ionFac * ellWgtCoef * OPT->_sigmaL1;
    10261026    if (satData->system() == 'R') {
    1027       sigL3 *= GLONASS_WEIGHT_FACTOR;
     1027      sigL3 *= GLO_WEIGHT_FACTOR;
    10281028    }
    10291029    if  (satData->system() == 'C') {
     
    10471047    double sigP3 = ionFac * ellWgtCoef * OPT->_sigmaC1;
    10481048    if (satData->system() == 'R') {
    1049       sigP3 *= GLONASS_WEIGHT_FACTOR;
     1049      sigP3 *= GLO_WEIGHT_FACTOR;
    10501050    }
    10511051    if  (satData->system() == 'C') {
  • trunk/BNC/src/bncwindow.cpp

    r9795 r9821  
    477477  // -------------------
    478478  _cmbTable = new QTableWidget(0,3);
    479   _cmbTable->setHorizontalHeaderLabels(QString("Mountpoint, AC Name, Weight").split(","));
     479  _cmbTable->setHorizontalHeaderLabels(QString("Mountpoint, AC Name, Weight Factor").split(","));
    480480  _cmbTable->setSelectionMode(QAbstractItemView::ExtendedSelection);
    481481  _cmbTable->setSelectionBehavior(QAbstractItemView::SelectRows);
     
    15071507  // WhatsThis, Combine Corrections
    15081508  // ------------------------------
    1509   _cmbTable->setWhatsThis(tr("<p>BNC allows to process several orbit and clock correction streams in real-time to produce, encode, upload and save a combination of correctors coming from different providers. To add a line to the 'Combine Corrections' table hit the 'Add Row' button, double click on the 'Mountpoint' field to specify a Broadcast Ephemeris Correction mountpoint from the 'Streams' section below and hit Enter. Then double click on the 'AC Name' field to enter your choice of an abbreviation for the Analysis Center (AC) providing the stream. Finally, double click on the 'Weight' field to enter a weight to be applied for this stream in the combination.</p><p>Note that the orbit information in the resulting combination stream is just copied from one of the incoming streams. The stream used for providing the orbits may vary over time: if the orbit providing stream has an outage then BNC switches to the next remaining stream for getting hold of the orbit information.</p><p>The combination process requires Broadcast Ephemeris. Besides orbit and clock correction streams BNC should therefore pull a stream carrying Broadcast Ephemeris in the form of RTCM Version 3 messages.</p><p>It is possible to specify only one Broadcast Ephemeris Correction stream in the 'Combine Corrections' table. Instead of combining corrections BNC will then add the corrections to the Broadcast Ephemeris with the possibility to save final orbit and clock results in SP3 and/or Clock RINEX format. <i>[key: cmbStreams]</i></p>"));
     1509  _cmbTable->setWhatsThis(tr("<p>BNC allows to process several orbit and clock correction streams in real-time to produce, encode, upload and save a combination of correctors coming from different providers. To add a line to the 'Combine Corrections' table hit the 'Add Row' button, double click on the 'Mountpoint' field to specify a Broadcast Ephemeris Correction mountpoint from the 'Streams' section below and hit Enter. Then double click on the 'AC Name' field to enter your choice of an abbreviation for the Analysis Center (AC) providing the stream. Finally, double click on the 'Weight Factor' field to enter a weight factor to be applied for this stream in the combination.</p><p>Note that the orbit information in the resulting combination stream is just copied from one of the incoming streams. The stream used for providing the orbits may vary over time: if the orbit providing stream has an outage then BNC switches to the next remaining stream for getting hold of the orbit information.</p><p>The combination process requires Broadcast Ephemeris. Besides orbit and clock correction streams BNC should therefore pull a stream carrying Broadcast Ephemeris in the form of RTCM Version 3 messages.</p><p>It is possible to specify only one Broadcast Ephemeris Correction stream in the 'Combine Corrections' table. Instead of combining corrections BNC will then add the corrections to the Broadcast Ephemeris with the possibility to save final orbit and clock results in SP3 and/or Clock RINEX format. <i>[key: cmbStreams]</i></p>"));
    15101510  addCmbRowButton->setWhatsThis(tr("<p>Hit 'Add Row' button to add another line to the 'Combine Corrections' table.</p>"));
    15111511  delCmbRowButton->setWhatsThis(tr("<p>Hit 'Delete' button to delete the highlighted line(s) from the 'Combine Corrections' table.</p>"));
  • trunk/BNC/src/combination/bnccomb.cpp

    r9819 r9821  
    174174      QStringList hlp = it.next().split(" ");
    175175      cmbAC* newAC = new cmbAC();
    176       newAC->mountPoint = hlp[0];
    177       newAC->name       = hlp[1];
    178       newAC->weight    = hlp[2].toDouble();
     176      newAC->mountPoint   = hlp[0];
     177      newAC->name         = hlp[1];
     178      newAC->weightFactor = hlp[2].toDouble();
    179179      QMapIterator<char, unsigned> itSys(_cmbSysPrn);
    180180      // init
     
    456456    // ----------------------
    457457    QString acName;
     458    double weigthFactor;
    458459    QListIterator<cmbAC*> icAC(_ACs);
    459460    while (icAC.hasNext()) {
     
    461462      if (AC->mountPoint == staID) {
    462463        acName = AC->name;
     464        weigthFactor = AC->weightFactor;
    463465        break;
    464466      }
     
    492494    newCorr->_acName  = acName;
    493495    newCorr->_clkCorr = clkCorr;
     496    newCorr->_weightFactor = weigthFactor;
    494497
    495498    // Check orbit correction
     
    10331036    ll(iObs) = (corr->_clkCorr._dClk * t_CST::c - corr->_satCodeBiasIF) - DotProduct(AA.Row(iObs), x0);
    10341037
     1038    PP(iObs, iObs) *= 1.0 / (corr->_weightFactor * corr->_weightFactor);
    10351039  }
    10361040
  • trunk/BNC/src/combination/bnccomb.h

    r9819 r9821  
    6565   public:
    6666    cmbAC() {
    67       weight = 0.0;
    68       numObs['G'] = 0;
    69       numObs['R'] = 0;
    70       numObs['E'] = 0;
    71       numObs['C'] = 0;
    72       numObs['J'] = 0;
    73       numObs['S'] = 0;
    74       numObs['I'] = 0;
     67      weightFactor = 1.0;
     68      numObs['G']  = 0;
     69      numObs['R']  = 0;
     70      numObs['E']  = 0;
     71      numObs['C']  = 0;
     72      numObs['J']  = 0;
     73      numObs['S']  = 0;
     74      numObs['I']  = 0;
    7575    }
    7676    ~cmbAC() {}
    7777    QString  mountPoint;
    7878    QString  name;
    79     double   weight;
     79    double   weightFactor;
    8080    QMap<char, unsigned> numObs;
    8181  };
     
    101101    double         _dClkResult;
    102102    ColumnVector   _diffRao;
     103    double         _weightFactor;
    103104    QString ID() {return _acName + "_" + _prn;}
    104105  };
  • trunk/BNC/src/upload/bncrtnetuploadcaster.cpp

    r9687 r9821  
    591591          emit(newMessage("                      RTNET format error: "
    592592                          +  lines[ii].toLatin1(), false));
     593          break;
    593594        }
    594595      }
     
    632633                                     rtnUra, rtnClk, rtnVel, rtnCoM, rtnClkSig, sd, outLine);
    633634        if (irc != success) {
    634         /*   !xP.size()       */
    635635          continue;
    636636        }
Note: See TracChangeset for help on using the changeset viewer.