Changeset 8855 in ntrip for branches/BNC_2.12


Ignore:
Timestamp:
Nov 21, 2019, 10:47:25 AM (4 years ago)
Author:
stuerze
Message:

changes regarding fit interval for GPS and QZSS completed

Location:
branches/BNC_2.12/src
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • branches/BNC_2.12/src/RTCM3/RTCM3Decoder.cpp

    r8854 r8855  
    10821082    GETBITS(eph._L2PFlag, 1)
    10831083    GETBITS(fitIntervalFalg, 1)
    1084     if (fitIntervalFalg == 0) {
    1085       eph._fitInterval = 4.0;
    1086     }
     1084    eph._fitInterval = fitIntervalFromFlag(fitIntervalFalg, eph._IODC, eph.type());
    10871085    eph._TOT = 0.9999e9;
    10881086
     
    12471245    GETBITS(eph._IODC, 10)
    12481246    GETBITS(fitIntervalFalg, 1)
    1249     if (fitIntervalFalg == 0) {
    1250       eph._fitInterval = 2.0;
    1251     }
     1247    eph._fitInterval = fitIntervalFromFlag(fitIntervalFalg, eph._IODC, eph.type());
    12521248    eph._TOT = 0.9999e9;
    12531249
  • branches/BNC_2.12/src/bncutils.cpp

    r8805 r8855  
    807807}
    808808
     809//
     810////////////////////////////////////////////////////////////////////////////
    809811double accuracyFromIndex(int index, t_eph::e_type type) {
    810812double accuracy = -1.0;
     
    868870}
    869871
    870 
     872//
     873////////////////////////////////////////////////////////////////////////////
    871874int indexFromAccuracy(double accuracy, t_eph::e_type type) {
    872875
     
    944947
    945948  return (type == t_eph::Galileo) ? 255 : 15;
     949}
     950
     951// Returns fit interval in hours from flag
     952////////////////////////////////////////////////////////////////////////////
     953double fitIntervalFromFlag(int flag, double iodc, t_eph::e_type type) {
     954  double fitInterval = 0.0;
     955
     956  switch (flag) {
     957    case 0:
     958      if      (type == t_eph::GPS) {
     959        fitInterval = 4.0;
     960      }
     961      else if (type == t_eph::QZSS) {
     962        fitInterval = 2.0;
     963      }
     964      break;
     965    case 1:
     966      if (type == t_eph::GPS) {
     967        if      (iodc >= 240 && iodc <= 247) {
     968          fitInterval =  8.0;
     969        }
     970        else if ((iodc >= 248 && iodc <= 255) ||
     971                 (iodc == 496) ) {
     972          fitInterval = 14.0;
     973        }
     974        else if ((iodc >=  497 && iodc <=  503) ||
     975                 (iodc >= 2021 && iodc <= 1023) ) {
     976          fitInterval = 26.0;
     977        }
     978        else {
     979          fitInterval =  6.0;
     980        }
     981      }
     982      break;
     983  }
     984  return fitInterval;
    946985}
    947986
  • branches/BNC_2.12/src/bncutils.h

    r8805 r8855  
    137137
    138138int          indexFromAccuracy(double accuracy, t_eph::e_type type);
     139
     140double       fitIntervalFromFlag(int flag, double iodc, t_eph::e_type type);
    139141
    140142double       associatedLegendreFunction(int n, int m, double t);
Note: See TracChangeset for help on using the changeset viewer.