Changeset 367 in ntrip


Ignore:
Timestamp:
Jan 18, 2007, 11:14:34 AM (17 years ago)
Author:
weber
Message:

* empty log message *

Location:
trunk/BNC
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • trunk/BNC/RTCM/GPSDecoder.h

    r366 r367  
    4545    L1        = 0.0;
    4646    L2        = 0.0;
     47    S1        = 0.0;
     48    S2        = 0.0;
    4749    SNR1      = 0;
    4850    SNR2      = 0;
     
    6163  double L1;          // L1 carrier phase (cycles)
    6264  double L2;          // L2 carrier phase (cycles)
    63   int    SNR1;        // L1 signal-to noise ratio (RINEX convention)
    64   int    SNR2;        // L2 signal-to noise ratio (RINEX convention)
     65  double S1;          // L1 signal-to noise ratio
     66  double S2;          // L2 signal-to noise ratio
     67  int    SNR1;        // L1 signal-to noise ratio (mapped to integer)
     68  int    SNR2;        // L2 signal-to noise ratio (mapped to integer)
    6569};
    6670
  • trunk/BNC/RTCM3/RTCM3Decoder.cpp

    r366 r367  
    9090        if (rr == 2) {
    9191          std::cerr << "No valid RINEX! All values are modulo 299792.458!\n";
    92 //        exit(1);
     92          exit(1);
    9393        }
    9494
     
    148148              obs->SNR2 = _Parser.Data.snrL2[ii];
    149149            }
     150            else if (df & (GNSSDF_S1CDATA|GNSSDF_S1PDATA)) {
     151              obs->S1   = _Parser.Data.measdata[ii][pos];
     152            }
     153            else if (df & (GNSSDF_S2CDATA|GNSSDF_S2PDATA)) {
     154              obs->S2   = _Parser.Data.measdata[ii][pos];
     155            }
    150156          }
    151157          }
  • trunk/BNC/RTCM3/rtcm3torinex.cpp

    r366 r367  
    11/*
    22  Converter for RTCM3 data to RINEX.
    3   $Id: rtcm3torinex.c,v 1.16 2007/01/11 15:32:26 stoecker Exp $
     3  $Id: rtcm3torinex.cpp,v 1.13 2007/01/17 15:17:20 mervart Exp $
    44  Copyright (C) 2005-2006 by Dirk Stoecker <stoecker@euronik.eu>
    55
     
    5151
    5252/* CVS revision and version */
    53 static char revisionstr[] = "$Revision: 1.16 $";
     53static char revisionstr[] = "$Revision: 1.13 $";
    5454
    5555static uint32_t CRC24(long size, const unsigned char *buf)
     
    249249    switch(type)
    250250    {
    251     case 1001: case 1002: case 1003: case 1004:
     251    // Modification of RTCM3TORINEX for BNC: ignore 1001 and 1003
     252    //case 1001: case 1002: case 1003: case 1004:
     253    case 1002:  case 1004:
    252254      if(handle->GPSWeek)
    253255      {
     
    408410      }
    409411      break;
    410     case 1009: case 1010: case 1011: case 1012:
     412    // Modification of RTCM3TORINEX for BNC: ignore 1009 and 1010
     413    //case 1009: case 1010: case 1011: case 1012:
     414    case 1010: case 1012:
    411415      {
    412416        int lastlockl1[64];
     
    656660#define NUMSTARTSKIP 1
    657661
    658 ////////////////////////////////////////////////////////////////////
    659 // Aenderung Perlt - kein check auf vorhandene Daten
    660 // Abgefragt werden : C1 C2 L1 L2 P1 P2 S1 S2
     662// Modification of RTCM3TORINEX for BNC
    661663
    662664void HandleHeader(struct RTCM3ParserData *Parser)
     
    722724Parser->datapos2[data[RINEXENTRY_D2DATA]-1] = GNSSENTRY_D2PDATA;
    723725}
    724 // Ende Aenderung Perlt - kein check auf vorhandene Daten
     726// End of RTCM3TORINEX modification for BNC
    725727
    726728
     
    852854
    853855#ifndef NO_RTCM3_MAIN
    854 static char datestr[]     = "$Date: 2007/01/11 15:32:26 $";
     856static char datestr[]     = "$Date: 2007/01/17 15:17:20 $";
    855857
    856858/* The string, which is send as agent in HTTP request */
  • trunk/BNC/RTIGS/RTIGSDecoder.cpp

    r341 r367  
    115115      obs->L1       = _GPSTrans.DecObs.Obs[ii].p1_phase;
    116116      obs->L2       = _GPSTrans.DecObs.Obs[ii].p2_phase;
     117      obs->S1       = _GPSTrans.DecObs.Obs[ii].l1_sn;
     118      obs->S2       = _GPSTrans.DecObs.Obs[ii].l2_sn;
    117119      obs->SNR1     = int(ceil(_GPSTrans.DecObs.Obs[ii].l1_sn / 60.0 * 9.0));
    118120      obs->SNR2     = int(ceil(_GPSTrans.DecObs.Obs[ii].l2_sn / 60.0 * 9.0));
  • trunk/BNC/bnccaster.cpp

    r366 r367  
    251251          _out->setFieldWidth(1); *_out << " ";
    252252          _out->setFieldWidth(14); _out->setRealNumberPrecision(3); *_out << obs->L2;
     253          _out->setFieldWidth(1); *_out << " ";
     254          _out->setFieldWidth(14); _out->setRealNumberPrecision(3); *_out << obs->S1;
     255          _out->setFieldWidth(1); *_out << " ";
     256          _out->setFieldWidth(14); _out->setRealNumberPrecision(3); *_out << obs->S2;
    253257          _out->setFieldWidth(1);
    254258          *_out << " " << obs->SNR1 << " " << obs->SNR2 << endl;
  • trunk/BNC/bnchelp.html

    r366 r367  
    3737<ul>
    3838<li>RTCM Version 2.x format containing message types 18 and 19 (GPS and GLONASS), </li>
    39 <li>RTCM Version 3 format containing message types 1001, 1002, 1003, 1004 (GPS), and 1009, 1010, 1011, 1012 (GLONASS),</li>
     39<li>RTCM Version 3 format containing message types 1002 or 1004 (GPS), and 1010 or 1012 (GLONASS),</li>
    4040<li>RTIGS format (only GPS).</li>
    4141</ul>
     
    117117<p><a name="output"><h4>B - 4. Synchronized Output</h4></p>
    118118<p>
    119 BNC lets you output synchronized observations epoch by epoch. This output is made available in a plain ASCII format and in a binary format. The output comprises the following observations if available:</p>
    120 StatID, SVPRN, GPSWeek, GPSWeeks, C1, C2, P1, P2, L1, L2, SNR1, SNR2.
     119BNC lets you output synchronized observations epoch by epoch. This output is made available in a plain ASCII format and in a binary format. The output comprises the following observations if available where SNR is the signal-to-noise ratio S mapped to integer numbers 1 to 9:</p>
     120StatID, SVPRN, GPSWeek, GPSWeeks, C1, C2, P1, P2, L1, L2, S1, S2, SNR1, SNR2.
    121121</p>
    122122<p>
     
    169169  double L1;          // L1 carrier phase (cycles)
    170170  double L2;          // L2 carrier phase (cycles)
    171   int    SNR1;        // L1 signal-to noise ratio (0.1 dB)
    172   int    SNR2;        // L2 signal-to noise ratio (0.1 dB)
     171  double S1;          // L1 signal-to noise ratio (dB-Hz)
     172  double S2;          // L2 signal-to noise ratio (db-Hz)
     173  int    SNR1;        // S1 mapped to integer numbers 1 to 9
     174  int    SNR2;        // S2 mapped to integer numbers 1 to 9
    173175} ;
    174176</pre>
     
    205207</p>
    206208<p>
    207 BNC's RINEX observation files generally contain C1, C2, P1, P2, L1, L2, SNR1, and SNR3 observations. In case an observation is unavailable, its value is set to zero '0.000'. Note that even if a RINEX file does not contain GLONASS data, the 'RINEX TYPE' field in the RINEX file header may be set to 'M (MIXED)'.
     209BNC's RINEX observation files generally contain C1, C2, P1, P2, L1, L2, S1, and S2 observations. In case an observation is unavailable, its value is set to zero '0.000'. Note that even if a RINEX file does not contain GLONASS data, the 'RINEX TYPE' field in the RINEX file header may be set to 'M (MIXED)'.
    208210</p>
    209211
     
    317319<p><a name="GetTable"><h4>B - 6.4 Get Table</h4></p>
    318320<p>
    319 Hit button 'Get Table' to download the source-table from the NTRIP broadcaster. Please pay attention to data fields 'format' and 'format-details'. Keep in mind that BNC can only decode and convert streams that come in RTCM 2.x, RTCM 3, or RTIGS formats. RTCM 2.x streams must contain message types 18 and 19 while RTCM 3 streams must contain message types 1001 or 1003, better 1003 or 1004 (GPS), 1009 or 1010, even better 1011 or 1012 (GLONASS), see data field 'format-details' for available message types and their repetition rates in brackets. Select your streams line by line, use +Shift and +Ctrl when necessary.
     321Hit button 'Get Table' to download the source-table from the NTRIP broadcaster. Please pay attention to data fields 'format' and 'format-details'. Keep in mind that BNC can only decode and convert streams that come in RTCM 2.x, RTCM 3, or RTIGS formats. RTCM 2.x streams must contain message types 18 and 19 while RTCM 3 streams must contain GPS message types 1002 or 1004 and may contain GLONASS message types 1010 or 1012, see data field 'format-details' for available message types and their repetition rates in brackets. Select your streams line by line, use +Shift and +Ctrl when necessary.
    320322</p>
    321323<p>
     
    369371</li>
    370372<li>
    371 BNC's function is limited today to processing C1, C2, P1, P2, L1, L2, SNR1, and SNR2 observations. Which observables become available through a specific stream depends on the setup of the affected receiver and the applied data format. Note that RTCM Version 2.x streams can not transport signal-to-noise ratios (SNR) and RTCM Version 3 streams can only transport one code observable per frequency. Note further that signal-to-noise ratios SNR1 and SNR2 are mapped to integer numbers 1 to 9.
    372 </li>
    373 <li>
    374 Concerning RTCM Version 2.x, BNC handles only message types 18 and 19. Concerning RTCM Version 3, BNC handles only message types 1001, 1002, 1003, 1004, 1009, 1010, 1011, and 1012.
    375 </li>
    376 <li>
    377 If the ambiguity field is not set in RTCM Version 3 streams (i.e. when sending message type 1003 but no 1004), the BNC output will be no valid RINEX. All values will be stored modulo 299792.458. (It would be necessary to approximately calculate the range to fix the ambiguity, needing ephemeris/almanac and an easy positioning algorithm).
     373BNC's function is limited today to processing C1, C2, P1, P2, L1, L2, S1, and S2 observations. Which observables become available through a specific stream depends on the setup of the affected receiver and the applied data format. Note that RTCM Version 2.x streams can not transport signal-to-noise ratios (S) and RTCM Version 3 streams can only transport one code observable per frequency. Note further that signal-to-noise ratios (S) are also made available mapped to integer numbers 1 to 9.
     374</li>
     375<li>
     376Concerning RTCM Version 2.x, BNC handles only message types 18 and 19. Concerning RTCM Version 3, BNC handles only message types 1002, 1004, 1010, and 1012.
    378377</li>
    379378<li>
  • trunk/BNC/bncrinex.cpp

    r366 r367  
    334334      }
    335335      else if (line.indexOf("# / TYPES OF OBSERV") != -1) {
    336         _out << "     6    C1    C2    P1    P2    L1    L2"
    337                 "                  # / TYPES OF OBSERV"  << endl;
     336        _out << "     8    C1    C2    P1    P2    L1    L2    S1    S2"
     337                "      # / TYPES OF OBSERV"  << endl;
    338338      }
    339339      else if (line.indexOf("TIME OF FIRST OBS") != -1) {
     
    380380         << "                  "                                     << "ANTENNA: DELTA H/E/N" << endl;
    381381    _out << "     1     1                                                WAVELENGTH FACT L1/2" << endl;
    382     _out << "     6    C1    C2    P1    P2    L1    L2                  # / TYPES OF OBSERV"  << endl;
     382    _out << "     8    C1    C2    P1    P2    L1    L2    S1    S2      # / TYPES OF OBSERV"  << endl;
    383383        _out << datTim.toString("  yyyy    MM    dd"
    384384                                "    hh    mm   ss.zzz0000").toAscii().data();
     
    479479    _out << setw(14) << setprecision(3) << ob->L2 << lli
    480480         << setw(1) << ob->SNR2;
     481    _out << setw(14) << setprecision(3) << ob->S1 ;
     482    _out << setw(16) << setprecision(3) << ob->S2 ;
    481483    _out << endl;
    482484
  • trunk/BNC/bncwindow.cpp

    r366 r367  
    184184  while (it.hasNext()) {
    185185    QStringList hlp = it.next().split(" ");
    186     if (hlp.size() <= 1) continue;
    187     if (hlp.size() == 2) continue; // For downward compatibility
     186    if (hlp.size() < 5) continue; // Check number of parameters saved per mountpoint
    188187    _mountPointsTable->insertRow(iRow);
    189188
  • trunk/BNC/test_bnc.cpp

    r348 r367  
    9898             << setw(10) << setprecision(2) << obs.GPSWeeks       << " "
    9999             << setw(14) << setprecision(4) << obs.C1             << " "
     100             << setw(14) << setprecision(4) << obs.C2             << " "
    100101             << setw(14) << setprecision(4) << obs.P1             << " "
    101102             << setw(14) << setprecision(4) << obs.P2             << " "
    102103             << setw(14) << setprecision(4) << obs.L1             << " "
    103104             << setw(14) << setprecision(4) << obs.L2             << " "
     105             << setw(14) << setprecision(4) << obs.S1             << " "
     106             << setw(14) << setprecision(4) << obs.S2             << " "
    104107             << setw(4)                     << obs.SNR1           << " "
    105108             << setw(4)                     << obs.SNR2           << endl;
Note: See TracChangeset for help on using the changeset viewer.