Changeset 11102 in ntrip
- Timestamp:
- Oct 21, 2026, 1:56:26 AM (10 hours ago)
- Location:
- trunk/BNC
- Files:
-
- 4 edited
-
CHANGELOG.md (modified) (1 diff)
-
src/bncantex.cpp (modified) (3 diffs)
-
src/bncantex.h (modified) (1 diff)
-
src/bnchelp.html (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/BNC/CHANGELOG.md
r11099 r11102 14 14 - CHANGED: Combination: an AC excluded from the clock datum because of inconsistent code biases is used again only after 12 passing checks in a row (1 hour), not after the first one (a borderline AC changed the clock datum every 5 minutes) 15 15 - ADDED: Combination of APC (SSRA) and CoM (SSRC) streams together: with an ANTEX file the combination is done in the CoM frame, the orbits of the APC streams are converted to CoM; ACs not combined because of a different reference point are reported 16 - ADDED: Option 'Reference Signals' (key ssrRefSignals): reference signals of the satellite clocks per GNSS for the combination (AC clock referral, code biases from the Bias SINEX file) and the SSR QC, default IGS Real-Time convention G:1W&2W R:1P&2P E:1C&5Q C:2I&6I J:1C&2L S:1C&5Q, e.g. for a switch of BDS to C1 P/C5Por of QZSS to L1/L516 - ADDED: Option 'Reference Signals' (key ssrRefSignals): reference signals of the satellite clocks per GNSS for the combination (AC clock referral, code biases from the Bias SINEX file) and the SSR QC, default IGS Real-Time convention G:1W&2W R:1P&2P E:1C&5Q C:2I&6I J:1C&2L S:1C&5Q, e.g. for a switch of BDS to C1X/C5X or of QZSS to L1/L5 17 17 - ADDED: Detection and conversion of outdated or erroneous IGS-SSR epoch time encodings (GLONASS as UTC seconds of day or of week, BDS as BDT) with an hourly warning, and a plausibility check of the orbit/clock epochs of all systems of a stream 18 18 - ADDED: ANTEX file name, number of entries and latest satellite entry are logged; satellites without a valid ANTEX entry are reported (and not combined) -
trunk/BNC/src/bncantex.cpp
r11079 r11102 523 523 // simple sz×xSun formula. 524 524 //////////////////////////////////////////////////////////////////////////// 525 // GPS block types with a yaw model in gpsYawAngle() (ANTEX "BLOCK ..." names); 526 // other blocks (e.g. a future IIIF) use the nominal Sun-pointing yaw 527 //////////////////////////////////////////////////////////////////////////// 528 bool bncAntex::gpsYawModelKnown(const QString& blockType) { 529 return blockType == "IIA" || blockType.startsWith("IIR") || 530 blockType == "IIF" || blockType == "IIIA"; 531 } 532 525 533 double bncAntex::gpsYawAngle(const QString& prn, const QString& blockType, 526 534 double Mjd, … … 531 539 // Max yaw rate [rad/s] by GPS block type 532 540 double psiDotMax; 533 if (blockType == "IIA") psiDotMax = 0.12 * M_PI / 180.0; 534 else if (blockType == "IIR") psiDotMax = 0.20 * M_PI / 180.0; 535 else if (blockType == "IIR-M") psiDotMax = 0.20 * M_PI / 180.0; 536 else if (blockType == "IIF") psiDotMax = 0.11 * M_PI / 180.0; 537 else if (blockType == "IIIA") psiDotMax = 0.15 * M_PI / 180.0; 538 else return 0.0; // unknown block: caller uses simple Sun-pointing 541 if (blockType == "IIA") psiDotMax = 0.12 * M_PI / 180.0; 542 else if (blockType.startsWith("IIR")) psiDotMax = 0.20 * M_PI / 180.0; // IIR-A, IIR-B, IIR-M 543 else if (blockType == "IIF") psiDotMax = 0.11 * M_PI / 180.0; 544 else if (blockType == "IIIA") psiDotMax = 0.15 * M_PI / 180.0; 545 else return 0.0; // unknown block: not called, see gpsYawModelKnown() 539 546 540 547 const double MAX_CALL_GAP = 1800.0 / 86400.0; // 30 min in days … … 844 851 } 845 852 else if (mode == ATT_COMPUTED && prn[0] == 'G' && vSat.size() == 3 846 && !map->blockType.isEmpty()) {853 && gpsYawModelKnown(map->blockType)) { 847 854 psiEff = gpsYawAngle(yawKey, map->blockType, Mjd, xSat, vSat, xSun); 848 855 useVelocityFrame = true; -
trunk/BNC/src/bncantex.h
r11079 r11102 145 145 const ColumnVector& vSat, const ColumnVector& xSun); 146 146 147 static bool gpsYawModelKnown(const QString& blockType); 147 148 double gpsYawAngle(const QString& prn, const QString& blockType, double Mjd, 148 149 const ColumnVector& xSat, const ColumnVector& vSat, -
trunk/BNC/src/bnchelp.html
r11100 r11102 5028 5028 Antenna IOD is GNSS-specific, so the same Metadata entries serve as the trust anchor for every GNSS. In 5029 5029 addition, since a Satellite Antenna IOD is only guaranteed unique within a rolling 64-day period, BNC discards 5030 any Satellite Antenna correction that is 64 days or older, even if its IOD would otherwise still match, and 5031 falls back to using ANTEX-based satellite antenna corrections instead. 5030 any Satellite Antenna correction that is 64 days or older, even if its IOD would otherwise still match. If the 5031 referenced Satellite Antenna information is not available or not trusted for a satellite, the satellite is 5032 excluded. ANTEX is never used for the satellite antenna with new RTCM-SSR: without a Metadata reference, no 5033 satellite antenna correction is applied at all, because orbits, clocks and biases refer to the provider's point 5034 on the nadir axis and form a consistent set. The receiver antenna is corrected with ANTEX as usual. 5032 5035 </p> 5033 5036 <p> … … 8530 8533 <p> 8531 8534 Specify the reference signals of the satellite clocks per GNSS as '<system>:<band><attribute>&<band><attribute>', 8532 separated by blanks, e.g. 'C:1 P&5PJ:1C&5Q'. The clocks refer to the ionosphere-free linear combination of8535 separated by blanks, e.g. 'C:1X&5X J:1C&5Q'. The clocks refer to the ionosphere-free linear combination of 8533 8536 the code signals of these two signals. Systems not specified keep the default of the IGS Real-Time Committee: 8534 8537 </p> … … 8553 8556 <p> 8554 8557 Changing the reference signals is meant for a coordinated switch of the IGS Real-Time convention, e.g. for BDS from 8555 C2I/C6I to C1 P/C5P (B1C/B2a) following the IGS products, or for QZSS to an L1/L5 pair because the QZSS Block III8558 C2I/C6I to C1X/C5X (B1C/B2a data+pilot) following the IGS products - note that IGS-SSR cannot carry the BDS signals 1X/5X (signal IDs reserved), so that ACs would have to provide them in RTCM-SSR -, or for QZSS to an L1/L5 pair because the QZSS Block III 8556 8559 satellites no longer transmit L2. All ACs of a combination should then provide the code biases of the new reference 8557 8560 signals. A switch changes the combined clocks of the affected satellites by the ionosphere-free combination of the
Note:
See TracChangeset
for help on using the changeset viewer.
