Changeset 2790 in ntrip


Ignore:
Timestamp:
Dec 14, 2010, 1:36:44 PM (13 years ago)
Author:
mervart
Message:
 
Location:
trunk/BNC
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/BNC/bncmodel.cpp

    r2789 r2790  
    557557    while (iGPS.hasNext()) {
    558558      iGPS.next();
    559       QString prn        = iGPS.key();
    560559      t_satData* satData = iGPS.value();
    561560      addAmb(satData);
     
    661660    QMapIterator<QString, t_satData*> itGPS(epoData->satDataGPS);
    662661    while (itGPS.hasNext()) {
    663       ++iObs;
    664662      itGPS.next();
    665       QString    prn     = itGPS.key();
    666663      t_satData* satData = itGPS.value();
    667    
    668       ll(iObs)      = satData->P3 - cmpValue(satData, false);
    669       PP(iObs,iObs) = 1.0 / (_sigP3 * _sigP3);
    670       for (int iPar = 1; iPar <= _params.size(); iPar++) {
    671         AA(iObs, iPar) = _params[iPar-1]->partial(satData, false);
    672       }
    673    
    674       if (_usePhase) {
    675         ++iObs;
    676         ll(iObs)      = satData->L3 - cmpValue(satData, true);
    677         PP(iObs,iObs) = 1.0 / (_sigL3 * _sigL3);
    678         for (int iPar = 1; iPar <= _params.size(); iPar++) {
    679           if (_params[iPar-1]->type == bncParam::AMB_L3 &&
    680               _params[iPar-1]->prn  == prn) {
    681             ll(iObs) -= _params[iPar-1]->xx;
    682           }
    683           AA(iObs, iPar) = _params[iPar-1]->partial(satData, true);
    684         }
    685       }
     664      addObs(iObs, satData, AA, ll, PP);
    686665    }
    687666
    688667    // Glonass phase observations
    689668    // --------------------------
    690     if (_usePhase) {   
    691       QMapIterator<QString, t_satData*> itGlo(epoData->satDataGlo);
    692       while (itGlo.hasNext()) {
    693         ++iObs;
    694         itGlo.next();
    695         QString    prn     = itGlo.key();
    696         t_satData* satData = itGlo.value();
    697 
    698         ll(iObs)      = satData->L3 - cmpValue(satData, true);
    699         PP(iObs,iObs) = 1.0 / (_sigL3 * _sigL3);
    700         for (int iPar = 1; iPar <= _params.size(); iPar++) {
    701           if (_params[iPar-1]->type == bncParam::AMB_L3 &&
    702               _params[iPar-1]->prn  == prn) {
    703             ll(iObs) -= _params[iPar-1]->xx;
    704           }
    705           AA(iObs, iPar) = _params[iPar-1]->partial(satData, true);
    706         }
    707       }
     669    QMapIterator<QString, t_satData*> itGlo(epoData->satDataGlo);
     670    while (itGlo.hasNext()) {
     671      itGlo.next();
     672      t_satData* satData = itGlo.value();
     673      addObs(iObs, satData, AA, ll, PP);
    708674    }
    709675
     
    712678    QMapIterator<QString, t_satData*> itGal(epoData->satDataGal);
    713679    while (itGal.hasNext()) {
    714       ++iObs;
    715680      itGal.next();
    716       QString    prn     = itGal.key();
    717681      t_satData* satData = itGal.value();
    718    
    719       ll(iObs)      = satData->P3 - cmpValue(satData, false);
    720       PP(iObs,iObs) = 1.0 / (_sigP3 * _sigP3);
    721       for (int iPar = 1; iPar <= _params.size(); iPar++) {
    722         AA(iObs, iPar) = _params[iPar-1]->partial(satData, false);
    723       }
    724    
    725       if (_usePhase) {
    726         ++iObs;
    727         ll(iObs)      = satData->L3 - cmpValue(satData, true);
    728         PP(iObs,iObs) = 1.0 / (_sigL3 * _sigL3);
    729         for (int iPar = 1; iPar <= _params.size(); iPar++) {
    730           if (_params[iPar-1]->type == bncParam::AMB_L3 &&
    731               _params[iPar-1]->prn  == prn) {
    732             ll(iObs) -= _params[iPar-1]->xx;
    733           }
    734           AA(iObs, iPar) = _params[iPar-1]->partial(satData, true);
    735         }
    736       }
     682      addObs(iObs, satData, AA, ll, PP);
    737683    }
    738684
     
    13451291  }
    13461292}
     1293
     1294//
     1295///////////////////////////////////////////////////////////////////////////
     1296void bncModel::addObs(unsigned& iObs, t_satData* satData,
     1297                      Matrix& AA, ColumnVector& ll, DiagonalMatrix& PP) {
     1298
     1299  if (satData->system() != 'R') {
     1300    ++iObs;
     1301    ll(iObs)      = satData->P3 - cmpValue(satData, false);
     1302    PP(iObs,iObs) = 1.0 / (_sigP3 * _sigP3);
     1303    for (int iPar = 1; iPar <= _params.size(); iPar++) {
     1304      AA(iObs, iPar) = _params[iPar-1]->partial(satData, false);
     1305    }
     1306  }
     1307 
     1308  if (_usePhase) {
     1309    ++iObs;
     1310    ll(iObs)      = satData->L3 - cmpValue(satData, true);
     1311    PP(iObs,iObs) = 1.0 / (_sigL3 * _sigL3);
     1312    for (int iPar = 1; iPar <= _params.size(); iPar++) {
     1313      if (_params[iPar-1]->type == bncParam::AMB_L3 &&
     1314          _params[iPar-1]->prn  == satData->prn) {
     1315        ll(iObs) -= _params[iPar-1]->xx;
     1316      }
     1317      AA(iObs, iPar) = _params[iPar-1]->partial(satData, true);
     1318    }
     1319  }
     1320}
  • trunk/BNC/bncmodel.h

    r2789 r2790  
    9090  void   cmpEle(t_satData* satData);
    9191  void   addAmb(t_satData* satData);
     92  void   addObs(unsigned& iObs, t_satData* satData,
     93                Matrix& AA, ColumnVector& ll, DiagonalMatrix& PP);
    9294  double cmpValue(t_satData* satData, bool phase);
    9395  double delay_saast(double Ele);
Note: See TracChangeset for help on using the changeset viewer.