Changeset 2782 in ntrip


Ignore:
Timestamp:
Dec 12, 2010, 7:11:32 PM (13 years ago)
Author:
mervart
Message:
 
Location:
trunk/BNC
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/BNC/bncmodel.cpp

    r2781 r2782  
    6464const double   MAXRES_PHASE_GAL = 9999.10;
    6565
    66 const double   _sigP3_gal = 9999.0;
    67 const double   _sigL3_gal = 0.10;
    68 
    6966// Constructor
    7067////////////////////////////////////////////////////////////////////////////
     
    112109  }
    113110
     111  // Galileo Offset
     112  // --------------
     113  else if (type == GALILEO_OFFSET) {
     114    if (satData->prn[0] == 'E') {
     115      return 1.0;
     116    }
     117    else {
     118      return 0.0;
     119    }
     120  }
     121
    114122  // Ambiguities
    115123  // -----------
     
    165173    _sigTrpP = settings.value("pppSigTrpP").toDouble();
    166174  }
    167   _sigClk0 = 1000.0;
    168   _sigAmb0 = 1000.0;
     175  _sigClk0           = 1000.0;
     176  _sigAmb0           = 1000.0;
     177  _sigGalileoOffset0 = 1000.0;
     178  _sigGalileoOffsetP = 1000.0;
    169179
    170180  // Quick-Start Mode
     
    210220  _params.push_back(new bncParam(bncParam::RECCLK, ++nextPar, ""));
    211221  if (_estTropo) {
    212     _params.push_back(new bncParam(bncParam::TROPO,       ++nextPar, ""));
     222    _params.push_back(new bncParam(bncParam::TROPO, ++nextPar, ""));
     223  }
     224  if (_useGalileo) {
     225    _params.push_back(new bncParam(bncParam::GALILEO_OFFSET, ++nextPar, ""));
    213226  }
    214227
     
    229242    else if (pp->type == bncParam::TROPO) {
    230243      _QQ(iPar,iPar) = _sigTrp0 * _sigTrp0;
     244    }
     245    else if (pp->type == bncParam::GALILEO_OFFSET) {
     246      _QQ(iPar,iPar) = _sigGalileoOffset0 * _sigGalileoOffset0;
    231247    }
    232248  }
     
    522538      _QQ(iPar,iPar) += _sigTrpP * _sigTrpP;
    523539    }
     540
     541    // Galileo Offset
     542    // --------------
     543    else if (pp->type == bncParam::GALILEO_OFFSET) {
     544      _QQ(iPar,iPar) += _sigGalileoOffsetP * _sigGalileoOffsetP;
     545    }
    524546  }
    525547
     
    763785   
    764786      ll(iObs)      = satData->P3 - cmpValue(satData, false);
    765       PP(iObs,iObs) = 1.0 / (_sigP3_gal * _sigP3_gal);
     787      PP(iObs,iObs) = 1.0 / (_sigP3 * _sigP3);
    766788      for (int iPar = 1; iPar <= _params.size(); iPar++) {
    767789        AA(iObs, iPar) = _params[iPar-1]->partial(satData, false);
     
    771793        ++iObs;
    772794        ll(iObs)      = satData->L3 - cmpValue(satData, true);
    773         PP(iObs,iObs) = 1.0 / (_sigL3_gal * _sigL3_gal);
     795        PP(iObs,iObs) = 1.0 / (_sigL3 * _sigL3);
    774796        for (int iPar = 1; iPar <= _params.size(); iPar++) {
    775797          if (_params[iPar-1]->type == bncParam::AMB_L3 &&
     
    832854    }
    833855    if (_useGalileo) {
    834       strA   << "res Galileo P " << setw(8) << setprecision(3) << vv_gal_code.t();
     856      strA << "Galileo code    " << setw(8) << setprecision(3) << vv_gal_code.t();
    835857      if (_usePhase) {
    836         strA << "res Galileo C " << setw(8) << setprecision(3) << vv_gal_phase.t();
     858        strA << "Galileo phase  " << setw(8) << setprecision(3) << vv_gal_phase.t();
    837859      }
    838860    }
     
    875897           << sqrt(_QQ(par->index,par->index));
    876898      newPos->xnt[6] = aprTrp + par->xx;
     899    }
     900    else if (par->type == bncParam::GALILEO_OFFSET) {
     901      strB << "\n    offset  = " << setw(6) << setprecision(3) << par->xx
     902           << " +- " << setw(6) << setprecision(3)
     903           << sqrt(_QQ(par->index,par->index));
    877904    }
    878905  }
  • trunk/BNC/bncmodel.h

    r2780 r2782  
    3838class bncParam {
    3939 public:
    40   enum parType {CRD_X, CRD_Y, CRD_Z, RECCLK, TROPO, AMB_L3};
     40  enum parType {CRD_X, CRD_Y, CRD_Z, RECCLK, TROPO, AMB_L3, GALILEO_OFFSET};
    4141  bncParam(parType typeIn, int indexIn, const QString& prn);
    4242  ~bncParam();
     
    6868      bncParam* pp = _params[ii];
    6969      if (pp->type == bncParam::TROPO) {
     70        return pp->xx;
     71      }
     72    }
     73    return 0.0;
     74  }
     75  double Galileo_offset() const {
     76    for (int ii = 0; ii < _params.size(); ++ii) {
     77      bncParam* pp = _params[ii];
     78      if (pp->type == bncParam::GALILEO_OFFSET) {
    7079        return pp->xx;
    7180      }
     
    130139  double                _sigTrp0;
    131140  double                _sigTrpP;
     141  double                _sigGalileoOffset0;
     142  double                _sigGalileoOffsetP;
    132143  double                _sigL3;
    133144  double                _sigP3;
Note: See TracChangeset for help on using the changeset viewer.