Changeset 2051 in ntrip


Ignore:
Timestamp:
Nov 29, 2009, 11:05:59 AM (14 years ago)
Author:
mervart
Message:

* empty log message *

Location:
trunk/BNC
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/BNC/bncpppclient.cpp

    r2050 r2051  
    7979void bncPPPclient::putNewObs(p_obs pp) {
    8080  QMutexLocker locker(&_mutex);
     81
     82  static const double c1 =   t_CST::freq1 * t_CST::freq1 /
     83                 (t_CST::freq1 * t_CST::freq1 - t_CST::freq2 * t_CST::freq2);
    8184 
     85  static const double c2 = - t_CST::freq2 * t_CST::freq2 /
     86                 (t_CST::freq1 * t_CST::freq1 - t_CST::freq2 * t_CST::freq2);
     87
    8288  t_obsInternal* obs = &(pp->_o);
    83  
     89
     90  t_satData* satData = new t_satData();
     91
     92  // Set Code Observations
     93  // --------------------- 
     94  if      (obs->P1) {
     95    satData->P1         = obs->P1;
     96    satData->codeTypeF1 = t_satData::P_CODE;
     97  }
     98  else if (obs->C1) {
     99    satData->P1         = obs->C1;
     100    satData->codeTypeF1 = t_satData::C_CODE;
     101  }
     102  else {
     103    delete satData;
     104    return;
     105  }
     106   
     107  if      (obs->P2) {
     108    satData->P2         = obs->P2;
     109    satData->codeTypeF2 = t_satData::P_CODE;
     110  }
     111  else if (obs->C2) {
     112    satData->P2         = obs->C2;
     113    satData->codeTypeF2 = t_satData::C_CODE;
     114  }
     115  else {
     116    delete satData;
     117    return;
     118  }
     119
     120  satData->P3 =  c1 * satData->P1 + c2 * satData->P2;
     121
     122  // Set Phase Observations
     123  // ---------------------- 
     124  if (obs->L1 && obs->L2) {
     125    satData->L1 = obs->L1 * t_CST::lambda1;
     126    satData->L2 = obs->L2 * t_CST::lambda2;
     127  }
     128  else {
     129    delete satData;
     130    return;
     131  }
     132  satData->L3 =  c1 * satData->L1 + c2 * satData->L2;
     133
     134  // Add new Satellite to the epoch
     135  // ------------------------------
    84136  t_time tt(obs->GPSWeek, obs->GPSWeeks);
    85137 
     
    94146    _epoData->tt = tt;
    95147  }
    96  
    97   t_satData* satData = new t_satData();
    98      
    99   satData->C1 = obs->C1;
    100   satData->C2 = obs->C2;
    101   satData->P1 = obs->P1;
    102   satData->P2 = obs->P2;
    103   satData->L1 = obs->L1;
    104   satData->L2 = obs->L2;
    105148
    106149  QString prn =
     
    207250t_irc bncPPPclient::cmpToT(const QString& prn, t_satData* satData) {
    208251
    209   double prange = satData->C1;
    210   if (prange == 0.0) {
    211     prange = satData->P1;
    212   }
     252  double prange = satData->P3;
    213253  if (prange == 0.0) {
    214254    return failure;
     
    262302
    263303    cout << _epoData->tt.timestr(1) << " " << prn.toAscii().data() << "   "
     304         << setw(14) << setprecision(3) << satData->P3             << "  "
     305         << setw(14) << setprecision(3) << satData->L3             << "  "
    264306         << setw(14) << setprecision(3) << satData->xx(1)          << "  "
    265307         << setw(14) << setprecision(3) << satData->xx(2)          << "  "
    266308         << setw(14) << setprecision(3) << satData->xx(3)          << "  "
    267          << setw(12) << setprecision(3) << satData->clk;
     309         << setw(12) << setprecision(6) << satData->clk / t_CST::c * 1.e6;
    268310
    269311    if (satData->clkCorr) {
  • trunk/BNC/bncpppclient.h

    r2049 r2051  
    3939class t_satData {
    4040 public:
    41   double C1;
    42   double C2;
    43   double P1;
    44   double P2;
    45   double L1;
    46   double L2;
     41  enum codeType {P_CODE, C_CODE};
     42  double       P1;
     43  double       P2;
     44  double       P3;
     45  double       L1;
     46  double       L2;
     47  double       L3;
     48  codeType     codeTypeF1;
     49  codeType     codeTypeF2;
    4750  ColumnVector xx;
    4851  ColumnVector vv;
Note: See TracChangeset for help on using the changeset viewer.