Changeset 11019 in ntrip
- Timestamp:
- Sep 10, 2026, 3:45:13 PM (less than one hour ago)
- Location:
- trunk/BNC
- Files:
-
- 10 edited
-
CHANGELOG.md (modified) (1 diff)
-
src/PPP/pppClient.cpp (modified) (1 diff)
-
src/bnchelp.html (modified) (35 diffs)
-
src/bncutils.cpp (modified) (1 diff)
-
src/bncutils.h (modified) (1 diff)
-
src/pppCrdFile.cpp (modified) (2 diffs)
-
src/pppCrdFile.h (modified) (2 diffs)
-
src/pppMain.cpp (modified) (1 diff)
-
src/pppOptions.cpp (modified) (1 diff)
-
src/pppOptions.h (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/BNC/CHANGELOG.md
r11017 r11019 1 1 # Changelog 2 ## 2.13.8 (2026-10-??) 3 - ADDED: epoch/velocity fields to PPP coordinates file to allow BNC to propagate the reference coordinates related to a dedicated reference epoch to the current processing epoch internally 4 2 5 ## 2.13.7 (2026-07-31) 3 6 - ADDED: PPP-AR Algorithm description is now part of BNCs help contents -
trunk/BNC/src/PPP/pppClient.cpp
r11011 r11019 450 450 451 451 if (_opt->xyzAprRoverSet()) { 452 station->setXyzApr(_opt->_xyzAprRover); 452 if (_opt->_refEpochRover != 0.0) { 453 double dt = decimalYear(time) - _opt->_refEpochRover; 454 station->setXyzApr(_opt->_xyzAprRover + dt * _opt->_velRover); 455 } 456 else { 457 station->setXyzApr(_opt->_xyzAprRover); 458 } 453 459 } 454 460 else { -
trunk/BNC/src/bnchelp.html
r10982 r11019 4 4 5 5 <head> 6 <meta charset="utf-8"/> 7 <meta name="viewport" content="width=device-width, initial-scale=1.0"/> 6 <meta charset="utf-8" /> 7 <meta name="viewport" content="width=device-width, initial-scale=1.0" /> 8 8 <title>BKG Ntrip Client | Help</title> 9 9 <style> 10 html *{ 10 html * { 11 11 font-size: 1em !important; 12 12 color: #000 !important; … … 21 21 22 22 <body> 23 <div> 24 <img src="IMG/BKG_Logo_oS.jpg" alt="bkg_logo" style="float:left;width:100px;margin-left:20px;margin-top:20px;"/> 25 <img src="ntrip-logo.png" alt="ntrip_logo" style="float:right;width:80px;margin-right:20px;margin-top:20px;"/> 26 </div> 27 <br><br><br><br><br><br> 28 29 <div class="center"> 30 <h1>BKG Ntrip Client (BNC)</h1> 23 <div> 24 <img src="IMG/BKG_Logo_oS.jpg" alt="bkg_logo" style="float:left;width:100px;margin-left:20px;margin-top:20px;" /> 25 <img src="ntrip-logo.png" alt="ntrip_logo" style="float:right;width:80px;margin-right:20px;margin-top:20px;" /> 26 </div> 27 <br><br><br><br><br><br> 28 29 <div class="center"> 30 <h1>BKG Ntrip Client (BNC)</h1> 31 <br> 32 <h3>A toolkit for retrieving, decoding, converting and processing<br> real-time GNSS data streams</h3> 33 <br> 34 <h3>Version 2.13</h3> 35 </div> 31 36 <br> 32 <h3>A toolkit for retrieving, decoding, converting and processing<br> real-time GNSS data streams</h3> 37 38 <h4>Authors</h4> 39 <p> 40 Georg Weber<sup>(1)</sup>, Leoš Mervart<sup>(2)</sup>, Andrea Stürze<sup>(1)</sup>, Dirk 41 Stöcker<sup>(3)</sup><br><br> 42 43 <sup>(1) Federal Agency for Cartography and Geodesy (BKG), Frankfurt, Germany</sup><br> 44 <sup>(2) Czech Technical University (CTU), Department of Geomatics, Prague, Czech Republic</sup><br> 45 <sup>(3) Alberding GmbH, Wildau, Germany</sup> 46 </p> 33 47 <br> 34 <h3>Version 2.13</h3> 35 </div> 36 <br> 37 38 <h4>Authors</h4> 39 <p> 40 Georg Weber<sup>(1)</sup>, Leoš Mervart<sup>(2)</sup>, Andrea Stürze<sup>(1)</sup>, Dirk Stöcker<sup>(3)</sup><br><br> 41 42 <sup>(1) Federal Agency for Cartography and Geodesy (BKG), Frankfurt, Germany</sup><br> 43 <sup>(2) Czech Technical University (CTU), Department of Geomatics, Prague, Czech Republic</sup><br> 44 <sup>(3) Alberding GmbH, Wildau, Germany</sup> 45 </p> 46 <br> 47 48 <h4>Contact</h4> 49 <p> 50 Feel free to send comments, suggestions or bug reports to: 51 <pre> 48 49 <h4>Contact</h4> 50 <p> 51 Feel free to send comments, suggestions or bug reports to: 52 <pre> 52 53 Federal Agency for Cartography and Geodesy (BKG) 53 54 Department of Geodesy, Section Satellite Navigation … … 56 57 email: igs-ip@bkg.bund.de 57 58 </pre> 58 </p> 59 <br> 60 61 <h4>Legal Notice</h4> 62 <p> 63 BNC has been written under GNU General Public License (GPL). Source code is available from Subversion software archive 64 <a href="https://software.rtcm-ntrip.org/svn/trunk/BNC" target="_blank">https://software.rtcm-ntrip.org/svn/trunk/BNC</a>. 65 Precompiled binaries of BNC are available for MS Windows, Linux, and Mac OS X systems. They can be downloaded from 66 <a href="https://igs.bkg.bund.de/ntrip/bnc" target="_blank">https://igs.bkg.bund.de/ntrip/bnc</a>. 67 <br> 68 Copyright ©<sup> </sup> 2005-2023 Federal Agency for Cartography and Geodesy (BKG), Frankfurt, Germany 69 </p> 70 <br> 71 72 <h4>Citation</h4> 73 <p> 74 To help justify funding the development of BNC,<sup> </sup>we kindly ask users to include a citation when applying the software results in a publication. We suggest: 75 <br> 76 <pre> 59 </p> 60 <br> 61 62 <h4>Legal Notice</h4> 63 <p> 64 BNC has been written under GNU General Public License (GPL). Source code is available from Subversion software 65 archive 66 <a href="https://software.rtcm-ntrip.org/svn/trunk/BNC" 67 target="_blank">https://software.rtcm-ntrip.org/svn/trunk/BNC</a>. 68 Precompiled binaries of BNC are available for MS Windows, Linux, and Mac OS X systems. They can be downloaded from 69 <a href="https://igs.bkg.bund.de/ntrip/bnc" target="_blank">https://igs.bkg.bund.de/ntrip/bnc</a>. 70 <br> 71 Copyright ©<sup> </sup> 2005-2023 Federal Agency for Cartography and Geodesy (BKG), Frankfurt, Germany 72 </p> 73 <br> 74 75 <h4>Citation</h4> 76 <p> 77 To help justify funding the development of BNC,<sup> </sup>we kindly ask users to include a citation when 78 applying the software results in a publication. We suggest: 79 <br> 80 <pre> 77 81 Weber, G., L. Mervart, A. Stürze, A. Rülke and D. Stöcker (2016): 78 82 BKG Ntrip Client, Version 2.12. Mitteilungen des Bundesamtes 79 83 für Kartographie und Geodäsie, Vol. 49, Frankfurt am Main, 2016. 80 84 </pre> 81 </p> 82 <br> 83 84 <h4>Table of Contents</h4> 85 <p> 86 <b>1.</b> <a href="#genInstruction"><b>General Information</b></a><br><br> 87 1.1 <a href="#introPurpose">Purpose</a><br> 88 1.2 <a href="#introSystem">Supported GNSS</a><br> 89 1.3 <a href="#introFlow">Data Flow</a><br> 90 1.4 <a href="#introHandling">Handling</a><br> 91 1.5 <a href="#introInst">Installation</a><br> 92 1.5.1 <a href="#introCompile">Compilation</a><br> 93 1.6 <a href="#introConf">Configuration</a><br> 94 1.6.1 <a href="#introExamples">Examples</a><br> 95 1.7 <a href="#introLimit">Limitations</a><br> 96 1.8 <a href="#introLBack">Looking Back</a><br><br> 97 <b>2.</b> <a href="#optsettings"><b>Settings Details</b></a><br><br> 98 2.1 <a href="#topmenu"><b>Top Menu Bar</b></a><br> 99 2.1.1 <a href="#file">File</a><br> 100 2.1.2 <a href="#help">Help</a><br> 101 2.2 <a href="#network"><b>Network</b></a><br> 102 2.2.1 <a href="#proxy">Proxy</a><br> 103 2.2.2 <a href="#ssl">SSL</a><br> 104 2.3 <a href="#general"><b>General</b></a><br> 105 2.3.1 <a href="#genlog">Logfile</a><br> 106 2.3.2 <a href="#genapp">Append Files</a><br> 107 2.3.3 <a href="#genconf">Reread Configuration</a><br> 108 2.3.4 <a href="#genstart">Auto Start</a><br> 109 2.3.5 <a href="#rawout">Raw Output File</a><br> 110 2.4 <a href="#rinex"><b>RINEX Observations</b></a><br> 111 2.4.1 <a href="#rnxname">Filenames</a><br> 112 2.4.2 <a href="#rnxdir">Directory</a><br> 113 2.4.3 <a href="#rnxinterval">File Interval</a><br> 114 2.4.4 <a href="#rnxsample">Sampling</a><br> 115 2.4.5 <a href="#rnxskl">Skeleton Extension</a><br> 116 2.4.6 <a href="#sklMandat">Skeleton Mandatory</a><br> 117 2.4.7 <a href="#sklDir">Skeleton Directory</a><br> 118 2.4.8 <a href="#rnxscript">Script</a><br> 119 2.4.9 <a href="#rnxvers3_4">Version 3 and 4</a><br> 120 2.4.10 <a href="#rnxvers2">Version 2</a><br> 121 2.5 <a href="#ephemeris"><b>RINEX Ephemeris</b></a><br> 122 2.5.1 <a href="#ephdir">Directory</a><br> 123 2.5.2 <a href="#ephint">Interval</a><br> 124 2.5.3 <a href="#ephport">Port</a><br> 125 2.5.4 <a href="#ephvers">Version</a><br> 126 2.6 <a href="#reqc"><b>RINEX Editing & QC</b></a><br> 127 2.6.1 <a href="#reqcact">Action</a><br> 128 2.6.2 <a href="#reqcinp">Input Files</a><br> 129 2.6.3 <a href="#reqcout">Output Files</a><br> 130 2.6.4 <a href="#reqcminele">Minimum Elevation</a><br> 131 2.6.5 <a href="#reqclog">Logfiles</a><br> 132 2.6.6 <a href="#reqcplots">Plots for Signals</a><br> 133 2.6.7 <a href="#reqcdir">Directory for Plots</a><br> 134 2.6.8 <a href="#reqcedit">Set Edit Options</a><br> 135 2.6.9 <a href="#reqccommand">Command Line, No Window</a><br> 136 2.7 <a href="#sp3comp"><b>SP3 Comparison</b></a><br> 137 2.7.1 <a href="#sp3input">Input SP3 Files</a><br> 138 2.7.2 <a href="#sp3exclude">Exclude Satellites</a><br> 139 2.7.3 <a href="#sp3log">Logfile</a><br> 140 2.8 <a href="#correct"><b>Broadcast Corrections</b></a><br> 141 2.8.1 <a href="#corrdir">Directory, ASCII</a><br> 142 2.8.2 <a href="#corrint">Interval</a><br> 143 2.8.3 <a href="#corrport">Port</a><br> 144 2.8.4 <a href="#corrwait">Wait for Full Corr Epoch</a><br> 145 2.9 <a href="#syncout"><b>Feed Engine</b></a><br> 146 2.9.1 <a href="#syncport">Port</a><br> 147 2.9.2 <a href="#syncwait">Wait for Full Obs Epoch</a><br> 148 2.9.3 <a href="#syncsample">Sampling</a><br> 149 2.9.4 <a href="#syncfile">File</a><br> 150 2.9.5 <a href="#syncuport">Port (unsynchronized)</a><br> 151 2.10 <a href="#serial"><b>Serial Output</b></a><br> 152 2.10.1 <a href="#sermount">Mountpoint</a><br> 153 2.10.2 <a href="#serport">Port Name</a><br> 154 2.10.3 <a href="#serbaud">Baud Rate</a><br> 155 2.10.4 <a href="#serflow">Flow Control</a><br> 156 2.10.5 <a href="#serparity">Parity</a><br> 157 2.10.6 <a href="#serdata">Data Bits</a><br> 158 2.10.7 <a href="#serstop">Stop Bits</a><br> 159 2.10.8 <a href="#serauto">NMEA</a><br> 160 2.10.9 <a href="#serfile">File</a><br> 161 2.10.10 <a href="#serheight">Height</a><br> 162 2.10.11 <a href="#sersampl">Sampling</a><br> 163 2.11 <a href=#advnote><b>Outages</b></a><br> 164 2.11.1. <a href=#obsrate>Observation Rate</a><br> 165 2.11.2. <a href=#advfail>Failure Threshold</a><br> 166 2.11.3. <a href=#advreco>Recovery Threshold</a><br> 167 2.11.4. <a href=#advscript>Script</a><br> 168 2.12 <a href=#misc><b>Miscellaneous</b></a><br> 169 2.12.1. <a href=#miscmount>Mountpoint</a><br> 170 2.12.2. <a href=#miscperf>Log Latency</a><br> 171 2.12.3. <a href=#miscscan>Scan RTCM</a><br> 172 2.12.4. <a href=#miscport>Port</a><br> 173 2.13 <a href=#pppclient><b>PPP Client</b></a><br> 174 2.13.1 <a href=#pppInp><b>PPP (1): Input and Output</b></a><br> 175 2.13.1.1 <a href=#pppdatasource>Data Source</a><br> 176 2.13.1.2 <a href=#pppcorrstream>Corrections Stream</a><br> 177 2.13.1.3 <a href=#pppcorrfile>Corrections File</a><br> 178 2.13.1.4 <a href=#pppbiasstream>Biases Stream</a><br> 179 2.13.1.5 <a href=#pppbiasfile>Biases File</a><br> 180 2.13.1.6 <a href=#pppionostream>Ionosphere Stream</a><br> 181 2.13.1.7 <a href=#pppionofile>Ionosphere File</a><br> 182 2.13.1.8 <a href=#ppprnxobs>RINEX Observation File</a><br> 183 2.13.1.9 <a href=#ppprnxnav>RINEX Navigation File</a><br> 184 2.13.1.10 <a href=#pppantexfile>ANTEX File</a><br> 185 2.13.1.11 <a href=#pppmarkcoor>Coordinates File</a><br> 186 2.13.1.12 <a href=#pppblqfile>BLQ File</a><br> 187 2.13.1.13 <a href=#ppplogfile>Logfile Directory and Log mode</a><br> 188 2.13.1.14 <a href=#pppnmeafile>NMEA Directory</a><br> 189 2.13.1.15 <a href=#pppsnxtrofile>SNX TRO Directory</a><br> 190 2.13.1.15.1 <a href=#pppsnxtrointr>Interval</a><br> 191 2.13.1.15.2 <a href=#pppsnxtrosampl>Sampling</a><br> 192 2.13.1.15.3 <a href=#pppsnxAc>Analysis Center</a><br> 193 2.13.1.15.4 <a href=#pppsnxSol>Solution ID</a><br> 194 2.13.2 <a href=#pppOptions><b>PPP (2): Processing Options</b></a><br> 195 2.13.2.1 <a href=#pppobs>GNSS Observations</a><br> 196 2.13.2.2 <a href=#pppcodeobs>Code Observations</a><br> 197 2.13.2.3 <a href=#pppphaseobs>Phase Observations</a><br> 198 2.13.2.4 <a href=#pppeleweight>Elevation Dependent Weighting</a><br> 199 2.13.2.5 <a href=#pppminobs>Minimum Number of Observations</a><br> 200 2.13.2.6 <a href=#pppmineleva>Minimum Elevation</a><br> 201 2.13.2.7 <a href=#pppwaitclockcorr>Wait for Clock Corrections</a><br> 202 2.13.2.8 <a href=#pppseeding>Seeding</a><br> 203 2.13.2.9 <a href=#pppconstraints>Constraints</a><br> 204 2.13.2.9.0 <a href=#ppppseudogimobs>GIM Pseudo Observations - How it works</a><br> 205 2.13.2.9.1 <a href=#ppppseudogimobssigma>GIM Pseudo Observations Sigma</a><br> 206 2.13.2.10 <a href=#pppar>PPP-AR</a><br> 207 2.13.2.10.0 <a href=#ppparmethod>Algorithm Description</a><br> 208 2.13.2.10.1 <a href=#ppparsys>Constellations</a><br> 209 2.13.2.10.2 <a href=#ppparmin>Min # Epo and Sat</a><br> 210 2.13.2.10.3 <a href=#ppparmax>Max Frac and Sig</a><br> 211 2.13.2.10.4 <a href=#ppparyaw>Yaw Usage</a><br> 212 2.13.2.10.5 <a href=#ppparfix>Per-epoch fix percentage</a><br> 213 2.13.3 <a href=#pppStation><b>PPP (3): Processed Stations</b></a><br> 214 2.13.3.1 <a href=#pppsite>Station</a><br> 215 2.13.3.2 <a href=#pppnehsigma>Sigma North/East/Up</a><br> 216 2.13.3.3 <a href=#pppnehnoise>Noise North/East/Up</a><br> 217 2.13.3.4 <a href=#ppptropsigma>Tropo Sigma</a><br> 218 2.13.3.5 <a href=#ppptropnoise>Tropo Noise</a><br> 219 2.13.3.6 <a href=#pppnmeaport>NMEA Port</a><br> 220 2.13.3.6 <a href=#pppsignalpriorities>Signal Priorities</a><br> 221 2.13.4 <a href=#pppPlots><b>PPP (4): Plots</b></a><br> 222 2.13.4.1 <a href=#ppptimeseries>PPP Plot</a><br> 223 2.13.4.2 <a href=#pppaudioresp>Audio Response</a><br> 224 2.13.4.3 <a href=#ppptrackmap>Track Map</a><br> 225 2.13.4.4 <a href=#pppdotprop>Dot-properties</a><br> 226 2.13.4.4.1 <a href=#pppdotsize>Size</a><br> 227 2.13.4.4.2 <a href=#pppdotcolor>Color</a><br> 228 2.13.4.5 <a href=#pppspeed>Post Processing Speed</a><br> 229 2.14 <a href=#combi><b>Combine Corrections</b></a><br> 230 2.14.1 <a href=#combimounttab>Combine Corrections Table</a><br> 231 2.14.1.1 <a href=#combiadd>Add Row, Delete</a><br> 232 2.14.1.2 <a href=#combimethod>Method</a><br> 233 2.14.1.3 <a href=#combimaxres>Maximal Clock Residuum</a><br> 234 2.14.1.4 <a href=#combimaxdisp>Maximal Orbit Displacement</a><br> 235 2.14.1.5 <a href=#combismpl>Sampling</a><br> 236 2.14.1.6 <a href=#combisatsys>Satellite Systems</a><br> 237 2.15 <a href=#upclk><b>Upload Corrections</b></a><br> 238 2.15.1 <a href=#upadd>Add, Delete Row</a><br> 239 2.15.2 <a href=#uphost>Host, Port, Mountpoint, Ntrip Version, User and Password </a><br> 240 2.15.3 <a href=#upsystem>System</a><br> 241 2.15.4 <a href=#upformat>Format</a><br> 242 2.15.5 <a href=#upcom>Center of Mass</a><br> 243 2.15.6 <a href=#upsp3>SP3 File</a><br> 244 2.15.7 <a href=#uprinex>RNX File</a><br> 245 2.15.8 <a href=#upsinex>BSX File</a><br> 246 2.15.9 <a href=#pidsidiod>PID, SID, IOD</a><br> 247 2.15.10 <a href=#upinter>Interval</a><br> 248 2.15.11 <a href=#upclksmpl>Sampling</a><br> 249 2.15.11.1 <a href=#upclkorb>Orbits</a><br> 250 2.15.11.2 <a href=#upclksp3>SP3</a><br> 251 2.15.11.3 <a href=#upclkrnx>RINEX</a><br> 252 2.15.11.4 <a href=#upbiassnx>SINEX</a><br> 253 2.15.12 <a href=#upcustom>Custom Trafo</a><br> 254 2.15.13 <a href=#upantex>ANTEX File</a><br> 255 2.16 <a href=#upeph><b>Upload Ephemeris</b></a><br> 256 2.16.1 <a href=#brdcserver>Host & Port</a><br> 257 2.16.2 <a href=#brdcmount>Mountpoint, Ntrip Version, User, Password</a><br> 258 2.16.3 <a href=#brdcsys>Satellite System </a><br> 259 2.16.4 <a href=#brdcsmpl>Sampling</a><br> 260 2.17 <a href=#upraw><b>Upload Raw Data - NtripServer Functionality</b></a><br> 261 2.17.1 <a href=#rawsourcemount>Source Mountpoint</a><br> 262 2.17.2 <a href=#rawserver>Host & Port</a><br> 263 2.17.3 <a href=#rawmount>Upload Mountpoint, Ntrip Version, User, Password</a><br> 264 2.18 <a href=#streams><b>Streams Canvas</b></a><br> 265 2.18.1 <a href=#streamedit>Edit Streams</a><br> 266 2.18.2 <a href=#streamdelete>Delete Stream</a><br> 267 2.18.3 <a href=#streamconf>Reconfigure Stream Selection On-the-fly</a><br> 268 2.19 <a href=#logs><b>Logging Canvas</b></a><br> 269 2.19.1 <a href=#logfile>Log</a><br> 270 2.19.2 <a href=#throughput>Throughput</a><br> 271 2.19.3 <a href=#latency>Latency</a><br> 272 2.19.4 <a href=#ppptab>PPP Plot</a><br> 273 2.20 <a href=#bottom><b>Bottom Menu Bar</b></a><br> 274 2.20.1 <a href=#streamadd>Add Stream</a><br> 275 2.20.1.1 <a href=#streamcaster>Add Stream - Coming from Caster</a><br> 276 2.20.1.1.1 <a href=#streamhost>Caster Host and Port</a><br> 277 2.20.1.1.2 <a href=#streamtable>Casters Table</a><br> 278 2.20.1.1.3 <a href=#streamuser>User and Password</a><br> 279 2.20.1.1.4 <a href=#gettable>Get Table</a><br> 280 2.20.1.1.5 <a href=#ntripv>Ntrip Version</a><br> 281 2.20.1.1.6 <a href=#castermap>Map</a><br> 282 2.20.1.2 <a href=#streamip>Add Stream - Coming from TCP/IP Port</a><br> 283 2.20.1.3 <a href=#streamudp>Add Stream - Coming from UDP Port</a><br> 284 2.20.1.4 <a href=#streamser>Add Stream - Coming from Serial Port</a><br> 285 2.20.2 <a href=#streamsdelete>Delete Stream</a><br> 286 2.20.3 <a href=#streamsmap>Map</a><br> 287 2.20.4 <a href=#start>Start</a><br> 288 2.20.5 <a href=#stop>Stop</a><br> 289 2.20.6 <a href=#contexthelp>Help? = Shift+F1</a><br> 290 2.21 <a href=#cmd><b>Command Line Options</b></a><br> 291 2.21.1 <a href=#cmdVersion>Version</a><br> 292 2.21.2 <a href=#cmdDisplay>Display</a><br> 293 2.21.3 <a href=#nw>No Window Mode</a><br> 294 2.21.4 <a href=#post>File Mode</a><br> 295 2.21.5 <a href=#conffile>Configuration File</a><br> 296 2.21.6 <a href=#confopt>Configuration Options</a><br><br> 297 <b>3.</b> <a href=#annex><b>Annex</b></a><br><br> 298 3.1 <a href=#rtcm>RTCM Standards</a><br> 299 3.1.1 <a href=#ntrip1>Ntrip Version 1</a><br> 300 3.1.2 <a href=#ntrip2>Ntrip Version 2</a><br> 301 3.1.3 <a href=#rtcm2>RTCM Version 2</a><br> 302 3.1.4 <a href=#rtcm3>RTCM Version 3</a><br> 303 3.2 <a href=#confList>Command Line Help</a><br> 304 3.3 <a href=#links>Further Reading</a><br> 305 3.4 <a href=#abbrev>Abbreviations</a> 306 </p> 307 <br> 308 309 <p> 310 <b>List of Figures</b><br> 311 <table> 312 <tr><td><b>Fig. </b></td><td><b>Title</b></td><td><b>Chapter</b></td></tr> 313 <tr><td>1</td><td>Flowchart, BNC connected to a GNSS rover for Precise Point Positioning</td><td>1.3</td></tr> 314 <tr><td>2</td><td>Flowchart, BNC converting RTCM streams to RINEX batches</td><td>1.3</td></tr> 315 <tr><td>3</td><td>Flowchart, BNC feeding a real-time GNSS engine and uploading encoded Broadcast Corrections</td><td>1.3</td></tr> 316 <tr><td>4</td><td>Flowchart, BNC combining Broadcast Correction streams</td><td>1.3</td></tr> 317 <tr><td>5</td><td>Sections on BNC's main window</td><td>1.4</td></tr> 318 <tr><td>6</td><td>Management of configuration options in BNC</td><td>1.6</td></tr> 319 <tr><td>7</td><td>BNC's 'Network' panel configured to ignore eventually occurring SSL error messages</td><td>2.2.2</td></tr> 320 <tr><td>8</td><td>BNC translating incoming RTCM Version 3 Observation streams to 15 min RINEX Version 4 Observation files</td><td>2.4</td></tr> 321 <tr><td>9</td><td>Example for creating RINEX quality check analysis graphics output with BNC</td><td>2.6.6</td></tr> 322 <tr><td>10</td><td>Example for satellite availability, elevation and PDOP plots as a result of a RINEX quality check analysis with BNC</td><td>2.6.6</td></tr> 323 <tr><td>11</td><td>Sky plot examples for multipath, part of RINEX quality check analysis with BNC</td><td>2.6.6</td></tr> 324 <tr><td>12</td><td>Sky plot examples for signal-to-noise ratio, part of RINEX quality check analysis with BNC</td><td>2.6.6</td></tr> 325 <tr><td>13</td><td>Example for BNC's 'RINEX Editing Options' window</td><td>2.6.8</td></tr> 326 <tr><td>14</td><td>Example for RINEX file concatenation with BNC</td><td>2.6.8</td></tr> 327 <tr><td>15</td><td>Example for comparing two SP3 files with satellite orbit and clock data using BNC</td><td>2.7</td></tr> 328 <tr><td>16</td><td>Graphical results from an example comparison of two SP3 files with satellite orbit and clock data using BNC</td><td>2.7.3</td></tr> 329 <tr><td>17</td><td>Example for pulling, saving and output of Broadcast Corrections using BNC</td><td>2.8.3</td></tr> 330 <tr><td>18</td><td>Synchronized BNC output via IP port to feed a GNSS real-time engine</td><td>2.9</td></tr> 331 <tr><td>19</td><td>Flowcharts, BNC forwarding a stream to a serially connected receiver; sending NMEA sentences is mandatory for VRS streams</td><td>2.10</td></tr> 332 <tr><td>20</td><td>BNC pulling a RTCM Version 3 stream to feed a serial connected receiver with observations from a nearby reference station for conventional RTK</td><td>2.10</td></tr> 333 <tr><td>21</td><td>RTCM message numbers, latencies and observation types logged by BNC</td><td>2.12</td></tr> 334 <tr><td>22</td><td>Real-time Precise Point Positioning with BNC, PPP Panel 1</td><td>2.13.1</td></tr> 335 <tr><td>23</td><td>Precise Point Positioning with BNC, PPP Panel 2</td><td>2.13.2</td></tr> 336 <tr><td>25</td><td>Precise Point Positioning with BNC, PPP Panel 3</td><td>2.13.3</td></tr> 337 <tr><td>26</td><td>Precise Point Positioning with BNC with track of positions using OpenStreetMap, PPP Panel 4</td><td>2.13.4.3</td></tr> 338 <tr><td>27</td><td>BNC combining Broadcast Correction streams</td><td>2.14</td></tr> 339 <tr><td>28</td><td>'INTERNAL' PPP with BNC using a combination of Broadcast Corrections</td><td>2.14</td></tr> 340 <tr><td>29</td><td>BNC producing Broadcast Corrections from incoming precise orbits and clocks and uploading them to an Ntrip Broadcaster</td><td>2.15</td></tr> 341 <tr><td>30</td><td>Setting BNC's Custom Transformation Parameters window</td><td>2.15.3</td></tr> 342 <tr><td>31</td><td>BNC uploading a combined Broadcast Correction stream</td><td>2.15.12</td></tr> 343 <tr><td>32</td><td>BNC producing Broadcast Ephemeris streams from globally distributed RTCM streams; upload in RTCM format to an Ntrip Broadcaster</td><td>2.16.3</td></tr> 344 <tr><td>33</td><td>Bandwidth consumption of RTCM streams received by BNC</td><td>2.18.2</td></tr> 345 <tr><td>34</td><td>Latency of RTCM streams received by BNC</td><td>2.18.3</td></tr> 346 <tr><td>35</td><td>Example for time series plot of displacements produced by BNC</td><td>2.18.4</td></tr> 347 <tr><td>36</td><td>Steam input communication links accepted by BNC</td><td>2.19</td></tr> 348 <tr><td>37</td><td>BNC's 'Select Broadcaster' table</td><td>2.19.1.1.2</td></tr> 349 <tr><td>38</td><td>Broadcaster source-table shown by BNC</td><td>2.19.1.1.4</td></tr> 350 <tr><td>39</td><td>Stream distribution map shown by BNC as derived from Ntrip Broadcaster source-table</td><td>2.19.1.1.6</td></tr> 351 <tr><td>40</td><td>BNC configuration for pulling a stream via serial port</td><td>2.19.1.4</td></tr> 352 </table> 353 </p> 354 <br> 355 356 <p><b>List of Tables</b><br><br> 357 <table> 358 <tr><td><b>Tab. </b></td><td><b>Title</b></td><td><b>Chapter</b></td></tr> 359 <tr><td>1</td><td>Status of RTCM Version 3 message implementations in BNC supporting various GNSS systems</td><td>1.2</td></tr> 360 <tr><td>2</td><td>Contents and format of synchronized output of observations feeding a GNSS engine</td><td>2.9</td></tr> 361 </table> 362 </p> 363 364 <h3 id="genInstruction">1. General Information</h3> 365 <p> 366 The BKG Ntrip Client (BNC) is a program for simultaneously retrieving, decoding, converting and processing or 367 analyzing real-time GNSS data streams applying the 'Networked Transport of RTCM via Internet Protocol' (Ntrip) standard. 368 It has been developed within the framework of the IAG sub-commission for Europe (EUREF) and the International GNSS 369 Service (IGS). Although meant to be a real-time tool, it comes with some post processing functionality. It can be used 370 for data coming from Ntrip Broadcasters like 371 <ul> 372 <li><a href="http://euref-ip.net/home" target="_blank">http://euref-ip.net/home</a></li> 373 <li><a href="http://igs-ip.net/home" target="_blank">http://igs-ip.net/home</a></li> 374 <li><a href="http://products.igs-ip.net/home" target="_blank">http://products.igs-ip.net/home</a></li> 375 </ul> 376 or similar caster installation. 377 </p> 378 379 <p> 380 <b>Documentation</b><br><br> 381 BNC provides context-sensitive help (<i>What's This</i>) related to specific objects. 382 Furthermore, it comes with severl example configurations. The here presented documentation 383 is available as part of the software, as a PDF file and can be find as well as an online documentation: 384 <a href="http://software.rtcm-ntrip.org/export/HEAD/ntrip/trunk/BNC/src/bnchelp.html" 385 target="_blank">http://software.rtcm-ntrip.org/export/HEAD/ntrip/trunk/BNC/src/bnchelp.html</a>. 386 </p> 387 388 <p> 389 Note that some figures presented in this documentation may show screenshots from earlier versions of BNC. 390 If so, there is either no relevant change compared to the current appearance of the program or no change at all. 391 </p> 392 393 <p> 394 <b>Acknowledgements</b><br> 395 <ul> 396 <li>Oliver Montenbruck, German Space Operations Center, DLR, Oberpfaffenhofen, Germany published a RTCM Version 2 decoder 85 </p> 86 <br> 87 88 <h4>Table of Contents</h4> 89 <p> 90 <b>1.</b> <a href="#genInstruction"><b>General Information</b></a><br><br> 91 1.1 <a href="#introPurpose">Purpose</a><br> 92 1.2 <a href="#introSystem">Supported GNSS</a><br> 93 1.3 <a href="#introFlow">Data Flow</a><br> 94 1.4 <a href="#introHandling">Handling</a><br> 95 1.5 <a href="#introInst">Installation</a><br> 96 1.5.1 <a href="#introCompile">Compilation</a><br> 97 1.6 <a href="#introConf">Configuration</a><br> 98 1.6.1 <a href="#introExamples">Examples</a><br> 99 1.7 <a href="#introLimit">Limitations</a><br> 100 1.8 <a href="#introLBack">Looking Back</a><br><br> 101 <b>2.</b> <a href="#optsettings"><b>Settings Details</b></a><br><br> 102 2.1 <a href="#topmenu"><b>Top Menu Bar</b></a><br> 103 2.1.1 <a href="#file">File</a><br> 104 2.1.2 <a href="#help">Help</a><br> 105 2.2 <a href="#network"><b>Network</b></a><br> 106 2.2.1 <a href="#proxy">Proxy</a><br> 107 2.2.2 <a href="#ssl">SSL</a><br> 108 2.3 <a href="#general"><b>General</b></a><br> 109 2.3.1 <a href="#genlog">Logfile</a><br> 110 2.3.2 <a href="#genapp">Append Files</a><br> 111 2.3.3 <a href="#genconf">Reread Configuration</a><br> 112 2.3.4 <a href="#genstart">Auto Start</a><br> 113 2.3.5 <a href="#rawout">Raw Output File</a><br> 114 2.4 <a href="#rinex"><b>RINEX Observations</b></a><br> 115 2.4.1 <a href="#rnxname">Filenames</a><br> 116 2.4.2 <a href="#rnxdir">Directory</a><br> 117 2.4.3 <a href="#rnxinterval">File Interval</a><br> 118 2.4.4 <a href="#rnxsample">Sampling</a><br> 119 2.4.5 <a href="#rnxskl">Skeleton Extension</a><br> 120 2.4.6 <a href="#sklMandat">Skeleton Mandatory</a><br> 121 2.4.7 <a href="#sklDir">Skeleton Directory</a><br> 122 2.4.8 <a href="#rnxscript">Script</a><br> 123 2.4.9 <a href="#rnxvers3_4">Version 3 and 4</a><br> 124 2.4.10 <a href="#rnxvers2">Version 2</a><br> 125 2.5 <a href="#ephemeris"><b>RINEX Ephemeris</b></a><br> 126 2.5.1 <a href="#ephdir">Directory</a><br> 127 2.5.2 <a href="#ephint">Interval</a><br> 128 2.5.3 <a href="#ephport">Port</a><br> 129 2.5.4 <a href="#ephvers">Version</a><br> 130 2.6 <a href="#reqc"><b>RINEX Editing & QC</b></a><br> 131 2.6.1 <a href="#reqcact">Action</a><br> 132 2.6.2 <a href="#reqcinp">Input Files</a><br> 133 2.6.3 <a href="#reqcout">Output Files</a><br> 134 2.6.4 <a href="#reqcminele">Minimum Elevation</a><br> 135 2.6.5 <a href="#reqclog">Logfiles</a><br> 136 2.6.6 <a href="#reqcplots">Plots for Signals</a><br> 137 2.6.7 <a href="#reqcdir">Directory for Plots</a><br> 138 2.6.8 <a href="#reqcedit">Set Edit Options</a><br> 139 2.6.9 <a href="#reqccommand">Command Line, No Window</a><br> 140 2.7 <a href="#sp3comp"><b>SP3 Comparison</b></a><br> 141 2.7.1 <a href="#sp3input">Input SP3 Files</a><br> 142 2.7.2 <a href="#sp3exclude">Exclude Satellites</a><br> 143 2.7.3 <a href="#sp3log">Logfile</a><br> 144 2.8 <a href="#correct"><b>Broadcast Corrections</b></a><br> 145 2.8.1 <a href="#corrdir">Directory, ASCII</a><br> 146 2.8.2 <a href="#corrint">Interval</a><br> 147 2.8.3 <a href="#corrport">Port</a><br> 148 2.8.4 <a href="#corrwait">Wait for Full Corr Epoch</a><br> 149 2.9 <a href="#syncout"><b>Feed Engine</b></a><br> 150 2.9.1 <a href="#syncport">Port</a><br> 151 2.9.2 <a href="#syncwait">Wait for Full Obs Epoch</a><br> 152 2.9.3 <a href="#syncsample">Sampling</a><br> 153 2.9.4 <a href="#syncfile">File</a><br> 154 2.9.5 <a href="#syncuport">Port (unsynchronized)</a><br> 155 2.10 <a href="#serial"><b>Serial Output</b></a><br> 156 2.10.1 <a href="#sermount">Mountpoint</a><br> 157 2.10.2 <a href="#serport">Port Name</a><br> 158 2.10.3 <a href="#serbaud">Baud Rate</a><br> 159 2.10.4 <a href="#serflow">Flow Control</a><br> 160 2.10.5 <a href="#serparity">Parity</a><br> 161 2.10.6 <a href="#serdata">Data Bits</a><br> 162 2.10.7 <a href="#serstop">Stop Bits</a><br> 163 2.10.8 <a href="#serauto">NMEA</a><br> 164 2.10.9 <a href="#serfile">File</a><br> 165 2.10.10 <a href="#serheight">Height</a><br> 166 2.10.11 <a href="#sersampl">Sampling</a><br> 167 2.11 <a href=#advnote><b>Outages</b></a><br> 168 2.11.1. <a href=#obsrate>Observation Rate</a><br> 169 2.11.2. <a href=#advfail>Failure Threshold</a><br> 170 2.11.3. <a href=#advreco>Recovery Threshold</a><br> 171 2.11.4. <a href=#advscript>Script</a><br> 172 2.12 <a href=#misc><b>Miscellaneous</b></a><br> 173 2.12.1. <a href=#miscmount>Mountpoint</a><br> 174 2.12.2. <a href=#miscperf>Log Latency</a><br> 175 2.12.3. <a href=#miscscan>Scan RTCM</a><br> 176 2.12.4. <a href=#miscport>Port</a><br> 177 2.13 <a href=#pppclient><b>PPP Client</b></a><br> 178 2.13.1 <a href=#pppInp><b>PPP (1): Input and Output</b></a><br> 179 2.13.1.1 <a href=#pppdatasource>Data Source</a><br> 180 2.13.1.2 <a href=#pppcorrstream>Corrections 181 Stream</a><br> 182 2.13.1.3 <a href=#pppcorrfile>Corrections 183 File</a><br> 184 2.13.1.4 <a href=#pppbiasstream>Biases Stream</a><br> 185 2.13.1.5 <a href=#pppbiasfile>Biases File</a><br> 186 2.13.1.6 <a href=#pppionostream>Ionosphere 187 Stream</a><br> 188 2.13.1.7 <a href=#pppionofile>Ionosphere File</a><br> 189 2.13.1.8 <a href=#ppprnxobs>RINEX Observation 190 File</a><br> 191 2.13.1.9 <a href=#ppprnxnav>RINEX Navigation 192 File</a><br> 193 2.13.1.10 <a href=#pppantexfile>ANTEX File</a><br> 194 2.13.1.11 <a href=#pppmarkcoor>Coordinates 195 File</a><br> 196 2.13.1.12 <a href=#pppblqfile>BLQ File</a><br> 197 2.13.1.13 <a href=#ppplogfile>Logfile Directory and 198 Log mode</a><br> 199 2.13.1.14 <a href=#pppnmeafile>NMEA Directory</a><br> 200 2.13.1.15 <a href=#pppsnxtrofile>SNX TRO 201 Directory</a><br> 202 2.13.1.15.1 <a 203 href=#pppsnxtrointr>Interval</a><br> 204 2.13.1.15.2 <a 205 href=#pppsnxtrosampl>Sampling</a><br> 206 2.13.1.15.3 <a href=#pppsnxAc>Analysis 207 Center</a><br> 208 2.13.1.15.4 <a href=#pppsnxSol>Solution 209 ID</a><br> 210 2.13.2 <a href=#pppOptions><b>PPP (2): Processing Options</b></a><br> 211 2.13.2.1 <a href=#pppobs>GNSS Observations</a><br> 212 2.13.2.2 <a href=#pppcodeobs>Code 213 Observations</a><br> 214 2.13.2.3 <a href=#pppphaseobs>Phase 215 Observations</a><br> 216 2.13.2.4 <a href=#pppeleweight>Elevation Dependent 217 Weighting</a><br> 218 2.13.2.5 <a href=#pppminobs>Minimum Number of 219 Observations</a><br> 220 2.13.2.6 <a href=#pppmineleva>Minimum 221 Elevation</a><br> 222 2.13.2.7 <a href=#pppwaitclockcorr>Wait for Clock 223 Corrections</a><br> 224 2.13.2.8 <a href=#pppseeding>Seeding</a><br> 225 2.13.2.9 <a href=#pppconstraints>Constraints</a><br> 226 2.13.2.9.0 <a href=#ppppseudogimobs>GIM Pseudo 227 Observations - How it works</a><br> 228 2.13.2.9.1 <a href=#ppppseudogimobssigma>GIM Pseudo 229 Observations Sigma</a><br> 230 2.13.2.10 <a href=#pppar>PPP-AR</a><br> 231 2.13.2.10.0 <a href=#ppparmethod>Algorithm 232 Description</a><br> 233 2.13.2.10.1 <a href=#ppparsys>Constellations</a><br> 234 2.13.2.10.2 <a href=#ppparmin>Min # Epo and 235 Sat</a><br> 236 2.13.2.10.3 <a href=#ppparmax>Max Frac and 237 Sig</a><br> 238 2.13.2.10.4 <a href=#ppparyaw>Yaw Usage</a><br> 239 2.13.2.10.5 <a href=#ppparfix>Per-epoch fix 240 percentage</a><br> 241 2.13.3 <a href=#pppStation><b>PPP (3): Processed Stations</b></a><br> 242 2.13.3.1 <a href=#pppsite>Station</a><br> 243 2.13.3.2 <a href=#pppnehsigma>Sigma 244 North/East/Up</a><br> 245 2.13.3.3 <a href=#pppnehnoise>Noise 246 North/East/Up</a><br> 247 2.13.3.4 <a href=#ppptropsigma>Tropo Sigma</a><br> 248 2.13.3.5 <a href=#ppptropnoise>Tropo Noise</a><br> 249 2.13.3.6 <a href=#pppnmeaport>NMEA Port</a><br> 250 2.13.3.6 <a href=#pppsignalpriorities>Signal 251 Priorities</a><br> 252 2.13.4 <a href=#pppPlots><b>PPP (4): Plots</b></a><br> 253 2.13.4.1 <a href=#ppptimeseries>PPP Plot</a><br> 254 2.13.4.2 <a href=#pppaudioresp>Audio Response</a><br> 255 2.13.4.3 <a href=#ppptrackmap>Track Map</a><br> 256 2.13.4.4 <a href=#pppdotprop>Dot-properties</a><br> 257 2.13.4.4.1 <a 258 href=#pppdotsize>Size</a><br> 259 2.13.4.4.2 <a 260 href=#pppdotcolor>Color</a><br> 261 2.13.4.5 <a href=#pppspeed>Post Processing 262 Speed</a><br> 263 2.14 <a href=#combi><b>Combine Corrections</b></a><br> 264 2.14.1 <a href=#combimounttab>Combine Corrections Table</a><br> 265 2.14.1.1 <a href=#combiadd>Add Row, Delete</a><br> 266 2.14.1.2 <a href=#combimethod>Method</a><br> 267 2.14.1.3 <a href=#combimaxres>Maximal Clock 268 Residuum</a><br> 269 2.14.1.4 <a href=#combimaxdisp>Maximal Orbit 270 Displacement</a><br> 271 2.14.1.5 <a href=#combismpl>Sampling</a><br> 272 2.14.1.6 <a href=#combisatsys>Satellite 273 Systems</a><br> 274 2.15 <a href=#upclk><b>Upload Corrections</b></a><br> 275 2.15.1 <a href=#upadd>Add, Delete Row</a><br> 276 2.15.2 <a href=#uphost>Host, Port, Mountpoint, Ntrip Version, User and 277 Password </a><br> 278 2.15.3 <a href=#upsystem>System</a><br> 279 2.15.4 <a href=#upformat>Format</a><br> 280 2.15.5 <a href=#upcom>Center of Mass</a><br> 281 2.15.6 <a href=#upsp3>SP3 File</a><br> 282 2.15.7 <a href=#uprinex>RNX File</a><br> 283 2.15.8 <a href=#upsinex>BSX File</a><br> 284 2.15.9 <a href=#pidsidiod>PID, SID, IOD</a><br> 285 2.15.10 <a href=#upinter>Interval</a><br> 286 2.15.11 <a href=#upclksmpl>Sampling</a><br> 287 2.15.11.1 <a href=#upclkorb>Orbits</a><br> 288 2.15.11.2 <a href=#upclksp3>SP3</a><br> 289 2.15.11.3 <a href=#upclkrnx>RINEX</a><br> 290 2.15.11.4 <a href=#upbiassnx>SINEX</a><br> 291 2.15.12 <a href=#upcustom>Custom Trafo</a><br> 292 2.15.13 <a href=#upantex>ANTEX File</a><br> 293 2.16 <a href=#upeph><b>Upload Ephemeris</b></a><br> 294 2.16.1 <a href=#brdcserver>Host & Port</a><br> 295 2.16.2 <a href=#brdcmount>Mountpoint, Ntrip Version, User, 296 Password</a><br> 297 2.16.3 <a href=#brdcsys>Satellite System </a><br> 298 2.16.4 <a href=#brdcsmpl>Sampling</a><br> 299 2.17 <a href=#upraw><b>Upload Raw Data - NtripServer Functionality</b></a><br> 300 2.17.1 <a href=#rawsourcemount>Source Mountpoint</a><br> 301 2.17.2 <a href=#rawserver>Host & Port</a><br> 302 2.17.3 <a href=#rawmount>Upload Mountpoint, Ntrip Version, User, 303 Password</a><br> 304 2.18 <a href=#streams><b>Streams Canvas</b></a><br> 305 2.18.1 <a href=#streamedit>Edit Streams</a><br> 306 2.18.2 <a href=#streamdelete>Delete Stream</a><br> 307 2.18.3 <a href=#streamconf>Reconfigure Stream Selection On-the-fly</a><br> 308 2.19 <a href=#logs><b>Logging Canvas</b></a><br> 309 2.19.1 <a href=#logfile>Log</a><br> 310 2.19.2 <a href=#throughput>Throughput</a><br> 311 2.19.3 <a href=#latency>Latency</a><br> 312 2.19.4 <a href=#ppptab>PPP Plot</a><br> 313 2.20 <a href=#bottom><b>Bottom Menu Bar</b></a><br> 314 2.20.1 <a href=#streamadd>Add Stream</a><br> 315 2.20.1.1 <a href=#streamcaster>Add Stream - Coming 316 from Caster</a><br> 317 2.20.1.1.1 <a 318 href=#streamhost>Caster Host and Port</a><br> 319 2.20.1.1.2 <a 320 href=#streamtable>Casters Table</a><br> 321 2.20.1.1.3 <a 322 href=#streamuser>User and Password</a><br> 323 2.20.1.1.4 <a href=#gettable>Get 324 Table</a><br> 325 2.20.1.1.5 <a href=#ntripv>Ntrip 326 Version</a><br> 327 2.20.1.1.6 <a 328 href=#castermap>Map</a><br> 329 2.20.1.2 <a href=#streamip>Add Stream - Coming from 330 TCP/IP Port</a><br> 331 2.20.1.3 <a href=#streamudp>Add Stream - Coming from 332 UDP Port</a><br> 333 2.20.1.4 <a href=#streamser>Add Stream - Coming from 334 Serial Port</a><br> 335 2.20.2 <a href=#streamsdelete>Delete Stream</a><br> 336 2.20.3 <a href=#streamsmap>Map</a><br> 337 2.20.4 <a href=#start>Start</a><br> 338 2.20.5 <a href=#stop>Stop</a><br> 339 2.20.6 <a href=#contexthelp>Help? = Shift+F1</a><br> 340 2.21 <a href=#cmd><b>Command Line Options</b></a><br> 341 2.21.1 <a href=#cmdVersion>Version</a><br> 342 2.21.2 <a href=#cmdDisplay>Display</a><br> 343 2.21.3 <a href=#nw>No Window Mode</a><br> 344 2.21.4 <a href=#post>File Mode</a><br> 345 2.21.5 <a href=#conffile>Configuration File</a><br> 346 2.21.6 <a href=#confopt>Configuration Options</a><br><br> 347 <b>3.</b> <a href=#annex><b>Annex</b></a><br><br> 348 3.1 <a href=#rtcm>RTCM Standards</a><br> 349 3.1.1 <a href=#ntrip1>Ntrip Version 1</a><br> 350 3.1.2 <a href=#ntrip2>Ntrip Version 2</a><br> 351 3.1.3 <a href=#rtcm2>RTCM Version 2</a><br> 352 3.1.4 <a href=#rtcm3>RTCM Version 3</a><br> 353 3.2 <a href=#confList>Command Line Help</a><br> 354 3.3 <a href=#links>Further Reading</a><br> 355 3.4 <a href=#abbrev>Abbreviations</a> 356 </p> 357 <br> 358 359 <p> 360 <b>List of Figures</b><br> 361 <table> 362 <tr> 363 <td><b>Fig. </b></td> 364 <td><b>Title</b></td> 365 <td><b>Chapter</b></td> 366 </tr> 367 <tr> 368 <td>1</td> 369 <td>Flowchart, BNC connected to a GNSS rover for Precise Point Positioning</td> 370 <td>1.3</td> 371 </tr> 372 <tr> 373 <td>2</td> 374 <td>Flowchart, BNC converting RTCM streams to RINEX batches</td> 375 <td>1.3</td> 376 </tr> 377 <tr> 378 <td>3</td> 379 <td>Flowchart, BNC feeding a real-time GNSS engine and uploading encoded Broadcast Corrections</td> 380 <td>1.3</td> 381 </tr> 382 <tr> 383 <td>4</td> 384 <td>Flowchart, BNC combining Broadcast Correction streams</td> 385 <td>1.3</td> 386 </tr> 387 <tr> 388 <td>5</td> 389 <td>Sections on BNC's main window</td> 390 <td>1.4</td> 391 </tr> 392 <tr> 393 <td>6</td> 394 <td>Management of configuration options in BNC</td> 395 <td>1.6</td> 396 </tr> 397 <tr> 398 <td>7</td> 399 <td>BNC's 'Network' panel configured to ignore eventually occurring SSL error messages</td> 400 <td>2.2.2</td> 401 </tr> 402 <tr> 403 <td>8</td> 404 <td>BNC translating incoming RTCM Version 3 Observation streams to 15 min RINEX Version 4 Observation files</td> 405 <td>2.4</td> 406 </tr> 407 <tr> 408 <td>9</td> 409 <td>Example for creating RINEX quality check analysis graphics output with BNC</td> 410 <td>2.6.6</td> 411 </tr> 412 <tr> 413 <td>10</td> 414 <td>Example for satellite availability, elevation and PDOP plots as a result of a RINEX quality check analysis 415 with BNC</td> 416 <td>2.6.6</td> 417 </tr> 418 <tr> 419 <td>11</td> 420 <td>Sky plot examples for multipath, part of RINEX quality check analysis with BNC</td> 421 <td>2.6.6</td> 422 </tr> 423 <tr> 424 <td>12</td> 425 <td>Sky plot examples for signal-to-noise ratio, part of RINEX quality check analysis with BNC</td> 426 <td>2.6.6</td> 427 </tr> 428 <tr> 429 <td>13</td> 430 <td>Example for BNC's 'RINEX Editing Options' window</td> 431 <td>2.6.8</td> 432 </tr> 433 <tr> 434 <td>14</td> 435 <td>Example for RINEX file concatenation with BNC</td> 436 <td>2.6.8</td> 437 </tr> 438 <tr> 439 <td>15</td> 440 <td>Example for comparing two SP3 files with satellite orbit and clock data using BNC</td> 441 <td>2.7</td> 442 </tr> 443 <tr> 444 <td>16</td> 445 <td>Graphical results from an example comparison of two SP3 files with satellite orbit and clock data using BNC 446 </td> 447 <td>2.7.3</td> 448 </tr> 449 <tr> 450 <td>17</td> 451 <td>Example for pulling, saving and output of Broadcast Corrections using BNC</td> 452 <td>2.8.3</td> 453 </tr> 454 <tr> 455 <td>18</td> 456 <td>Synchronized BNC output via IP port to feed a GNSS real-time engine</td> 457 <td>2.9</td> 458 </tr> 459 <tr> 460 <td>19</td> 461 <td>Flowcharts, BNC forwarding a stream to a serially connected receiver; sending NMEA sentences is mandatory for 462 VRS streams</td> 463 <td>2.10</td> 464 </tr> 465 <tr> 466 <td>20</td> 467 <td>BNC pulling a RTCM Version 3 stream to feed a serial connected receiver with observations from a nearby 468 reference station for conventional RTK</td> 469 <td>2.10</td> 470 </tr> 471 <tr> 472 <td>21</td> 473 <td>RTCM message numbers, latencies and observation types logged by BNC</td> 474 <td>2.12</td> 475 </tr> 476 <tr> 477 <td>22</td> 478 <td>Real-time Precise Point Positioning with BNC, PPP Panel 1</td> 479 <td>2.13.1</td> 480 </tr> 481 <tr> 482 <td>23</td> 483 <td>Precise Point Positioning with BNC, PPP Panel 2</td> 484 <td>2.13.2</td> 485 </tr> 486 <tr> 487 <td>25</td> 488 <td>Precise Point Positioning with BNC, PPP Panel 3</td> 489 <td>2.13.3</td> 490 </tr> 491 <tr> 492 <td>26</td> 493 <td>Precise Point Positioning with BNC with track of positions using OpenStreetMap, PPP Panel 4</td> 494 <td>2.13.4.3</td> 495 </tr> 496 <tr> 497 <td>27</td> 498 <td>BNC combining Broadcast Correction streams</td> 499 <td>2.14</td> 500 </tr> 501 <tr> 502 <td>28</td> 503 <td>'INTERNAL' PPP with BNC using a combination of Broadcast Corrections</td> 504 <td>2.14</td> 505 </tr> 506 <tr> 507 <td>29</td> 508 <td>BNC producing Broadcast Corrections from incoming precise orbits and clocks and uploading them to an Ntrip 509 Broadcaster</td> 510 <td>2.15</td> 511 </tr> 512 <tr> 513 <td>30</td> 514 <td>Setting BNC's Custom Transformation Parameters window</td> 515 <td>2.15.3</td> 516 </tr> 517 <tr> 518 <td>31</td> 519 <td>BNC uploading a combined Broadcast Correction stream</td> 520 <td>2.15.12</td> 521 </tr> 522 <tr> 523 <td>32</td> 524 <td>BNC producing Broadcast Ephemeris streams from globally distributed RTCM streams; upload in RTCM format to an 525 Ntrip Broadcaster</td> 526 <td>2.16.3</td> 527 </tr> 528 <tr> 529 <td>33</td> 530 <td>Bandwidth consumption of RTCM streams received by BNC</td> 531 <td>2.18.2</td> 532 </tr> 533 <tr> 534 <td>34</td> 535 <td>Latency of RTCM streams received by BNC</td> 536 <td>2.18.3</td> 537 </tr> 538 <tr> 539 <td>35</td> 540 <td>Example for time series plot of displacements produced by BNC</td> 541 <td>2.18.4</td> 542 </tr> 543 <tr> 544 <td>36</td> 545 <td>Steam input communication links accepted by BNC</td> 546 <td>2.19</td> 547 </tr> 548 <tr> 549 <td>37</td> 550 <td>BNC's 'Select Broadcaster' table</td> 551 <td>2.19.1.1.2</td> 552 </tr> 553 <tr> 554 <td>38</td> 555 <td>Broadcaster source-table shown by BNC</td> 556 <td>2.19.1.1.4</td> 557 </tr> 558 <tr> 559 <td>39</td> 560 <td>Stream distribution map shown by BNC as derived from Ntrip Broadcaster source-table</td> 561 <td>2.19.1.1.6</td> 562 </tr> 563 <tr> 564 <td>40</td> 565 <td>BNC configuration for pulling a stream via serial port</td> 566 <td>2.19.1.4</td> 567 </tr> 568 </table> 569 </p> 570 <br> 571 572 <p><b>List of Tables</b><br><br> 573 <table> 574 <tr> 575 <td><b>Tab. </b></td> 576 <td><b>Title</b></td> 577 <td><b>Chapter</b></td> 578 </tr> 579 <tr> 580 <td>1</td> 581 <td>Status of RTCM Version 3 message implementations in BNC supporting various GNSS systems</td> 582 <td>1.2</td> 583 </tr> 584 <tr> 585 <td>2</td> 586 <td>Contents and format of synchronized output of observations feeding a GNSS engine</td> 587 <td>2.9</td> 588 </tr> 589 </table> 590 </p> 591 592 <h3 id="genInstruction">1. General Information</h3> 593 <p> 594 The BKG Ntrip Client (BNC) is a program for simultaneously retrieving, decoding, converting and processing or 595 analyzing real-time GNSS data streams applying the 'Networked Transport of RTCM via Internet Protocol' (Ntrip) 596 standard. 597 It has been developed within the framework of the IAG sub-commission for Europe (EUREF) and the International GNSS 598 Service (IGS). Although meant to be a real-time tool, it comes with some post processing functionality. It can be 599 used 600 for data coming from Ntrip Broadcasters like 601 <ul> 602 <li><a href="http://euref-ip.net/home" target="_blank">http://euref-ip.net/home</a></li> 603 <li><a href="http://igs-ip.net/home" target="_blank">http://igs-ip.net/home</a></li> 604 <li><a href="http://products.igs-ip.net/home" target="_blank">http://products.igs-ip.net/home</a></li> 605 </ul> 606 or similar caster installation. 607 </p> 608 609 <p> 610 <b>Documentation</b><br><br> 611 BNC provides context-sensitive help (<i>What's This</i>) related to specific objects. 612 Furthermore, it comes with severl example configurations. The here presented documentation 613 is available as part of the software, as a PDF file and can be find as well as an online documentation: 614 <a href="http://software.rtcm-ntrip.org/export/HEAD/ntrip/trunk/BNC/src/bnchelp.html" 615 target="_blank">http://software.rtcm-ntrip.org/export/HEAD/ntrip/trunk/BNC/src/bnchelp.html</a>. 616 </p> 617 618 <p> 619 Note that some figures presented in this documentation may show screenshots from earlier versions of BNC. 620 If so, there is either no relevant change compared to the current appearance of the program or no change at all. 621 </p> 622 623 <p> 624 <b>Acknowledgements</b><br> 625 <ul> 626 <li>Oliver Montenbruck, German Space Operations Center, DLR, Oberpfaffenhofen, Germany published a RTCM Version 2 627 decoder 397 628 unter GNU GPL which has been integrated in BNC.</li> 398 <li>Andre Hauschild, German Space Operations Center, DLR, revised the RTCM Version 2 decoder and has provided a lot of hints 629 <li>Andre Hauschild, German Space Operations Center, DLR, revised the RTCM Version 2 decoder and has provided a lot 630 of hints 399 631 regarding bugs and new features.</li> 400 <li>Zdenek Lukes, Czech Technical University Prague, Department of Geodesy, extended the RTCM Version 2 decoder to handle 632 <li>Zdenek Lukes, Czech Technical University Prague, Department of Geodesy, extended the RTCM Version 2 decoder to 633 handle 401 634 message types 3, 20, 21, and 22 and added the loss of lock indicator.</li> 402 <li>Lennard Huisman, Kadaster Netherlands, and Rolf Dach, Astronomical Institute University of Bern, assisted in handling 635 <li>Lennard Huisman, Kadaster Netherlands, and Rolf Dach, Astronomical Institute University of Bern, assisted in 636 handling 403 637 satellite clocks in transformations from ITRF to regional reference frames.</li> 404 <li>Denis Laurichesse, Centre National d'Etudes Spatiales (CNES), suggested synchronizing observations and clock 638 <li>Denis Laurichesse, Centre National d'Etudes Spatiales (CNES), suggested synchronizing observations and clock 405 639 corrections to reduce high frequency noise in PPP solutions.</li> 406 <li>Alexis Blot, Centre National d'Etudes Spatiales (CNES), has provided a lot of hints regarding bugs and new features. 407 Furthermore he has helped in the interoperability tests of RTCM-SSR and IGS-SSR format as well as the therefore used RTNET Interface.</li> 408 <li>Loukis Agrotis, Symban Ltd, has provided a lot of hints regarding bugs and new features.</li> 409 <li>Erwin Wiesensarter, Federal Agency for Cartography and Geodesy (BKG), provides actual builds of BNC for several Linux operating 640 <li>Alexis Blot, Centre National d'Etudes Spatiales (CNES), has provided a lot of hints regarding bugs and new 641 features. 642 Furthermore he has helped in the interoperability tests of RTCM-SSR and IGS-SSR format as well as the therefore 643 used RTNET Interface.</li> 644 <li>Loukis Agrotis, Symban Ltd, has provided a lot of hints regarding bugs and new features.</li> 645 <li>Erwin Wiesensarter, Federal Agency for Cartography and Geodesy (BKG), provides actual builds of BNC for several 646 Linux operating 410 647 systems as well as for Mac OS X systems. Furthermore, he has provided some helpful scripts available under 411 <a href="https://software.rtcm-ntrip.org/export/HEAD/ntrip/trunk/BNC/scripts"target="_blank">http://software.rtcm-ntrip.org/export/HEAD/ntrip/trunk/BNC/scripts</a>.</li> 412 <li>Peter Neumaier, Federal Agency for Cartography and Geodesy (BKG), provide the Windows MSI File and helps a lot 648 <a href="https://software.rtcm-ntrip.org/export/HEAD/ntrip/trunk/BNC/scripts" 649 target="_blank">http://software.rtcm-ntrip.org/export/HEAD/ntrip/trunk/BNC/scripts</a>. 650 </li> 651 <li>Peter Neumaier, Federal Agency for Cartography and Geodesy (BKG), provide the Windows MSI File and helps a lot 413 652 regarding testing and user support.</li> 414 </ul> 415 </p> 416 417 <h4 id="introPurpose">1.1 Purpose</h4> 418 419 <p> 420 Promoting Open RTCM Standards for streaming GNSS data over the Internet has been a major aspect in developing BNC as 421 Open Source real-time software. Basically, the tool enables the test, validation and further evolution of new RTCM 422 messages for precise satellite navigation. With high-level source code at hand, it also allows university education 423 to catch up with comprehensive state-of-the-art positioning and potentially contributes fresh ideas which are free 424 from any licensing. 425 </p> 426 427 <p> BNC was designed to serve the following purposes: 428 <ul> 429 <li>Retrieve real-time GNSS data streams available through the Ntrip transport protocol</li> 430 <li>Retrieve real-time GNSS data streams via TCP directly from an IP address without using the Ntrip transport protocol</li> 431 <li>Retrieve real-time GNSS data streams from a local UDP or serial port without using the Ntrip transport protocol</li> 432 <li>Plot stream distribution map from Ntrip Broadcaster source-tables</li> 433 <li>Generate RINEX Observation and Navigation files to support near real-time GNSS post processing applications</li> 434 <li>Edit or concatenate RINEX files or carry out RINEX Quality Checks (QC)</li> 435 <li>Handle RINEX Versions 2, 3 and 4 Observation and Navigation files</li> 436 <li>Compare SP3 files containing satellite orbit and clock data</li> 437 <li>Generate State Space Represenation (SSR) messages through an IP port to</li> 653 </ul> 654 </p> 655 656 <h4 id="introPurpose">1.1 Purpose</h4> 657 658 <p> 659 Promoting Open RTCM Standards for streaming GNSS data over the Internet has been a major aspect in developing BNC as 660 Open Source real-time software. Basically, the tool enables the test, validation and further evolution of new RTCM 661 messages for precise satellite navigation. With high-level source code at hand, it also allows university education 662 to catch up with comprehensive state-of-the-art positioning and potentially contributes fresh ideas which are free 663 from any licensing. 664 </p> 665 666 <p> BNC was designed to serve the following purposes: 667 <ul> 668 <li>Retrieve real-time GNSS data streams available through the Ntrip transport protocol</li> 669 <li>Retrieve real-time GNSS data streams via TCP directly from an IP address without using the Ntrip transport 670 protocol</li> 671 <li>Retrieve real-time GNSS data streams from a local UDP or serial port without using the Ntrip transport protocol 672 </li> 673 <li>Plot stream distribution map from Ntrip Broadcaster source-tables</li> 674 <li>Generate RINEX Observation and Navigation files to support near real-time GNSS post processing applications</li> 675 <li>Edit or concatenate RINEX files or carry out RINEX Quality Checks (QC)</li> 676 <li>Handle RINEX Versions 2, 3 and 4 Observation and Navigation files</li> 677 <li>Compare SP3 files containing satellite orbit and clock data</li> 678 <li>Generate State Space Represenation (SSR) messages through an IP port to</li> 438 679 <ul> 439 <li>support real-time Precise Point Positioning on GNSS rovers</li> 440 <li>support the (outside) combination of such streams as coming simultaneously from various correction providers</li> 680 <li>support real-time Precise Point Positioning on GNSS rovers</li> 681 <li>support the (outside) combination of such streams as coming simultaneously from various correction providers 682 </li> 441 683 </ul> 442 <li>Generate ephemeris and synchronized or unsynchronized observations epoch by epoch through an IP port 684 <li>Generate ephemeris and synchronized or unsynchronized observations epoch by epoch through an IP port 443 685 to support real-time GNSS network engines</li> 444 <li>Feed a stream into a GNSS receiver via serial communication link</li> 445 <li>Monitor the performance of a network of real-time GNSS data streams to generate advisory notes in case of outages or corrupted streams</li> 446 <li>Scan RTCM streams for incoming antenna information, observation types, message types and repetition rates and latencies 686 <li>Feed a stream into a GNSS receiver via serial communication link</li> 687 <li>Monitor the performance of a network of real-time GNSS data streams to generate advisory notes in case of 688 outages or corrupted streams</li> 689 <li>Scan RTCM streams for incoming antenna information, observation types, message types and repetition rates and 690 latencies 447 691 and GLONASS slot numbers and frequency channels</li> 448 <li>Carry out real-time Precise Point Positioning to determine GNSS rover positions</li> 449 <li>Enable multi-station Precise Point Positioning for simultaneous processing of observations from a whole network of receivers</li> 450 <li>Plot positions derived via PPP from RTCM streams or RINEX files on maps from OpenStreetMap</li> 451 <li>Simultaneously process several SSR streams to produce, encode and upload combined SSR streams</li> 452 <li>Estimate real-time tropospheric zenith path delays and save them in SINEX troposphere file format</li> 453 <li>Read GNSS orbits and clocks in a plain ASCII format from an IP port. They can be produced by a real-time GNSS engine 692 <li>Carry out real-time Precise Point Positioning to determine GNSS rover positions</li> 693 <li>Enable multi-station Precise Point Positioning for simultaneous processing of observations from a whole network 694 of receivers</li> 695 <li>Plot positions derived via PPP from RTCM streams or RINEX files on maps from OpenStreetMap</li> 696 <li>Simultaneously process several SSR streams to produce, encode and upload combined SSR streams</li> 697 <li>Estimate real-time tropospheric zenith path delays and save them in SINEX troposphere file format</li> 698 <li>Read GNSS orbits and clocks in a plain ASCII format from an IP port. They can be produced by a real-time GNSS 699 engine 454 700 and should be referenced to the IGS Earth-Centered-Earth-Fixed (ECEF) reference system. BNC will then</li> 455 701 <ul> 456 <li>Convert the IGS Earth-Centered-Earth-Fixed orbits and clocks into Broadcast Corrections with radial, along-track and out-of-plane components</li> 702 <li>Convert the IGS Earth-Centered-Earth-Fixed orbits and clocks into Broadcast Corrections with radial, 703 along-track and out-of-plane components</li> 457 704 <li>Upload Broadcast Corrections as an RTCM-SSR or IGS-SSR stream to an Ntrip Broadcaster</li> 458 705 <li>Refer the orbit and clock corrections to a specific reference system</li> 459 <li>Log the Broadcast Clock Corrections as Clock RINEX files for further processing using other tools than BNC</li> 460 <li>Log the Broadcast Orbit and Clock Corrections as SP3 files for further processing using other tools than BNC</li> 706 <li>Log the Broadcast Clock Corrections as Clock RINEX files for further processing using other tools than BNC 707 </li> 708 <li>Log the Broadcast Orbit and Clock Corrections as SP3 files for further processing using other tools than BNC 709 </li> 461 710 <li>Log the Code and Phase Biases as SINEX Bias files for further processing using other tools than BNC</li> 462 711 </ul> 463 <li>Upload a Broadcast Ephemeris stream in RTCM Version 3 format;</li> 464 </ul> 465 </p> 466 467 <p> 468 BNC supports the following GNSS stream formats and message types: 469 </p> 470 <p> 471 <ul> 472 <li>RTCM Version 2 message types</li> 473 <li>RTCM Version 3 legacy message types</li> 474 <li>RTCM Version 3 Multiple Signal Messages (MSM) and High Precision Multiple Signal Messages (HP MSM)</li> 475 <li>RTCM Version 3 message types for Broadcast Ephemeris</li> 476 <li>RTCM Version 3 State Space Representation (SSR) messages</li> 477 <li>IGS State Space Representation (SSR) Version 1 messages</li> 478 <li>RTNET, a plain ASCII format defined within BNC to receive SSR informations from a serving GNSS engine</li> 479 </ul> 480 </p> 481 482 <p> 483 BNC supports the following GNSS file formats: 484 </p> 485 <p> 486 <ul> 487 <li>RINEX Version 2.11, 3.x and 4.x, Receiver Independent Exchange format for observation and navigation data</li> 488 <li>The Extended Standard Product 3 Orbit Format SP3-d</li> 489 <li>Clock RINEX Version 3.04 format for (station and) satellite clock solutions</li> 490 <li>SINEX BIAS — Solution (Software/technique) INdependent EXchange Format for GNSS Biases Version 1.00</li> 491 <li>SINEX TRO — Solution (Software/technique) INdependent EXchange Format for TROpospherican meteorological parameters Version 2.0 492 <li>ANTEX Version 1.4, Antenna Exchange format for Antenna Phase Center variations</li> 493 <li>NMEA Version 0813, National Marine Electronics Association format for satellite navigation data</li> 494 <li>A plain ASCII format defined within BNC to save all SSR informations within a file</li> 495 </ul> 496 </p> 497 498 <p> 499 Note that BNC allows to by-pass decoding and conversion algorithms for incoming streams, leaves whatever is received 500 untouched to save it in files or output it through a local TCP/IP port. 501 </p> 502 503 <p><h4 id="introSystem">1.2 Supported GNSS</h4></p> 504 <p> 505 BNC is permanently completed to finally support all existing GNSS systems throughout all features of the program. 506 The table below shows in detail which GNSS systems are supported so far by particular applications when using the 507 latest BNC version. Application areas named here are: 508 <ul> 509 <li>Decoding of RTCM, RTCM-SSR, IGS-SSR and RTNET streams</li> 510 <li>RINEX and SINEX Bias file input and output</li> 511 <li>SINEX TRO and SP3 file output</li> 512 <li>Encoding of SSR and ephemeris messages</li> 513 <li>Upload of SSR and ephemeris messages</li> 514 <li>PPP (Precise Point Positioning)</li> 515 <li>Combining/merging SSR or ephemeris messages from various real-time sources</li> 516 </ul> 517 The table indicates if a message implementation in BNC could so far only be based on a 'RTCM Proposal'. 518 </p> 519 <p>Table 1: Status of RTCM Version 3 message implementations in BNC supporting various GNSS systems</p> 520 <p></p> 521 <table border="1" rules="rows" frame="box" bgcolor="#FFF5EE" style="font-size:13"> 522 523 <tr align="center"><td><b>Message<br>Type #</b></td> <td><b>Description</b></td> <td><b>GNSS<br>System</b></td> <td><b>RTCM<br>Proposal </b></td> <td><b>Decoding </b></td> <td><b> RINEX/ <br> SP3</b></td> <td><b>Encoding </b></td> <td><b>Upload </b></td> <td><b> PPP </b></td> <td><b>Combin. </b></td> </tr> 524 525 <tr align="center"> <td><b><br>General</b></td> <td></td> <td></td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> </tr> 526 <tr align="center"> <td>1005,1006</td> <td>Station</td> <td> </td> <td> </td> <td>x</td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> </tr> 527 <tr align="center"> <td>1007,1008</td> <td>Antenna</td> <td> </td> <td> </td> <td>x</td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> </tr> 528 <tr align="center"> <td>1033</td> <td>Receiver, Antenna</td> <td> </td> <td> </td> <td>x</td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> </tr> 529 <tr align="center"> <td>1013</td> <td>System Parameters</td> <td> </td> <td> </td> <td>x</td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> </tr> 530 <tr align="center"> <td>1300</td> <td>Service CRS </td> <td> </td> <td> </td> <td>x</td> <td> </td> <td>x</td> <td>x</td> <td> </td> <td> </td> </tr> 531 <tr align="center"> <td>1301</td> <td>Helmert Trafo Parameters </td> <td> </td> <td> </td> <td>x</td> <td> </td> <td>(x)</td> <td> </td> <td> </td> <td> </td> </tr> 532 <tr align="center"> <td>1302</td> <td>RTCM CRS </td> <td> </td> <td> </td> <td>x</td> <td> </td> <td>x</td> <td>x</td> <td> </td> <td> </td> </tr> 533 534 <tr align="center"> <td><b><br>Navigation</b></td> <td></td> <td></td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> </tr> 535 <tr align="center"> <td>1019</td> <td>Ephemeris</td> <td>GPS</td> <td> </td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> </tr> 536 <tr align="center"> <td>1020</td> <td>Ephemeris</td> <td>GLONASS</td> <td> </td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> </tr> 537 <tr align="center"> <td>1045</td> <td>Ephemeris</td> <td>Galileo F/Nav</td> <td> </td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td> </td> <td>x</td> </tr> 538 <tr align="center"> <td>1046</td> <td>Ephemeris</td> <td>Galileo I/Nav</td> <td> </td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> </tr> 539 <tr align="center"> <td>1043</td> <td>Ephemeris</td> <td>SBAS</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td> </td> <td>x</td> </tr> 540 <tr align="center"> <td>1044</td> <td>Ephemeris</td> <td>QZSS</td> <td> </td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td> </td> <td>x</td> </tr> 541 <tr align="center"> <td>1042</td> <td>Ephemeris</td> <td>BDS</td> <td> </td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> </tr> 542 <tr align="center"> <td>1041</td> <td>Ephemeris</td> <td>NavIC</td> <td> </td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td> </td> <td>x</td> </tr> 543 544 <tr align="center"> <td><b><br>Observation</b></td> <td></td> <td></td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> </tr> 545 <tr align="center"> <td>1001-4</td> <td>Conventional Messages</td> <td>GPS</td> <td> </td> <td>x</td> <td>x</td> <td> </td> <td> </td> <td>x</td> <td> </td> </tr> 546 <tr align="center"> <td>1009-12</td> <td>Conventional Messages</td> <td>GLONASS</td> <td> </td> <td>x</td> <td>x</td> <td> </td> <td> </td> <td>x</td> <td> </td> </tr> 547 548 <tr align="center"> <td><b><br>Observation</b></td> <td></td> <td></td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> </tr> 549 <tr align="center"> <td>1071-77</td> <td>Multiple Signal Message</td> <td>GPS</td> <td> </td> <td>x</td> <td>x</td> <td> </td> <td> </td> <td>x</td> <td> </td> </tr> 550 <tr align="center"> <td>1081-87</td> <td>Multiple Signal Message</td> <td>GLONASS</td> <td> </td> <td>x</td> <td>x</td> <td> </td> <td> </td> <td>x</td> <td> </td> </tr> 551 <tr align="center"> <td>1091-97</td> <td>Multiple Signal Message</td> <td>Galileo</td> <td> </td> <td>x</td> <td>x</td> <td> </td> <td> </td> <td>x</td> <td> </td> </tr> 552 <tr align="center"> <td>1101-07</td> <td>Multiple Signal Message</td> <td>SBAS</td> <td> </td> <td>x</td> <td>x</td> <td> </td> <td> </td> <td> </td> <td> </td> </tr> 553 <tr align="center"> <td>1111-17</td> <td>Multiple Signal Message</td> <td>QZSS</td> <td> </td> <td>x</td> <td>x</td> <td> </td> <td> </td> <td> </td> <td> </td> </tr> 554 <tr align="center"> <td>1121-27</td> <td>Multiple Signal Message</td> <td>BDS</td> <td> </td> <td>x</td> <td>x</td> <td> </td> <td> </td> <td>x</td> <td> </td> </tr> 555 <tr align="center"> <td>1131-37</td> <td>Multiple Signal Message</td> <td>NavIC</td> <td> </td> <td>x</td> <td>x</td> <td> </td> <td> </td> <td> </td> <td> </td> </tr> 556 557 <tr align="center"> <td><b><br>RTCM SSR I</b></td> <td></td> <td></td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> </tr> 558 <tr align="center"> <td>1057</td> <td>Orbit Corrections</td> <td>GPS</td> <td> </td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> </tr> 559 <tr align="center"> <td>1063</td> <td>Orbit Corrections</td> <td>GLONASS</td> <td> </td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> </tr> 560 <tr align="center"> <td>1240</td> <td>Orbit Corrections</td> <td>Galileo</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> </tr> 561 <tr align="center"> <td>1246</td> <td>Orbit Corrections</td> <td>SBAS</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td> </td> <td>x</td> </tr> 562 <tr align="center"> <td>1252</td> <td>Orbit Corrections</td> <td>QZSS</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td> </td> <td>x</td> </tr> 563 <tr align="center"> <td>1258</td> <td>Orbit Corrections</td> <td>BDS</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> </tr> 564 565 <tr align="center"> <td>1058</td> <td>Clock Corrections</td> <td>GPS</td> <td> </td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> </tr> 566 <tr align="center"> <td>1064</td> <td>Clock Corrections</td> <td>GLONASS</td> <td> </td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> </tr> 567 <tr align="center"> <td>1241</td> <td>Clock Corrections</td> <td>Galileo</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> </tr> 568 <tr align="center"> <td>1247</td> <td>Clock Corrections</td> <td>SBAS</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td> </td> <td>x</td> </tr> 569 <tr align="center"> <td>1253</td> <td>Clock Corrections</td> <td>QZSS</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td> </td> <td>x</td> </tr> 570 <tr align="center"> <td>1259</td> <td>Clock Corrections</td> <td>BDS</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> </tr> 571 572 <tr align="center"> <td>1059</td> <td>Code Biases</td> <td>GPS</td> <td> </td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> </tr> 573 <tr align="center"> <td>1065</td> <td>Code Biases</td> <td>GLONASS</td> <td> </td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> </tr> 574 <tr align="center"> <td>1242</td> <td>Code Biases</td> <td>Galileo</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> </tr> 575 <tr align="center"> <td>1248</td> <td>Code Biases</td> <td>SBAS</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td> </td> <td>x</td> </tr> 576 <tr align="center"> <td>1254</td> <td>Code Biases</td> <td>QZSS</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td> </td> <td>x</td> </tr> 577 <tr align="center"> <td>1260</td> <td>Code Biases</td> <td>BDS</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> </tr> 578 579 <tr align="center"> <td>1061, 1062</td> <td>User Range Accuracy, HR </td> <td>GPS</td> <td> </td> <td>x</td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> </tr> 580 <tr align="center"> <td>1067, 1068</td> <td>User Range Accuracy, HR </td> <td>GLONASS</td> <td> </td> <td>x</td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> </tr> 581 <tr align="center"> <td>1244, 1245</td> <td>User Range Accuracy, HR </td> <td>Galileo</td> <td>x</td> <td>x</td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> </tr> 582 <tr align="center"> <td>1250, 1251</td> <td>User Range Accuracy, HR </td> <td>SBAS</td> <td>x</td> <td>x</td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> </tr> 583 <tr align="center"> <td>1256, 1257</td> <td>User Range Accuracy, HR </td> <td>QZSS</td> <td>x</td> <td>x</td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> </tr> 584 <tr align="center"> <td>1262, 1263</td> <td>User Range Accuracy, HR </td> <td>BDS</td> <td>x</td> <td>x</td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> </tr> 585 586 <tr align="center"> <td>1060</td> <td>Comb. Orbits & Clocks</td> <td>GPS</td> <td> </td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> </tr> 587 <tr align="center"> <td>1066</td> <td>Comb. Orbits & Clocks</td> <td>GLONASS</td> <td> </td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> </tr> 588 <tr align="center"> <td>1243</td> <td>Comb. Orbits & Clocks</td> <td>Galileo</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> </tr> 589 <tr align="center"> <td>1249</td> <td>Comb. Orbits & Clocks</td> <td>SBAS</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td> </td> <td>x</td> </tr> 590 <tr align="center"> <td>1255</td> <td>Comb. Orbits & Clocks</td> <td>QZSS</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td> </td> <td>x</td> </tr> 591 <tr align="center"> <td>1261</td> <td>Comb. Orbits & Clocks</td> <td>BDS</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> </tr> 592 593 <tr align="center"> <td><b><br>RTCM SSR II</b></td> <td></td> <td></td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> </tr> 594 <tr align="center"> <td>1264</td> <td>VTEC</td> <td>GNSS </td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td> </td> </tr> 595 <tr align="center"> <td>1265</td> <td>Phase Biases</td> <td>GPS</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td> </td> </tr> 596 <tr align="center"> <td>1266</td> <td>Phase Biases</td> <td>GLONASS</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td> </td> </tr> 597 <tr align="center"> <td>1267</td> <td>Phase Biases</td> <td>Galileo</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td> </td> </tr> 598 <tr align="center"> <td>1268</td> <td>Phase Biases</td> <td>SBAS</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td> </td> <td> </td> </tr> 599 <tr align="center"> <td>1269</td> <td>Phase Biases</td> <td>QZSS</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td> </td> <td> </td> </tr> 600 <tr align="center"> <td>1270</td> <td>Phase Biases</td> <td>BDS</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td> </td> </tr> 601 <tr align="center"> <td><b><br>IGS SSR</b></td> <td></td> <td></td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> </tr> 602 <tr align="center"> <td>4076</td> <td>IGS SSR</td> <td>GNSS </td> <td> </td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> </tr> 603 604 </table> 605 <br> 606 <p><h4 id="introFlow">1.3 Data Flow</h4></p> 607 <p> 608 BNC can be used in different contexts with varying data flows. Typical real-time communication follows the Ntrip protocol 609 over TCP/IP (also via SSL), RTSP/RTP or UDP, plain TCP/IP protocol, or serial communication links. 610 Stream content could be observations, ephemeris, SSR products or NMEA sentences. 611 </p> 612 <p> 613 The first of the following figures shows a flow chart of BNC connected to a GNSS receiver providing observations via 614 serial or TCP communication link for the purpose of Precise Point Positioning. 615 </p> 616 <p><img src="IMG/Figure01.png" width="1000"></p> 617 <p>Figure 1: Flowchart, BNC connected to a GNSS rover for Precise Point Positioning</p> 618 <p> 619 The second figure shows the conversion of RTCM streams to RINEX files. 620 </p> 621 <p> 622 </p> 623 <p><img src="IMG/Figure02.png"width=1000/></p> 624 <p>Figure 2: Flowchart, BNC converting RTCM streams to RINEX batches</p> 625 <p> 626 The third figure shows a flow chart of BNC feeding a real-time GNSS engine, which 627 estimates precise orbits and clocks. BNC is used in this scenario to encode SSR corrections to RTCM-SSR or IGS-SSR and upload 628 them to an Ntrip Broadcaster. 629 </p> 630 <p> 631 </p> 632 <p><img src="IMG/Figure03.png"width=1000/></p> 633 <p>Figure 3: Flowchart, BNC feeding a real-time GNSS engine and uploading encoded Broadcast Corrections</p> 634 <p> 635 The fourth figure shows BNC combining several Broadcast SSR Correction streams to 636 disseminate the combination product while saving results in SP3, Clock RINEX and SINEX Bias files. 637 </p> 638 <p> 639 </p> 640 <p><img src="IMG/Figure04.png"width=1000/></p> 641 <p>Figure 4: Flowchart, BNC combining Broadcast Correction streams</p> 642 643 <p><h4 id="introHandling">1.4 Handling</h4></p> 644 <p> 645 Although BNC is mainly a real-time tool to be operated online, it can be run offline 646 <ul> 647 <li>To simulate real-time observation situations for debugging purposes;</li> 648 <li>For post processing purposes.</li> 649 </ul> 650 Furthermore, apart from its regular window mode, BNC can be run as a batch/background job in a 'no window' mode, 651 using processing options from a previously saved configuration or from command line. 652 </p> 653 <p> 654 Unless it runs offline, BNC 655 </p> 656 <ul> 657 <li>Requires access to the Internet with a minimum of about 2 to 6 kbits/sec per stream depending on the stream 658 format and the number of visible satellites. You need to make sure that the connection can sustain the required bandwidth;</li> 659 <li>Requires the clock of the host computer to be properly synchronized;</li> 660 <li>Has the capacity to retrieve hundreds of GNSS data streams simultaneously. Please be aware that such usage may 712 <li>Upload a Broadcast Ephemeris stream in RTCM Version 3 format;</li> 713 </ul> 714 </p> 715 716 <p> 717 BNC supports the following GNSS stream formats and message types: 718 </p> 719 <p> 720 <ul> 721 <li>RTCM Version 2 message types</li> 722 <li>RTCM Version 3 legacy message types</li> 723 <li>RTCM Version 3 Multiple Signal Messages (MSM) and High Precision Multiple Signal Messages (HP MSM)</li> 724 <li>RTCM Version 3 message types for Broadcast Ephemeris</li> 725 <li>RTCM Version 3 State Space Representation (SSR) messages</li> 726 <li>IGS State Space Representation (SSR) Version 1 messages</li> 727 <li>RTNET, a plain ASCII format defined within BNC to receive SSR informations from a serving GNSS engine</li> 728 </ul> 729 </p> 730 731 <p> 732 BNC supports the following GNSS file formats: 733 </p> 734 <p> 735 <ul> 736 <li>RINEX Version 2.11, 3.x and 4.x, Receiver Independent Exchange format for observation and navigation data</li> 737 <li>The Extended Standard Product 3 Orbit Format SP3-d</li> 738 <li>Clock RINEX Version 3.04 format for (station and) satellite clock solutions</li> 739 <li>SINEX BIAS — Solution (Software/technique) INdependent EXchange Format for GNSS Biases Version 1.00</li> 740 <li>SINEX TRO — Solution (Software/technique) INdependent EXchange Format for TROpospherican meteorological 741 parameters Version 2.0 742 <li>ANTEX Version 1.4, Antenna Exchange format for Antenna Phase Center variations</li> 743 <li>NMEA Version 0813, National Marine Electronics Association format for satellite navigation data</li> 744 <li>A plain ASCII format defined within BNC to save all SSR informations within a file</li> 745 </ul> 746 </p> 747 748 <p> 749 Note that BNC allows to by-pass decoding and conversion algorithms for incoming streams, leaves whatever is received 750 untouched to save it in files or output it through a local TCP/IP port. 751 </p> 752 753 <p> 754 <h4 id="introSystem">1.2 Supported GNSS</h4> 755 </p> 756 <p> 757 BNC is permanently completed to finally support all existing GNSS systems throughout all features of the program. 758 The table below shows in detail which GNSS systems are supported so far by particular applications when using the 759 latest BNC version. Application areas named here are: 760 <ul> 761 <li>Decoding of RTCM, RTCM-SSR, IGS-SSR and RTNET streams</li> 762 <li>RINEX and SINEX Bias file input and output</li> 763 <li>SINEX TRO and SP3 file output</li> 764 <li>Encoding of SSR and ephemeris messages</li> 765 <li>Upload of SSR and ephemeris messages</li> 766 <li>PPP (Precise Point Positioning)</li> 767 <li>Combining/merging SSR or ephemeris messages from various real-time sources</li> 768 </ul> 769 The table indicates if a message implementation in BNC could so far only be based on a 'RTCM Proposal'. 770 </p> 771 <p>Table 1: Status of RTCM Version 3 message implementations in BNC supporting various GNSS systems</p> 772 <p></p> 773 <table border="1" rules="rows" frame="box" bgcolor="#FFF5EE" style="font-size:13"> 774 775 <tr align="center"> 776 <td><b>Message<br>Type #</b></td> 777 <td><b>Description</b></td> 778 <td><b>GNSS<br>System</b></td> 779 <td><b>RTCM<br>Proposal </b></td> 780 <td><b>Decoding </b></td> 781 <td><b> RINEX/ <br> SP3</b></td> 782 <td><b>Encoding </b></td> 783 <td><b>Upload </b></td> 784 <td><b> PPP </b></td> 785 <td><b>Combin. </b></td> 786 </tr> 787 788 <tr align="center"> 789 <td><b><br>General</b></td> 790 <td></td> 791 <td></td> 792 <td> </td> 793 <td> </td> 794 <td> </td> 795 <td> </td> 796 <td> </td> 797 <td> </td> 798 <td> </td> 799 </tr> 800 <tr align="center"> 801 <td>1005,1006</td> 802 <td>Station</td> 803 <td> </td> 804 <td> </td> 805 <td>x</td> 806 <td> </td> 807 <td> </td> 808 <td> </td> 809 <td> </td> 810 <td> </td> 811 </tr> 812 <tr align="center"> 813 <td>1007,1008</td> 814 <td>Antenna</td> 815 <td> </td> 816 <td> </td> 817 <td>x</td> 818 <td> </td> 819 <td> </td> 820 <td> </td> 821 <td> </td> 822 <td> </td> 823 </tr> 824 <tr align="center"> 825 <td>1033</td> 826 <td>Receiver, Antenna</td> 827 <td> </td> 828 <td> </td> 829 <td>x</td> 830 <td> </td> 831 <td> </td> 832 <td> </td> 833 <td> </td> 834 <td> </td> 835 </tr> 836 <tr align="center"> 837 <td>1013</td> 838 <td>System Parameters</td> 839 <td> </td> 840 <td> </td> 841 <td>x</td> 842 <td> </td> 843 <td> </td> 844 <td> </td> 845 <td> </td> 846 <td> </td> 847 </tr> 848 <tr align="center"> 849 <td>1300</td> 850 <td>Service CRS </td> 851 <td> </td> 852 <td> </td> 853 <td>x</td> 854 <td> </td> 855 <td>x</td> 856 <td>x</td> 857 <td> </td> 858 <td> </td> 859 </tr> 860 <tr align="center"> 861 <td>1301</td> 862 <td>Helmert Trafo Parameters </td> 863 <td> </td> 864 <td> </td> 865 <td>x</td> 866 <td> </td> 867 <td>(x)</td> 868 <td> </td> 869 <td> </td> 870 <td> </td> 871 </tr> 872 <tr align="center"> 873 <td>1302</td> 874 <td>RTCM CRS </td> 875 <td> </td> 876 <td> </td> 877 <td>x</td> 878 <td> </td> 879 <td>x</td> 880 <td>x</td> 881 <td> </td> 882 <td> </td> 883 </tr> 884 885 <tr align="center"> 886 <td><b><br>Navigation</b></td> 887 <td></td> 888 <td></td> 889 <td> </td> 890 <td> </td> 891 <td> </td> 892 <td> </td> 893 <td> </td> 894 <td> </td> 895 <td> </td> 896 </tr> 897 <tr align="center"> 898 <td>1019</td> 899 <td>Ephemeris</td> 900 <td>GPS</td> 901 <td> </td> 902 <td>x</td> 903 <td>x</td> 904 <td>x</td> 905 <td>x</td> 906 <td>x</td> 907 <td>x</td> 908 </tr> 909 <tr align="center"> 910 <td>1020</td> 911 <td>Ephemeris</td> 912 <td>GLONASS</td> 913 <td> </td> 914 <td>x</td> 915 <td>x</td> 916 <td>x</td> 917 <td>x</td> 918 <td>x</td> 919 <td>x</td> 920 </tr> 921 <tr align="center"> 922 <td>1045</td> 923 <td>Ephemeris</td> 924 <td>Galileo F/Nav</td> 925 <td> </td> 926 <td>x</td> 927 <td>x</td> 928 <td>x</td> 929 <td>x</td> 930 <td> </td> 931 <td>x</td> 932 </tr> 933 <tr align="center"> 934 <td>1046</td> 935 <td>Ephemeris</td> 936 <td>Galileo I/Nav</td> 937 <td> </td> 938 <td>x</td> 939 <td>x</td> 940 <td>x</td> 941 <td>x</td> 942 <td>x</td> 943 <td>x</td> 944 </tr> 945 <tr align="center"> 946 <td>1043</td> 947 <td>Ephemeris</td> 948 <td>SBAS</td> 949 <td>x</td> 950 <td>x</td> 951 <td>x</td> 952 <td>x</td> 953 <td>x</td> 954 <td> </td> 955 <td>x</td> 956 </tr> 957 <tr align="center"> 958 <td>1044</td> 959 <td>Ephemeris</td> 960 <td>QZSS</td> 961 <td> </td> 962 <td>x</td> 963 <td>x</td> 964 <td>x</td> 965 <td>x</td> 966 <td> </td> 967 <td>x</td> 968 </tr> 969 <tr align="center"> 970 <td>1042</td> 971 <td>Ephemeris</td> 972 <td>BDS</td> 973 <td> </td> 974 <td>x</td> 975 <td>x</td> 976 <td>x</td> 977 <td>x</td> 978 <td>x</td> 979 <td>x</td> 980 </tr> 981 <tr align="center"> 982 <td>1041</td> 983 <td>Ephemeris</td> 984 <td>NavIC</td> 985 <td> </td> 986 <td>x</td> 987 <td>x</td> 988 <td>x</td> 989 <td>x</td> 990 <td> </td> 991 <td>x</td> 992 </tr> 993 994 <tr align="center"> 995 <td><b><br>Observation</b></td> 996 <td></td> 997 <td></td> 998 <td> </td> 999 <td> </td> 1000 <td> </td> 1001 <td> </td> 1002 <td> </td> 1003 <td> </td> 1004 <td> </td> 1005 </tr> 1006 <tr align="center"> 1007 <td>1001-4</td> 1008 <td>Conventional Messages</td> 1009 <td>GPS</td> 1010 <td> </td> 1011 <td>x</td> 1012 <td>x</td> 1013 <td> </td> 1014 <td> </td> 1015 <td>x</td> 1016 <td> </td> 1017 </tr> 1018 <tr align="center"> 1019 <td>1009-12</td> 1020 <td>Conventional Messages</td> 1021 <td>GLONASS</td> 1022 <td> </td> 1023 <td>x</td> 1024 <td>x</td> 1025 <td> </td> 1026 <td> </td> 1027 <td>x</td> 1028 <td> </td> 1029 </tr> 1030 1031 <tr align="center"> 1032 <td><b><br>Observation</b></td> 1033 <td></td> 1034 <td></td> 1035 <td> </td> 1036 <td> </td> 1037 <td> </td> 1038 <td> </td> 1039 <td> </td> 1040 <td> </td> 1041 <td> </td> 1042 </tr> 1043 <tr align="center"> 1044 <td>1071-77</td> 1045 <td>Multiple Signal Message</td> 1046 <td>GPS</td> 1047 <td> </td> 1048 <td>x</td> 1049 <td>x</td> 1050 <td> </td> 1051 <td> </td> 1052 <td>x</td> 1053 <td> </td> 1054 </tr> 1055 <tr align="center"> 1056 <td>1081-87</td> 1057 <td>Multiple Signal Message</td> 1058 <td>GLONASS</td> 1059 <td> </td> 1060 <td>x</td> 1061 <td>x</td> 1062 <td> </td> 1063 <td> </td> 1064 <td>x</td> 1065 <td> </td> 1066 </tr> 1067 <tr align="center"> 1068 <td>1091-97</td> 1069 <td>Multiple Signal Message</td> 1070 <td>Galileo</td> 1071 <td> </td> 1072 <td>x</td> 1073 <td>x</td> 1074 <td> </td> 1075 <td> </td> 1076 <td>x</td> 1077 <td> </td> 1078 </tr> 1079 <tr align="center"> 1080 <td>1101-07</td> 1081 <td>Multiple Signal Message</td> 1082 <td>SBAS</td> 1083 <td> </td> 1084 <td>x</td> 1085 <td>x</td> 1086 <td> </td> 1087 <td> </td> 1088 <td> </td> 1089 <td> </td> 1090 </tr> 1091 <tr align="center"> 1092 <td>1111-17</td> 1093 <td>Multiple Signal Message</td> 1094 <td>QZSS</td> 1095 <td> </td> 1096 <td>x</td> 1097 <td>x</td> 1098 <td> </td> 1099 <td> </td> 1100 <td> </td> 1101 <td> </td> 1102 </tr> 1103 <tr align="center"> 1104 <td>1121-27</td> 1105 <td>Multiple Signal Message</td> 1106 <td>BDS</td> 1107 <td> </td> 1108 <td>x</td> 1109 <td>x</td> 1110 <td> </td> 1111 <td> </td> 1112 <td>x</td> 1113 <td> </td> 1114 </tr> 1115 <tr align="center"> 1116 <td>1131-37</td> 1117 <td>Multiple Signal Message</td> 1118 <td>NavIC</td> 1119 <td> </td> 1120 <td>x</td> 1121 <td>x</td> 1122 <td> </td> 1123 <td> </td> 1124 <td> </td> 1125 <td> </td> 1126 </tr> 1127 1128 <tr align="center"> 1129 <td><b><br>RTCM SSR I</b></td> 1130 <td></td> 1131 <td></td> 1132 <td> </td> 1133 <td> </td> 1134 <td> </td> 1135 <td> </td> 1136 <td> </td> 1137 <td> </td> 1138 <td> </td> 1139 </tr> 1140 <tr align="center"> 1141 <td>1057</td> 1142 <td>Orbit Corrections</td> 1143 <td>GPS</td> 1144 <td> </td> 1145 <td>x</td> 1146 <td>x</td> 1147 <td>x</td> 1148 <td>x</td> 1149 <td>x</td> 1150 <td>x</td> 1151 </tr> 1152 <tr align="center"> 1153 <td>1063</td> 1154 <td>Orbit Corrections</td> 1155 <td>GLONASS</td> 1156 <td> </td> 1157 <td>x</td> 1158 <td>x</td> 1159 <td>x</td> 1160 <td>x</td> 1161 <td>x</td> 1162 <td>x</td> 1163 </tr> 1164 <tr align="center"> 1165 <td>1240</td> 1166 <td>Orbit Corrections</td> 1167 <td>Galileo</td> 1168 <td>x</td> 1169 <td>x</td> 1170 <td>x</td> 1171 <td>x</td> 1172 <td>x</td> 1173 <td>x</td> 1174 <td>x</td> 1175 </tr> 1176 <tr align="center"> 1177 <td>1246</td> 1178 <td>Orbit Corrections</td> 1179 <td>SBAS</td> 1180 <td>x</td> 1181 <td>x</td> 1182 <td>x</td> 1183 <td>x</td> 1184 <td>x</td> 1185 <td> </td> 1186 <td>x</td> 1187 </tr> 1188 <tr align="center"> 1189 <td>1252</td> 1190 <td>Orbit Corrections</td> 1191 <td>QZSS</td> 1192 <td>x</td> 1193 <td>x</td> 1194 <td>x</td> 1195 <td>x</td> 1196 <td>x</td> 1197 <td> </td> 1198 <td>x</td> 1199 </tr> 1200 <tr align="center"> 1201 <td>1258</td> 1202 <td>Orbit Corrections</td> 1203 <td>BDS</td> 1204 <td>x</td> 1205 <td>x</td> 1206 <td>x</td> 1207 <td>x</td> 1208 <td>x</td> 1209 <td>x</td> 1210 <td>x</td> 1211 </tr> 1212 1213 <tr align="center"> 1214 <td>1058</td> 1215 <td>Clock Corrections</td> 1216 <td>GPS</td> 1217 <td> </td> 1218 <td>x</td> 1219 <td>x</td> 1220 <td>x</td> 1221 <td>x</td> 1222 <td>x</td> 1223 <td>x</td> 1224 </tr> 1225 <tr align="center"> 1226 <td>1064</td> 1227 <td>Clock Corrections</td> 1228 <td>GLONASS</td> 1229 <td> </td> 1230 <td>x</td> 1231 <td>x</td> 1232 <td>x</td> 1233 <td>x</td> 1234 <td>x</td> 1235 <td>x</td> 1236 </tr> 1237 <tr align="center"> 1238 <td>1241</td> 1239 <td>Clock Corrections</td> 1240 <td>Galileo</td> 1241 <td>x</td> 1242 <td>x</td> 1243 <td>x</td> 1244 <td>x</td> 1245 <td>x</td> 1246 <td>x</td> 1247 <td>x</td> 1248 </tr> 1249 <tr align="center"> 1250 <td>1247</td> 1251 <td>Clock Corrections</td> 1252 <td>SBAS</td> 1253 <td>x</td> 1254 <td>x</td> 1255 <td>x</td> 1256 <td>x</td> 1257 <td>x</td> 1258 <td> </td> 1259 <td>x</td> 1260 </tr> 1261 <tr align="center"> 1262 <td>1253</td> 1263 <td>Clock Corrections</td> 1264 <td>QZSS</td> 1265 <td>x</td> 1266 <td>x</td> 1267 <td>x</td> 1268 <td>x</td> 1269 <td>x</td> 1270 <td> </td> 1271 <td>x</td> 1272 </tr> 1273 <tr align="center"> 1274 <td>1259</td> 1275 <td>Clock Corrections</td> 1276 <td>BDS</td> 1277 <td>x</td> 1278 <td>x</td> 1279 <td>x</td> 1280 <td>x</td> 1281 <td>x</td> 1282 <td>x</td> 1283 <td>x</td> 1284 </tr> 1285 1286 <tr align="center"> 1287 <td>1059</td> 1288 <td>Code Biases</td> 1289 <td>GPS</td> 1290 <td> </td> 1291 <td>x</td> 1292 <td>x</td> 1293 <td>x</td> 1294 <td>x</td> 1295 <td>x</td> 1296 <td>x</td> 1297 </tr> 1298 <tr align="center"> 1299 <td>1065</td> 1300 <td>Code Biases</td> 1301 <td>GLONASS</td> 1302 <td> </td> 1303 <td>x</td> 1304 <td>x</td> 1305 <td>x</td> 1306 <td>x</td> 1307 <td>x</td> 1308 <td>x</td> 1309 </tr> 1310 <tr align="center"> 1311 <td>1242</td> 1312 <td>Code Biases</td> 1313 <td>Galileo</td> 1314 <td>x</td> 1315 <td>x</td> 1316 <td>x</td> 1317 <td>x</td> 1318 <td>x</td> 1319 <td>x</td> 1320 <td>x</td> 1321 </tr> 1322 <tr align="center"> 1323 <td>1248</td> 1324 <td>Code Biases</td> 1325 <td>SBAS</td> 1326 <td>x</td> 1327 <td>x</td> 1328 <td>x</td> 1329 <td>x</td> 1330 <td>x</td> 1331 <td> </td> 1332 <td>x</td> 1333 </tr> 1334 <tr align="center"> 1335 <td>1254</td> 1336 <td>Code Biases</td> 1337 <td>QZSS</td> 1338 <td>x</td> 1339 <td>x</td> 1340 <td>x</td> 1341 <td>x</td> 1342 <td>x</td> 1343 <td> </td> 1344 <td>x</td> 1345 </tr> 1346 <tr align="center"> 1347 <td>1260</td> 1348 <td>Code Biases</td> 1349 <td>BDS</td> 1350 <td>x</td> 1351 <td>x</td> 1352 <td>x</td> 1353 <td>x</td> 1354 <td>x</td> 1355 <td>x</td> 1356 <td>x</td> 1357 </tr> 1358 1359 <tr align="center"> 1360 <td>1061, 1062</td> 1361 <td>User Range Accuracy, HR </td> 1362 <td>GPS</td> 1363 <td> </td> 1364 <td>x</td> 1365 <td> </td> 1366 <td> </td> 1367 <td> </td> 1368 <td> </td> 1369 <td> </td> 1370 </tr> 1371 <tr align="center"> 1372 <td>1067, 1068</td> 1373 <td>User Range Accuracy, HR </td> 1374 <td>GLONASS</td> 1375 <td> </td> 1376 <td>x</td> 1377 <td> </td> 1378 <td> </td> 1379 <td> </td> 1380 <td> </td> 1381 <td> </td> 1382 </tr> 1383 <tr align="center"> 1384 <td>1244, 1245</td> 1385 <td>User Range Accuracy, HR </td> 1386 <td>Galileo</td> 1387 <td>x</td> 1388 <td>x</td> 1389 <td> </td> 1390 <td> </td> 1391 <td> </td> 1392 <td> </td> 1393 <td> </td> 1394 </tr> 1395 <tr align="center"> 1396 <td>1250, 1251</td> 1397 <td>User Range Accuracy, HR </td> 1398 <td>SBAS</td> 1399 <td>x</td> 1400 <td>x</td> 1401 <td> </td> 1402 <td> </td> 1403 <td> </td> 1404 <td> </td> 1405 <td> </td> 1406 </tr> 1407 <tr align="center"> 1408 <td>1256, 1257</td> 1409 <td>User Range Accuracy, HR </td> 1410 <td>QZSS</td> 1411 <td>x</td> 1412 <td>x</td> 1413 <td> </td> 1414 <td> </td> 1415 <td> </td> 1416 <td> </td> 1417 <td> </td> 1418 </tr> 1419 <tr align="center"> 1420 <td>1262, 1263</td> 1421 <td>User Range Accuracy, HR </td> 1422 <td>BDS</td> 1423 <td>x</td> 1424 <td>x</td> 1425 <td> </td> 1426 <td> </td> 1427 <td> </td> 1428 <td> </td> 1429 <td> </td> 1430 </tr> 1431 1432 <tr align="center"> 1433 <td>1060</td> 1434 <td>Comb. Orbits & Clocks</td> 1435 <td>GPS</td> 1436 <td> </td> 1437 <td>x</td> 1438 <td>x</td> 1439 <td>x</td> 1440 <td>x</td> 1441 <td>x</td> 1442 <td>x</td> 1443 </tr> 1444 <tr align="center"> 1445 <td>1066</td> 1446 <td>Comb. Orbits & Clocks</td> 1447 <td>GLONASS</td> 1448 <td> </td> 1449 <td>x</td> 1450 <td>x</td> 1451 <td>x</td> 1452 <td>x</td> 1453 <td>x</td> 1454 <td>x</td> 1455 </tr> 1456 <tr align="center"> 1457 <td>1243</td> 1458 <td>Comb. Orbits & Clocks</td> 1459 <td>Galileo</td> 1460 <td>x</td> 1461 <td>x</td> 1462 <td>x</td> 1463 <td>x</td> 1464 <td>x</td> 1465 <td>x</td> 1466 <td>x</td> 1467 </tr> 1468 <tr align="center"> 1469 <td>1249</td> 1470 <td>Comb. Orbits & Clocks</td> 1471 <td>SBAS</td> 1472 <td>x</td> 1473 <td>x</td> 1474 <td>x</td> 1475 <td>x</td> 1476 <td>x</td> 1477 <td> </td> 1478 <td>x</td> 1479 </tr> 1480 <tr align="center"> 1481 <td>1255</td> 1482 <td>Comb. Orbits & Clocks</td> 1483 <td>QZSS</td> 1484 <td>x</td> 1485 <td>x</td> 1486 <td>x</td> 1487 <td>x</td> 1488 <td>x</td> 1489 <td> </td> 1490 <td>x</td> 1491 </tr> 1492 <tr align="center"> 1493 <td>1261</td> 1494 <td>Comb. Orbits & Clocks</td> 1495 <td>BDS</td> 1496 <td>x</td> 1497 <td>x</td> 1498 <td>x</td> 1499 <td>x</td> 1500 <td>x</td> 1501 <td>x</td> 1502 <td>x</td> 1503 </tr> 1504 1505 <tr align="center"> 1506 <td><b><br>RTCM SSR II</b></td> 1507 <td></td> 1508 <td></td> 1509 <td> </td> 1510 <td> </td> 1511 <td> </td> 1512 <td> </td> 1513 <td> </td> 1514 <td> </td> 1515 <td> </td> 1516 </tr> 1517 <tr align="center"> 1518 <td>1264</td> 1519 <td>VTEC</td> 1520 <td>GNSS </td> 1521 <td>x</td> 1522 <td>x</td> 1523 <td>x</td> 1524 <td>x</td> 1525 <td>x</td> 1526 <td>x</td> 1527 <td> </td> 1528 </tr> 1529 <tr align="center"> 1530 <td>1265</td> 1531 <td>Phase Biases</td> 1532 <td>GPS</td> 1533 <td>x</td> 1534 <td>x</td> 1535 <td>x</td> 1536 <td>x</td> 1537 <td>x</td> 1538 <td>x</td> 1539 <td> </td> 1540 </tr> 1541 <tr align="center"> 1542 <td>1266</td> 1543 <td>Phase Biases</td> 1544 <td>GLONASS</td> 1545 <td>x</td> 1546 <td>x</td> 1547 <td>x</td> 1548 <td>x</td> 1549 <td>x</td> 1550 <td>x</td> 1551 <td> </td> 1552 </tr> 1553 <tr align="center"> 1554 <td>1267</td> 1555 <td>Phase Biases</td> 1556 <td>Galileo</td> 1557 <td>x</td> 1558 <td>x</td> 1559 <td>x</td> 1560 <td>x</td> 1561 <td>x</td> 1562 <td>x</td> 1563 <td> </td> 1564 </tr> 1565 <tr align="center"> 1566 <td>1268</td> 1567 <td>Phase Biases</td> 1568 <td>SBAS</td> 1569 <td>x</td> 1570 <td>x</td> 1571 <td>x</td> 1572 <td>x</td> 1573 <td>x</td> 1574 <td> </td> 1575 <td> </td> 1576 </tr> 1577 <tr align="center"> 1578 <td>1269</td> 1579 <td>Phase Biases</td> 1580 <td>QZSS</td> 1581 <td>x</td> 1582 <td>x</td> 1583 <td>x</td> 1584 <td>x</td> 1585 <td>x</td> 1586 <td> </td> 1587 <td> </td> 1588 </tr> 1589 <tr align="center"> 1590 <td>1270</td> 1591 <td>Phase Biases</td> 1592 <td>BDS</td> 1593 <td>x</td> 1594 <td>x</td> 1595 <td>x</td> 1596 <td>x</td> 1597 <td>x</td> 1598 <td>x</td> 1599 <td> </td> 1600 </tr> 1601 <tr align="center"> 1602 <td><b><br>IGS SSR</b></td> 1603 <td></td> 1604 <td></td> 1605 <td> </td> 1606 <td> </td> 1607 <td> </td> 1608 <td> </td> 1609 <td> </td> 1610 <td> </td> 1611 <td> </td> 1612 </tr> 1613 <tr align="center"> 1614 <td>4076</td> 1615 <td>IGS SSR</td> 1616 <td>GNSS </td> 1617 <td> </td> 1618 <td>x</td> 1619 <td>x</td> 1620 <td>x</td> 1621 <td>x</td> 1622 <td>x</td> 1623 <td>x</td> 1624 </tr> 1625 1626 </table> 1627 <br> 1628 <p> 1629 <h4 id="introFlow">1.3 Data Flow</h4> 1630 </p> 1631 <p> 1632 BNC can be used in different contexts with varying data flows. Typical real-time communication follows the Ntrip 1633 protocol 1634 over TCP/IP (also via SSL), RTSP/RTP or UDP, plain TCP/IP protocol, or serial communication links. 1635 Stream content could be observations, ephemeris, SSR products or NMEA sentences. 1636 </p> 1637 <p> 1638 The first of the following figures shows a flow chart of BNC connected to a GNSS receiver providing observations via 1639 serial or TCP communication link for the purpose of Precise Point Positioning. 1640 </p> 1641 <p><img src="IMG/Figure01.png" width="1000"></p> 1642 <p>Figure 1: Flowchart, BNC connected to a GNSS rover for Precise Point Positioning</p> 1643 <p> 1644 The second figure shows the conversion of RTCM streams to RINEX files. 1645 </p> 1646 <p> 1647 </p> 1648 <p><img src="IMG/Figure02.png" width=1000 /></p> 1649 <p>Figure 2: Flowchart, BNC converting RTCM streams to RINEX batches</p> 1650 <p> 1651 The third figure shows a flow chart of BNC feeding a real-time GNSS engine, which 1652 estimates precise orbits and clocks. BNC is used in this scenario to encode SSR corrections to RTCM-SSR or IGS-SSR 1653 and upload 1654 them to an Ntrip Broadcaster. 1655 </p> 1656 <p> 1657 </p> 1658 <p><img src="IMG/Figure03.png" width=1000 /></p> 1659 <p>Figure 3: Flowchart, BNC feeding a real-time GNSS engine and uploading encoded Broadcast Corrections</p> 1660 <p> 1661 The fourth figure shows BNC combining several Broadcast SSR Correction streams to 1662 disseminate the combination product while saving results in SP3, Clock RINEX and SINEX Bias files. 1663 </p> 1664 <p> 1665 </p> 1666 <p><img src="IMG/Figure04.png" width=1000 /></p> 1667 <p>Figure 4: Flowchart, BNC combining Broadcast Correction streams</p> 1668 1669 <p> 1670 <h4 id="introHandling">1.4 Handling</h4> 1671 </p> 1672 <p> 1673 Although BNC is mainly a real-time tool to be operated online, it can be run offline 1674 <ul> 1675 <li>To simulate real-time observation situations for debugging purposes;</li> 1676 <li>For post processing purposes.</li> 1677 </ul> 1678 Furthermore, apart from its regular window mode, BNC can be run as a batch/background job in a 'no window' mode, 1679 using processing options from a previously saved configuration or from command line. 1680 </p> 1681 <p> 1682 Unless it runs offline, BNC 1683 </p> 1684 <ul> 1685 <li>Requires access to the Internet with a minimum of about 2 to 6 kbits/sec per stream depending on the stream 1686 format and the number of visible satellites. You need to make sure that the connection can sustain the required 1687 bandwidth;</li> 1688 <li>Requires the clock of the host computer to be properly synchronized;</li> 1689 <li>Has the capacity to retrieve hundreds of GNSS data streams simultaneously. Please be aware that such usage may 661 1690 incur a heavy load on the Ntrip Broadcaster side depending on the number of streams requested. We recommend 662 1691 limiting the number of streams where possible to avoid unnecessary workload.</li> 663 </ul> 664 </p> 665 <p> 666 The main window of BNC shows a 'Top menu bar' section, a 'Settings' sections with panels to set processing options, 667 a 'Streams' section, a section for 'Log' tabs, and a 'Bottom menu bar' section, see figure below. 668 </p> 669 <p><img src="IMG/Figure05.png"width=1000/></p> 670 <p>Figure 5: Sections on BNC's main window</p> 671 672 <p> 673 Running BNC in interactive mode requires graphics support. This is also 674 required in batch mode when producing plots. Windows and Mac OS X systems always 675 support graphics. However, when using BNC in batch mode on Linux systems for 676 producing plots, you need to make sure that at least a virtual X-Server like 677 'Xvfb' is installed and the '-display' command line option is used. Alternatively, 678 the command line option '--plattform' can be tried to use with the argument 'offscreen' 679 and the '-display' command line option. 680 </p> 681 <p> 682 The usual handling of BNC is that you first select a number of streams ('Add Stream'). Any stream configured to BNC 683 shows up on the 'Streams' canvas in the middle of BNC's main window. You then go through BNC's various configuration 684 panels to set a combination of input, processing and output options before you start the program ('Start'). 685 Most configuration panels are dedicated to a certain function of BNC. If the first option field on such a configuration 686 panel is empty, the affected functionality is deactivated. 687 </p> 688 <p> 689 Records of BNC's activities are shown in the 'Log' tab which is part of the 'Log' canvas. The bandwidth consumption 690 per stream, the latency of incoming observations, and a PPP time series for coordinate displacements are also part 691 of that canvas and shown in the 'Throughput', 'Latency' and 'PPP Plot' tabs. 692 </p> 693 <p> 694 Configuration options are usually first set using BNC's Graphical User Interface (GUI), then saved in a configuration 695 file. For routine operations in batch mode all of BNC's configuration options can be extracted from the configuration 696 file and applied using the program's Command Line Interface (CLI). 697 </p> 698 <h4 id="introInst">1.5 Installation</h4> 699 <p> 700 Precompiled builds of BNC are available for Windows, Linux, and Mac OS X systems. They can be downloaded for 701 installation from <a href="https://igs.bkg.bund.de/ntrip/bnc" target="_blank">https://igs.bkg.bund.de/ntrip/bnc</a>. 702 Please ensure that you always use the latest version of the program. 703 </p> 704 <p> 705 <b>Windows:</b> A dynamically compiled shared library build for Mircrosoft Windows systems is provided as 706 Microsoft Installer (MSI) file. MSI files are used for installation, storage, and removal of programs. 707 The BNC files are contained in a MSI package, which is used with the program's client-side installer service, 708 an .EXE file, to open and install the program. We used the MSVC 2019 compiler to create BNC for Windows. 709 After installation your 'bnc.exe' file shows up e.g. under 'All Programs'. 710 </p> 711 <p> 712 <b>Linux:</b> Shared library builds for BNC are provided for a selection of Linux distributions. 713 Download the ZIP archive for a version which fits to your Linux system, unzip the archive and run the included BNC binary. 714 </p> 715 <p> 716 <b>Mac OS X Build:</b> 717 A shared library 'Disk iMaGe' (DMG) file is provided for BNC on OS X systems; it also comes in a ZIP archive. The DMG 718 file format is used in the Mac for distributing software. Mac install packages appear as a virtual disk drive. After 719 download, when the DMG file icon is double clicked, the virtual drive is 'mounted' on the desktop. Install BNC by 720 dragging the 'bnc.app' icon to your <i>'/Applications'</i> folder. To start BNC, double click on <i>'/Applications/bnc.app'</i>. 721 You could also start BNC via Command Line Interface (CLI) using command <i>'/Applications/bnc.app/Contents/MacOS/bnc'</i>. 722 </p> 723 <h4 id="introCompile">1.5.1 Compilation</h4> 724 <p> 725 BNC has been written as Open Source and published under GNU General Public License (GPL). The latest source code can 726 be checked out from the Subversion repository at <a href="http://software.rtcm-ntrip.org/svn/trunk/BNC" 727 target="_blank">http://software.rtcm-ntrip.org/svn/trunk/BNC</a>. A ZIP archive available from 728 <a href="https://igs.bkg.bund.de/ntrip/bnc" target="_blank">https://igs.bkg.bund.de/ntrip/bnc</a> 729 provides the source code. 730 </p> 731 <p>The following describes how you can produce your own builds of BNC on Windows, Linux, and Mac systems. 732 It is likely that BNC can also be compiled on other systems where a GNU compiler and Qt Version 5 or any later 733 version is installed. 734 </p> 735 <p><b>Static versus Shared Libraries</b><br> 736 You can produce static or shared library builds of BNC. <b>Static</b> builds are sufficient in case you do not want 737 BNC to produce track maps on top of OpenStreetMap (OSM). The usage would require the 738 QtWebEngineWidges library which can only be part of BNC builds from <b>shared</b> Qt libraries. Hence, having a shared library 739 Qt installation available is a precondition for producing a shared library build of BNC. 740 </p> 741 742 <p><b>MS Windows Systems, Shared Library</b><br> 743 This section contains some hints how to build a shared Qt 15.5.8 library on MS Windows systems to then create your own shared build of BNC. 744 But it is highly recommended to use the dynamically compiled shared library build for Mircrosoft Windows systems which is provided as 745 Microsoft Installer (MSI) file. 746 </p> 747 <ul> 748 <li>Support for Secure Sockets Layer (SSL) communication is provided by the OpenSSL Toolkit, which must be obtained separately. 749 Download the latest version of the toolkit that is supported by Qt and install OpenSSL libraries in C:\OpenSSL-Win64. 750 The OpenSSL libraries are looked up first in the drectory of the executable, then in the Windows System directory, 751 and finally in all directories listed in the PATH environment variable. 752 You can configure how Qt uses OpenSSL by setting either the -openssl / -openssl-runtime or -openssl-linked configure flags. 753 To link Qt Network against OpenSSL libraries, set the -openssl-linked configure argument and use the OPENSSL_PREFIX variable 754 to let Qt correctly locate and build against your OpenSSL installation. 755 For example: configure -openssl-linked OPENSSL_PREFIX="C:\OpenSSL-Win64".</li> 756 <li>The following tools are required at build time: 757 <ul> 758 <li>Python 2.7.5 or later. Python 3 is not supported.</li> 759 <li>Windows binaries of Bison, Flex, GPerf from the GnuWin32 project (<a href="http://gnuwin32.sourceforge.net/" target="_blank">http://gnuwin32.sourceforge.net/</a>), required to build QtWebEngine</li> 760 <li>Node.js version 12 or later</li> 761 <li>Visual Studio 2019 or clang-cl (msvc mode) version 8 or later, required to build QtWebEngine</li> 762 <li>Jom is recommended because it is a clone of nmake to support the execution of multiple independent commands in parallel. 763 It basically adds the -j command line switch similar to GNU make</li> 764 <li>Active Template Library (ATL), usually included in the Visual Studio installation</li> 765 <li>Windows 10 SDK version 10.0.19041 or later</li> 766 </ul> 767 and its location should be listed in the PATH environment variable. 768 </li> 769 <li>To use OpenGL, pass the command line option '-opengl dynamic' to the configure script.</li> 770 <li>Download the file 'qt-everywhere-opensource-src-5.15.8.zip' e.g. from 771 <a href="https://download.qt.io/official_releases/qt/5.15/5.15.8/single/" 772 target="_blank">https://download.qt.io/official_releases/qt/5.15/5.15.8/single/</a> 773 and unzip the ZIP archive and move the contents of the contained directory into a directory e.g. C:\Qt\qt-everywhere-src-5.15.8. </li> 774 <li>Open a x64 Native Tools Command Promt for VS 2019 </li> 775 <li>Go to directory C:\Qt\qt-everywhere-src-5.15.8 and configure Qt using command 776 <pre> 1692 </ul> 1693 </p> 1694 <p> 1695 The main window of BNC shows a 'Top menu bar' section, a 'Settings' sections with panels to set processing options, 1696 a 'Streams' section, a section for 'Log' tabs, and a 'Bottom menu bar' section, see figure below. 1697 </p> 1698 <p><img src="IMG/Figure05.png" width=1000 /></p> 1699 <p>Figure 5: Sections on BNC's main window</p> 1700 1701 <p> 1702 Running BNC in interactive mode requires graphics support. This is also 1703 required in batch mode when producing plots. Windows and Mac OS X systems always 1704 support graphics. However, when using BNC in batch mode on Linux systems for 1705 producing plots, you need to make sure that at least a virtual X-Server like 1706 'Xvfb' is installed and the '-display' command line option is used. Alternatively, 1707 the command line option '--plattform' can be tried to use with the argument 'offscreen' 1708 and the '-display' command line option. 1709 </p> 1710 <p> 1711 The usual handling of BNC is that you first select a number of streams ('Add Stream'). Any stream configured to BNC 1712 shows up on the 'Streams' canvas in the middle of BNC's main window. You then go through BNC's various configuration 1713 panels to set a combination of input, processing and output options before you start the program ('Start'). 1714 Most configuration panels are dedicated to a certain function of BNC. If the first option field on such a 1715 configuration 1716 panel is empty, the affected functionality is deactivated. 1717 </p> 1718 <p> 1719 Records of BNC's activities are shown in the 'Log' tab which is part of the 'Log' canvas. The bandwidth consumption 1720 per stream, the latency of incoming observations, and a PPP time series for coordinate displacements are also part 1721 of that canvas and shown in the 'Throughput', 'Latency' and 'PPP Plot' tabs. 1722 </p> 1723 <p> 1724 Configuration options are usually first set using BNC's Graphical User Interface (GUI), then saved in a 1725 configuration 1726 file. For routine operations in batch mode all of BNC's configuration options can be extracted from the 1727 configuration 1728 file and applied using the program's Command Line Interface (CLI). 1729 </p> 1730 <h4 id="introInst">1.5 Installation</h4> 1731 <p> 1732 Precompiled builds of BNC are available for Windows, Linux, and Mac OS X systems. They can be downloaded for 1733 installation from <a href="https://igs.bkg.bund.de/ntrip/bnc" target="_blank">https://igs.bkg.bund.de/ntrip/bnc</a>. 1734 Please ensure that you always use the latest version of the program. 1735 </p> 1736 <p> 1737 <b>Windows:</b> A dynamically compiled shared library build for Mircrosoft Windows systems is provided as 1738 Microsoft Installer (MSI) file. MSI files are used for installation, storage, and removal of programs. 1739 The BNC files are contained in a MSI package, which is used with the program's client-side installer service, 1740 an .EXE file, to open and install the program. We used the MSVC 2019 compiler to create BNC for Windows. 1741 After installation your 'bnc.exe' file shows up e.g. under 'All Programs'. 1742 </p> 1743 <p> 1744 <b>Linux:</b> Shared library builds for BNC are provided for a selection of Linux distributions. 1745 Download the ZIP archive for a version which fits to your Linux system, unzip the archive and run the included BNC 1746 binary. 1747 </p> 1748 <p> 1749 <b>Mac OS X Build:</b> 1750 A shared library 'Disk iMaGe' (DMG) file is provided for BNC on OS X systems; it also comes in a ZIP archive. The 1751 DMG 1752 file format is used in the Mac for distributing software. Mac install packages appear as a virtual disk drive. After 1753 download, when the DMG file icon is double clicked, the virtual drive is 'mounted' on the desktop. Install BNC by 1754 dragging the 'bnc.app' icon to your <i>'/Applications'</i> folder. To start BNC, double click on 1755 <i>'/Applications/bnc.app'</i>. 1756 You could also start BNC via Command Line Interface (CLI) using command 1757 <i>'/Applications/bnc.app/Contents/MacOS/bnc'</i>. 1758 </p> 1759 <h4 id="introCompile">1.5.1 Compilation</h4> 1760 <p> 1761 BNC has been written as Open Source and published under GNU General Public License (GPL). The latest source code can 1762 be checked out from the Subversion repository at <a href="http://software.rtcm-ntrip.org/svn/trunk/BNC" 1763 target="_blank">http://software.rtcm-ntrip.org/svn/trunk/BNC</a>. A ZIP archive available from 1764 <a href="https://igs.bkg.bund.de/ntrip/bnc" target="_blank">https://igs.bkg.bund.de/ntrip/bnc</a> 1765 provides the source code. 1766 </p> 1767 <p>The following describes how you can produce your own builds of BNC on Windows, Linux, and Mac systems. 1768 It is likely that BNC can also be compiled on other systems where a GNU compiler and Qt Version 5 or any later 1769 version is installed. 1770 </p> 1771 <p><b>Static versus Shared Libraries</b><br> 1772 You can produce static or shared library builds of BNC. <b>Static</b> builds are sufficient in case you do not want 1773 BNC to produce track maps on top of OpenStreetMap (OSM). The usage would require the 1774 QtWebEngineWidges library which can only be part of BNC builds from <b>shared</b> Qt libraries. Hence, having a 1775 shared library 1776 Qt installation available is a precondition for producing a shared library build of BNC. 1777 </p> 1778 1779 <p><b>MS Windows Systems, Shared Library</b><br> 1780 This section contains some hints how to build a shared Qt 15.5.8 library on MS Windows systems to then create your 1781 own shared build of BNC. 1782 But it is highly recommended to use the dynamically compiled shared library build for Mircrosoft Windows systems 1783 which is provided as 1784 Microsoft Installer (MSI) file. 1785 </p> 1786 <ul> 1787 <li>Support for Secure Sockets Layer (SSL) communication is provided by the OpenSSL Toolkit, which must be obtained 1788 separately. 1789 Download the latest version of the toolkit that is supported by Qt and install OpenSSL libraries in 1790 C:\OpenSSL-Win64. 1791 The OpenSSL libraries are looked up first in the drectory of the executable, then in the Windows System directory, 1792 and finally in all directories listed in the PATH environment variable. 1793 You can configure how Qt uses OpenSSL by setting either the -openssl / -openssl-runtime or -openssl-linked 1794 configure flags. 1795 To link Qt Network against OpenSSL libraries, set the -openssl-linked configure argument and use the 1796 OPENSSL_PREFIX variable 1797 to let Qt correctly locate and build against your OpenSSL installation. 1798 For example: configure -openssl-linked OPENSSL_PREFIX="C:\OpenSSL-Win64".</li> 1799 <li>The following tools are required at build time: 1800 <ul> 1801 <li>Python 2.7.5 or later. Python 3 is not supported.</li> 1802 <li>Windows binaries of Bison, Flex, GPerf from the GnuWin32 project (<a href="http://gnuwin32.sourceforge.net/" 1803 target="_blank">http://gnuwin32.sourceforge.net/</a>), required to build QtWebEngine</li> 1804 <li>Node.js version 12 or later</li> 1805 <li>Visual Studio 2019 or clang-cl (msvc mode) version 8 or later, required to build QtWebEngine</li> 1806 <li>Jom is recommended because it is a clone of nmake to support the execution of multiple independent commands 1807 in parallel. 1808 It basically adds the -j command line switch similar to GNU make</li> 1809 <li>Active Template Library (ATL), usually included in the Visual Studio installation</li> 1810 <li>Windows 10 SDK version 10.0.19041 or later</li> 1811 </ul> 1812 and its location should be listed in the PATH environment variable. 1813 </li> 1814 <li>To use OpenGL, pass the command line option '-opengl dynamic' to the configure script.</li> 1815 <li>Download the file 'qt-everywhere-opensource-src-5.15.8.zip' e.g. from 1816 <a href="https://download.qt.io/official_releases/qt/5.15/5.15.8/single/" 1817 target="_blank">https://download.qt.io/official_releases/qt/5.15/5.15.8/single/</a> 1818 and unzip the ZIP archive and move the contents of the contained directory into a directory e.g. 1819 C:\Qt\qt-everywhere-src-5.15.8. 1820 </li> 1821 <li>Open a x64 Native Tools Command Promt for VS 2019 </li> 1822 <li>Go to directory C:\Qt\qt-everywhere-src-5.15.8 and configure Qt using command 1823 <pre> 777 1824 .\configure -prefix C:\Qt\5.15.8\ -opensource -release -platform win32-msvc -icu -I C:\icu-windows\include -L C:\icu-windows\lib64 -qt-pcre -qt-zlib -qt-freetype -qt-harfbuzz -qt-libpng -qt-libjpeg -qt-sqlite -qt-tiff -qt-webp -mp -confirm-license -openssl-linked OPENSSL_PREFIX="C:\OpenSSL-Win64" -opengl dynamic -webengine-proprietary-codecs -recheck-all -nomake tests -nomake examples -no-sql-mysql -skip qtdoc -skip qtquickcontrols -skip qtscript -skip qtxmlpatterns -skip qtandroidextras -skip qtgamepad -skip qtmultimedia -skip qtpurchasing -skip qtwayland -skip qtspeech -skip qtlottie -skip qtscxml -skip qt3d -skip qtcharts -skip qtdatavis3d -skip qtgraphicaleffects -skip qtquickcontrols -skip qtquickcontrols2 -skip qtremoteobjects 778 1825 </pre> 779 </li> 780 <li>Compile Qt using command <pre> jom or nmake </pre></li> 781 <li>Install Qt using command <pre> jom install or nmake install</pre></li> 782 783 <li>Create somewhere a file QtEnv.bat with the following content: 784 <pre> 1826 </li> 1827 <li>Compile Qt using command 1828 <pre> jom or nmake </pre> 1829 </li> 1830 <li>Install Qt using command 1831 <pre> jom install or nmake install</pre> 1832 </li> 1833 1834 <li>Create somewhere a file QtEnv.bat with the following content: 1835 <pre> 785 1836 set QTDIR=C:\Qt\5.15.8 786 1837 set PATH=%PATH%C:\Qt\5.15.8\bin; 787 1838 set QMAKESPEC=C:\Qt\5.15.8\mkspecs\win32-msvc 788 1839 </pre> 789 and exceute file QtEnv.bat</li> 790 791 <li>Download latest BNC from SVN repository <a href="http://software.rtcm-ntrip.org/svn/trunk/BNC" 792 target="_blank">http://software.rtcm-ntrip.org/svn/trunk/BNC</a>.</li> 793 794 <li>Go to directory BNC and enter command 795 <pre> 1840 and exceute file QtEnv.bat 1841 </li> 1842 1843 <li>Download latest BNC from SVN repository <a href="http://software.rtcm-ntrip.org/svn/trunk/BNC" 1844 target="_blank">http://software.rtcm-ntrip.org/svn/trunk/BNC</a>.</li> 1845 1846 <li>Go to directory BNC and enter command 1847 <pre> 796 1848 qmake bnc.pro 797 </pre></li> 798 799 <li>Enter command 800 <pre> 1849 </pre> 1850 </li> 1851 1852 <li>Enter command 1853 <pre> 801 1854 nmake 802 </pre></li> 803 <li>Find binary file bnc.exe in directory named src.</li> 804 </ul> 805 <p> 806 <b>Linux Systems</b><br> 807 Qt development tools have to be installed as well as some other libraries e.g. for openssl. They can be easily installed from 808 your system repositories. BNC 2.13 needs Qt5. See the <a href="https://software.rtcm-ntrip.org/browser/ntrip/trunk/BNC/docker" target="_blank">docker files</a> for the most used Linux systems. 809 To compile the BNC program, you first download the source code from the SVN repository <a href="http://software.rtcm-ntrip.org/svn/trunk/BNC" 810 target="_blank">http://software.rtcm-ntrip.org/svn/trunk/BNC</a>. Go to directory BNC and run the following commands:<br> 811 </p> 812 <pre> 1855 </pre> 1856 </li> 1857 <li>Find binary file bnc.exe in directory named src.</li> 1858 </ul> 1859 <p> 1860 <b>Linux Systems</b><br> 1861 Qt development tools have to be installed as well as some other libraries e.g. for openssl. They can be easily 1862 installed from 1863 your system repositories. BNC 2.13 needs Qt5. See the <a 1864 href="https://software.rtcm-ntrip.org/browser/ntrip/trunk/BNC/docker" target="_blank">docker files</a> for the 1865 most used Linux systems. 1866 To compile the BNC program, you first download the source code from the SVN repository <a 1867 href="http://software.rtcm-ntrip.org/svn/trunk/BNC" 1868 target="_blank">http://software.rtcm-ntrip.org/svn/trunk/BNC</a>. Go to directory BNC and run the following 1869 commands:<br> 1870 </p> 1871 <pre> 813 1872 qmake bnc.pro 814 1873 make 815 1874 </pre> 816 You will find a build of BNC in directory BNC. 817 <p> 818 <b>Mac OS X Systems</b><br> 819 </p> 820 Please use the precompiled build of BNC 821 </p> 822 823 <p><h4 id="introConf">1.6 Configuration</h4></p> 824 <p> 825 As a default, configuration files for running BNC on Unix/Linux/Mac OS X systems are saved in directory 826 '${HOME}/.config/BKG'. On Windows systems, they are typically saved in directory 'C:/Documents and Settings/Username/.config/BKG'. 827 The default configuration filename is 'BNC.bnc'.</p> 828 <p> 829 The default filename 'BNC.bnc' can be changed and the file content can easily be edited. On graphical user interfaces 830 it is possible to Drag & Drop a configuration file icon to start BNC (not on Mac OS X systems). 831 It is also possible to start and configure BNC via command line. Some configuration options can be changed on-the-fly. 832 See annexed 'Command Line Help' for a complete set of configuration options. 833 </p> 834 <p> 835 BNC maintains configuration options at three different levels: 836 </p> 837 <ul> 838 <li>GUI, input fields level</li> 839 <li>Active configuration level</li> 840 <li>Configuration file, disk level</li> 841 </ul> 842 <p><img src="IMG/Figure06.png"width=1000/></p> 843 <p>Figure 6: Management of configuration options in BNC:<br> 844 <table> 845 <tr><td> </td><td>Left:</td><td>BNC in graphics mode; active configuration options are introduced through GUI input fields and finally saved on disk</td></tr> 846 <tr><td> </td><td>Middle:</td><td>BNC in 'no window' mode; active configuration options are read from disk</td></tr> 847 <tr><td> </td><td>Right:</td><td>BNC in 'no window' mode without configuration file; default configuration options can be overwritten via command line options</td></tr> 848 </table> 849 850 <p> 851 Configuration options are usually specified using GUI input fields (1) after launching BNC. 852 When hitting the 'Start' button, configuration options are transferred one level down to become BNC's active configuration (2), 853 allowing the program to begin its operation. Pushing the 'Stop' button ends data processing so that the user can finally 854 terminate BNC through 'File'->'Quit'->'Save Options' which saves processing options in a configuration file to disk (3). It is important to understand that: 855 </p> 856 <ul> 857 <li>Active configuration options (2) are independent from GUI input fields and configuration file content.</li> 858 <li>Hence changing configuration options at GUI level (1) while BNC is already processing data does not influence a running job.</li> 859 <li>Editing configuration options at disk level (3) while BNC is already processing data does also not influence a running job. However, there are two exceptions which force BNC to update certain active options on-the-fly:</li> 1875 You will find a build of BNC in directory BNC. 1876 <p> 1877 <b>Mac OS X Systems</b><br> 1878 </p> 1879 Please use the precompiled build of BNC 1880 </p> 1881 1882 <p> 1883 <h4 id="introConf">1.6 Configuration</h4> 1884 </p> 1885 <p> 1886 As a default, configuration files for running BNC on Unix/Linux/Mac OS X systems are saved in directory 1887 '${HOME}/.config/BKG'. On Windows systems, they are typically saved in directory 'C:/Documents and 1888 Settings/Username/.config/BKG'. 1889 The default configuration filename is 'BNC.bnc'.</p> 1890 <p> 1891 The default filename 'BNC.bnc' can be changed and the file content can easily be edited. On graphical user 1892 interfaces 1893 it is possible to Drag & Drop a configuration file icon to start BNC (not on Mac OS X systems). 1894 It is also possible to start and configure BNC via command line. Some configuration options can be changed 1895 on-the-fly. 1896 See annexed 'Command Line Help' for a complete set of configuration options. 1897 </p> 1898 <p> 1899 BNC maintains configuration options at three different levels: 1900 </p> 1901 <ul> 1902 <li>GUI, input fields level</li> 1903 <li>Active configuration level</li> 1904 <li>Configuration file, disk level</li> 1905 </ul> 1906 <p><img src="IMG/Figure06.png" width=1000 /></p> 1907 <p>Figure 6: Management of configuration options in BNC:<br> 1908 <table> 1909 <tr> 1910 <td> </td> 1911 <td>Left:</td> 1912 <td>BNC in graphics mode; active configuration options are introduced through GUI input fields and finally saved 1913 on disk</td> 1914 </tr> 1915 <tr> 1916 <td> </td> 1917 <td>Middle:</td> 1918 <td>BNC in 'no window' mode; active configuration options are read from disk</td> 1919 </tr> 1920 <tr> 1921 <td> </td> 1922 <td>Right:</td> 1923 <td>BNC in 'no window' mode without configuration file; default configuration options can be overwritten via 1924 command line options</td> 1925 </tr> 1926 </table> 1927 1928 <p> 1929 Configuration options are usually specified using GUI input fields (1) after launching BNC. 1930 When hitting the 'Start' button, configuration options are transferred one level down to become BNC's active 1931 configuration (2), 1932 allowing the program to begin its operation. Pushing the 'Stop' button ends data processing so that the user can 1933 finally 1934 terminate BNC through 'File'->'Quit'->'Save Options' which saves processing options in a configuration file to disk 1935 (3). It is important to understand that: 1936 </p> 1937 <ul> 1938 <li>Active configuration options (2) are independent from GUI input fields and configuration file content.</li> 1939 <li>Hence changing configuration options at GUI level (1) while BNC is already processing data does not influence a 1940 running job.</li> 1941 <li>Editing configuration options at disk level (3) while BNC is already processing data does also not influence a 1942 running job. However, there are two exceptions which force BNC to update certain active options on-the-fly:</li> 860 1943 <ul> 861 <li>Pushing the 'Reread & Save Configuration' button lets BNC immediately reread its configuration from GUI input fields to make them active configuration options. Then BNC saves them on disk.</li> 862 <li>Specifying the 'Reread configuration' option lets BNC reread its configuration from disk at pre-defined intervals.</li> 1944 <li>Pushing the 'Reread & Save Configuration' button lets BNC immediately reread its configuration from GUI input 1945 fields to make them active configuration options. Then BNC saves them on disk.</li> 1946 <li>Specifying the 'Reread configuration' option lets BNC reread its configuration from disk at pre-defined 1947 intervals.</li> 863 1948 </ul> 864 <li>A specific BNC configuration can be started in 'no window' mode from scratch without a configuration file if options for the active configuration level (2) are provided via command line.</li> 865 </ul> 866 867 868 <p><h4 id="introExamples">1.6.1 Examples</h4></p> 869 <p> 870 BNC comes with a number of configuration examples which can be used on all operating systems. 871 Copy the complete directory 'Example_Configs' which comes with the software to your disc. It includes sub-directories 872 'Input' and 'Output'. There are several ways to start BNC using one of the example configurations: 873 </p> 874 <ul> 875 <li>On graphical systems (except for Mac systems), you may use the computer mouse to 'drag' a configuration file icon and 'drop' it on top of BNC's program icon.</li> 876 <li>You could also start BNC using a command line for naming a specific configuration file (suggested e.g. for Mac systems):<br> 1949 <li>A specific BNC configuration can be started in 'no window' mode from scratch without a configuration file if 1950 options for the active configuration level (2) are provided via command line.</li> 1951 </ul> 1952 1953 1954 <p> 1955 <h4 id="introExamples">1.6.1 Examples</h4> 1956 </p> 1957 <p> 1958 BNC comes with a number of configuration examples which can be used on all operating systems. 1959 Copy the complete directory 'Example_Configs' which comes with the software to your disc. It includes 1960 sub-directories 1961 'Input' and 'Output'. There are several ways to start BNC using one of the example configurations: 1962 </p> 1963 <ul> 1964 <li>On graphical systems (except for Mac systems), you may use the computer mouse to 'drag' a configuration file 1965 icon and 'drop' it on top of BNC's program icon.</li> 1966 <li>You could also start BNC using a command line for naming a specific configuration file (suggested e.g. for Mac 1967 systems):<br> 877 1968 /Applications/bnc.app/Contents/MacOS/bnc --conf <configFileName></li> 878 <li>On non-graphical systems or when running BNC in batch mode in the background you may start the program using a command line 879 with a configuration file option in '<u>n</u>o <u>w</u>indow' mode (example for Windows systems):<br> 1969 <li>On non-graphical systems or when running BNC in batch mode in the background you may start the program using a 1970 command line 1971 with a configuration file option in '<u>n</u>o <u>w</u>indow' mode (example for Windows systems):<br> 880 1972 bnc.exe --conf <configFileName> --nw</li> 881 </ul> 882 <p> 883 Although it's not a must, we suggest that you always create BNC configuration files with filename extension '.bnc'. 884 </p> 885 886 <p> 887 We furthermore suggest for convenience reasons that you configure your system to automatically start BNC when you 888 double-click a file with the filename extension '.bnc'. The following describes what to do on MS Windows systems to associate 889 the BNC program to such configuration files: 890 </p> 891 892 <ol type="1"> 893 <li>Right-click a file that has the extension '.bnc' and then click 'Open'. If the 'Open' command is not available, click 'Open With' or double-click the file.</li> 894 <li>Windows displays a dialog box that says that the system cannot open this file. The dialog box offers several options for selecting a program.</li> 895 <li>Click 'Select the program from a list', and then click 'OK'.</li> 896 <li>The 'Open With' dialog box is displayed. Click 'Browse', locate and then click the BNC program, and then click 'Open'.</li> 897 <li>Click to select the 'Always use the selected program to open this kind of file' check box.</li> 898 <li>Click 'OK'.</li> 899 </ol> 900 901 <p> 902 Some of the presented example configurations contain a user ID 'Example' with a password 'Configs' for accessing a few 903 GNSS streams from public Ntrip Broadcasters. This free generic account is arranged for convenience reasons only. 904 Please be so kind as to replace the generic account details as well as the place holder's 'User' and 'Pass' by the 905 personal user ID and password you receive following an online registration through <a href="http://register.rtcm-ntrip.org" target="_blank">http://register.rtcm-ntrip.org</a>. 906 </p> 907 908 <p> 909 Note that the account for an Ntrip Broadcaster is usually limited to pulling a specified maximum number of streams at the same time. 910 As running some of the example configurations requires pulling several streams, it is suggested to make sure that you do not exceed your account's limits. 911 </p> 912 913 <p> 914 Make also sure that sub-directories 'Input' and 'Output' which are part of the example configurations exist on your system or adjust 915 the affected example configuration options according to your needs. 916 </p> 917 918 <p> 919 Some BNC options require Antenna Phase Center variations as made available from IGS through so-called ANTEX files 920 at <a href="https://files.igs.org/pub/station/general/igs20.atx" target="_blank">https://files.igs.org/pub/station/general/igs20.atx</a>. 921 An example ANTEX file 'igs20.atx' is part of the BNC package for convenience. 922 </p> 923 924 <p> 925 The example configurations assume that no proxy protects your BNC host. Should a proxy be operated in front of BNC then 926 you need to introduce its name or IP and port number in the 'Network' panel. 927 </p> 928 929 <p> 930 <b>(A) Working with Configuration Files</b><br><br> 931 You should be able to run all configuration file examples without changing contained options. However, configuration 932 'Upload.bnc' is an exception because it requires an input stream from a connected network engine. 933 </p> 934 935 <ol type="1"> 936 <li> Configuration File 'RinexObs.bnc'<br> 937 Purpose: Convert RTCM streams to RINEX Observation files. 938 The configuration pulls RTCM Version 3 streams from Ntrip Broadcasters using 939 Ntrip Version 2 to generate 15min 1Hz RINEX Version 4 Observation files. 940 See <a href="https://igs.bkg.bund.de/ntrip/#rtcm-obs" target="_blank">https://igs.bkg.bund.de/ntrip/#rtcm-obs</a> 941 for observation stream resources. 942 </li> 943 944 <li>Configuration File 'RinexEph.bnc'<br> 945 Purpose: Convert a RTCM stream with navigation messages to RINEX Navigation 946 files. The configuration pulls a RTCM Version 3 stream with Broadcast Ephemeris 947 coming from the real-time EUREF and IGS networks and saves hourly RINEX Version 948 4 Navigation files. See <a href="https://igs.bkg.bund.de/ntrip/#rtcm-eph" target="_blank">https://igs.bkg.bund.de/ntrip/#rtcm-eph</a> 949 for further real-time Broadcast Ephemeris resources. 950 </li> 951 952 <li>Configuration File 'BrdcCorr.bnc'<br> 953 Purpose: Save Broadcast Corrections from RTCM SSR messages in hourly plain 954 ASCII files. See <a href="https://igs.bkg.bund.de/ntrip/#rtcm-corr" target="_blank">https://igs.bkg.bund.de/ntrip/#rtcm-corr</a> 955 for various real-time IGS or EUREF orbit/clock correction products. 956 </li> 957 958 <li>Configuration File 'RinexConcat.bnc'<br> 959 Purpose: Concatenate several RINEX Version 3 files to produce one compiled file 960 and edit the marker name in the file header. The sampling interval is set to 30 961 seconds. See section 'RINEX Editing & QC' in the documentation for examples on 962 how to call BNC from command line in 'no window' mode for RINEX file editing, 963 concatenation and quality check. 964 </li> 965 966 <li>Configuration File 'RinexQC.bnc'<br> 967 Purpose: Check the quality of a RINEX Version 4 file by means of a multipath 968 analysis. Results are saved on disk in terms of a plot in PNG format. See 969 section 'RINEX Editing & QC' in the documentation for examples on how to call 970 BNC from command line in 'no window' mode for RINEX file editing, concatenation 971 and quality check. 972 </li> 973 974 <li>Configuration File 'RTK.bnc'<br> 975 Purpose: Feed a serial connected receiver with observations from a nearby 976 reference station for conventional RTK. The stream is scanned for RTCM 977 messages. Message type numbers and latencies of incoming observations are 978 reported in BNC's logfile. 979 </li> 980 981 <li>Configuration File 'FeedEngine.bnc'<br> 982 Purpose: Feed a real-time GNSS engine with observations from remote reference 983 stations. The configuration pulls a single stream from an Ntrip Broadcaster. 984 You could also pull several streams from different casters. Incoming 985 observations are decoded, synchronized, output through a local IP port and also 986 saved into a file. Failure and recovery thresholds are specified to inform 987 about outages. 988 </li> 989 990 <li>Configuration File 'PPP.bnc'<br> 991 Purpose: Precise Point Positioning from observations of a rover receiver. The 992 configuration reads RTCM Version 3 observations, a Broadcast Ephemeris stream 993 and a stream with Broadcast Corrections. Positions are saved in the logfile. 994 More detailed PPP results are saved in the PPP logfile. 995 </li> 996 997 <li>Configuration File 'PPPNet.bnc'<br> 998 Purpose: Precise Point Positioning for several rovers or receivers from an 999 entire network of reference stations in one BNC job. The possible maximum 1000 number of PPP solutions per job depends on the processing power of the hosting 1001 computer. This example configuration reads two RTCM Version 3 observation 1002 streams, a Broadcast Ephemeris stream and a stream with Broadcast Corrections. 1003 Detailed PPP Results for the two stations are saved in PPP logfiles. 1004 </li> 1005 1006 <li>Configuration File 'PPPQuickStart.bnc'<br> 1007 Purpose: Precise Point Positioning in Quick-Start mode from observations of a 1008 static receiver with precisely known position. The configuration reads RTCM 1009 Version 3 observations, Broadcast Corrections and a Broadcast Ephemeris stream. 1010 Positions are saved in NMEA format on disc. They are also output through IP 1011 port for real-time visualization with tools like RTKPLOT. Positions are saved 1012 in the logfile. 1013 </li> 1014 1015 <li>Configuration File 'PPPPostProc.bnc'<br> 1016 Purpose: Precise Point Positioning in post processing mode. BNC reads RINEX 1017 Version 3 Observation and Navigation files and a Broadcast Correction file. 1018 Optionally, an Ionosphere file containing VTEC informations can be used. If such 1019 a file is not specified, VTEC informations from the Broadcast Corrections file 1020 are used. PPP processing options are set to support the Quick-Start mode. 1021 The output is saved in a specific post processing logfile and contains 1022 coordinates derived over time following the implemented PPP filter algorithm. 1023 </li> 1024 1025 <li>Configuration File 'PPPOsm.bnc'<br> 1026 Purpose: Track BNC's point positioning solutions using OpenStreetMap as background. 1027 BNC reads a RINEX Observation file and a RINEX Navigation file to carry out 1028 a 'Standard Point Positioning' solution in post processing mode. 1029 Although this is not a real-time application it requires the BNC host to be 1030 connected to the Internet. Specify a computation speed, then hit button 'Open Map' 1031 to open the track map, then hit 'Start' to visualize receiver positions on top 1032 of OSM maps. 1033 </li> 1034 1035 <li>Configuration File 'PPPGalHAS.bnc'<br> 1036 Purpose: Precise Point Positioning in Quick-Start mode with SSR corrections 1037 from the Galileo HAS Internet Data Distribution (IDD) interface with observations 1038 of a static receiver with quite precisely known position. 1039 Because the Galileo HAS provides Code Biases and corrections for satellite orbits 1040 and clocks for GPS and Galileo, the configuration uses GPS and Galileo 1041 navigation data only. 1042 Access to the Galileo HAS Internet Data Distribution is available by registration: 1043 <a href="https://www.gsc-europa.eu/galileo/services/galileo-high-accuracy-service-has/internet-data-distribution-registration-form" 1044 target="_blank">https://www.gsc-europa.eu/galileo/services/galileo-high-accuracy-service-has/internet-data-distribution-registration-form</a> 1045 1046 Purpose: Single Point Positioning in Quick-Start mode from observations of a 1047 static receiver with quite precisely known position. The configuration uses 1048 Galileo observations only and a Broadcast Ephemeris stream. 1049 </li> 1050 1051 <li>Configuration File 'SaveSp3.bnc'<br> 1052 Purpose: Produces SP3 files from a Broadcast Ephemeris stream and a Broadcast 1053 Correction stream. The Broadcast Correction stream is formally introduced in 1054 BNC's 'Combine Corrections' table. Note that producing SP3 requires an ANTEX 1055 file because SP3 file content should be referred to CoM.. 1056 </li> 1057 1058 <li>Configuration File 'Sp3ETRF2000PPP.bnc'<br> 1059 Purpose: Produce SP3 files from a Broadcast Ephemeris stream and a stream 1060 carrying ETRF2000 Broadcast Corrections. The Broadcast Correction stream is 1061 formally introduced in BNC's 'Combine Corrections' table. The configuration 1062 leads to a SP3 file containing orbits also referred to ETRF2000. Pulling in 1063 addition observations from a reference station at precisely known ETRF2000 1064 position allows comparing an 'INTERNAL' PPP solution with a known ETRF2000 1065 reference coordinate. 1066 </li> 1067 1068 <li>Configuration File 'Upload.bnc'<br> 1069 Purpose: Upload orbits and clocks from a real-time GNSS engine to an Ntrip 1070 Broadcaster. For that the configuration reads precise orbits and clocks in 1071 RTNET format. It also reads a stream carrying Broadcast Ephemeris. BNC converts 1072 the orbits and clocks into Broadcast Corrections and encodes them to 1073 IGS-SSR messages to finally upload them to an Ntrip Broadcaster. The 1074 Broadcast Correction stream is referred to satellite Antenna Phase Center (APC) 1075 and reference system IGS20. Orbits are saved on disk in SP3 format and clocks 1076 are saved in Clock RINEX format. 1077 </li> 1078 1079 <li>Configuration File 'Combi.bnc'<br> 1080 Purpose: Pull 2 streams carrying Broadcast Corrections, and Satellite Code Biases 1081 together with Broadcast Ephemeris from an Ntrip Broadcaster 1082 to produce a combined Broadcast Correction stream. 1083 BNC encodes the combination product in IGS-SSR messages and uploads them to 1084 an Ntrip Broadcaster. The Broadcast Correction stream is referred to 1085 satellite Antenna Phase Center (APC) and not to satellite Center of 1086 Mass (CoM). Its reference system is IGS20. Orbits are saved in SP3 format 1087 (referred to CoM) and clocks in Clock RINEX format. 1088 </li> 1089 1090 <li>Configuration File 'CombiPPP.bnc'<br> 1091 Purpose: This configuration equals the 'Combi.bnc' configuration. However, the 1092 combined Broadcast Corrections are in addition used for an 'INTERNAL' PPP 1093 solutions based on observations from a static reference station with known 1094 precise coordinates. This allows a continuous quality check of the combination 1095 product through observing coordinate displacements. 1096 </li> 1097 1098 <li>Configuration File 'UploadEph.bnc'<br> 1099 Purpose: Pull a number of streams from reference stations to get the 1100 contained Broadcast Ephemeris messages. They are encoded to RTCM Version 3 1101 format and uploaded for the purpose of providing a Broadcast Ephemeris stream 1102 with an update rate of 5 seconds. 1103 </li> 1104 1105 <li>Configuration File 'UploadRaw.bnc'<br> 1106 Purpose: Forward the stream contents of the incoming stream BCEP00BKG0 1107 from products.igs-ip.net to another caster. 1108 </li> 1109 1110 <li>Configuration File 'CompareSp3.bnc'<br> 1111 Purpose: Compare two SP3 files to calculate RMS values for orbit and clock 1112 differences. GPS satellite G05 and GLONASS satellite R18 are excluded from this 1113 comparison. Comparison results are saved in a logfile. 1114 </li> 1115 1116 <li>Configuration File 'Empty.bnc'<br> 1117 Purpose: Provide an empty example configuration file for BNC which only 1118 contains the default settings. 1119 </li> 1120 1121 <li value="29"> Configuration File '29_PPPAR_CNES.bnc'<br> 1122 Purpose: Precise Point Positioning with ambiguity resolution using an raw input file. 1123 Call: bnc --conf 29_PPPAR_CNES.bnc --file WTZR_CNES_20251117.raw 1124 The configuration reads RTCM Version 3 observations, a Broadcast Ephemeris stream 1125 and a stream with SSR Corrections enabling PPP-AR. Positions are saved in the logfile. 1126 More detailed PPP results are saved in the PPP logfile. 1127 1128 <li value="30"> Configuration File '30_PPPAR_WHU.bnc'<br> 1129 Purpose: Precise Point Positioning with ambiguity resolution using an raw input file. 1130 Call: bnc --conf 30_PPPAR_WHU.bnc --file WTZR_WHU_20251129.raw 1131 The configuration reads RTCM Version 3 observations, a Broadcast Ephemeris stream 1132 and a stream with SSR Corrections enabling PPP-AR. Positions are saved in the logfile. 1133 More detailed PPP results are saved in the PPP logfile. 1134 </li> 1135 1136 </ol> 1137 <b>(B) Working with Command Line configuration options</b><br><br> 1138 The following configuration examples make use of BNC's 'Command Line Interface' (CLI). Configuration options are 1139 exclusively specified via command line. No configuration file is used. Examples are provided as shell scripts 1140 for a Linux system. They call BNC in 'no window' batch mode (command line option -nw). The scripts expect 1141 'Example_Configs' to be the current working directory. 1142 </li> 1143 1144 <ol start="23"> 1145 <li>Shell Script 'RinexQC.sh'<br> 1146 Purpose: Equals configuration file example 'RinexQC.bnc', checks the quality of 1147 a RINEX Version 4 file by means of a multipath analysis. The platform offscreen 1148 is used while producing plot files in PNG format. BNC is offline. 1149 All results are saved on disk. 1150 </li> 1151 1152 <li>Shell Script 'RinexConcat.sh'<br> 1153 Purpose: Equals configuration file example 'RinexConcat.bnc', concatenates 1154 several RINEX Version 3 files to produce one compiled file and edit the marker 1155 name in the file header. The sampling interval is set to 30 seconds. BNC is 1156 offline. 1157 </li> 1158 1159 <li>Shell Script 'RinexEph.sh'<br> 1160 Purpose: Equals configuration file example 'RinexEph.bnc', converts a RTCM 1161 stream with navigation messages to RINEX Navigation files. The configuration 1162 pulls a RTCM Version 3 stream with Broadcast Ephemeris coming from the 1163 real-time EUREF and IGS networks and saves hourly RINEX Version 4 Navigation 1164 files. BNC runs online until it's terminated after 10 seconds. 1165 See <a href="https://igs.bkg.bund.de/ntrip/#rtcm-eph" target="_blank">https://igs.bkg.bund.de/ntrip/#rtcm-eph</a> 1166 for further real-time Broadcast Ephemeris resources. 1167 </li> 1168 1169 <li>Shell Script 'ScanLate.sh'<br> 1170 Purpose: Scan an observation stream for contained RTCM message types, print 1171 observation latencies. The output is saved in a logfile. Latencies are 1172 reported every 10 seconds. BNC runs online until it's terminated after 20 1173 seconds. 1174 </li> 1175 1176 <li>Shell Script 'RinexObs.sh'<br> 1177 Purpose: Equals configuration file example 'RinexObs.bnc', converts RTCM 1178 streams to RINEX Observation files. The configuration pulls streams from two 1179 Ntrip Broadcasters using Ntrip Version 2 to generate 15min 1Hz RINEX Version 4 1180 Observation files. 1181 See <a href="https://igs.bkg.bund.de/ntrip/#rtcm-obs" target="_blank">https://igs.bkg.bund.de/ntrip/#rtcm-obs</a> 1182 for observation stream resources. BNC runs online until it's terminated after 30 1183 seconds. 1184 </li> 1185 </ol> 1186 1187 <b>(C) Command Line configuration options overwriting Configuration File options</b><br><br> 1188 For specific applications you may like to use your own set of standard configuration options from a configuration file and update some of its content via command line. When using a configuration file together with command line configuration options in one BNC call, the command line configuration options will always overrule options contained in the configuration file. 1189 1190 <ol start="28"> 1191 <li>Shell Script 'CompareSp3.sh'<br> 1192 Purpose: Equals configuration file example 'CompareSp3.bnc', compares two SP3 1193 files to calculate RMS values for orbit and clock differences. However, instead 1194 of excluding GPS satellite G05 and GLONASS satellite R18 from the comparison as 1195 specified in 'CompareSp3.bnc', GPS satellite G06 and all GLONASS satellites are 1196 excluded via command line option. BNC runs offline. Comparison results are saved 1197 in a logfile. 1198 </li> 1199 </ol> 1200 </p> 1201 1202 <p><h4 id="introLimit">1.7 Limitations</h4></p> 1203 <ul> 1204 <li> 1205 In Qt-based desktop environments (like KDE) on Unix/Linux platforms it may happen that you experience a crash of BNC at startup 1206 even when running the program in the background using the '-nw' option. This is a known bug most likely resulting 1207 from an incompatibility of Qt libraries in the environment and in BNC. Entering the command 'unset SESSION_MANAGER' 1208 before running BNC may help as a work-around. 1209 </li> 1210 1211 <li> 1212 Using RTCM Version 3 to produce RINEX files, BNC will properly handle most message types. However, when handling message types 1001, 1003, 1009 and 1011 where the ambiguity field is not set, the output will be no valid RINEX. All values will be stored modulo 299792.458 (speed of light). 1213 </li> 1214 <li> 1215 Using RTCM Version 2, BNC will only handle message types 18 and 19 or 20 and 21 together with position and the antenna offset information carried in types 3 and 22. Note that processing carrier phase corrections and pseudo-range corrections contained in message types 20 and 21 needs access to Broadcast Ephemeris. Hence, whenever dealing with message types 20 and 21, make sure that Broadcast Ephemeris become available for BNC through also retrieving at least one RTCM Version 3 stream carrying message types 1019 (GPS ephemeris) and 1020 (GLONASS ephemeris). 1216 </li> 1217 <li> 1218 BNC's 'Get Table' function only shows the STR records of a source-table. You can use an Internet browser to download the full source-table content of any Ntrip Broadcaster by simply entering its URL in the form of <u>http://host:port</u>. Data field number 8 in the NET records may provide information about where to register for an Ntrip Broadcaster account. 1219 </li> 1220 <li> 1221 EUREF as well as IGS adhere to an open data policy. Streams are made available through Ntrip Broadcasters at 1222 <a href="http://euref-ip.net/home" target="_blank">http://euref-ip.net/home</a>, 1223 <a href="http://igs-ip.net/home" target="_blank">http://igs-ip.net/home</a> and 1224 <a href="http://products.igs-ip.net/home" target="_blank">http://products.igs-ip.net/home</a> 1225 free of charge to anyone for any purpose. There is no indication up until now how many users will need to be supported simultaneously. The given situation may develop in such a way that it might become difficult to serve all registered users at the same times. In cases where limited resources on the Ntrip Broadcaster side (software restrictions, bandwidth limitation etc.) dictates, first priority in stream provision will be given to stream providers followed by re-broadcasting activities and real-time analysis centers while access to others might be temporarily denied. 1226 </li> 1227 <li> 1228 Once BNC has been started, many of its configuration options cannot be changed as long as it is stopped. See chapter 'Reread Configuration' for on-the-fly configuration exceptions. 1229 </li> 1230 <li> 1231 Drag and drop of configuration files is currently not supported on Mac OS X. On such system you have to start BNC via command line. 1232 </li> 1233 </ul> 1234 1235 <p><h4 id="introLBack">Looking Back</h4></p> 1236 <p> 1237 A basic function of BNC is streaming GNSS data over the open Internet using the Ntrip transport protocol. 1238 Employing IP streaming for satellite positioning goes back to the beginning of our century. 1239 Wolfgang Rupprecht has been the first person who developed TCP/IP server software under the acronym of 1240 DGPS-IP (Rupprecht 2000) and published it under GNU General Public License (GPL). 1241 While connecting marine beacon receivers to PCs with permanent access to the Internet he 1242 transmitted DGPS corrections in an RTCM format to support Differential GPS positioning over North America. 1243 With approximately 200 bits/sec the bandwidth requirement for disseminating beacon data was comparatively small. 1244 Each stream was transmitted over a unique combination of IP address and port. 1245 Websites informed about existing streams and corresponding receiver positions. 1246 </p> 1247 <p> 1248 To cope with an increasing number of transmitting GNSS reference stations, the Federal Agency for Cartography and Geodesy (BKG) 1249 together with the Informatik Centrum Dortmund (ICD) in Germany developed a streaming protocol for satellite navigation data called 1250 'Networked Transport of RTCM via Internet Protocol' (Ntrip). The protocol was built on top of the HTTP standard and included the 1251 provision of meta data describing the stream content. Any stream could now be globally transmitted over just one IP port: HTTP port 80. 1252 Stream availability and content details became part of the transport protocol. The concept was first published in 2003 1253 (Weber and Honkala 2004, Weber et al. 2005a) and was based on three software components, namely an NtripServer pushing data from 1254 a reference station to an NtripCaster and an NtripClient pulling data from the stream splitting caster to support a rover receiver. 1255 (Note that from a socket-programmers perspective NtripServer and NtripClient both act as clients; only the NtripCaster operates as socket-server.) 1256 Ntrip could essentially benefit from Internet Radio developments. It was the ICECAST multimedia server, which provided the bases 1257 for BKG's 'Professional Ntrip Broadcaster' with software published first in 2003 and of course again as Open Source under GPL. 1258 </p> 1259 <p> 1260 For BKG as a governmental agency, making Ntrip an Open Industry Standard has been an objective from the very beginning. 1261 The 'Radio Technical Commission for Maritime Services' (RTCM) accepted 'Ntrip Version 1' in 2004 as 'RTCM Recommended Standard' (Weber et al. 2005b). 1262 Nowadays there is almost no geodetic GNSS receiver which does not come with integrated NtripClient and NtripServer functionality as part of the firmware. 1263 Hundreds of NtripCaster implementations are operated world-wide for highly accurate satellite navigation through RTK networks. 1264 Thousands of reference stations upload observations via NtripServer to central computing facilities for any kind of NtripClient application. 1265 In 2011 'Ntrip Version 2' was released (RTCM SC-104 2011) which cleared and fixed some design problems and HTTP protocol violations. 1266 It also supports TCP/IP via SSL and adds optional communication over RTSP/RTP and UDP. 1267 </p> 1268 <p> 1269 With the advent of Ntrip as an open streaming standard, BKG's interest turned towards taking advantage from free 1270 real-time access to GNSS observations. International Associations such as the IAG Reference Frame Sub Commissions 1271 for Africa (AFREF), Asia & Pacific (APREF), Europe (EUREF), North America (NAREF) Latin America & Caribbean (SIRGAS), 1272 and the International GNSS Service (IGS) maintain continental or even global GNSS networks with the majority of modern 1273 receivers supporting Ntrip stream upload. Through operating BKG's NtripCaster software, these networks became extremely 1274 valuable sources of real-time GNSS information. In 2005, this was the starting point for developing the 1275 'BKG Ntrip Client' (BNC) as a multi-stream Open Source NtripClient that allows pulling hundreds of streams 1276 simultaneously from any number of NtripCaster installations world-wide. Decoding incoming RTCM streams and output 1277 observations epoch by epoch via IP port to feed a real-time GNSS network engine became BNC's first and foremost 1278 ability (Weber and Mervart 2009). Converting decoded streams to short high-rate RINEX files to assist near real-time 1279 applications became a welcome by-product right from the start of this development. 1280 </p> 1281 <p> 1282 Adding real-time Precise Point Positioning (PPP) support to BNC began in 2010 as an important completion in view of developing an 1283 Open RTCM Standard for that. According to the State Space Representation (SSR) model, new Version 3 messages are proposed to provide e.g. 1284 satellite orbit and clock corrections and ionospheric corrections as well as biases for code and phase data. 1285 The ultimate goal for SSR standardization is to reach centimeter level accuracy within seconds as an alternative to Network RTK methods 1286 such as VRS, FKP, and MAC. Because of interoperability aspects, an Open Standard in this area is of particular interest for clients. 1287 Regarding stand-alone PPP in BNC, it is worth mentioning that the program is not and can never be in competition with a receiver 1288 manufacturer's proprietary solution. Only software or services that are part of a receiver firmware could have the potential of 1289 becoming a thread for commercial interests. However, implementing or not implementing an Open PPP approach in a firmware is and 1290 will always remain a manufacturer's decision. 1291 </p> 1292 <p> 1293 Implementing some post processing capability is essential for debugging real-time software in case of problems. 1294 So certain real-time options in BNC were complemented to work offline through reading data from files. 1295 Moreover, beginning in 2012, the software was extended to support Galileo, BeiDou, and QZSS besides GPS and GLONASS. 1296 With that, the Open Source tool BNC could be used for RINEX Version 3 file editing, concatenation and quality checks, 1297 a post processing functionality demanded by the IGS Multi-GNSS Experiment and not really covered at that time by 1298 UNAVCO's famous TEQC program with its limitation on GPS. 1299 </p> 1300 1301 <p> 1302 The well-established, mature codebase is mostly written in C++ language. 1303 Its publication under GNU GPL is thought to be well-suited for test, validation and demonstration of new 1304 approaches in precise real-time satellite navigation when IP streaming is involved. Commissioned by a 1305 German governmental agency, the overall intention has been to push the development of RTCM Recommended Standards 1306 to the benefit of IAG institutions and services such as IGS and the interested public in general. 1307 </p> 1308 1309 <p><h3 id="optsettings">2. Settings Details</h3></p> 1310 <p> 1311 The general documentation approach is to create a separate chapter for each processing option in a sequence which follows the layout of 1312 BNC's Graphical User Interface (GUI). The advantage is that searching for help by means of the document's Table of Contents (TOC) is 1313 quite convenient. A rather comprehensive number of TOC entries is the accepted downside of this approach. 1314 </p> 1315 <p> 1316 The following chapters describe how to set BNC program options. They explain the 'Top Menu Bar', the 'Settings Canvas' with the 1317 processing options, the content of the 'Streams Canvas' and 'Logging Canvas', and the 'Bottom Menu Bar'. 1318 </p> 1319 1320 <p><h4 id="topmenu">2.1 Top Menu Bar</h4></p> 1321 <p> 1322 The top menu bar allows selecting a font for the BNC windows, save configured options, or quit the program execution. 1323 It also provides access to the program's documentation. 1324 </p> 1325 1326 <p><h4 id="file">2.1.1 File</h4></p> 1327 1328 <p> 1329 The 'File' button lets you 1330 </p> 1331 <ul> 1332 <li>Select an appropriate font.<br> 1973 </ul> 1974 <p> 1975 Although it's not a must, we suggest that you always create BNC configuration files with filename extension '.bnc'. 1976 </p> 1977 1978 <p> 1979 We furthermore suggest for convenience reasons that you configure your system to automatically start BNC when you 1980 double-click a file with the filename extension '.bnc'. The following describes what to do on MS Windows systems to 1981 associate 1982 the BNC program to such configuration files: 1983 </p> 1984 1985 <ol type="1"> 1986 <li>Right-click a file that has the extension '.bnc' and then click 'Open'. If the 'Open' command is not available, 1987 click 'Open With' or double-click the file.</li> 1988 <li>Windows displays a dialog box that says that the system cannot open this file. The dialog box offers several 1989 options for selecting a program.</li> 1990 <li>Click 'Select the program from a list', and then click 'OK'.</li> 1991 <li>The 'Open With' dialog box is displayed. Click 'Browse', locate and then click the BNC program, and then click 1992 'Open'.</li> 1993 <li>Click to select the 'Always use the selected program to open this kind of file' check box.</li> 1994 <li>Click 'OK'.</li> 1995 </ol> 1996 1997 <p> 1998 Some of the presented example configurations contain a user ID 'Example' with a password 'Configs' for accessing a 1999 few 2000 GNSS streams from public Ntrip Broadcasters. This free generic account is arranged for convenience reasons only. 2001 Please be so kind as to replace the generic account details as well as the place holder's 'User' and 'Pass' by the 2002 personal user ID and password you receive following an online registration through <a 2003 href="http://register.rtcm-ntrip.org" target="_blank">http://register.rtcm-ntrip.org</a>. 2004 </p> 2005 2006 <p> 2007 Note that the account for an Ntrip Broadcaster is usually limited to pulling a specified maximum number of streams 2008 at the same time. 2009 As running some of the example configurations requires pulling several streams, it is suggested to make sure that 2010 you do not exceed your account's limits. 2011 </p> 2012 2013 <p> 2014 Make also sure that sub-directories 'Input' and 'Output' which are part of the example configurations exist on your 2015 system or adjust 2016 the affected example configuration options according to your needs. 2017 </p> 2018 2019 <p> 2020 Some BNC options require Antenna Phase Center variations as made available from IGS through so-called ANTEX files 2021 at <a href="https://files.igs.org/pub/station/general/igs20.atx" 2022 target="_blank">https://files.igs.org/pub/station/general/igs20.atx</a>. 2023 An example ANTEX file 'igs20.atx' is part of the BNC package for convenience. 2024 </p> 2025 2026 <p> 2027 The example configurations assume that no proxy protects your BNC host. Should a proxy be operated in front of BNC 2028 then 2029 you need to introduce its name or IP and port number in the 'Network' panel. 2030 </p> 2031 2032 <p> 2033 <b>(A) Working with Configuration Files</b><br><br> 2034 You should be able to run all configuration file examples without changing contained options. However, configuration 2035 'Upload.bnc' is an exception because it requires an input stream from a connected network engine. 2036 </p> 2037 2038 <ol type="1"> 2039 <li> Configuration File 'RinexObs.bnc'<br> 2040 Purpose: Convert RTCM streams to RINEX Observation files. 2041 The configuration pulls RTCM Version 3 streams from Ntrip Broadcasters using 2042 Ntrip Version 2 to generate 15min 1Hz RINEX Version 4 Observation files. 2043 See <a href="https://igs.bkg.bund.de/ntrip/#rtcm-obs" target="_blank">https://igs.bkg.bund.de/ntrip/#rtcm-obs</a> 2044 for observation stream resources. 2045 </li> 2046 2047 <li>Configuration File 'RinexEph.bnc'<br> 2048 Purpose: Convert a RTCM stream with navigation messages to RINEX Navigation 2049 files. The configuration pulls a RTCM Version 3 stream with Broadcast Ephemeris 2050 coming from the real-time EUREF and IGS networks and saves hourly RINEX Version 2051 4 Navigation files. See <a href="https://igs.bkg.bund.de/ntrip/#rtcm-eph" 2052 target="_blank">https://igs.bkg.bund.de/ntrip/#rtcm-eph</a> 2053 for further real-time Broadcast Ephemeris resources. 2054 </li> 2055 2056 <li>Configuration File 'BrdcCorr.bnc'<br> 2057 Purpose: Save Broadcast Corrections from RTCM SSR messages in hourly plain 2058 ASCII files. See <a href="https://igs.bkg.bund.de/ntrip/#rtcm-corr" 2059 target="_blank">https://igs.bkg.bund.de/ntrip/#rtcm-corr</a> 2060 for various real-time IGS or EUREF orbit/clock correction products. 2061 </li> 2062 2063 <li>Configuration File 'RinexConcat.bnc'<br> 2064 Purpose: Concatenate several RINEX Version 3 files to produce one compiled file 2065 and edit the marker name in the file header. The sampling interval is set to 30 2066 seconds. See section 'RINEX Editing & QC' in the documentation for examples on 2067 how to call BNC from command line in 'no window' mode for RINEX file editing, 2068 concatenation and quality check. 2069 </li> 2070 2071 <li>Configuration File 'RinexQC.bnc'<br> 2072 Purpose: Check the quality of a RINEX Version 4 file by means of a multipath 2073 analysis. Results are saved on disk in terms of a plot in PNG format. See 2074 section 'RINEX Editing & QC' in the documentation for examples on how to call 2075 BNC from command line in 'no window' mode for RINEX file editing, concatenation 2076 and quality check. 2077 </li> 2078 2079 <li>Configuration File 'RTK.bnc'<br> 2080 Purpose: Feed a serial connected receiver with observations from a nearby 2081 reference station for conventional RTK. The stream is scanned for RTCM 2082 messages. Message type numbers and latencies of incoming observations are 2083 reported in BNC's logfile. 2084 </li> 2085 2086 <li>Configuration File 'FeedEngine.bnc'<br> 2087 Purpose: Feed a real-time GNSS engine with observations from remote reference 2088 stations. The configuration pulls a single stream from an Ntrip Broadcaster. 2089 You could also pull several streams from different casters. Incoming 2090 observations are decoded, synchronized, output through a local IP port and also 2091 saved into a file. Failure and recovery thresholds are specified to inform 2092 about outages. 2093 </li> 2094 2095 <li>Configuration File 'PPP.bnc'<br> 2096 Purpose: Precise Point Positioning from observations of a rover receiver. The 2097 configuration reads RTCM Version 3 observations, a Broadcast Ephemeris stream 2098 and a stream with Broadcast Corrections. Positions are saved in the logfile. 2099 More detailed PPP results are saved in the PPP logfile. 2100 </li> 2101 2102 <li>Configuration File 'PPPNet.bnc'<br> 2103 Purpose: Precise Point Positioning for several rovers or receivers from an 2104 entire network of reference stations in one BNC job. The possible maximum 2105 number of PPP solutions per job depends on the processing power of the hosting 2106 computer. This example configuration reads two RTCM Version 3 observation 2107 streams, a Broadcast Ephemeris stream and a stream with Broadcast Corrections. 2108 Detailed PPP Results for the two stations are saved in PPP logfiles. 2109 </li> 2110 2111 <li>Configuration File 'PPPQuickStart.bnc'<br> 2112 Purpose: Precise Point Positioning in Quick-Start mode from observations of a 2113 static receiver with precisely known position. The configuration reads RTCM 2114 Version 3 observations, Broadcast Corrections and a Broadcast Ephemeris stream. 2115 Positions are saved in NMEA format on disc. They are also output through IP 2116 port for real-time visualization with tools like RTKPLOT. Positions are saved 2117 in the logfile. 2118 </li> 2119 2120 <li>Configuration File 'PPPPostProc.bnc'<br> 2121 Purpose: Precise Point Positioning in post processing mode. BNC reads RINEX 2122 Version 3 Observation and Navigation files and a Broadcast Correction file. 2123 Optionally, an Ionosphere file containing VTEC informations can be used. If such 2124 a file is not specified, VTEC informations from the Broadcast Corrections file 2125 are used. PPP processing options are set to support the Quick-Start mode. 2126 The output is saved in a specific post processing logfile and contains 2127 coordinates derived over time following the implemented PPP filter algorithm. 2128 </li> 2129 2130 <li>Configuration File 'PPPOsm.bnc'<br> 2131 Purpose: Track BNC's point positioning solutions using OpenStreetMap as background. 2132 BNC reads a RINEX Observation file and a RINEX Navigation file to carry out 2133 a 'Standard Point Positioning' solution in post processing mode. 2134 Although this is not a real-time application it requires the BNC host to be 2135 connected to the Internet. Specify a computation speed, then hit button 'Open Map' 2136 to open the track map, then hit 'Start' to visualize receiver positions on top 2137 of OSM maps. 2138 </li> 2139 2140 <li>Configuration File 'PPPGalHAS.bnc'<br> 2141 Purpose: Precise Point Positioning in Quick-Start mode with SSR corrections 2142 from the Galileo HAS Internet Data Distribution (IDD) interface with observations 2143 of a static receiver with quite precisely known position. 2144 Because the Galileo HAS provides Code Biases and corrections for satellite orbits 2145 and clocks for GPS and Galileo, the configuration uses GPS and Galileo 2146 navigation data only. 2147 Access to the Galileo HAS Internet Data Distribution is available by registration: 2148 <a href="https://www.gsc-europa.eu/galileo/services/galileo-high-accuracy-service-has/internet-data-distribution-registration-form" 2149 target="_blank">https://www.gsc-europa.eu/galileo/services/galileo-high-accuracy-service-has/internet-data-distribution-registration-form</a> 2150 2151 Purpose: Single Point Positioning in Quick-Start mode from observations of a 2152 static receiver with quite precisely known position. The configuration uses 2153 Galileo observations only and a Broadcast Ephemeris stream. 2154 </li> 2155 2156 <li>Configuration File 'SaveSp3.bnc'<br> 2157 Purpose: Produces SP3 files from a Broadcast Ephemeris stream and a Broadcast 2158 Correction stream. The Broadcast Correction stream is formally introduced in 2159 BNC's 'Combine Corrections' table. Note that producing SP3 requires an ANTEX 2160 file because SP3 file content should be referred to CoM.. 2161 </li> 2162 2163 <li>Configuration File 'Sp3ETRF2000PPP.bnc'<br> 2164 Purpose: Produce SP3 files from a Broadcast Ephemeris stream and a stream 2165 carrying ETRF2000 Broadcast Corrections. The Broadcast Correction stream is 2166 formally introduced in BNC's 'Combine Corrections' table. The configuration 2167 leads to a SP3 file containing orbits also referred to ETRF2000. Pulling in 2168 addition observations from a reference station at precisely known ETRF2000 2169 position allows comparing an 'INTERNAL' PPP solution with a known ETRF2000 2170 reference coordinate. 2171 </li> 2172 2173 <li>Configuration File 'Upload.bnc'<br> 2174 Purpose: Upload orbits and clocks from a real-time GNSS engine to an Ntrip 2175 Broadcaster. For that the configuration reads precise orbits and clocks in 2176 RTNET format. It also reads a stream carrying Broadcast Ephemeris. BNC converts 2177 the orbits and clocks into Broadcast Corrections and encodes them to 2178 IGS-SSR messages to finally upload them to an Ntrip Broadcaster. The 2179 Broadcast Correction stream is referred to satellite Antenna Phase Center (APC) 2180 and reference system IGS20. Orbits are saved on disk in SP3 format and clocks 2181 are saved in Clock RINEX format. 2182 </li> 2183 2184 <li>Configuration File 'Combi.bnc'<br> 2185 Purpose: Pull 2 streams carrying Broadcast Corrections, and Satellite Code Biases 2186 together with Broadcast Ephemeris from an Ntrip Broadcaster 2187 to produce a combined Broadcast Correction stream. 2188 BNC encodes the combination product in IGS-SSR messages and uploads them to 2189 an Ntrip Broadcaster. The Broadcast Correction stream is referred to 2190 satellite Antenna Phase Center (APC) and not to satellite Center of 2191 Mass (CoM). Its reference system is IGS20. Orbits are saved in SP3 format 2192 (referred to CoM) and clocks in Clock RINEX format. 2193 </li> 2194 2195 <li>Configuration File 'CombiPPP.bnc'<br> 2196 Purpose: This configuration equals the 'Combi.bnc' configuration. However, the 2197 combined Broadcast Corrections are in addition used for an 'INTERNAL' PPP 2198 solutions based on observations from a static reference station with known 2199 precise coordinates. This allows a continuous quality check of the combination 2200 product through observing coordinate displacements. 2201 </li> 2202 2203 <li>Configuration File 'UploadEph.bnc'<br> 2204 Purpose: Pull a number of streams from reference stations to get the 2205 contained Broadcast Ephemeris messages. They are encoded to RTCM Version 3 2206 format and uploaded for the purpose of providing a Broadcast Ephemeris stream 2207 with an update rate of 5 seconds. 2208 </li> 2209 2210 <li>Configuration File 'UploadRaw.bnc'<br> 2211 Purpose: Forward the stream contents of the incoming stream BCEP00BKG0 2212 from products.igs-ip.net to another caster. 2213 </li> 2214 2215 <li>Configuration File 'CompareSp3.bnc'<br> 2216 Purpose: Compare two SP3 files to calculate RMS values for orbit and clock 2217 differences. GPS satellite G05 and GLONASS satellite R18 are excluded from this 2218 comparison. Comparison results are saved in a logfile. 2219 </li> 2220 2221 <li>Configuration File 'Empty.bnc'<br> 2222 Purpose: Provide an empty example configuration file for BNC which only 2223 contains the default settings. 2224 </li> 2225 2226 <li value="29"> Configuration File '29_PPPAR_CNES.bnc'<br> 2227 Purpose: Precise Point Positioning with ambiguity resolution using an raw input file. 2228 Call: bnc --conf 29_PPPAR_CNES.bnc --file WTZR_CNES_20251117.raw 2229 The configuration reads RTCM Version 3 observations, a Broadcast Ephemeris stream 2230 and a stream with SSR Corrections enabling PPP-AR. Positions are saved in the logfile. 2231 More detailed PPP results are saved in the PPP logfile. 2232 2233 <li value="30"> Configuration File '30_PPPAR_WHU.bnc'<br> 2234 Purpose: Precise Point Positioning with ambiguity resolution using an raw input file. 2235 Call: bnc --conf 30_PPPAR_WHU.bnc --file WTZR_WHU_20251129.raw 2236 The configuration reads RTCM Version 3 observations, a Broadcast Ephemeris stream 2237 and a stream with SSR Corrections enabling PPP-AR. Positions are saved in the logfile. 2238 More detailed PPP results are saved in the PPP logfile. 2239 </li> 2240 2241 </ol> 2242 <b>(B) Working with Command Line configuration options</b><br><br> 2243 The following configuration examples make use of BNC's 'Command Line Interface' (CLI). Configuration options are 2244 exclusively specified via command line. No configuration file is used. Examples are provided as shell scripts 2245 for a Linux system. They call BNC in 'no window' batch mode (command line option -nw). The scripts expect 2246 'Example_Configs' to be the current working directory. 2247 </li> 2248 2249 <ol start="23"> 2250 <li>Shell Script 'RinexQC.sh'<br> 2251 Purpose: Equals configuration file example 'RinexQC.bnc', checks the quality of 2252 a RINEX Version 4 file by means of a multipath analysis. The platform offscreen 2253 is used while producing plot files in PNG format. BNC is offline. 2254 All results are saved on disk. 2255 </li> 2256 2257 <li>Shell Script 'RinexConcat.sh'<br> 2258 Purpose: Equals configuration file example 'RinexConcat.bnc', concatenates 2259 several RINEX Version 3 files to produce one compiled file and edit the marker 2260 name in the file header. The sampling interval is set to 30 seconds. BNC is 2261 offline. 2262 </li> 2263 2264 <li>Shell Script 'RinexEph.sh'<br> 2265 Purpose: Equals configuration file example 'RinexEph.bnc', converts a RTCM 2266 stream with navigation messages to RINEX Navigation files. The configuration 2267 pulls a RTCM Version 3 stream with Broadcast Ephemeris coming from the 2268 real-time EUREF and IGS networks and saves hourly RINEX Version 4 Navigation 2269 files. BNC runs online until it's terminated after 10 seconds. 2270 See <a href="https://igs.bkg.bund.de/ntrip/#rtcm-eph" target="_blank">https://igs.bkg.bund.de/ntrip/#rtcm-eph</a> 2271 for further real-time Broadcast Ephemeris resources. 2272 </li> 2273 2274 <li>Shell Script 'ScanLate.sh'<br> 2275 Purpose: Scan an observation stream for contained RTCM message types, print 2276 observation latencies. The output is saved in a logfile. Latencies are 2277 reported every 10 seconds. BNC runs online until it's terminated after 20 2278 seconds. 2279 </li> 2280 2281 <li>Shell Script 'RinexObs.sh'<br> 2282 Purpose: Equals configuration file example 'RinexObs.bnc', converts RTCM 2283 streams to RINEX Observation files. The configuration pulls streams from two 2284 Ntrip Broadcasters using Ntrip Version 2 to generate 15min 1Hz RINEX Version 4 2285 Observation files. 2286 See <a href="https://igs.bkg.bund.de/ntrip/#rtcm-obs" target="_blank">https://igs.bkg.bund.de/ntrip/#rtcm-obs</a> 2287 for observation stream resources. BNC runs online until it's terminated after 30 2288 seconds. 2289 </li> 2290 </ol> 2291 2292 <b>(C) Command Line configuration options overwriting Configuration File options</b><br><br> 2293 For specific applications you may like to use your own set of standard configuration options from a configuration file 2294 and update some of its content via command line. When using a configuration file together with command line 2295 configuration options in one BNC call, the command line configuration options will always overrule options contained 2296 in the configuration file. 2297 2298 <ol start="28"> 2299 <li>Shell Script 'CompareSp3.sh'<br> 2300 Purpose: Equals configuration file example 'CompareSp3.bnc', compares two SP3 2301 files to calculate RMS values for orbit and clock differences. However, instead 2302 of excluding GPS satellite G05 and GLONASS satellite R18 from the comparison as 2303 specified in 'CompareSp3.bnc', GPS satellite G06 and all GLONASS satellites are 2304 excluded via command line option. BNC runs offline. Comparison results are saved 2305 in a logfile. 2306 </li> 2307 </ol> 2308 </p> 2309 2310 <p> 2311 <h4 id="introLimit">1.7 Limitations</h4> 2312 </p> 2313 <ul> 2314 <li> 2315 In Qt-based desktop environments (like KDE) on Unix/Linux platforms it may happen that you experience a crash of 2316 BNC at startup 2317 even when running the program in the background using the '-nw' option. This is a known bug most likely resulting 2318 from an incompatibility of Qt libraries in the environment and in BNC. Entering the command 'unset 2319 SESSION_MANAGER' 2320 before running BNC may help as a work-around. 2321 </li> 2322 2323 <li> 2324 Using RTCM Version 3 to produce RINEX files, BNC will properly handle most message types. However, when handling 2325 message types 1001, 1003, 1009 and 1011 where the ambiguity field is not set, the output will be no valid RINEX. 2326 All values will be stored modulo 299792.458 (speed of light). 2327 </li> 2328 <li> 2329 Using RTCM Version 2, BNC will only handle message types 18 and 19 or 20 and 21 together with position and the 2330 antenna offset information carried in types 3 and 22. Note that processing carrier phase corrections and 2331 pseudo-range corrections contained in message types 20 and 21 needs access to Broadcast Ephemeris. Hence, whenever 2332 dealing with message types 20 and 21, make sure that Broadcast Ephemeris become available for BNC through also 2333 retrieving at least one RTCM Version 3 stream carrying message types 1019 (GPS ephemeris) and 1020 (GLONASS 2334 ephemeris). 2335 </li> 2336 <li> 2337 BNC's 'Get Table' function only shows the STR records of a source-table. You can use an Internet browser to 2338 download the full source-table content of any Ntrip Broadcaster by simply entering its URL in the form of 2339 <u>http://host:port</u>. Data field number 8 in the NET records may provide information about where to register 2340 for an Ntrip Broadcaster account. 2341 </li> 2342 <li> 2343 EUREF as well as IGS adhere to an open data policy. Streams are made available through Ntrip Broadcasters at 2344 <a href="http://euref-ip.net/home" target="_blank">http://euref-ip.net/home</a>, 2345 <a href="http://igs-ip.net/home" target="_blank">http://igs-ip.net/home</a> and 2346 <a href="http://products.igs-ip.net/home" target="_blank">http://products.igs-ip.net/home</a> 2347 free of charge to anyone for any purpose. There is no indication up until now how many users will need to be 2348 supported simultaneously. The given situation may develop in such a way that it might become difficult to serve 2349 all registered users at the same times. In cases where limited resources on the Ntrip Broadcaster side (software 2350 restrictions, bandwidth limitation etc.) dictates, first priority in stream provision will be given to stream 2351 providers followed by re-broadcasting activities and real-time analysis centers while access to others might be 2352 temporarily denied. 2353 </li> 2354 <li> 2355 Once BNC has been started, many of its configuration options cannot be changed as long as it is stopped. See 2356 chapter 'Reread Configuration' for on-the-fly configuration exceptions. 2357 </li> 2358 <li> 2359 Drag and drop of configuration files is currently not supported on Mac OS X. On such system you have to start BNC 2360 via command line. 2361 </li> 2362 </ul> 2363 2364 <p> 2365 <h4 id="introLBack">Looking Back</h4> 2366 </p> 2367 <p> 2368 A basic function of BNC is streaming GNSS data over the open Internet using the Ntrip transport protocol. 2369 Employing IP streaming for satellite positioning goes back to the beginning of our century. 2370 Wolfgang Rupprecht has been the first person who developed TCP/IP server software under the acronym of 2371 DGPS-IP (Rupprecht 2000) and published it under GNU General Public License (GPL). 2372 While connecting marine beacon receivers to PCs with permanent access to the Internet he 2373 transmitted DGPS corrections in an RTCM format to support Differential GPS positioning over North America. 2374 With approximately 200 bits/sec the bandwidth requirement for disseminating beacon data was comparatively small. 2375 Each stream was transmitted over a unique combination of IP address and port. 2376 Websites informed about existing streams and corresponding receiver positions. 2377 </p> 2378 <p> 2379 To cope with an increasing number of transmitting GNSS reference stations, the Federal Agency for Cartography and 2380 Geodesy (BKG) 2381 together with the Informatik Centrum Dortmund (ICD) in Germany developed a streaming protocol for satellite 2382 navigation data called 2383 'Networked Transport of RTCM via Internet Protocol' (Ntrip). The protocol was built on top of the HTTP standard and 2384 included the 2385 provision of meta data describing the stream content. Any stream could now be globally transmitted over just one IP 2386 port: HTTP port 80. 2387 Stream availability and content details became part of the transport protocol. The concept was first published in 2388 2003 2389 (Weber and Honkala 2004, Weber et al. 2005a) and was based on three software components, namely an NtripServer 2390 pushing data from 2391 a reference station to an NtripCaster and an NtripClient pulling data from the stream splitting caster to support a 2392 rover receiver. 2393 (Note that from a socket-programmers perspective NtripServer and NtripClient both act as clients; only the 2394 NtripCaster operates as socket-server.) 2395 Ntrip could essentially benefit from Internet Radio developments. It was the ICECAST multimedia server, which 2396 provided the bases 2397 for BKG's 'Professional Ntrip Broadcaster' with software published first in 2003 and of course again as Open Source 2398 under GPL. 2399 </p> 2400 <p> 2401 For BKG as a governmental agency, making Ntrip an Open Industry Standard has been an objective from the very 2402 beginning. 2403 The 'Radio Technical Commission for Maritime Services' (RTCM) accepted 'Ntrip Version 1' in 2004 as 'RTCM 2404 Recommended Standard' (Weber et al. 2005b). 2405 Nowadays there is almost no geodetic GNSS receiver which does not come with integrated NtripClient and NtripServer 2406 functionality as part of the firmware. 2407 Hundreds of NtripCaster implementations are operated world-wide for highly accurate satellite navigation through RTK 2408 networks. 2409 Thousands of reference stations upload observations via NtripServer to central computing facilities for any kind of 2410 NtripClient application. 2411 In 2011 'Ntrip Version 2' was released (RTCM SC-104 2011) which cleared and fixed some design problems and HTTP 2412 protocol violations. 2413 It also supports TCP/IP via SSL and adds optional communication over RTSP/RTP and UDP. 2414 </p> 2415 <p> 2416 With the advent of Ntrip as an open streaming standard, BKG's interest turned towards taking advantage from free 2417 real-time access to GNSS observations. International Associations such as the IAG Reference Frame Sub Commissions 2418 for Africa (AFREF), Asia & Pacific (APREF), Europe (EUREF), North America (NAREF) Latin America & Caribbean 2419 (SIRGAS), 2420 and the International GNSS Service (IGS) maintain continental or even global GNSS networks with the majority of 2421 modern 2422 receivers supporting Ntrip stream upload. Through operating BKG's NtripCaster software, these networks became 2423 extremely 2424 valuable sources of real-time GNSS information. In 2005, this was the starting point for developing the 2425 'BKG Ntrip Client' (BNC) as a multi-stream Open Source NtripClient that allows pulling hundreds of streams 2426 simultaneously from any number of NtripCaster installations world-wide. Decoding incoming RTCM streams and output 2427 observations epoch by epoch via IP port to feed a real-time GNSS network engine became BNC's first and foremost 2428 ability (Weber and Mervart 2009). Converting decoded streams to short high-rate RINEX files to assist near real-time 2429 applications became a welcome by-product right from the start of this development. 2430 </p> 2431 <p> 2432 Adding real-time Precise Point Positioning (PPP) support to BNC began in 2010 as an important completion in view of 2433 developing an 2434 Open RTCM Standard for that. According to the State Space Representation (SSR) model, new Version 3 messages are 2435 proposed to provide e.g. 2436 satellite orbit and clock corrections and ionospheric corrections as well as biases for code and phase data. 2437 The ultimate goal for SSR standardization is to reach centimeter level accuracy within seconds as an alternative to 2438 Network RTK methods 2439 such as VRS, FKP, and MAC. Because of interoperability aspects, an Open Standard in this area is of particular 2440 interest for clients. 2441 Regarding stand-alone PPP in BNC, it is worth mentioning that the program is not and can never be in competition 2442 with a receiver 2443 manufacturer's proprietary solution. Only software or services that are part of a receiver firmware could have the 2444 potential of 2445 becoming a thread for commercial interests. However, implementing or not implementing an Open PPP approach in a 2446 firmware is and 2447 will always remain a manufacturer's decision. 2448 </p> 2449 <p> 2450 Implementing some post processing capability is essential for debugging real-time software in case of problems. 2451 So certain real-time options in BNC were complemented to work offline through reading data from files. 2452 Moreover, beginning in 2012, the software was extended to support Galileo, BeiDou, and QZSS besides GPS and GLONASS. 2453 With that, the Open Source tool BNC could be used for RINEX Version 3 file editing, concatenation and quality 2454 checks, 2455 a post processing functionality demanded by the IGS Multi-GNSS Experiment and not really covered at that time by 2456 UNAVCO's famous TEQC program with its limitation on GPS. 2457 </p> 2458 2459 <p> 2460 The well-established, mature codebase is mostly written in C++ language. 2461 Its publication under GNU GPL is thought to be well-suited for test, validation and demonstration of new 2462 approaches in precise real-time satellite navigation when IP streaming is involved. Commissioned by a 2463 German governmental agency, the overall intention has been to push the development of RTCM Recommended Standards 2464 to the benefit of IAG institutions and services such as IGS and the interested public in general. 2465 </p> 2466 2467 <p> 2468 <h3 id="optsettings">2. Settings Details</h3> 2469 </p> 2470 <p> 2471 The general documentation approach is to create a separate chapter for each processing option in a sequence which 2472 follows the layout of 2473 BNC's Graphical User Interface (GUI). The advantage is that searching for help by means of the document's Table of 2474 Contents (TOC) is 2475 quite convenient. A rather comprehensive number of TOC entries is the accepted downside of this approach. 2476 </p> 2477 <p> 2478 The following chapters describe how to set BNC program options. They explain the 'Top Menu Bar', the 'Settings 2479 Canvas' with the 2480 processing options, the content of the 'Streams Canvas' and 'Logging Canvas', and the 'Bottom Menu Bar'. 2481 </p> 2482 2483 <p> 2484 <h4 id="topmenu">2.1 Top Menu Bar</h4> 2485 </p> 2486 <p> 2487 The top menu bar allows selecting a font for the BNC windows, save configured options, or quit the program 2488 execution. 2489 It also provides access to the program's documentation. 2490 </p> 2491 2492 <p> 2493 <h4 id="file">2.1.1 File</h4> 2494 </p> 2495 2496 <p> 2497 The 'File' button lets you 2498 </p> 2499 <ul> 2500 <li>Select an appropriate font.<br> 1333 2501 Use smaller font size if the BNC main window exceeds the size of your screen.</li> 1334 <li>Reread and save selected options in configuration file.<br> 2502 <li>Reread and save selected options in configuration file.<br> 1335 2503 When using 'Reread & Save Configuration' while BNC is already processing data, some configuration options 1336 2504 become immediately effective on-the-fly without interrupting uninvolved threads while all of them are saved on 1337 2505 disk. See section 'Reread Configuration' for a list of on-the-fly changeable configuration options.</li> 1338 <li>Quit the BNC program.</li> 1339 </ul> 1340 1341 1342 <p><h4 id="help">2.1.2 Help</h4></p> 1343 1344 <p> 1345 The 'Help' button provides access to 1346 </p> 1347 <ul> 1348 <li>Help contents.<br>You may keep the 'Help Contents' window open while configuring BNC.</li> 1349 <li>A 'Flow Chart' showing BNC linked to a real-time GNSS network engine such as RTNET.</li> 1350 <li>General information about BNC.<br>Close the 'About BNC' window to continue working with BNC.</li> 1351 </ul> 1352 1353 <p><h4 id="network">2.2 Network</h4></p> 1354 <p> 1355 You may need to specify a proxy when running BNC in a protected network. You may also like to use the Transport Layer Security (TLS) and its predecessor, 1356 Secure Sockets Layer (SSL) cryptographic protocols for secure Ntrip communication over the Internet. 1357 </p> 1358 <p><h4 id="proxy">2.2.1 Proxy - Usage in a protected LAN</h4></p> 1359 <p> 1360 If you are running BNC within a protected Local Area Network (LAN), you might need to use a proxy server to access the Internet. 1361 Enter your proxy server IP and port number in case one is operated in front of BNC. 1362 If you do not know the IP and port of your proxy server, check the proxy server settings in your Internet browser or ask your network administrator. 1363 Without any entry, BNC will try to use the system proxies.</p> 1364 <p> 1365 Note that IP streaming is often not allowed in a LAN. In this case you need to ask your network administrator for an appropriate modification 1366 of the local security policy or for the installation of a TCP relay to the Ntrip Broadcaster you need to access. 1367 If this is not possible, you might need to run BNC outside your LAN on a host that has unobstructed connection to the Internet.</p> 1368 1369 <p><h4 id="ssl">2.2.2 SSL - Transport Layer Security</h4></p> 1370 <p> 1371 Communication with an Ntrip Broadcaster over Secure Sockets Layer (SSL) as well as the download of RINEX skeleton files when available from HTTPS websites 1372 requires the exchange of client and/or server certificates. </p><p> 1373 Specify the path to a directory where you save CA certificates on your system. 1374 BNC creates from *.crt and *.pem files a CA certificate database, which is used by the socket during the handshake phase to validate the peer's certificate. </p> 1375 <p> 1376 SSL communication may involve queries coming from the Ntrip Broadcaster or from a HTTPS website hosting RINEX skeletons. 1377 Such a query could show up under BNC's 'Log' tab especially when self-signed SSL certificates are used. Example: 1378 <pre><p style="font-family:Monospace"> 2506 <li>Quit the BNC program.</li> 2507 </ul> 2508 2509 2510 <p> 2511 <h4 id="help">2.1.2 Help</h4> 2512 </p> 2513 2514 <p> 2515 The 'Help' button provides access to 2516 </p> 2517 <ul> 2518 <li>Help contents.<br>You may keep the 'Help Contents' window open while configuring BNC.</li> 2519 <li>A 'Flow Chart' showing BNC linked to a real-time GNSS network engine such as RTNET.</li> 2520 <li>General information about BNC.<br>Close the 'About BNC' window to continue working with BNC.</li> 2521 </ul> 2522 2523 <p> 2524 <h4 id="network">2.2 Network</h4> 2525 </p> 2526 <p> 2527 You may need to specify a proxy when running BNC in a protected network. You may also like to use the Transport 2528 Layer Security (TLS) and its predecessor, 2529 Secure Sockets Layer (SSL) cryptographic protocols for secure Ntrip communication over the Internet. 2530 </p> 2531 <p> 2532 <h4 id="proxy">2.2.1 Proxy - Usage in a protected LAN</h4> 2533 </p> 2534 <p> 2535 If you are running BNC within a protected Local Area Network (LAN), you might need to use a proxy server to access 2536 the Internet. 2537 Enter your proxy server IP and port number in case one is operated in front of BNC. 2538 If you do not know the IP and port of your proxy server, check the proxy server settings in your Internet browser or 2539 ask your network administrator. 2540 Without any entry, BNC will try to use the system proxies.</p> 2541 <p> 2542 Note that IP streaming is often not allowed in a LAN. In this case you need to ask your network administrator for an 2543 appropriate modification 2544 of the local security policy or for the installation of a TCP relay to the Ntrip Broadcaster you need to access. 2545 If this is not possible, you might need to run BNC outside your LAN on a host that has unobstructed connection to 2546 the Internet.</p> 2547 2548 <p> 2549 <h4 id="ssl">2.2.2 SSL - Transport Layer Security</h4> 2550 </p> 2551 <p> 2552 Communication with an Ntrip Broadcaster over Secure Sockets Layer (SSL) as well as the download of RINEX skeleton 2553 files when available from HTTPS websites 2554 requires the exchange of client and/or server certificates. </p> 2555 <p> 2556 Specify the path to a directory where you save CA certificates on your system. 2557 BNC creates from *.crt and *.pem files a CA certificate database, which is used by the socket during the handshake 2558 phase to validate the peer's certificate. </p> 2559 <p> 2560 SSL communication may involve queries coming from the Ntrip Broadcaster or from a HTTPS website hosting RINEX 2561 skeletons. 2562 Such a query could show up under BNC's 'Log' tab especially when self-signed SSL certificates are used. Example: 2563 <pre><p style="font-family:Monospace"> 1379 2564 SSL Error 1380 2565 Server Certificate Issued by: … … 1387 2572 No certificates could be verified 1388 2573 </pre> 1389 </p> 1390 <p> 1391 Queries should not be received by a client when a server uses official SSL certificates. </p> 1392 <p> 1393 You may also just try communication via SSL to check out whether this is supported by the involved Ntrip Broadcaster. 1394 Note that SSL communication is usually done over port 443.</p> 1395 <p> 1396 Two-sided communication with an Ntrip Broadcaster over SSL requires in addition the exchange of client certificates. 1397 Specify the full path to the client certificates on your system. The file naming convention for client certificates in BNC is as follows: 1398 <pre> 2574 </p> 2575 <p> 2576 Queries should not be received by a client when a server uses official SSL certificates. </p> 2577 <p> 2578 You may also just try communication via SSL to check out whether this is supported by the involved Ntrip 2579 Broadcaster. 2580 Note that SSL communication is usually done over port 443.</p> 2581 <p> 2582 Two-sided communication with an Ntrip Broadcaster over SSL requires in addition the exchange of client certificates. 2583 Specify the full path to the client certificates on your system. The file naming convention for client certificates 2584 in BNC is as follows: 2585 <pre> 1399 2586 <hostname>.<port>.crt for the certificate and 1400 2587 <hostname>.<port>.key for the private key, where <hostname> is without https://. 1401 2588 </pre> 1402 </p> 1403 <p> 1404 If available, the client or personal authentication certificate is presented to the peer during the SSL handshake process. 1405 Password protected key files are not supported. 1406 Don't try communication via two sided SSL if you are not sure whether this is supported by the involved Ntrip Broadcaster. </p> 1407 <p> 1408 Tick 'Ignore SSL authorization errors' if you generally trust the server and do not want to be bothered with this. </p> 1409 <p><img src="IMG/Figure07.png"width=800/></p> 1410 <p>Figure 7: BNC's 'Network' panel configured to ignore eventually occurring SSL error messages</p> 1411 1412 <p><h4 id="general">2.3 General</h4></p> 1413 <p> 1414 The following defines general settings for BNC's logfile, file handling, reconfiguration on-the-fly, and auto-start. 1415 </p> 1416 1417 <p><h4 id="genlog">2.3.1 Logfile - optional</h4></p> 1418 <p> 1419 Records of BNC's activities are shown in the 'Log' tab on the bottom of the main window. 1420 These logs can be saved into a file when a valid path is specified in the 'Logfile (full path)' field. 1421 The logfile name will automatically be extended by a string '_YYMMDD' for the current date. 1422 This leads to series of daily logfiles when running BNC continuously. 1423 Message logs cover the communication status between BNC and the Ntrip Broadcaster as well as problems 1424 that may occur in the communication link, stream availability, stream delay, stream conversion etc. 1425 The time stamps within the 'Log' tab are given in UTC. The time stamps within the logfile are given in GPS Time. 1426 The default value for 'Logfile (full path)' is an empty option field, meaning that BNC logs will not be saved into a file. 1427 </p> 1428 <p> 1429 The following is an example for the content of a logfile written by BNC when operated in Precise Point Positioning (PPP) mode: 1430 </p> 1431 <pre><p style="font-family:Monospace"> 2589 </p> 2590 <p> 2591 If available, the client or personal authentication certificate is presented to the peer during the SSL handshake 2592 process. 2593 Password protected key files are not supported. 2594 Don't try communication via two sided SSL if you are not sure whether this is supported by the involved Ntrip 2595 Broadcaster. </p> 2596 <p> 2597 Tick 'Ignore SSL authorization errors' if you generally trust the server and do not want to be bothered with this. 2598 </p> 2599 <p><img src="IMG/Figure07.png" width=800 /></p> 2600 <p>Figure 7: BNC's 'Network' panel configured to ignore eventually occurring SSL error messages</p> 2601 2602 <p> 2603 <h4 id="general">2.3 General</h4> 2604 </p> 2605 <p> 2606 The following defines general settings for BNC's logfile, file handling, reconfiguration on-the-fly, and auto-start. 2607 </p> 2608 2609 <p> 2610 <h4 id="genlog">2.3.1 Logfile - optional</h4> 2611 </p> 2612 <p> 2613 Records of BNC's activities are shown in the 'Log' tab on the bottom of the main window. 2614 These logs can be saved into a file when a valid path is specified in the 'Logfile (full path)' field. 2615 The logfile name will automatically be extended by a string '_YYMMDD' for the current date. 2616 This leads to series of daily logfiles when running BNC continuously. 2617 Message logs cover the communication status between BNC and the Ntrip Broadcaster as well as problems 2618 that may occur in the communication link, stream availability, stream delay, stream conversion etc. 2619 The time stamps within the 'Log' tab are given in UTC. The time stamps within the logfile are given in GPS Time. 2620 The default value for 'Logfile (full path)' is an empty option field, meaning that BNC logs will not be saved into a 2621 file. 2622 </p> 2623 <p> 2624 The following is an example for the content of a logfile written by BNC when operated in Precise Point Positioning 2625 (PPP) mode: 2626 </p> 2627 <pre><p style="font-family:Monospace"> 1432 2628 22-10-04 19:53:57 ========== Start BNC v2.13 (LINUX) ========== 1433 2629 22-10-04 19:53:57 Panel 'PPP' active … … 1450 2646 ... 1451 2647 </pre> 1452 </p> 1453 1454 <p><h4 id="genapp">2.3.2 Append Files - optional</h4></p> 1455 <p> 1456 When BNC is started, new files are created by default and existing files with the same name will be overwritten. However, users might want to append existing files following a restart of BNC, a system crash or a BNC crash. Tick 'Append files' to continue with existing files and keep what has been recorded so far. Note that option 'Append files' affects all types of files created by BNC. 1457 </p> 1458 1459 <p><h4 id="genconf">2.3.3 Reread Configuration - optional</h4></p> 1460 <p> 1461 When operating BNC online in 'no window' mode (command line option -nw), some configuration options can nevertheless be changed on-the-fly without interrupting the running process. For that, you force the program to reread parts of its configuration in pre-defined intervals from disk. Select '1 min', '1 hour', or '1 day' to let BNC reread on-the-fly changeable configuration options every full minute, hour, or day. This lets in-between edited options become effective without interrupting uninvolved threads. 1462 </p> 1463 1464 <p> 1465 Note that following configuration options saved on disk can be changed/edited on-the-fly while BNC is already processing data: 1466 </p> 1467 <p> 1468 <ul> 1469 <li>'mountPoints' to change the selection of streams to be processed, see section 'Streams'</li> 1470 <li>'outWait' to change the 'Wait for full obs epoch' option, see section 'Feed Engine'</li> 1471 <li>'outSampl' to change the 'Sampling' option, see section 'Feed Engine'</li> 1472 <li>'outFile' to change the 'File' name where synchronized observations are saved in plain ASCII format</li> 1473 </ul> 1474 </p> 1475 <p> 1476 </p> 1477 1478 <p><h4 id="genstart">2.3.4 Auto Start - optional</h4></p> 1479 <p> 1480 You may like to auto-start BNC at startup time in window mode with pre-assigned configuration options. This may be required e.g. immediately after booting your system. Tick 'Auto start' to supersede the usage of the 'Start' button. Make sure that you maintain a link to BNC for that in your Autostart directory (Windows systems) or call BNC in a script below directory /etc/init.d (Unix/Linux/Mac OS X systems). 1481 </p> 1482 <p> 1483 See BNC's command line option '-nw' for an auto-start of BNC in 'no window' mode. 1484 </p> 1485 1486 <p><h4 id="rawout">2.3.5 Raw Output File - optional</h4></p> 1487 <p> 1488 BNC can save all data coming in through various streams in one daily file. The information is recorded in the specified 'Raw output file' in the received order and format. This feature allows a BNC user to run the PPP option offline with observations, Broadcast Corrections, and Broadcast Ephemeris being read from a previously saved file. It supports the offline repetition of a real-time situation for debugging purposes (Record & Replay functionality) and is not meant for post processing. 1489 </p> 1490 <p> 1491 Data will be saved in blocks in the received format separated by ASCII time stamps like (example): 1492 <pre> 2648 </p> 2649 2650 <p> 2651 <h4 id="genapp">2.3.2 Append Files - optional</h4> 2652 </p> 2653 <p> 2654 When BNC is started, new files are created by default and existing files with the same name will be overwritten. 2655 However, users might want to append existing files following a restart of BNC, a system crash or a BNC crash. Tick 2656 'Append files' to continue with existing files and keep what has been recorded so far. Note that option 'Append 2657 files' affects all types of files created by BNC. 2658 </p> 2659 2660 <p> 2661 <h4 id="genconf">2.3.3 Reread Configuration - optional</h4> 2662 </p> 2663 <p> 2664 When operating BNC online in 'no window' mode (command line option -nw), some configuration options can nevertheless 2665 be changed on-the-fly without interrupting the running process. For that, you force the program to reread parts of 2666 its configuration in pre-defined intervals from disk. Select '1 min', '1 hour', or '1 day' to let BNC reread 2667 on-the-fly changeable configuration options every full minute, hour, or day. This lets in-between edited options 2668 become effective without interrupting uninvolved threads. 2669 </p> 2670 2671 <p> 2672 Note that following configuration options saved on disk can be changed/edited on-the-fly while BNC is already 2673 processing data: 2674 </p> 2675 <p> 2676 <ul> 2677 <li>'mountPoints' to change the selection of streams to be processed, see section 'Streams'</li> 2678 <li>'outWait' to change the 'Wait for full obs epoch' option, see section 'Feed Engine'</li> 2679 <li>'outSampl' to change the 'Sampling' option, see section 'Feed Engine'</li> 2680 <li>'outFile' to change the 'File' name where synchronized observations are saved in plain ASCII format</li> 2681 </ul> 2682 </p> 2683 <p> 2684 </p> 2685 2686 <p> 2687 <h4 id="genstart">2.3.4 Auto Start - optional</h4> 2688 </p> 2689 <p> 2690 You may like to auto-start BNC at startup time in window mode with pre-assigned configuration options. This may be 2691 required e.g. immediately after booting your system. Tick 'Auto start' to supersede the usage of the 'Start' button. 2692 Make sure that you maintain a link to BNC for that in your Autostart directory (Windows systems) or call BNC in a 2693 script below directory /etc/init.d (Unix/Linux/Mac OS X systems). 2694 </p> 2695 <p> 2696 See BNC's command line option '-nw' for an auto-start of BNC in 'no window' mode. 2697 </p> 2698 2699 <p> 2700 <h4 id="rawout">2.3.5 Raw Output File - optional</h4> 2701 </p> 2702 <p> 2703 BNC can save all data coming in through various streams in one daily file. The information is recorded in the 2704 specified 'Raw output file' in the received order and format. This feature allows a BNC user to run the PPP option 2705 offline with observations, Broadcast Corrections, and Broadcast Ephemeris being read from a previously saved file. 2706 It supports the offline repetition of a real-time situation for debugging purposes (Record & Replay 2707 functionality) and is not meant for post processing. 2708 </p> 2709 <p> 2710 Data will be saved in blocks in the received format separated by ASCII time stamps like (example): 2711 <pre> 1493 2712 2022-10-04T20:07:31 WTZR00DEU0 RTCM_3.3 202 1494 2713 </pre> 1495 </p> 1496 <p> 1497 This example block header tells you that 202 bytes were saved in the data block following this time stamp. The information in this block is encoded in RTCM Version 3 format, comes from mountpoint WTZR00DEU0 and was received at 20:07:31 GPS Time on 2022-10-04. BNC adds its own time stamps in order to allow the reconstruction of a recorded real-time situation. 1498 </p> 1499 <p> 1500 The default value for 'Raw output file' is an empty option field, meaning that BNC will not save all raw data into one single daily file. 1501 </p> 1502 1503 <p><h4 id="rinex">2.4 RINEX Observations</h4></p> 1504 <p> 1505 Observations will be converted to RINEX if they come in either RTCM Version 2 or RTCM Version 3 format. 1506 Depending on the RINEX version and incoming RTCM message types, files generated by BNC may contain 1507 data from GPS, GLONASS, Galileo, BDS, SBAS, QZSS, and/or NavIC. In case an observation type is listed 1508 in the RINEX header but the corresponding observation is unavailable, its value is set to zero '0.000' or left blank. 1509 Note that the 'RINEX TYPE' field in the RINEX Version 3 Observation file header is always set to 'M(MIXED)' or 'Mixed' 1510 even if the file only contains data from one system. 1511 </p> 1512 <p> 1513 It is important to understand that converting RTCM streams to RINEX files requires a priori information on observation types 1514 for specifying a complete RINEX header. Regarding the RINEX Version 2 file header, BNC simply introduces all observation types defined 1515 in the Version 2 standard and later reports "0.000" for observations which are not received. 1516 However, following this approach is not possible for RINEX Version 3 files from RTCM Version 3 MSM streams because of the huge number 1517 of observation types, which might in principle show up. The solution implemented in BNC is to start with 1518 RINEX Version 3 observation type records from skeleton files (see section 'Skeleton Extension' and 'Skeleton Mandatory') and switch to 1519 a default selection of observation types when such file is not available or does not contain the required information. 1520 <p> 1521 Please note that RTCM Version 3 messages 1084 (MSM4) for GLONASS observations do not contain the GLONASS channel numbers. 1522 These observation messages can only be converted to RINEX when you add messages which include the channel numbers, 1523 such as the GLONASS ephemeris messages 1020. The GLONASS channel number is available as extended information within MSM5/7 messages. 1524 </p> 1525 <p> 1526 The screenshot below shows an example setup of BNC when converting streams to RINEX. Streams are coming from Ntrip Broadcaster 1527 <a href="http://igs-ip.net:2101" target="_blank">http://igs-ip.net:2101</a>. 1528 Specifying a decoder string 'ZERO2FILE' would mean to not convert the affected stream but save its content as received. 1529 On Wed Oct 5 2022 that would result for the Mountpoint 'FFMJ00DEU0' into a file named 'FFMJ00DEU0_221005'. 1530 </p> 1531 1532 <p><img src="IMG/Figure08.png"width=1000/></p> 1533 <p>Figure 8: BNC translating incoming RTCM Version 3 Observation streams to 15 min RINEX Version 4 Observation files</p> 1534 1535 <p><h4 id="rnxname">2.4.1 RINEX Filenames</h4></p> 1536 <p> 1537 The RINEX filenames generated by BNC depend on the chosen RINEX format. 1538 The following convention holds in case of RINEX Version 3 and RINEX Version 4 filenames: 1539 </p> 1540 1541 <table> 1542 <tr><td><b>Filename Parameter </b></td><td><b> # Char.</b></td><td><b> Meaning</b></td></tr> 1543 <tr><td>Name</td><td> 9</td><td> Site, station and country code</td></tr> 1544 <tr><td>S</td><td> 1</td><td> Data source</td></tr> 1545 <tr><td>Start Time</td><td> 11</td><td> YYYYDDDHHMM</td></tr> 1546 <tr><td>Period</td><td> 3</td><td> File period</td></tr> 1547 <tr><td>Obs. Freq.</td><td> 3</td><td> Observation frequency</td></tr> 1548 <tr><td>Content</td><td> 2</td><td> Content type</td></tr> 1549 <tr><td>Format</td><td> 3</td><td> File format</td></tr> 1550 <tr><td>Compression</td><td> 2-3</td><td> Compression method (optional)</td></tr> 1551 </table> 1552 1553 <p> 1554 Examples (Figure 8) for Mixed RINEX Version 4 GNSS observation filenames, files containing 15 minutes of data, 1555 one observation every second, 'MO' standing for 'Mixed Observations': 1556 </p> 1557 <pre> 2714 </p> 2715 <p> 2716 This example block header tells you that 202 bytes were saved in the data block following this time stamp. The 2717 information in this block is encoded in RTCM Version 3 format, comes from mountpoint WTZR00DEU0 and was received at 2718 20:07:31 GPS Time on 2022-10-04. BNC adds its own time stamps in order to allow the reconstruction of a recorded 2719 real-time situation. 2720 </p> 2721 <p> 2722 The default value for 'Raw output file' is an empty option field, meaning that BNC will not save all raw data into 2723 one single daily file. 2724 </p> 2725 2726 <p> 2727 <h4 id="rinex">2.4 RINEX Observations</h4> 2728 </p> 2729 <p> 2730 Observations will be converted to RINEX if they come in either RTCM Version 2 or RTCM Version 3 format. 2731 Depending on the RINEX version and incoming RTCM message types, files generated by BNC may contain 2732 data from GPS, GLONASS, Galileo, BDS, SBAS, QZSS, and/or NavIC. In case an observation type is listed 2733 in the RINEX header but the corresponding observation is unavailable, its value is set to zero '0.000' or left 2734 blank. 2735 Note that the 'RINEX TYPE' field in the RINEX Version 3 Observation file header is always set to 'M(MIXED)' or 2736 'Mixed' 2737 even if the file only contains data from one system. 2738 </p> 2739 <p> 2740 It is important to understand that converting RTCM streams to RINEX files requires a priori information on 2741 observation types 2742 for specifying a complete RINEX header. Regarding the RINEX Version 2 file header, BNC simply introduces all 2743 observation types defined 2744 in the Version 2 standard and later reports "0.000" for observations which are not received. 2745 However, following this approach is not possible for RINEX Version 3 files from RTCM Version 3 MSM streams because 2746 of the huge number 2747 of observation types, which might in principle show up. The solution implemented in BNC is to start with 2748 RINEX Version 3 observation type records from skeleton files (see section 'Skeleton Extension' and 'Skeleton 2749 Mandatory') and switch to 2750 a default selection of observation types when such file is not available or does not contain the required 2751 information. 2752 <p> 2753 Please note that RTCM Version 3 messages 1084 (MSM4) for GLONASS observations do not contain the GLONASS channel 2754 numbers. 2755 These observation messages can only be converted to RINEX when you add messages which include the channel numbers, 2756 such as the GLONASS ephemeris messages 1020. The GLONASS channel number is available as extended information within 2757 MSM5/7 messages. 2758 </p> 2759 <p> 2760 The screenshot below shows an example setup of BNC when converting streams to RINEX. Streams are coming from Ntrip 2761 Broadcaster 2762 <a href="http://igs-ip.net:2101" target="_blank">http://igs-ip.net:2101</a>. 2763 Specifying a decoder string 'ZERO2FILE' would mean to not convert the affected stream but save its content as 2764 received. 2765 On Wed Oct 5 2022 that would result for the Mountpoint 'FFMJ00DEU0' into a file named 'FFMJ00DEU0_221005'. 2766 </p> 2767 2768 <p><img src="IMG/Figure08.png" width=1000 /></p> 2769 <p>Figure 8: BNC translating incoming RTCM Version 3 Observation streams to 15 min RINEX Version 4 Observation files 2770 </p> 2771 2772 <p> 2773 <h4 id="rnxname">2.4.1 RINEX Filenames</h4> 2774 </p> 2775 <p> 2776 The RINEX filenames generated by BNC depend on the chosen RINEX format. 2777 The following convention holds in case of RINEX Version 3 and RINEX Version 4 filenames: 2778 </p> 2779 2780 <table> 2781 <tr> 2782 <td><b>Filename Parameter </b></td> 2783 <td><b> # Char.</b></td> 2784 <td><b> Meaning</b></td> 2785 </tr> 2786 <tr> 2787 <td>Name</td> 2788 <td> 9</td> 2789 <td> Site, station and country code</td> 2790 </tr> 2791 <tr> 2792 <td>S</td> 2793 <td> 1</td> 2794 <td> Data source</td> 2795 </tr> 2796 <tr> 2797 <td>Start Time</td> 2798 <td> 11</td> 2799 <td> YYYYDDDHHMM</td> 2800 </tr> 2801 <tr> 2802 <td>Period</td> 2803 <td> 3</td> 2804 <td> File period</td> 2805 </tr> 2806 <tr> 2807 <td>Obs. Freq.</td> 2808 <td> 3</td> 2809 <td> Observation frequency</td> 2810 </tr> 2811 <tr> 2812 <td>Content</td> 2813 <td> 2</td> 2814 <td> Content type</td> 2815 </tr> 2816 <tr> 2817 <td>Format</td> 2818 <td> 3</td> 2819 <td> File format</td> 2820 </tr> 2821 <tr> 2822 <td>Compression</td> 2823 <td> 2-3</td> 2824 <td> Compression method (optional)</td> 2825 </tr> 2826 </table> 2827 2828 <p> 2829 Examples (Figure 8) for Mixed RINEX Version 4 GNSS observation filenames, files containing 15 minutes of data, 2830 one observation every second, 'MO' standing for 'Mixed Observations': 2831 </p> 2832 <pre> 1558 2833 FFMJ00DEU_S_20222781400_15M_01S_MO.rnx 1559 2834 CUT000AUS_S_20222781400_15M_01S_MO.rnx 1560 2835 </pre> 1561 2836 1562 <p> 1563 Note that filename details are produced from the stream's mountpoint as well as corresponding BNC settings and meta data from the Ntrip Broadcaster source-table. 1564 </p> 1565 1566 <p> 1567 RINEX Version 2 filenames are derived from the first 4 characters of the corresponding stream's mountpoint (4-Char Station ID). 1568 For example, data from mountpoints FFMJ00DEU0 and CUT000AUS0 will have 15-minutes RINEX Observation files named 1569 </p> 1570 <pre> 2837 <p> 2838 Note that filename details are produced from the stream's mountpoint as well as corresponding BNC settings and meta 2839 data from the Ntrip Broadcaster source-table. 2840 </p> 2841 2842 <p> 2843 RINEX Version 2 filenames are derived from the first 4 characters of the corresponding stream's mountpoint (4-Char 2844 Station ID). 2845 For example, data from mountpoints FFMJ00DEU0 and CUT000AUS0 will have 15-minutes RINEX Observation files named 2846 </p> 2847 <pre> 1571 2848 FFMJ278O00.22O 1572 2849 CUT0278O00.22O 1573 2850 </pre> 1574 2851 1575 <p> 1576 The RINEX version 2 filneme convention can be summrized as follows: 1577 <pre> 2852 <p> 2853 The RINEX version 2 filneme convention can be summrized as follows: 2854 <pre> 1578 2855 {4-Char-Station-ID}{ddd}{h}{mm}.{yy}O 1579 2856 </pre> 1580 where 'ddd' is the day of year, 'h' is a letter which corresponds to an hour long UTC time block, 1581 'mm' is the starting minute within the hour. and 'yy' is the year. 1582 </p> 1583 1584 <p><h4 id="rnxdir">2.4.2 Directory - optional</h4></p> 1585 <p> 1586 Here you can specify the path to where the RINEX Observation files will be stored. 1587 If the specified directory does not exist, BNC will not create RINEX Observation files. 1588 Default value for 'Directory' is an empty option field, meaning that no RINEX Observation files will be written. 1589 </p> 1590 1591 <p><h4 id="rnxinterval">2.4.3 File Interval - mandatory if 'Directory' is set</h4></p> 1592 <p> 1593 Select the length of the RINEX Observation file to be generated. The default value is 1 day. 1594 </p> 1595 1596 <p><h4 id="rnxsample">2.4.4 Sampling - mandatory if 'Directory' is set </h4></p> 1597 <p> 1598 Select the RINEX Observation sampling interval in seconds. A value of zero '0' tells BNC to store all received epochs into RINEX. This is the default value. 1599 </p> 1600 1601 <p><h4 id="rnxskl">2.4.5 Skeleton Extension - optional</h4></p> 1602 <p> 1603 Whenever BNC starts to generate RINEX Observation files (and then once every day at midnight), it first tries to 1604 retrieve information needed for RINEX headers from so-called public RINEX header skeleton files which are derived 1605 from sitelogs. An HTTP or HTTPS link to a directory containing these skeleton files may be available through data 1606 field number 7 of the affected NET record in the source-table. 1607 See <a href="https://igs.bkg.bund.de/root_ftp/IGS/station/rnxskl/BRUX00BEL.skl" target="_blank">https://igs.bkg.bund.de/root_ftp/IGS/station/rnxskl/BRUX00BEL.skl</a> 1608 for an example of a public RINEX header skeleton file for EPN station Brussels. Note that the download of RINEX 1609 skeleton files from HTTPS websites requires the exchange of client and/or server certificates. 1610 Clarify 'SSL' options offered through panel 'Network' for details. 1611 </p> 1612 <p> 1613 Sometimes public RINEX header skeleton files are not available, their content is not up to date, or you need to put additional/optional 1614 records in the RINEX header. For that, BNC allows using personal skeleton files that contain the header records you would like to include. 1615 You can derive a personal RINEX header skeleton file from the information given in an up to date sitelog. 1616 A file in the RINEX Observations 'Directory' with a 'Skeleton extension' suffix is interpreted by BNC as a personal RINEX header skeleton file 1617 for the corresponding stream. 1618 </p> 1619 <p> 1620 When producing RINEX Observation files from mountpoints like 'BRUX00BEL0' or 'WTZR_RTCM3', the following skeleton filenames would be accepted 1621 </p> 1622 <pre> 2857 where 'ddd' is the day of year, 'h' is a letter which corresponds to an hour long UTC time block, 2858 'mm' is the starting minute within the hour. and 'yy' is the year. 2859 </p> 2860 2861 <p> 2862 <h4 id="rnxdir">2.4.2 Directory - optional</h4> 2863 </p> 2864 <p> 2865 Here you can specify the path to where the RINEX Observation files will be stored. 2866 If the specified directory does not exist, BNC will not create RINEX Observation files. 2867 Default value for 'Directory' is an empty option field, meaning that no RINEX Observation files will be written. 2868 </p> 2869 2870 <p> 2871 <h4 id="rnxinterval">2.4.3 File Interval - mandatory if 'Directory' is set</h4> 2872 </p> 2873 <p> 2874 Select the length of the RINEX Observation file to be generated. The default value is 1 day. 2875 </p> 2876 2877 <p> 2878 <h4 id="rnxsample">2.4.4 Sampling - mandatory if 'Directory' is set </h4> 2879 </p> 2880 <p> 2881 Select the RINEX Observation sampling interval in seconds. A value of zero '0' tells BNC to store all received 2882 epochs into RINEX. This is the default value. 2883 </p> 2884 2885 <p> 2886 <h4 id="rnxskl">2.4.5 Skeleton Extension - optional</h4> 2887 </p> 2888 <p> 2889 Whenever BNC starts to generate RINEX Observation files (and then once every day at midnight), it first tries to 2890 retrieve information needed for RINEX headers from so-called public RINEX header skeleton files which are derived 2891 from sitelogs. An HTTP or HTTPS link to a directory containing these skeleton files may be available through data 2892 field number 7 of the affected NET record in the source-table. 2893 See <a href="https://igs.bkg.bund.de/root_ftp/IGS/station/rnxskl/BRUX00BEL.skl" 2894 target="_blank">https://igs.bkg.bund.de/root_ftp/IGS/station/rnxskl/BRUX00BEL.skl</a> 2895 for an example of a public RINEX header skeleton file for EPN station Brussels. Note that the download of RINEX 2896 skeleton files from HTTPS websites requires the exchange of client and/or server certificates. 2897 Clarify 'SSL' options offered through panel 'Network' for details. 2898 </p> 2899 <p> 2900 Sometimes public RINEX header skeleton files are not available, their content is not up to date, or you need to put 2901 additional/optional 2902 records in the RINEX header. For that, BNC allows using personal skeleton files that contain the header records you 2903 would like to include. 2904 You can derive a personal RINEX header skeleton file from the information given in an up to date sitelog. 2905 A file in the RINEX Observations 'Directory' with a 'Skeleton extension' suffix is interpreted by BNC as a personal 2906 RINEX header skeleton file 2907 for the corresponding stream. 2908 </p> 2909 <p> 2910 When producing RINEX Observation files from mountpoints like 'BRUX00BEL0' or 'WTZR_RTCM3', the following skeleton 2911 filenames would be accepted 2912 </p> 2913 <pre> 1623 2914 BRUX00BEL.skl (9 char corresponding to RINEX version 3,4) 1624 2915 WTZR_RTCM.skl (9 char corresponding to RINEX version 3,4) 1625 2916 </pre> 1626 <p> 1627 if 'Skeleton extension' is set to 'skl'. As an alternative the basename is tried to use with lower cases as well. 1628 </p> 1629 <p> 1630 Note the following regulations regarding personal RINEX header skeleton files: 1631 If such a file exists in the 'RINEX directory', the corresponding public RINEX header skeleton file is ignored. 1632 The RINEX header is generated solely from the content of the personal skeleton. 1633 <ul> 1634 <li>Personal skeletons should contain a complete first header record of type 'RINEX VERSION / TYPE'</li> 1635 <li>They should then contain an empty header record of type 'PGM / RUN BY / DATE' which will be completed by BNC and included in the RINEX file header.</li> 1636 <li>They should further contain complete header records of type 2917 <p> 2918 if 'Skeleton extension' is set to 'skl'. As an alternative the basename is tried to use with lower cases as well. 2919 </p> 2920 <p> 2921 Note the following regulations regarding personal RINEX header skeleton files: 2922 If such a file exists in the 'RINEX directory', the corresponding public RINEX header skeleton file is ignored. 2923 The RINEX header is generated solely from the content of the personal skeleton. 2924 <ul> 2925 <li>Personal skeletons should contain a complete first header record of type 'RINEX VERSION / TYPE'</li> 2926 <li>They should then contain an empty header record of type 'PGM / RUN BY / DATE' which will be completed by BNC and 2927 included in the RINEX file header.</li> 2928 <li>They should further contain complete header records of type 1637 2929 <br> 'MARKER NAME' 1638 2930 <br> 'OBSERVER / AGENCY' … … 1642 2934 <br> 'ANTENNA: DELTA H/E/N' 1643 2935 <br> 'WAVELENGTH FACT L1/2 for RINEX Version 2 files 1644 <br> 'SYS / # / OBS TYPES' for RINEX Version 3 files, will be ignored in Version 2 files</li> 1645 <li>They may contain any other optional complete header record as defined in the RINEX documentation.</li> 1646 <li>They should also contain an empty header record of type '# / TYPES OF OBSERV'. It will be used in RINEX Version 2 files and ignored in Version 3 files. 1647 <li>BNC will include these lines in the final RINEX file header together with an additional 'COMMENT'-line describing the source of the stream.</li> 1648 <li>Personal skeletons must not contain a header record of type 'TIME OF FIRST OBS'</li> 1649 <li>They should finally contain an empty last header record of type 'END OF HEADER'</li> 1650 1651 1652 </ul> 1653 <p> 1654 If neither a public nor a personal RINEX header skeleton file is available for BNC, a default header will be used. 1655 </p> 1656 <p> 1657 The following is a skeleton example for a RINEX file: 1658 </p> 1659 1660 1661 <pre><p style="font-family:Monospace"> 2936 <br> 'SYS / # / OBS TYPES' for RINEX Version 3 files, will be ignored in Version 2 files 2937 </li> 2938 <li>They may contain any other optional complete header record as defined in the RINEX documentation.</li> 2939 <li>They should also contain an empty header record of type '# / TYPES OF OBSERV'. It will be used in RINEX Version 2940 2 files and ignored in Version 3 files. 2941 <li>BNC will include these lines in the final RINEX file header together with an additional 'COMMENT'-line 2942 describing the source of the stream.</li> 2943 <li>Personal skeletons must not contain a header record of type 'TIME OF FIRST OBS'</li> 2944 <li>They should finally contain an empty last header record of type 'END OF HEADER'</li> 2945 2946 2947 </ul> 2948 <p> 2949 If neither a public nor a personal RINEX header skeleton file is available for BNC, a default header will be used. 2950 </p> 2951 <p> 2952 The following is a skeleton example for a RINEX file: 2953 </p> 2954 2955 2956 <pre><p style="font-family:Monospace"> 1662 2957 OBSERVATION DATA M RINEX VERSION / TYPE 1663 2958 PORTIONS OF THIS HEADER GENERATED BY BKG AT 05-Oct-22 04:51 COMMENT … … 1684 2979 1685 2980 1686 <p><h4 id="sklMandat">2.4.6 Skeleton Mandatory - optional</h4></p> 1687 <p> 1688 Tick check box 'Skeleton mandatory' in case you want that RINEX files are only produced when skeleton files are available for BNC. If no skeleton file is available for a particular source, then no RINEX observation file will be produced from the affected stream. 1689 </p> 1690 <p>Note that a skeleton file contains RINEX header information such as receiver and antenna types. In case of stream conversion to RINEX Version 3, a skeleton file should also contain information on potentially available observation types. A missing skeleton file will force BNC to only save a default set of RINEX 3 observation types. 1691 </p> 1692 <p> 1693 A skeleton file carrying only RINEX Version 2 style observation types (2-character codes, e.g. 'C1', 'L1') cannot supply the tracking-mode 1694 attribute a RINEX Version 3/4 header needs, so BNC will not use such a skeleton when producing Version 3/4 files. It is treated the same 1695 way as a missing skeleton: with 'Skeleton mandatory' ticked, no RINEX file is produced for the affected stream; otherwise BNC falls back 1696 to a default set of RINEX 3/4 observation types. Conversely, a skeleton carrying RINEX Version 3/4 style observation types 1697 (3-character codes) is always usable when producing RINEX Version 2 files, because the Version 3/4 codes can be unambiguously mapped 1698 down to Version 2 codes (see section 'Version 2'). 1699 </p> 1700 1701 <p><h4 id="sklDir">2.4.7 Skeleton Directory - optional</h4></p> 1702 <p> 1703 Here you can specify the path, where local skeleton files are located. If no directory is specified, the path is assumed to where the RINEX Observation files will stored. 1704 </p> 1705 1706 1707 <p><h4 id="rnxscript">2.4.8 Script - optional</h4></p> 1708 <p> 1709 Whenever a RINEX Observation file is saved, you might want to compress, copy or upload it immediately via FTP. BNC allows you to execute a script/batch file to carry out these operations. To do that, specify the full path to such script/batch file. BNC will pass the RINEX Observation file path to the script as a command line parameter (%1 on Windows systems, $1 on Unix/Linux/Mac OS X systems). 1710 </p> 1711 <p> 1712 The triggering event for calling the script or batch file is the end of a RINEX Observation file 'Interval'. If that is overridden by a stream outage, the triggering event is the stream reconnection. 1713 </p> 1714 <p> 1715 As an alternative to initiating file uploads through BNC, you may like to call an upload script or batch file through your crontable or Task Scheduler (independent from BNC) once every one or two minutes after the end of each RINEX file 'Interval'. 1716 </p> 1717 1718 <p><h4 id="rnxvers3_4">2.4.9 Version 3 and 4 - optional</h4></p> 1719 <p> 1720 Currently, the default format for RINEX Observation files is RINEX Version 3. 1721 RINEX version 4 can be chosen as well. The resulting observation files are backward compatible to RINEX version 3. 1722 </p> 1723 <p> 1724 Note, that it is possible to force an RTCM Version 2 stream to be saved in RINEX Version 3 file format. 1725 However, this is not recommended, because such stream cannot be precisely mapped to RINEX Version 3 1726 as the required information on tracking modes (observation attributes) is not part of RTCM Version 2. 1727 </p> 1728 <p> 1729 For the same reason, a RINEX header skeleton file that only carries RINEX Version 2 style observation types 1730 (2-character codes) cannot be used to build a RINEX Version 3/4 header. BNC ignores such a skeleton for that 1731 purpose and falls back to a default set of RINEX 3/4 observation types instead, see section 'Skeleton Mandatory'. 1732 </p> 1733 1734 <p><h4 id="rnxvers2">2.4.10 Version 2 - optional</h4></p> 1735 <p> 1736 GNSS observation data are generally hold available within BNC according to attributes as defined in RINEX Version 3 or 4. 1737 These attributes describe the tracking mode or channel when generating the observation signals. 1738 Capital letters specifying signal generation attributes are e.g. A, B, C, D, E, I, L, M, N, P, Q, S, W, X, Y, or Z, see RINEX Version 3 and 4 documentation. 1739 Nevertheless, there are two applications where the program can be setup to produce data files in RINEX Version 2.11 format: 1740 <ol type="1"> 1741 <li>When saving the content of incoming observation streams in RINEX Version 2 files as described in this section.</li> 1742 <li>When editing or concatenating RINEX version 3/4 files to save them in Version 2 format, see section on 'RINEX Editing & QC'.</li> 1743 </ol> 1744 Select RINEX 'Version 2' if you would like to save RTCM Version 3 observation streams in RINEX Version 2 format. 1745 As the Version 2 format ignores signal generation attributes, BNC is forced to somehow map RINEX Version 3/4 to RINEX Version 2 1746 although this cannot be done in one-to-one correspondence. 1747 Hence we introduce a 'Signal priority' list of attributes (characters, forming a string) for mapping Version 3/4 to Version 2. 1748 </p> 1749 <p> 1750 Signal priorities can be specified as equal for all systems, as system specific or as system and frequency specific. For example: 1751 </p> 1752 <ul> 1753 <li>'CWPX_?' (General signal priorities valid for all GNSS)</li> 1754 <li>'I:ABCX' (System specific signal priorities for NavIC)</li> 1755 <li>'G:12&PWCSLX G:5&IQX R:12&PC R:3&IQX' (System and frequency specific signal priorities)</li> 1756 </ul> 1757 1758 <p> 1759 The default 'Signal priority' list is defined as follows: 1760 <ul> 1761 <li>'G:12&PWCSLX G:5&IQX R:12&PC R:3&IQX R:46&ABX E:16&BCXZ E:578&IQX J:1&SLXCZ J:26&SLX J:5&IQX C:267&IQX C:18&DPX I:ABCX S:1&C S:5&IQX'</li> 1762 </ul> 1763 1764 As an example the 'Signal priority' of 'CWPX_?' is explained in more detail: 1765 <ul> 1766 <li>Signals with attribute 'C' enjoy the highest priority. If such a RINEX Version 3/4 observation becomes available, 1767 it is presented as RINEX Version 2 observation if that is the format you wish to see. Observations with other attributes are being ignored.</li> 1768 <li>If no signal with 'C' attribute is available but we have an observation with 'W' attribute, BNC presents that one as RINEX Version 2 observation 1769 and ignores all observations with other attributes. The same applies mutatis mutandis to observations with P and X attributes.</li> 1770 <li>If no signal with 'C', 'W', 'P', or 'X' attribute is available but a signal with undefined generation attribute (underscore character, '_') exists, 1771 BNC presents that one as RINEX Version 2 observation. Note that observation attributes should actually always be available in RINEX Version 3/4. 1772 Hence the underscore character makes only sense in a few very special cases.</li> 1773 <li>If no signal with 'C', 'W', 'P', 'X', or '_' generation attribute exists then the question mark '?' tells BNC to present the first of any other 1774 appearing signal as RINEX Version 2 observation.</li> 1775 </ul> 1776 </p> 1777 1778 <p> 1779 You may like to specify your own 'Signal priority' string(s) for producing RINEX Version 2 files. 1780 </p> 1781 1782 <p><h4 id="ephemeris">2.5 RINEX Ephemeris</h4></p> 1783 <p> 1784 Broadcast Ephemeris can be saved in RINEX Navigation files when received e.g. via RTCM Version 3 message types.</p> 1785 <p> 1786 In RINEX version 4 the following navigation message types are defined but not all of them are currently supported in RTCM version 3 messages: 1787 </p> 1788 <table> 1789 <tr><td>Navigation </td><td>Description </td><td>Constellation </td><td>RTCM </td></tr> 1790 <tr><td>Message Type </td><td> </td><td>and Signal </td><td>Message Type</td></tr> 1791 <tr><td> </td><td> </td><td> </td><td> </td></tr> 1792 <tr><td> </td><td> </td><td> </td><td> </td></tr> 1793 <tr><td>LNAV</td><td> GPS Legacy navigation message </td><td>GPS L1 C/A </td><td>1019</td></tr> 1794 <tr><td> </td><td> QZSS Legacy navigation message </td><td>QZSS L1 C/A or L1 C/B </td><td>1044</td></tr> 1795 <tr><td> </td><td> NavIC Legacy navigation message </td><td>NavIC L5/S SPS </td><td>1041</td></tr> 1796 <tr><td> </td><td> </td><td> </td><td> </td></tr> 1797 <tr><td>FDMA</td><td> GLONASS Legacy FDMA navigation message </td><td>GLO L1 C/A </td><td>1020</td></tr> 1798 <tr><td> </td><td> </td><td> </td><td> </td></tr> 1799 <tr><td>FNAV</td><td> Galileo Free navigation message </td><td>GAL E5a </td><td>1045</td></tr> 1800 <tr><td>INAV</td><td> Galileo Integrity navigation message </td><td>GAL E1, E5b </td><td>1046</td></tr> 1801 <tr><td> </td><td> </td><td> </td><td> </td></tr> 1802 <tr><td>D1 </td><td> BeiDou-2/3 MEO/IGSO navigation message </td><td>BDS B1I, B2I, B3I </td><td>1042</td></tr> 1803 <tr><td>D2 </td><td> BeiDou-2/3 GEO navigation message </td><td>BDS B1I, B2I, B3I </td><td>1042</td></tr> 1804 <tr><td> </td><td> </td><td> </td><td> </td></tr> 1805 <tr><td>SBAS</td><td> SBAS navigation message </td><td>SBAS L1 </td><td>1043</td></tr> 1806 <tr><td> </td><td> </td><td> </td><td> </td></tr> 1807 <tr><td>CNAV</td><td> GPS CNAV navigation message </td><td>GPS L2C, L5 </td><td> </td></tr> 1808 <tr><td> </td><td> QZSS CNAV navigation message </td><td>QZSS L2C, L5 </td><td> </td></tr> 1809 <tr><td> </td><td> </td><td> </td><td> </td></tr> 1810 <tr><td>CNV1</td><td> BeiDou-3 CNAV-1 navigation message </td><td>BDS-3 B1C </td><td> </td></tr> 1811 <tr><td> </td><td> </td><td> </td><td> </td></tr> 1812 <tr><td>CNV2</td><td> GPS CNAV-2 navigation message </td><td>GPS L1C </td><td> </td></tr> 1813 <tr><td> </td><td> QZSS CNAV-2 navigation message </td><td>QZSS L1C </td><td> </td></tr> 1814 <tr><td> </td><td> BeiDou-3 CNAV-2 navigation message </td><td>BDS-3 B2a </td><td> </td></tr> 1815 <tr><td> </td><td> </td><td> </td><td> </td></tr> 1816 <tr><td>CNV3</td><td> BeiDou-3 CNAV-3 navigation message </td><td>BDS-3 B2b </td><td> </td></tr> 1817 <tr><td> </td><td> </td><td> </td><td> </td></tr> 1818 <tr><td>L1NV</td><td> NavIC L1 navigation messages </td><td>NavIC L1 </td><td> </td></tr> 1819 <tr><td> </td><td> </td><td> </td><td> </td></tr> 1820 <tr><td>L1OC</td><td> GLONASS L1 CDMA navigation message </td><td>GLO L1 OC </td><td> </td></tr> 1821 <tr><td>L3OC</td><td> GLONASS L3 CDMA navigation message </td><td>GLO L3 OC </td><td> </td></tr> 1822 </table> 1823 <p> 1824 The filename convention follows the details given in section 'RINEX Filenames' except that the first four characters are 'BRDC'. 1825 </p> 1826 <p> 1827 Regarding RINEX Version 3/4 you will find all ephemeris data for GPS, GLONASS, Galileo, SBAS, QZSS, BDS, and NavIC gathered in one Navigation file. 1828 </p> 1829 <p> 1830 The following is an example for a RINEX Version 3/4 Navigation filename. The file contains one hour's data. 'MN' stands for 'Multi Constellation Navigation' data. 1831 </p> 1832 <pre> 2981 <p> 2982 <h4 id="sklMandat">2.4.6 Skeleton Mandatory - optional</h4> 2983 </p> 2984 <p> 2985 Tick check box 'Skeleton mandatory' in case you want that RINEX files are only produced when skeleton files are 2986 available for BNC. If no skeleton file is available for a particular source, then no RINEX observation file will be 2987 produced from the affected stream. 2988 </p> 2989 <p>Note that a skeleton file contains RINEX header information such as receiver and antenna types. In case of stream 2990 conversion to RINEX Version 3, a skeleton file should also contain information on potentially available observation 2991 types. A missing skeleton file will force BNC to only save a default set of RINEX 3 observation types. 2992 </p> 2993 <p> 2994 A skeleton file carrying only RINEX Version 2 style observation types (2-character codes, e.g. 'C1', 'L1') cannot 2995 supply the tracking-mode 2996 attribute a RINEX Version 3/4 header needs, so BNC will not use such a skeleton when producing Version 3/4 files. It 2997 is treated the same 2998 way as a missing skeleton: with 'Skeleton mandatory' ticked, no RINEX file is produced for the affected stream; 2999 otherwise BNC falls back 3000 to a default set of RINEX 3/4 observation types. Conversely, a skeleton carrying RINEX Version 3/4 style observation 3001 types 3002 (3-character codes) is always usable when producing RINEX Version 2 files, because the Version 3/4 codes can be 3003 unambiguously mapped 3004 down to Version 2 codes (see section 'Version 2'). 3005 </p> 3006 3007 <p> 3008 <h4 id="sklDir">2.4.7 Skeleton Directory - optional</h4> 3009 </p> 3010 <p> 3011 Here you can specify the path, where local skeleton files are located. If no directory is specified, the path is 3012 assumed to where the RINEX Observation files will stored. 3013 </p> 3014 3015 3016 <p> 3017 <h4 id="rnxscript">2.4.8 Script - optional</h4> 3018 </p> 3019 <p> 3020 Whenever a RINEX Observation file is saved, you might want to compress, copy or upload it immediately via FTP. BNC 3021 allows you to execute a script/batch file to carry out these operations. To do that, specify the full path to such 3022 script/batch file. BNC will pass the RINEX Observation file path to the script as a command line parameter (%1 on 3023 Windows systems, $1 on Unix/Linux/Mac OS X systems). 3024 </p> 3025 <p> 3026 The triggering event for calling the script or batch file is the end of a RINEX Observation file 'Interval'. If that 3027 is overridden by a stream outage, the triggering event is the stream reconnection. 3028 </p> 3029 <p> 3030 As an alternative to initiating file uploads through BNC, you may like to call an upload script or batch file 3031 through your crontable or Task Scheduler (independent from BNC) once every one or two minutes after the end of each 3032 RINEX file 'Interval'. 3033 </p> 3034 3035 <p> 3036 <h4 id="rnxvers3_4">2.4.9 Version 3 and 4 - optional</h4> 3037 </p> 3038 <p> 3039 Currently, the default format for RINEX Observation files is RINEX Version 3. 3040 RINEX version 4 can be chosen as well. The resulting observation files are backward compatible to RINEX version 3. 3041 </p> 3042 <p> 3043 Note, that it is possible to force an RTCM Version 2 stream to be saved in RINEX Version 3 file format. 3044 However, this is not recommended, because such stream cannot be precisely mapped to RINEX Version 3 3045 as the required information on tracking modes (observation attributes) is not part of RTCM Version 2. 3046 </p> 3047 <p> 3048 For the same reason, a RINEX header skeleton file that only carries RINEX Version 2 style observation types 3049 (2-character codes) cannot be used to build a RINEX Version 3/4 header. BNC ignores such a skeleton for that 3050 purpose and falls back to a default set of RINEX 3/4 observation types instead, see section 'Skeleton Mandatory'. 3051 </p> 3052 3053 <p> 3054 <h4 id="rnxvers2">2.4.10 Version 2 - optional</h4> 3055 </p> 3056 <p> 3057 GNSS observation data are generally hold available within BNC according to attributes as defined in RINEX Version 3 3058 or 4. 3059 These attributes describe the tracking mode or channel when generating the observation signals. 3060 Capital letters specifying signal generation attributes are e.g. A, B, C, D, E, I, L, M, N, P, Q, S, W, X, Y, or Z, 3061 see RINEX Version 3 and 4 documentation. 3062 Nevertheless, there are two applications where the program can be setup to produce data files in RINEX Version 2.11 3063 format: 3064 <ol type="1"> 3065 <li>When saving the content of incoming observation streams in RINEX Version 2 files as described in this section. 3066 </li> 3067 <li>When editing or concatenating RINEX version 3/4 files to save them in Version 2 format, see section on 'RINEX 3068 Editing & QC'.</li> 3069 </ol> 3070 Select RINEX 'Version 2' if you would like to save RTCM Version 3 observation streams in RINEX Version 2 format. 3071 As the Version 2 format ignores signal generation attributes, BNC is forced to somehow map RINEX Version 3/4 to RINEX 3072 Version 2 3073 although this cannot be done in one-to-one correspondence. 3074 Hence we introduce a 'Signal priority' list of attributes (characters, forming a string) for mapping Version 3/4 to 3075 Version 2. 3076 </p> 3077 <p> 3078 Signal priorities can be specified as equal for all systems, as system specific or as system and frequency specific. 3079 For example: 3080 </p> 3081 <ul> 3082 <li>'CWPX_?' (General signal priorities valid for all GNSS)</li> 3083 <li>'I:ABCX' (System specific signal priorities for NavIC)</li> 3084 <li>'G:12&PWCSLX G:5&IQX R:12&PC R:3&IQX' (System and frequency specific signal priorities)</li> 3085 </ul> 3086 3087 <p> 3088 The default 'Signal priority' list is defined as follows: 3089 <ul> 3090 <li>'G:12&PWCSLX G:5&IQX R:12&PC R:3&IQX R:46&ABX E:16&BCXZ E:578&IQX J:1&SLXCZ J:26&SLX J:5&IQX C:267&IQX C:18&DPX 3091 I:ABCX S:1&C S:5&IQX'</li> 3092 </ul> 3093 3094 As an example the 'Signal priority' of 'CWPX_?' is explained in more detail: 3095 <ul> 3096 <li>Signals with attribute 'C' enjoy the highest priority. If such a RINEX Version 3/4 observation becomes 3097 available, 3098 it is presented as RINEX Version 2 observation if that is the format you wish to see. Observations with other 3099 attributes are being ignored.</li> 3100 <li>If no signal with 'C' attribute is available but we have an observation with 'W' attribute, BNC presents that 3101 one as RINEX Version 2 observation 3102 and ignores all observations with other attributes. The same applies mutatis mutandis to observations with P and X 3103 attributes.</li> 3104 <li>If no signal with 'C', 'W', 'P', or 'X' attribute is available but a signal with undefined generation attribute 3105 (underscore character, '_') exists, 3106 BNC presents that one as RINEX Version 2 observation. Note that observation attributes should actually always be 3107 available in RINEX Version 3/4. 3108 Hence the underscore character makes only sense in a few very special cases.</li> 3109 <li>If no signal with 'C', 'W', 'P', 'X', or '_' generation attribute exists then the question mark '?' tells BNC to 3110 present the first of any other 3111 appearing signal as RINEX Version 2 observation.</li> 3112 </ul> 3113 </p> 3114 3115 <p> 3116 You may like to specify your own 'Signal priority' string(s) for producing RINEX Version 2 files. 3117 </p> 3118 3119 <p> 3120 <h4 id="ephemeris">2.5 RINEX Ephemeris</h4> 3121 </p> 3122 <p> 3123 Broadcast Ephemeris can be saved in RINEX Navigation files when received e.g. via RTCM Version 3 message types.</p> 3124 <p> 3125 In RINEX version 4 the following navigation message types are defined but not all of them are currently supported in 3126 RTCM version 3 messages: 3127 </p> 3128 <table> 3129 <tr> 3130 <td>Navigation </td> 3131 <td>Description </td> 3132 <td>Constellation </td> 3133 <td>RTCM </td> 3134 </tr> 3135 <tr> 3136 <td>Message Type </td> 3137 <td> </td> 3138 <td>and Signal </td> 3139 <td>Message Type</td> 3140 </tr> 3141 <tr> 3142 <td> </td> 3143 <td> </td> 3144 <td> </td> 3145 <td> </td> 3146 </tr> 3147 <tr> 3148 <td> </td> 3149 <td> </td> 3150 <td> </td> 3151 <td> </td> 3152 </tr> 3153 <tr> 3154 <td>LNAV</td> 3155 <td> GPS Legacy navigation message </td> 3156 <td>GPS L1 C/A </td> 3157 <td>1019</td> 3158 </tr> 3159 <tr> 3160 <td> </td> 3161 <td> QZSS Legacy navigation message </td> 3162 <td>QZSS L1 C/A or L1 C/B </td> 3163 <td>1044</td> 3164 </tr> 3165 <tr> 3166 <td> </td> 3167 <td> NavIC Legacy navigation message </td> 3168 <td>NavIC L5/S SPS </td> 3169 <td>1041</td> 3170 </tr> 3171 <tr> 3172 <td> </td> 3173 <td> </td> 3174 <td> </td> 3175 <td> </td> 3176 </tr> 3177 <tr> 3178 <td>FDMA</td> 3179 <td> GLONASS Legacy FDMA navigation message </td> 3180 <td>GLO L1 C/A </td> 3181 <td>1020</td> 3182 </tr> 3183 <tr> 3184 <td> </td> 3185 <td> </td> 3186 <td> </td> 3187 <td> </td> 3188 </tr> 3189 <tr> 3190 <td>FNAV</td> 3191 <td> Galileo Free navigation message </td> 3192 <td>GAL E5a </td> 3193 <td>1045</td> 3194 </tr> 3195 <tr> 3196 <td>INAV</td> 3197 <td> Galileo Integrity navigation message </td> 3198 <td>GAL E1, E5b </td> 3199 <td>1046</td> 3200 </tr> 3201 <tr> 3202 <td> </td> 3203 <td> </td> 3204 <td> </td> 3205 <td> </td> 3206 </tr> 3207 <tr> 3208 <td>D1 </td> 3209 <td> BeiDou-2/3 MEO/IGSO navigation message </td> 3210 <td>BDS B1I, B2I, B3I </td> 3211 <td>1042</td> 3212 </tr> 3213 <tr> 3214 <td>D2 </td> 3215 <td> BeiDou-2/3 GEO navigation message </td> 3216 <td>BDS B1I, B2I, B3I </td> 3217 <td>1042</td> 3218 </tr> 3219 <tr> 3220 <td> </td> 3221 <td> </td> 3222 <td> </td> 3223 <td> </td> 3224 </tr> 3225 <tr> 3226 <td>SBAS</td> 3227 <td> SBAS navigation message </td> 3228 <td>SBAS L1 </td> 3229 <td>1043</td> 3230 </tr> 3231 <tr> 3232 <td> </td> 3233 <td> </td> 3234 <td> </td> 3235 <td> </td> 3236 </tr> 3237 <tr> 3238 <td>CNAV</td> 3239 <td> GPS CNAV navigation message </td> 3240 <td>GPS L2C, L5 </td> 3241 <td> </td> 3242 </tr> 3243 <tr> 3244 <td> </td> 3245 <td> QZSS CNAV navigation message </td> 3246 <td>QZSS L2C, L5 </td> 3247 <td> </td> 3248 </tr> 3249 <tr> 3250 <td> </td> 3251 <td> </td> 3252 <td> </td> 3253 <td> </td> 3254 </tr> 3255 <tr> 3256 <td>CNV1</td> 3257 <td> BeiDou-3 CNAV-1 navigation message </td> 3258 <td>BDS-3 B1C </td> 3259 <td> </td> 3260 </tr> 3261 <tr> 3262 <td> </td> 3263 <td> </td> 3264 <td> </td> 3265 <td> </td> 3266 </tr> 3267 <tr> 3268 <td>CNV2</td> 3269 <td> GPS CNAV-2 navigation message </td> 3270 <td>GPS L1C </td> 3271 <td> </td> 3272 </tr> 3273 <tr> 3274 <td> </td> 3275 <td> QZSS CNAV-2 navigation message </td> 3276 <td>QZSS L1C </td> 3277 <td> </td> 3278 </tr> 3279 <tr> 3280 <td> </td> 3281 <td> BeiDou-3 CNAV-2 navigation message </td> 3282 <td>BDS-3 B2a </td> 3283 <td> </td> 3284 </tr> 3285 <tr> 3286 <td> </td> 3287 <td> </td> 3288 <td> </td> 3289 <td> </td> 3290 </tr> 3291 <tr> 3292 <td>CNV3</td> 3293 <td> BeiDou-3 CNAV-3 navigation message </td> 3294 <td>BDS-3 B2b </td> 3295 <td> </td> 3296 </tr> 3297 <tr> 3298 <td> </td> 3299 <td> </td> 3300 <td> </td> 3301 <td> </td> 3302 </tr> 3303 <tr> 3304 <td>L1NV</td> 3305 <td> NavIC L1 navigation messages </td> 3306 <td>NavIC L1 </td> 3307 <td> </td> 3308 </tr> 3309 <tr> 3310 <td> </td> 3311 <td> </td> 3312 <td> </td> 3313 <td> </td> 3314 </tr> 3315 <tr> 3316 <td>L1OC</td> 3317 <td> GLONASS L1 CDMA navigation message </td> 3318 <td>GLO L1 OC </td> 3319 <td> </td> 3320 </tr> 3321 <tr> 3322 <td>L3OC</td> 3323 <td> GLONASS L3 CDMA navigation message </td> 3324 <td>GLO L3 OC </td> 3325 <td> </td> 3326 </tr> 3327 </table> 3328 <p> 3329 The filename convention follows the details given in section 'RINEX Filenames' except that the first four characters 3330 are 'BRDC'. 3331 </p> 3332 <p> 3333 Regarding RINEX Version 3/4 you will find all ephemeris data for GPS, GLONASS, Galileo, SBAS, QZSS, BDS, and NavIC 3334 gathered in one Navigation file. 3335 </p> 3336 <p> 3337 The following is an example for a RINEX Version 3/4 Navigation filename. The file contains one hour's data. 'MN' 3338 stands for 'Multi Constellation Navigation' data. 3339 </p> 3340 <pre> 1833 3341 BRDC00WRD_S_20222791000_01H_MN.rnx 1834 3342 </pre> 1835 3343 1836 3344 1837 <p> 1838 For RINEX Version 2 Navigation files the last character is 'N' or 'G' for GPS or GLONASS ephemeris in two separate files. 1839 </p> 1840 1841 <p> 1842 Note further that BNC will ignore incorrect or outdated Broadcast Ephemeris data, leaving a note 'WRONG EPHEMERIS' or 'OUTDATED EPHEMERIS' in the logfile. 1843 </p> 1844 1845 <p><h4 id="ephdir">2.5.1 Directory - optional</h4></p> 1846 <p> 1847 Specify a path for saving Broadcast Ephemeris data in RINEX Navigation files. If the specified directory does not exist, 1848 BNC will not create RINEX Navigation files. Default value for Ephemeris 'Directory' is an empty option field, meaning that 1849 no RINEX Navigation files will be created. 1850 </p> 1851 1852 <p><h4 id="ephint">2.5.2 Interval - mandatory if 'Directory' is set</h4></p> 1853 <p> 1854 Select the length of RINEX Navigation files. The default value is '1 day'. 1855 </p> 1856 1857 <p><h4 id="ephport">2.5.3 Port - optional</h4></p> 1858 <p> 1859 BNC can output Broadcast Ephemeris in RINEX Version 3 format on your local host (IP 127.0.0.1) through an IP 'Port'. 1860 Specify an IP port number to activate this function. The default is an empty option field, meaning that no ASCII ephemeris output via IP port is generated. 1861 </p> 1862 <p> 1863 The source code for BNC comes with an example Perl script 'test_tcpip_client.pl' that allows you to read BNC's ephemeris ASCII output from the IP port. 1864 </p> 1865 1866 <p><h4 id="ephvers">2.5.4 Version - optional</h4></p> 1867 <p> 1868 Default format for RINEX Navigation files containing Broadcast Ephemeris is RINEX Version 3, saving the ephemeris data in RINEX Version 3.05. 1869 Select 'Version 2' if you want to save the ephemeris data in RINEX Version 2.11 format. 1870 Select 'Version 4' if you want to save the ephemeris data in RINEX Version 4.x format. 1871 </p> 1872 <p> 1873 Note that the here choosen Version concerns the Broadcast Ephemeris output through IP port as well. 1874 </p> 1875 1876 <p><h4 id="reqc">2.6 RINEX Editing & QC</h4></p> 1877 <p> 1878 Besides stream conversion from RTCM to RINEX, BNC allows editing RINEX files or concatenate their content. RINEX Observation and Navigation files can be handled. 1879 BNC can also carry out a RINEX file Quality Check. In summary and besides Stream <b>T</b>ranslation, this functionality in BNC covers 1880 <ul> 1881 <li>File <b>E</b>diting and concatenation</li> 1882 <li>File <b>Q</b>uality <b>C</b>heck</li> 3345 <p> 3346 For RINEX Version 2 Navigation files the last character is 'N' or 'G' for GPS or GLONASS ephemeris in two separate 3347 files. 3348 </p> 3349 3350 <p> 3351 Note further that BNC will ignore incorrect or outdated Broadcast Ephemeris data, leaving a note 'WRONG EPHEMERIS' 3352 or 'OUTDATED EPHEMERIS' in the logfile. 3353 </p> 3354 3355 <p> 3356 <h4 id="ephdir">2.5.1 Directory - optional</h4> 3357 </p> 3358 <p> 3359 Specify a path for saving Broadcast Ephemeris data in RINEX Navigation files. If the specified directory does not 3360 exist, 3361 BNC will not create RINEX Navigation files. Default value for Ephemeris 'Directory' is an empty option field, 3362 meaning that 3363 no RINEX Navigation files will be created. 3364 </p> 3365 3366 <p> 3367 <h4 id="ephint">2.5.2 Interval - mandatory if 'Directory' is set</h4> 3368 </p> 3369 <p> 3370 Select the length of RINEX Navigation files. The default value is '1 day'. 3371 </p> 3372 3373 <p> 3374 <h4 id="ephport">2.5.3 Port - optional</h4> 3375 </p> 3376 <p> 3377 BNC can output Broadcast Ephemeris in RINEX Version 3 format on your local host (IP 127.0.0.1) through an IP 'Port'. 3378 Specify an IP port number to activate this function. The default is an empty option field, meaning that no ASCII 3379 ephemeris output via IP port is generated. 3380 </p> 3381 <p> 3382 The source code for BNC comes with an example Perl script 'test_tcpip_client.pl' that allows you to read BNC's 3383 ephemeris ASCII output from the IP port. 3384 </p> 3385 3386 <p> 3387 <h4 id="ephvers">2.5.4 Version - optional</h4> 3388 </p> 3389 <p> 3390 Default format for RINEX Navigation files containing Broadcast Ephemeris is RINEX Version 3, saving the ephemeris 3391 data in RINEX Version 3.05. 3392 Select 'Version 2' if you want to save the ephemeris data in RINEX Version 2.11 format. 3393 Select 'Version 4' if you want to save the ephemeris data in RINEX Version 4.x format. 3394 </p> 3395 <p> 3396 Note that the here choosen Version concerns the Broadcast Ephemeris output through IP port as well. 3397 </p> 3398 3399 <p> 3400 <h4 id="reqc">2.6 RINEX Editing & QC</h4> 3401 </p> 3402 <p> 3403 Besides stream conversion from RTCM to RINEX, BNC allows editing RINEX files or concatenate their content. RINEX 3404 Observation and Navigation files can be handled. 3405 BNC can also carry out a RINEX file Quality Check. In summary and besides Stream <b>T</b>ranslation, this 3406 functionality in BNC covers 1883 3407 <ul> 1884 <li>Multipath analysis sky plots</li> 1885 <li>Signal-to-noise ratio sky plots</li> 1886 <li>Satellite availability plots</li> 1887 <li>Satellite elevation plots</li> 1888 <li>PDOP plots</li> 3408 <li>File <b>E</b>diting and concatenation</li> 3409 <li>File <b>Q</b>uality <b>C</b>heck</li> 3410 <ul> 3411 <li>Multipath analysis sky plots</li> 3412 <li>Signal-to-noise ratio sky plots</li> 3413 <li>Satellite availability plots</li> 3414 <li>Satellite elevation plots</li> 3415 <li>PDOP plots</li> 3416 </ul> 1889 3417 </ul> 1890 </ul> 1891 and hence follows UNAVCO's famous TEQC program (see Estey and Meertens 1999). The remarkable thing about BNC in this context is that it supports RINEX Version 3 1892 under GNU General Public License with full GUI support and graphics output. 1893 1894 <p><h4 id="reqcact">2.6.1 Action - optional</h4></p> 1895 <p>Select an action. Options are 'Edit/Concatenate' and 'Analyze'. 1896 <ul> 1897 <li>Select 'Edit/Concatenate' if you want to edit RINEX file content according to options specified under 'Set Edit Options' or if you want 1898 to concatenate several RINEX files.</li> 1899 <li>Select 'Analyze' if you are interested in a quality check of your RINEX file content.</li> 1900 </ul> 1901 1902 <p><h4 id="reqcinp">2.6.2 Input Files - mandatory</h4></p> 1903 <p> 1904 Specify full path to input RINEX Observation file(s), and<br> 1905 specify full path to input RINEX Navigation file(s). 1906 </p> 1907 <p> 1908 In case of a Quality Check the following type of Broadcast navigation messages is used per individulal GNSS: 1909 </p> 1910 <table> 1911 <tr><td>Navigation </td><td>Description </td><td>Constellation </td><td>RTCM </td></tr> 1912 <tr><td>Message Type </td><td> </td><td>and Signal </td><td>Message Type</td></tr> 1913 <tr><td> </td><td> </td><td> </td><td> </td></tr> 1914 <tr><td> </td><td> </td><td> </td><td> </td></tr> 1915 <tr><td>LNAV</td><td> GPS Legacy navigation message </td><td>GPS L1 C/A </td><td>1019</td></tr> 1916 <tr><td> </td><td> QZSS Legacy navigation message </td><td>QZSS L1 C/A or L1 C/B </td><td>1044</td></tr> 1917 <tr><td> </td><td> NavIC Legacy navigation message </td><td>NavIC L5/S SPS </td><td>1041</td></tr> 1918 <tr><td> </td><td> </td><td> </td><td> </td></tr> 1919 <tr><td>FDMA</td><td> GLONASS Legacy FDMA navigation message </td><td>GLO L1 C/A </td><td>1020</td></tr> 1920 <tr><td> </td><td> from M-satellites </td><td> </td><td> </td></tr> 1921 <tr><td> </td><td> </td><td> </td><td> </td></tr> 1922 <tr><td>INAV</td><td> Galileo Integrity navigation message </td><td>GAL E1, E5b </td><td>1046</td></tr> 1923 <tr><td> </td><td> </td><td> </td><td> </td></tr> 1924 <tr><td>D1 </td><td> BeiDou-2/3 MEO/IGSO navigation message </td><td>BDS B1I, B2I, B3I </td><td>1042</td></tr> 1925 <tr><td>D2 </td><td> BeiDou-2/3 GEO navigation message </td><td>BDS B1I, B2I, B3I </td><td>1042</td></tr> 1926 <tr><td> </td><td> </td><td> </td><td> </td></tr> 1927 <tr><td>SBAS</td><td> SBAS navigation message </td><td>SBAS L1 </td><td>1043</td></tr> 1928 </table> 1929 <p> 1930 When specifying several input files, BNC will concatenate their contents. In case of RINEX Observation input files 1931 with different observation type header records, BNC will output only one set of adjusted observation type records in 1932 the RINEX header which fits to the whole file content. 1933 </p> 1934 1935 <p><h4 id="reqcout">2.6.3 Output Files - optional if 'Action' is set to 'Edit/Concatenate'</h4></p> 1936 <p> 1937 If 'Edit/Concatenate' is selected, specifying the full path to output RINEX Observation file(s) and specifying the full 1938 path to output RINEX Navigation file(s) is optional. Default are empty option fields, meaning that no RINEX files will be saved on disk. 1939 </p> 1940 1941 <p><h4 id="reqcminele">2.6.4 Minimum Elevation - optional</h4></p> 1942 <p> 1943 Select a minimum for satellite elevation angles. Observations from a satellite not reaching or exceeding this minimum 1944 elevation will be excluded, no matter whether 'Action' is set to 'Edit/Concatenate' or 'Analyze'. Determining a satellite's 1945 elevation requires specifying a RINEX Navigation input file, see section 'Input Files'. 1946 </p> 1947 <p> 1948 Default is '0 deg', meaning that no elevation mask is applied and all observations are used regardless of the involved satellite's elevation angle. 1949 </p> 1950 1951 <p><h4 id="reqclog">2.6.5 Logfile - optional</h4></p> 1952 <p> 1953 Specify the name of a logfile to save information on RINEX file Editing/Concatenation or Analysis. Default is an empty option field, 1954 meaning that no logfile will be saved. 1955 </p> 1956 1957 <p> 1958 Note that logfiles from analyzing RINEX files may become quite large. Hence, BNC provides an option 'Summary only' 1959 to limit logfile content to some essential information in case 'Action' is set to 'Analyze'. 1960 The following is an example for a RINEX quality check analysis logfile: 1961 </p> 1962 <pre><p style="font-family:Monospace"> 3418 and hence follows UNAVCO's famous TEQC program (see Estey and Meertens 1999). The remarkable thing about BNC in this 3419 context is that it supports RINEX Version 3 3420 under GNU General Public License with full GUI support and graphics output. 3421 3422 <p> 3423 <h4 id="reqcact">2.6.1 Action - optional</h4> 3424 </p> 3425 <p>Select an action. Options are 'Edit/Concatenate' and 'Analyze'. 3426 <ul> 3427 <li>Select 'Edit/Concatenate' if you want to edit RINEX file content according to options specified under 'Set Edit 3428 Options' or if you want 3429 to concatenate several RINEX files.</li> 3430 <li>Select 'Analyze' if you are interested in a quality check of your RINEX file content.</li> 3431 </ul> 3432 3433 <p> 3434 <h4 id="reqcinp">2.6.2 Input Files - mandatory</h4> 3435 </p> 3436 <p> 3437 Specify full path to input RINEX Observation file(s), and<br> 3438 specify full path to input RINEX Navigation file(s). 3439 </p> 3440 <p> 3441 In case of a Quality Check the following type of Broadcast navigation messages is used per individulal GNSS: 3442 </p> 3443 <table> 3444 <tr> 3445 <td>Navigation </td> 3446 <td>Description </td> 3447 <td>Constellation </td> 3448 <td>RTCM </td> 3449 </tr> 3450 <tr> 3451 <td>Message Type </td> 3452 <td> </td> 3453 <td>and Signal </td> 3454 <td>Message Type</td> 3455 </tr> 3456 <tr> 3457 <td> </td> 3458 <td> </td> 3459 <td> </td> 3460 <td> </td> 3461 </tr> 3462 <tr> 3463 <td> </td> 3464 <td> </td> 3465 <td> </td> 3466 <td> </td> 3467 </tr> 3468 <tr> 3469 <td>LNAV</td> 3470 <td> GPS Legacy navigation message </td> 3471 <td>GPS L1 C/A </td> 3472 <td>1019</td> 3473 </tr> 3474 <tr> 3475 <td> </td> 3476 <td> QZSS Legacy navigation message </td> 3477 <td>QZSS L1 C/A or L1 C/B </td> 3478 <td>1044</td> 3479 </tr> 3480 <tr> 3481 <td> </td> 3482 <td> NavIC Legacy navigation message </td> 3483 <td>NavIC L5/S SPS </td> 3484 <td>1041</td> 3485 </tr> 3486 <tr> 3487 <td> </td> 3488 <td> </td> 3489 <td> </td> 3490 <td> </td> 3491 </tr> 3492 <tr> 3493 <td>FDMA</td> 3494 <td> GLONASS Legacy FDMA navigation message </td> 3495 <td>GLO L1 C/A </td> 3496 <td>1020</td> 3497 </tr> 3498 <tr> 3499 <td> </td> 3500 <td> from M-satellites </td> 3501 <td> </td> 3502 <td> </td> 3503 </tr> 3504 <tr> 3505 <td> </td> 3506 <td> </td> 3507 <td> </td> 3508 <td> </td> 3509 </tr> 3510 <tr> 3511 <td>INAV</td> 3512 <td> Galileo Integrity navigation message </td> 3513 <td>GAL E1, E5b </td> 3514 <td>1046</td> 3515 </tr> 3516 <tr> 3517 <td> </td> 3518 <td> </td> 3519 <td> </td> 3520 <td> </td> 3521 </tr> 3522 <tr> 3523 <td>D1 </td> 3524 <td> BeiDou-2/3 MEO/IGSO navigation message </td> 3525 <td>BDS B1I, B2I, B3I </td> 3526 <td>1042</td> 3527 </tr> 3528 <tr> 3529 <td>D2 </td> 3530 <td> BeiDou-2/3 GEO navigation message </td> 3531 <td>BDS B1I, B2I, B3I </td> 3532 <td>1042</td> 3533 </tr> 3534 <tr> 3535 <td> </td> 3536 <td> </td> 3537 <td> </td> 3538 <td> </td> 3539 </tr> 3540 <tr> 3541 <td>SBAS</td> 3542 <td> SBAS navigation message </td> 3543 <td>SBAS L1 </td> 3544 <td>1043</td> 3545 </tr> 3546 </table> 3547 <p> 3548 When specifying several input files, BNC will concatenate their contents. In case of RINEX Observation input files 3549 with different observation type header records, BNC will output only one set of adjusted observation type records in 3550 the RINEX header which fits to the whole file content. 3551 </p> 3552 3553 <p> 3554 <h4 id="reqcout">2.6.3 Output Files - optional if 'Action' is set to 'Edit/Concatenate'</h4> 3555 </p> 3556 <p> 3557 If 'Edit/Concatenate' is selected, specifying the full path to output RINEX Observation file(s) and specifying the 3558 full 3559 path to output RINEX Navigation file(s) is optional. Default are empty option fields, meaning that no RINEX files 3560 will be saved on disk. 3561 </p> 3562 3563 <p> 3564 <h4 id="reqcminele">2.6.4 Minimum Elevation - optional</h4> 3565 </p> 3566 <p> 3567 Select a minimum for satellite elevation angles. Observations from a satellite not reaching or exceeding this 3568 minimum 3569 elevation will be excluded, no matter whether 'Action' is set to 'Edit/Concatenate' or 'Analyze'. Determining a 3570 satellite's 3571 elevation requires specifying a RINEX Navigation input file, see section 'Input Files'. 3572 </p> 3573 <p> 3574 Default is '0 deg', meaning that no elevation mask is applied and all observations are used regardless of the 3575 involved satellite's elevation angle. 3576 </p> 3577 3578 <p> 3579 <h4 id="reqclog">2.6.5 Logfile - optional</h4> 3580 </p> 3581 <p> 3582 Specify the name of a logfile to save information on RINEX file Editing/Concatenation or Analysis. Default is an 3583 empty option field, 3584 meaning that no logfile will be saved. 3585 </p> 3586 3587 <p> 3588 Note that logfiles from analyzing RINEX files may become quite large. Hence, BNC provides an option 'Summary only' 3589 to limit logfile content to some essential information in case 'Action' is set to 'Analyze'. 3590 The following is an example for a RINEX quality check analysis logfile: 3591 </p> 3592 <pre><p style="font-family:Monospace"> 1963 3593 QC Format Version : 1.1 1964 3594 … … 2206 3836 </pre> 2207 3837 2208 <p> 2209 <b>The epoch-specific output </b> 2210 </p> 2211 2212 <p> 2213 Each 'Epoch Record' contains 9 parameters. Example: 2214 </p> 2215 <pre> 3838 <p> 3839 <b>The epoch-specific output </b> 3840 </p> 3841 3842 <p> 3843 Each 'Epoch Record' contains 9 parameters. Example: 3844 </p> 3845 <pre> 2216 3846 > 2022 06 21 00 00 30.0000000 49 0.5 2217 3847 </pre> 2218 <p> 2219 Their meaning is as follows: 2220 </p> 2221 <ul> 2222 <li>Special character '>' is the first character in each 'Epoch Record' (as we have it in RINEX Version 3/4)</li> 2223 <li>Year, GPS time</li> 2224 <li>Month, GPS time</li> 2225 <li>Day, GPS time</li> 2226 <li>Hour, GPS time</li> 2227 <li>Minute, GPS time</li> 2228 <li>Second, GPS time</li> 2229 <li>Number of satellites</li> 2230 <li>PDOP value</li> 2231 </ul> 2232 <p> 2233 Each of the 'Satellite Records' in such an epoch block carries information for one specific satellite. Example: 2234 </p> 2235 <pre> 3848 <p> 3849 Their meaning is as follows: 3850 </p> 3851 <ul> 3852 <li>Special character '>' is the first character in each 'Epoch Record' (as we have it in RINEX Version 3/4) 3853 </li> 3854 <li>Year, GPS time</li> 3855 <li>Month, GPS time</li> 3856 <li>Day, GPS time</li> 3857 <li>Hour, GPS time</li> 3858 <li>Minute, GPS time</li> 3859 <li>Second, GPS time</li> 3860 <li>Number of satellites</li> 3861 <li>PDOP value</li> 3862 </ul> 3863 <p> 3864 Each of the 'Satellite Records' in such an epoch block carries information for one specific satellite. Example: 3865 </p> 3866 <pre> 2236 3867 E05 37.64 160.08 10 L1C .. 46.5 C1C . 0.13 L6C .. 49.7 C6C . 0.00 L5Q .. 47.0 C5Q . 0.12 L7Q .. 47.5 C7Q . 0.10 L8Q .. 50.3 C8Q . 0.00 2237 3868 </pre> 2238 <p> 2239 A satellite-specific line starts with: 2240 </p> 2241 <ul> 2242 <li>GNSS Indicator and Satellite Vehicle Pseudo Random Number</li> 2243 <li>Elevation [°]</li> 2244 <li>Azimuth [°]</li> 2245 <li>Number of observations types</li> 2246 </ul> 2247 <p> 2248 An observation type block, for example 2249 </p> 2250 <pre> 3869 <p> 3870 A satellite-specific line starts with: 3871 </p> 3872 <ul> 3873 <li>GNSS Indicator and Satellite Vehicle Pseudo Random Number</li> 3874 <li>Elevation [°]</li> 3875 <li>Azimuth [°]</li> 3876 <li>Number of observations types</li> 3877 </ul> 3878 <p> 3879 An observation type block, for example 3880 </p> 3881 <pre> 2251 3882 L1C .. 46.5 2252 3883 </pre> 2253 <p> 2254 or 2255 </p> 2256 <pre> 3884 <p> 3885 or 3886 </p> 3887 <pre> 2257 3888 C1C . 0.13 2258 3889 </pre> 2259 <p> 2260 contains the RINEX Version 3/4 observation code and 2261 </p> 2262 <ul> 2263 <li>for a carrier phase observation: </li> 3890 <p> 3891 contains the RINEX Version 3/4 observation code and 3892 </p> 2264 3893 <ul> 2265 <li>two characters, where 's' means cycle slip, 'g' means gap and '.' means OK </li> 2266 <li> signal-to-noise ratio SNR [dBHz] </li> 3894 <li>for a carrier phase observation: </li> 3895 <ul> 3896 <li>two characters, where 's' means cycle slip, 'g' means gap and '.' means OK </li> 3897 <li> signal-to-noise ratio SNR [dBHz] </li> 3898 </ul> 3899 <li>for a code observation: </li> 3900 <ul> 3901 <li> two characters: the first one (for slips) is empty, 'g' means gap and '.' means OK </li> 3902 <li> multipath standard deviation [m] </li> 3903 </ul> 2267 3904 </ul> 2268 <li>for a code observation: </li> 3905 <p> 3906 With respect to the summary note, that in addition to cycle slips recorded in the RINEX 'file', 3907 cycle slips identified by BNC are reported as 'found'. 3908 </p> 3909 3910 <p> 3911 <h4 id="reqcplots">2.6.6 Plots for Signals - mandatory if 'Action' is set to 'Analyze'</h4> 3912 </p> 3913 <p> 3914 BNC can produce plots for multipath, signal-to-noise ratio, satellite availability, satellite elevation, and PDOP 3915 values. 3916 The 'Plots for signals' option lets you exactly specify the observation signals to be used for that and also enables 3917 the plot production. 3918 You can specify 2269 3919 <ul> 2270 <li> two characters: the first one (for slips) is empty, 'g' means gap and '.' means OK </li> 2271 <li> multipath standard deviation [m] </li> 3920 <li> the navigation system (C = BDS, E = Galileo, G = GPS, I = NavIC, J = QZSS, R = GLONASS, S = SBAS),</li> 3921 <li> the band/frequency, and </li> 3922 <li> the attribute as defined in RINEX Version 3/4.</li> 2272 3923 </ul> 2273 </ul> 2274 <p> 2275 With respect to the summary note, that in addition to cycle slips recorded in the RINEX 'file', 2276 cycle slips identified by BNC are reported as 'found'. 2277 </p> 2278 2279 <p><h4 id="reqcplots">2.6.6 Plots for Signals - mandatory if 'Action' is set to 'Analyze'</h4></p> 2280 <p> 2281 BNC can produce plots for multipath, signal-to-noise ratio, satellite availability, satellite elevation, and PDOP values. 2282 The 'Plots for signals' option lets you exactly specify the observation signals to be used for that and also enables the plot production. 2283 You can specify 2284 <ul> 2285 <li> the navigation system (C = BDS, E = Galileo, G = GPS, I = NavIC, J = QZSS, R = GLONASS, S = SBAS),</li> 2286 <li> the band/frequency, and </li> 2287 <li> the attribute as defined in RINEX Version 3/4.</li> 2288 </ul> 2289 Specifications for band/frequency and attribute must be separated by ampersand character '&'. 2290 <p> 2291 Specifications for each navigation system must be separated by blank character ' '. 2292 </p> 2293 <p> 2294 Default is 'G:1&2&5 R:1&2&3 E:1&7 C:2&6 J:1&2 I:5&9 S:1&5'. Specifying an empty option string would be overruled by this default. 2295 </p> 2296 Examples for the 'Plots for signals' option: 2297 <ul> 2298 <li>G:1&2&5 E:1&7 (Plots will be based on GPS observations on 1st, 2nd and 5th frequency as well as on Galileo observations on 1st and 7th frequency.)</li> 2299 <li>G:1C&5X (Plots will be based on GPS observations on the 1st frequency in 'C' tracking mode andand on the 5th frequency in 'X' tracking mode.)</li> 2300 <li>C:2I&6I (Plots will be based on BDS observations on the 2th and on the 6th frequency; both in 'I' tracking mode.)</li> 2301 </ul> 2302 <p> 2303 An example configuration with plot results can be seen below. 2304 </p> 2305 <p><img src="IMG/Figure09.png"width=1000/></p> 2306 <p>Figure 9: Example for creating RINEX quality check analysis graphics output with BNC</p> 2307 2308 <p><img src="IMG/Figure10.png"width=1000/></p> 2309 <p>Figure 10: Example for satellite availability, elevation and PDOP plots as a result of a RINEX quality check analysis with BNC</p> 2310 2311 <p><img src="IMG/Figure11.png"width=1000/></p> 2312 <p>Figure 11: Sky plot examples for multipath, part of RINEX quality check analysis with BNC</p> 2313 2314 <p><img src="IMG/Figure12.png"width=1000/></p> 2315 <p>Figure 12: Sky plot examples for signal-to-noise ratio, part of RINEX quality check analysis with BNC</p> 2316 2317 <p><h4 id="reqcdir">2.6.7 Directory for Plots - optional if 'Action' is set to 'Analyze'</h4></p> 2318 <p> 2319 If 'Analyze' is selected, specifying the path to a directory where plot files will be saved is optional. 2320 Filenames will be composed from the RINEX input filename(s) plus suffix 'png' to indicate the plot file format in use. 2321 Default is an empty option field, meaning that plots will not be saved on disk. 2322 </p> 2323 2324 <p><h4 id="reqcedit">2.6.8 Set Edit Options - mandatory if 'Action' is set to 'Edit/Concatenate'</h4></p> 2325 <p> 2326 Once the 'Edit/Concatenate' action is selected, you have to 'Set Edit Options'. 2327 BNC lets you specify the RINEX version, a signal priority list when mapping RINEX Version 3/4 to Version 2, 2328 the sampling interval, begin and end of file, operator, observation types, comment lines, and marker, antenna, 2329 receiver details. Note that some of the specifications for editing and concatenation are only meaningful 2330 for RINEX Observation files but not for RINEX Navigation files. 2331 </p> 2332 2333 <p> 2334 A note on converting RINEX Version 3 to RINEX Version 2 and vice versa: 2335 </p> 2336 2337 <ul> 2338 <li>The RINEX Version 2 format ignores signal generation attributes. Therefore, when converting <b>RINEX Version 3/4 to Version 2</b> 2339 Observation files, BNC is forced to somehow map signals with attributes to signals without attributes although this cannot be done 2340 in one-to-one correspondence. Hence we introduce a 'Version 2 Signal Priority' list of attributes (characters, forming a string) 3924 Specifications for band/frequency and attribute must be separated by ampersand character '&'. 3925 <p> 3926 Specifications for each navigation system must be separated by blank character ' '. 3927 </p> 3928 <p> 3929 Default is 'G:1&2&5 R:1&2&3 E:1&7 C:2&6 J:1&2 I:5&9 S:1&5'. Specifying an empty option string would be overruled by 3930 this default. 3931 </p> 3932 Examples for the 'Plots for signals' option: 3933 <ul> 3934 <li>G:1&2&5 E:1&7 (Plots will be based on GPS observations on 1st, 2nd and 5th frequency as well as on Galileo 3935 observations on 1st and 7th frequency.)</li> 3936 <li>G:1C&5X (Plots will be based on GPS observations on the 1st frequency in 'C' tracking mode andand on the 5th 3937 frequency in 'X' tracking mode.)</li> 3938 <li>C:2I&6I (Plots will be based on BDS observations on the 2th and on the 6th frequency; both in 'I' tracking 3939 mode.)</li> 3940 </ul> 3941 <p> 3942 An example configuration with plot results can be seen below. 3943 </p> 3944 <p><img src="IMG/Figure09.png" width=1000 /></p> 3945 <p>Figure 9: Example for creating RINEX quality check analysis graphics output with BNC</p> 3946 3947 <p><img src="IMG/Figure10.png" width=1000 /></p> 3948 <p>Figure 10: Example for satellite availability, elevation and PDOP plots as a result of a RINEX quality check 3949 analysis with BNC</p> 3950 3951 <p><img src="IMG/Figure11.png" width=1000 /></p> 3952 <p>Figure 11: Sky plot examples for multipath, part of RINEX quality check analysis with BNC</p> 3953 3954 <p><img src="IMG/Figure12.png" width=1000 /></p> 3955 <p>Figure 12: Sky plot examples for signal-to-noise ratio, part of RINEX quality check analysis with BNC</p> 3956 3957 <p> 3958 <h4 id="reqcdir">2.6.7 Directory for Plots - optional if 'Action' is set to 'Analyze'</h4> 3959 </p> 3960 <p> 3961 If 'Analyze' is selected, specifying the path to a directory where plot files will be saved is optional. 3962 Filenames will be composed from the RINEX input filename(s) plus suffix 'png' to indicate the plot file format in 3963 use. 3964 Default is an empty option field, meaning that plots will not be saved on disk. 3965 </p> 3966 3967 <p> 3968 <h4 id="reqcedit">2.6.8 Set Edit Options - mandatory if 'Action' is set to 'Edit/Concatenate'</h4> 3969 </p> 3970 <p> 3971 Once the 'Edit/Concatenate' action is selected, you have to 'Set Edit Options'. 3972 BNC lets you specify the RINEX version, a signal priority list when mapping RINEX Version 3/4 to Version 2, 3973 the sampling interval, begin and end of file, operator, observation types, comment lines, and marker, antenna, 3974 receiver details. Note that some of the specifications for editing and concatenation are only meaningful 3975 for RINEX Observation files but not for RINEX Navigation files. 3976 </p> 3977 3978 <p> 3979 A note on converting RINEX Version 3 to RINEX Version 2 and vice versa: 3980 </p> 3981 3982 <ul> 3983 <li>The RINEX Version 2 format ignores signal generation attributes. Therefore, when converting <b>RINEX Version 3/4 3984 to Version 2</b> 3985 Observation files, BNC is forced to somehow map signals with attributes to signals without attributes although 3986 this cannot be done 3987 in one-to-one correspondence. Hence we introduce a 'Version 2 Signal Priority' list of attributes (characters, 3988 forming a string) 2341 3989 for mapping Version 3/4 to Version 2, see details in section 'RINEX Observations/Version 2'.</li> 2342 <li>Converting <b>RINEX Version 2 to Version 3/4</b> Observation files is not recommended because the attribute in the observation code 2343 (last character out of the 3-character) is left blank if unknown. This is a compromise, which is not in accordance with the 3990 <li>Converting <b>RINEX Version 2 to Version 3/4</b> Observation files is not recommended because the attribute in 3991 the observation code 3992 (last character out of the 3-character) is left blank if unknown. This is a compromise, which is not in accordance 3993 with the 2344 3994 RINEX Version 3/4 documentation.</li> 2345 </ul> 2346 2347 <p> 2348 Optionally you may specify a 'RUN BY' string to be included in the emerging new RINEX file header. Default is an empty option field, 2349 meaning the operator's ID is automatically used as 'RUN BY' string. 2350 </p> 2351 <p> 2352 You can specify a list of observation codes in field 'Use Obs. Types' to limit the output file content to specific observation codes. 2353 GNSS system characters in that list are followed by a colon and a 2- or 3-Character observation code. 2354 A 2-Character observation code would mean that all available tracking modes of the affected observation type and frequency 2355 will be accepted as part of the RINEX output file. Observation codes are separated by a blank character. 2356 Default is an empty option field, meaning that any input observation code will become part of the RINEX output file. 2357 </p> 2358 2359 <p> 2360 Specifying comment line text to be added to the emerging new RINEX file header is another option. 2361 Any introduction of a newline through '\n' in this enforces the beginning of a further comment line. 2362 Comment lines will be added to the header immediately after the 'PGM / RUN BY / DATE' record. 2363 Default is an empty option field, meaning that no additional comment line will be added to the RINEX header. 2364 </p> 2365 2366 <p> 2367 If you specify a 'New' but no 'Old' marker/antenna/receiver name, the corresponding data field in the emerging new RINEX Observation file 2368 will be filled accordingly. If you in addition specify an 'Old' marker/antenna/receiver name, the corresponding data field 2369 in the emerging new RINEX Observation file will only be filled accordingly where 'Old' specifications match existing file content. 2370 </p> 2371 2372 <p><img src="IMG/Figure13.png"width=500/></p> 2373 <p>Figure 13: Example for BNC's 'RINEX Editing Options' window</p> 2374 2375 <p><img src="IMG/Figure14.png"width=1000/></p> 2376 <p>Figure 14: Example for RINEX file concatenation with BNC</p> 2377 2378 <p><h4 id="reqccommand">2.6.9 Command Line, No Window - optional</h4></p> 2379 <p> 2380 BNC applies options from the configuration file but allows updating every one of them on the command line 2381 while the content of the configuration file remains unchanged, see section on 'Command Line Options'. 2382 Note the following syntax for Command Line Interface (CLI) options: 2383 </p> 2384 <pre> 3995 </ul> 3996 3997 <p> 3998 Optionally you may specify a 'RUN BY' string to be included in the emerging new RINEX file header. Default is an 3999 empty option field, 4000 meaning the operator's ID is automatically used as 'RUN BY' string. 4001 </p> 4002 <p> 4003 You can specify a list of observation codes in field 'Use Obs. Types' to limit the output file content to specific 4004 observation codes. 4005 GNSS system characters in that list are followed by a colon and a 2- or 3-Character observation code. 4006 A 2-Character observation code would mean that all available tracking modes of the affected observation type and 4007 frequency 4008 will be accepted as part of the RINEX output file. Observation codes are separated by a blank character. 4009 Default is an empty option field, meaning that any input observation code will become part of the RINEX output file. 4010 </p> 4011 4012 <p> 4013 Specifying comment line text to be added to the emerging new RINEX file header is another option. 4014 Any introduction of a newline through '\n' in this enforces the beginning of a further comment line. 4015 Comment lines will be added to the header immediately after the 'PGM / RUN BY / DATE' record. 4016 Default is an empty option field, meaning that no additional comment line will be added to the RINEX header. 4017 </p> 4018 4019 <p> 4020 If you specify a 'New' but no 'Old' marker/antenna/receiver name, the corresponding data field in the emerging new 4021 RINEX Observation file 4022 will be filled accordingly. If you in addition specify an 'Old' marker/antenna/receiver name, the corresponding data 4023 field 4024 in the emerging new RINEX Observation file will only be filled accordingly where 'Old' specifications match existing 4025 file content. 4026 </p> 4027 4028 <p><img src="IMG/Figure13.png" width=500 /></p> 4029 <p>Figure 13: Example for BNC's 'RINEX Editing Options' window</p> 4030 4031 <p><img src="IMG/Figure14.png" width=1000 /></p> 4032 <p>Figure 14: Example for RINEX file concatenation with BNC</p> 4033 4034 <p> 4035 <h4 id="reqccommand">2.6.9 Command Line, No Window - optional</h4> 4036 </p> 4037 <p> 4038 BNC applies options from the configuration file but allows updating every one of them on the command line 4039 while the content of the configuration file remains unchanged, see section on 'Command Line Options'. 4040 Note the following syntax for Command Line Interface (CLI) options: 4041 </p> 4042 <pre> 2385 4043 --key <keyName> <keyValue> 2386 4044 </pre> 2387 <p> 2388 Parameter <keyName> stands for the name of an option contained in the configuration file 2389 and <keyValue> stands for the value you want to assign to it. 2390 This functionality may be helpful in the 'RINEX Editing & QC' context when running BNC on a routine basis 2391 for maintaining a RINEX file archive. 2392 </p> 2393 <p> 2394 You may use asterisk '*' and/or question mark '?' wildcard characters as shown with the following globbing command line option 2395 to specify a selection of files in the working directory: 2396 </p> 2397 <p><pre> 4045 <p> 4046 Parameter <keyName> stands for the name of an option contained in the configuration file 4047 and <keyValue> stands for the value you want to assign to it. 4048 This functionality may be helpful in the 'RINEX Editing & QC' context when running BNC on a routine basis 4049 for maintaining a RINEX file archive. 4050 </p> 4051 <p> 4052 You may use asterisk '*' and/or question mark '?' wildcard characters as shown with the following globbing command 4053 line option 4054 to specify a selection of files in the working directory: 4055 </p> 4056 <p> 4057 <pre> 2398 4058 --key reqcObsFile "Input/BRUX00BEL_S_2021125*_15M_01S_MO.rnx" 2399 </pre><p> 2400 or: 2401 </p> 2402 <p><pre> 4059 </pre> 4060 <p> 4061 or: 4062 </p> 4063 <p> 4064 <pre> 2403 4065 --key reqcObsFile Input/BRUX00BEL_S_2021125\*_15M_01S_MO.rnx 2404 </pre><p> 2405 The following example for a Linux platform calls BNC in 'no window' mode with a local configuration file 'rnx.conf' 2406 for concatenating four 15min RINEX files from station BRUX00BEL residing in the 'Input' directory to produce an hourly RINEX Version 3 file 2407 with 30 seconds sampling interval: 2408 <pre><p style="font-family:Monospace"> 4066 </pre> 4067 <p> 4068 The following example for a Linux platform calls BNC in 'no window' mode with a local configuration file 'rnx.conf' 4069 for concatenating four 15min RINEX files from station BRUX00BEL residing in the 'Input' directory to produce an 4070 hourly RINEX Version 3 file 4071 with 30 seconds sampling interval: 4072 <pre><p style="font-family:Monospace"> 2409 4073 /home/user/bnc --nw --conf rnx.conf \ 2410 4074 --key reqcAction Edit/Concatenate \ … … 2416 4080 --key reqcOutObsFile Output/BRUX00BEL_S_20211251100_01H_01S_MO.rnx 2417 4081 </p></pre> 2418 <p> 2419 The following Linux command line produces RINEX QC plots (see Estey and Meertens 1999) offline in 'no window' mode 2420 and saves them in directory '/home/user'. Introducing a dummy configuration file /dev/null makes sure that no configuration options 2421 previously saved on disc are used: 2422 </p> 2423 <pre><p style="font-family:Monospace"> 4082 <p> 4083 The following Linux command line produces RINEX QC plots (see Estey and Meertens 1999) offline in 'no window' mode 4084 and saves them in directory '/home/user'. Introducing a dummy configuration file /dev/null makes sure that no 4085 configuration options 4086 previously saved on disc are used: 4087 </p> 4088 <pre><p style="font-family:Monospace"> 2424 4089 /home/user/bnc --nw --conf /dev/null -display :1 --platform offscreen \ 2425 4090 --key reqcAction Analyze \ … … 2430 4095 --key reqcPlotDir Output 2>/dev/null 2431 4096 </p></pre> 2432 <p> 2433 <p>The following Linux command line produces the same RINEX QC plots in interactive autoStart mode: 2434 </p> 2435 <pre><p style="font-family:Monospace"> 4097 <p> 4098 <p>The following Linux command line produces the same RINEX QC plots in interactive autoStart mode: 4099 </p> 4100 <pre><p style="font-family:Monospace"> 2436 4101 /home/user/bnc --conf /dev/null \ 2437 4102 --key reqcAction Analyze \ … … 2442 4107 --key startTab 4 --key autoStart 2 2443 4108 </p></pre> 2444 <p> 2445 The following is a list of available key names for '<u>R</u>INEX <u>E</u>diting & <u>QC</u>' (short: REQC, pronounced 'rek') options 2446 and their meaning, cf. section 'Configuration Examples': 2447 </p> 2448 <table> 2449 <tr></tr> 2450 <tr><td><b>Keyname</b></td><td></td><td><b>Meaning</b></td></tr> 2451 <tr><td>reqcAction</td><td></td><td>RINEX Editing & QC action</td></tr> 2452 <tr><td>reqcObsFile</td><td></td><td>RINEX Observation input file(s)</td></tr> 2453 <tr><td>reqcNavFile</td><td></td><td>RINEX Navigation input files(s)</td></tr> 2454 <tr><td>reqcOutObsFile</td><td></td><td>RINEX Observation output file</td></tr> 2455 <tr><td>reqcOutNavFile</td><td></td><td>RINEX Navigation output file</td></tr> 2456 <tr><td>reqcMinEle</td><td></td><td>Minimum Elevation</td></tr> 2457 <tr><td>reqcOutLogFile</td><td></td><td>Logfile</td></tr> 2458 <tr><td>reqcLogSummaryOnly</td><td></td><td>Summary of Logfile</td></tr> 2459 <tr><td>reqcSkyPlotSignals</td><td></td><td>Plots for signals</td></tr> 2460 <tr><td>reqcPlotDir</td><td></td><td>RINEX QC plot directory</td></tr> 2461 <tr><td>reqcRnxVersion</td><td></td><td>RINEX version of emerging new file</td></tr> 2462 <tr><td>reqcSampling</td><td></td><td>Sampling interval of emerging new RINEX file</td></tr> 2463 <tr><td>reqcV2Priority</td><td></td><td>Version 2 Signal Priority</td></tr> 2464 <tr><td>reqcStartDateTime</td><td></td><td>Begin of emerging new RINEX file</td></tr> 2465 <tr><td>reqcEndDateTime</td><td></td><td>End of emerging new RINEX file</td></tr> 2466 <tr><td>reqcRunBy</td><td></td><td>Operator name</td></tr> 2467 <tr><td>reqcUseObsTypes</td><td></td><td>GNSS systems and observation types</td></tr> 2468 <tr><td>reqcComment</td><td></td><td>Additional comment lines</td></tr> 2469 <tr><td>reqcOldMarkerName</td><td></td><td>Old marker name</td></tr> 2470 <tr><td>reqcNewMarkerName</td><td></td><td>New marker name</td></tr> 2471 <tr><td>reqcOldAntennaName</td><td></td><td>Old antenna name</td></tr> 2472 <tr><td>reqcNewAntennaName</td><td></td><td>New antenna name</td></tr> 2473 <tr><td>reqcOldAntennaNumber</td><td></td><td>Old antenna number</td></tr> 2474 <tr><td>reqcNewAntennaNumber</td><td></td><td>New antenna number</td></tr> 2475 <tr><td>reqcOldAntennadN</td><td></td><td>Old component of north eccentricity</td></tr> 2476 <tr><td>reqcOldAntennadE</td><td></td><td>Old component of east eccentricity</td></tr> 2477 <tr><td>reqcOldAntennadU</td><td></td><td>Old component of up eccentricity</td></tr> 2478 <tr><td>reqcNewAntennadN</td><td></td><td>New component of north eccentricity</td></tr> 2479 <tr><td>reqcNewAntennadE</td><td></td><td>New component of east eccentricity</td></tr> 2480 <tr><td>reqcNewAntennadU</td><td></td><td>New component of up eccentricity</td></tr> 2481 <tr><td>reqcOldReceiverName</td><td></td><td>Old receiver name</td></tr> 2482 <tr><td>reqcNewReceiverName</td><td></td><td>New receiver name</td></tr> 2483 <tr><td>reqcOldReceiverNumber</td><td></td><td>Old receiver number</td></tr> 2484 <tr><td>reqcNewReceiverNumber</td><td></td><td>New receiver number</td></tr> 2485 </table> 2486 2487 <p><h4 id="sp3comp">2.7 SP3 Comparison</h4></p> 2488 <p> 2489 BNC allows to compare the contents of two files with GNSS orbit and clock data in SP3 format. 2490 SP3 ASCII files basically contain a list of records over a certain period of time. 2491 Each record carries a time tag, the XYZ position of the satellite's Center of Mass at that time and 2492 the corresponding satellite clock value. Both SP3 files may contain some records for different epochs. 2493 If so, then BNC only compares records for identical epochs. BNC accepts that a specific GNSS system 2494 or a specific satellite is only available from one of the SP3 files. 2495 Note that BNC does not interpolate orbits when comparing SP3 files. 2496 </p> 2497 <p> 2498 To compare satellite clocks provided by the two files, BNC first converts coordinate differences dX,dY,dZ 2499 into along track, out-of-plane, and radial components. It then corrects the clock differences for the radial components 2500 of coordinate differences. RMS values of clock differences are finally calculated after introducing at first one offset 2501 'per epoch for all satellites' and secondly one offset 'per satellite for all epochs'. 2502 </p> 2503 <p><img src="IMG/Figure15.png"width=800/></p> 2504 <p>Figure 15: Example for comparing two SP3 files with satellite orbit and clock data using BNC</p> 2505 2506 <p><h4 id="sp3input">2.7.1 Input SP3 Files - optional</h4></p> 2507 <p> 2508 Specify the full paths of two SP3 files, separate them by comma. 2509 </p> 2510 2511 <p><h4 id="sp3exclude">2.7.2 Exclude Satellites - optional</h4></p> 2512 <p> 2513 You may want to exclude one or more satellites in your SP3 files from the comparison. 2514 Or you may like to exclude all satellites of a specific GNSS system from the comparison. 2515 The following are example strings to be entered for excluding satellites from the comparison. 2516 <ul> 2517 <li>G05,G31 (excluding GPS satellites with PRN 5 and 31)</li> 2518 <li>G (excluding all GPS satellites)</li> 2519 <li>R (excluding all GLONASS satellites)</li> 2520 <li>R12,R24 (excluding GLONASS satellites with slot number 12 and 24)</li> 2521 <li>G04,G31,R (excluding GPS satellites with PRN 4 and 31 as well as all GLONASS satellites)</li> 2522 </ul> 2523 </p> 2524 <p> 2525 Default is an empty option field, meaning that no satellite will be excluded from the comparison. 2526 </p> 2527 2528 <p><h4 id="sp3log">2.7.3 Logfile - mandatory if 'Input SP3 Files' is set</h4></p> 2529 <p> 2530 Specify a logfile name to save results of the SP3 file comparison. BNC provides an option 'Summary only' to limit logfile content to 'Summary' information only. 2531 </p> 2532 <p> 2533 The following is an example for a SP3 Comparison logfile: 2534 </p> 2535 <pre><p style="font-family:Monospace"> 4109 <p> 4110 The following is a list of available key names for '<u>R</u>INEX <u>E</u>diting & <u>QC</u>' (short: REQC, 4111 pronounced 'rek') options 4112 and their meaning, cf. section 'Configuration Examples': 4113 </p> 4114 <table> 4115 <tr></tr> 4116 <tr> 4117 <td><b>Keyname</b></td> 4118 <td></td> 4119 <td><b>Meaning</b></td> 4120 </tr> 4121 <tr> 4122 <td>reqcAction</td> 4123 <td></td> 4124 <td>RINEX Editing & QC action</td> 4125 </tr> 4126 <tr> 4127 <td>reqcObsFile</td> 4128 <td></td> 4129 <td>RINEX Observation input file(s)</td> 4130 </tr> 4131 <tr> 4132 <td>reqcNavFile</td> 4133 <td></td> 4134 <td>RINEX Navigation input files(s)</td> 4135 </tr> 4136 <tr> 4137 <td>reqcOutObsFile</td> 4138 <td></td> 4139 <td>RINEX Observation output file</td> 4140 </tr> 4141 <tr> 4142 <td>reqcOutNavFile</td> 4143 <td></td> 4144 <td>RINEX Navigation output file</td> 4145 </tr> 4146 <tr> 4147 <td>reqcMinEle</td> 4148 <td></td> 4149 <td>Minimum Elevation</td> 4150 </tr> 4151 <tr> 4152 <td>reqcOutLogFile</td> 4153 <td></td> 4154 <td>Logfile</td> 4155 </tr> 4156 <tr> 4157 <td>reqcLogSummaryOnly</td> 4158 <td></td> 4159 <td>Summary of Logfile</td> 4160 </tr> 4161 <tr> 4162 <td>reqcSkyPlotSignals</td> 4163 <td></td> 4164 <td>Plots for signals</td> 4165 </tr> 4166 <tr> 4167 <td>reqcPlotDir</td> 4168 <td></td> 4169 <td>RINEX QC plot directory</td> 4170 </tr> 4171 <tr> 4172 <td>reqcRnxVersion</td> 4173 <td></td> 4174 <td>RINEX version of emerging new file</td> 4175 </tr> 4176 <tr> 4177 <td>reqcSampling</td> 4178 <td></td> 4179 <td>Sampling interval of emerging new RINEX file</td> 4180 </tr> 4181 <tr> 4182 <td>reqcV2Priority</td> 4183 <td></td> 4184 <td>Version 2 Signal Priority</td> 4185 </tr> 4186 <tr> 4187 <td>reqcStartDateTime</td> 4188 <td></td> 4189 <td>Begin of emerging new RINEX file</td> 4190 </tr> 4191 <tr> 4192 <td>reqcEndDateTime</td> 4193 <td></td> 4194 <td>End of emerging new RINEX file</td> 4195 </tr> 4196 <tr> 4197 <td>reqcRunBy</td> 4198 <td></td> 4199 <td>Operator name</td> 4200 </tr> 4201 <tr> 4202 <td>reqcUseObsTypes</td> 4203 <td></td> 4204 <td>GNSS systems and observation types</td> 4205 </tr> 4206 <tr> 4207 <td>reqcComment</td> 4208 <td></td> 4209 <td>Additional comment lines</td> 4210 </tr> 4211 <tr> 4212 <td>reqcOldMarkerName</td> 4213 <td></td> 4214 <td>Old marker name</td> 4215 </tr> 4216 <tr> 4217 <td>reqcNewMarkerName</td> 4218 <td></td> 4219 <td>New marker name</td> 4220 </tr> 4221 <tr> 4222 <td>reqcOldAntennaName</td> 4223 <td></td> 4224 <td>Old antenna name</td> 4225 </tr> 4226 <tr> 4227 <td>reqcNewAntennaName</td> 4228 <td></td> 4229 <td>New antenna name</td> 4230 </tr> 4231 <tr> 4232 <td>reqcOldAntennaNumber</td> 4233 <td></td> 4234 <td>Old antenna number</td> 4235 </tr> 4236 <tr> 4237 <td>reqcNewAntennaNumber</td> 4238 <td></td> 4239 <td>New antenna number</td> 4240 </tr> 4241 <tr> 4242 <td>reqcOldAntennadN</td> 4243 <td></td> 4244 <td>Old component of north eccentricity</td> 4245 </tr> 4246 <tr> 4247 <td>reqcOldAntennadE</td> 4248 <td></td> 4249 <td>Old component of east eccentricity</td> 4250 </tr> 4251 <tr> 4252 <td>reqcOldAntennadU</td> 4253 <td></td> 4254 <td>Old component of up eccentricity</td> 4255 </tr> 4256 <tr> 4257 <td>reqcNewAntennadN</td> 4258 <td></td> 4259 <td>New component of north eccentricity</td> 4260 </tr> 4261 <tr> 4262 <td>reqcNewAntennadE</td> 4263 <td></td> 4264 <td>New component of east eccentricity</td> 4265 </tr> 4266 <tr> 4267 <td>reqcNewAntennadU</td> 4268 <td></td> 4269 <td>New component of up eccentricity</td> 4270 </tr> 4271 <tr> 4272 <td>reqcOldReceiverName</td> 4273 <td></td> 4274 <td>Old receiver name</td> 4275 </tr> 4276 <tr> 4277 <td>reqcNewReceiverName</td> 4278 <td></td> 4279 <td>New receiver name</td> 4280 </tr> 4281 <tr> 4282 <td>reqcOldReceiverNumber</td> 4283 <td></td> 4284 <td>Old receiver number</td> 4285 </tr> 4286 <tr> 4287 <td>reqcNewReceiverNumber</td> 4288 <td></td> 4289 <td>New receiver number</td> 4290 </tr> 4291 </table> 4292 4293 <p> 4294 <h4 id="sp3comp">2.7 SP3 Comparison</h4> 4295 </p> 4296 <p> 4297 BNC allows to compare the contents of two files with GNSS orbit and clock data in SP3 format. 4298 SP3 ASCII files basically contain a list of records over a certain period of time. 4299 Each record carries a time tag, the XYZ position of the satellite's Center of Mass at that time and 4300 the corresponding satellite clock value. Both SP3 files may contain some records for different epochs. 4301 If so, then BNC only compares records for identical epochs. BNC accepts that a specific GNSS system 4302 or a specific satellite is only available from one of the SP3 files. 4303 Note that BNC does not interpolate orbits when comparing SP3 files. 4304 </p> 4305 <p> 4306 To compare satellite clocks provided by the two files, BNC first converts coordinate differences dX,dY,dZ 4307 into along track, out-of-plane, and radial components. It then corrects the clock differences for the radial 4308 components 4309 of coordinate differences. RMS values of clock differences are finally calculated after introducing at first one 4310 offset 4311 'per epoch for all satellites' and secondly one offset 'per satellite for all epochs'. 4312 </p> 4313 <p><img src="IMG/Figure15.png" width=800 /></p> 4314 <p>Figure 15: Example for comparing two SP3 files with satellite orbit and clock data using BNC</p> 4315 4316 <p> 4317 <h4 id="sp3input">2.7.1 Input SP3 Files - optional</h4> 4318 </p> 4319 <p> 4320 Specify the full paths of two SP3 files, separate them by comma. 4321 </p> 4322 4323 <p> 4324 <h4 id="sp3exclude">2.7.2 Exclude Satellites - optional</h4> 4325 </p> 4326 <p> 4327 You may want to exclude one or more satellites in your SP3 files from the comparison. 4328 Or you may like to exclude all satellites of a specific GNSS system from the comparison. 4329 The following are example strings to be entered for excluding satellites from the comparison. 4330 <ul> 4331 <li>G05,G31 (excluding GPS satellites with PRN 5 and 31)</li> 4332 <li>G (excluding all GPS satellites)</li> 4333 <li>R (excluding all GLONASS satellites)</li> 4334 <li>R12,R24 (excluding GLONASS satellites with slot number 12 and 24)</li> 4335 <li>G04,G31,R (excluding GPS satellites with PRN 4 and 31 as well as all GLONASS satellites)</li> 4336 </ul> 4337 </p> 4338 <p> 4339 Default is an empty option field, meaning that no satellite will be excluded from the comparison. 4340 </p> 4341 4342 <p> 4343 <h4 id="sp3log">2.7.3 Logfile - mandatory if 'Input SP3 Files' is set</h4> 4344 </p> 4345 <p> 4346 Specify a logfile name to save results of the SP3 file comparison. BNC provides an option 'Summary only' to limit 4347 logfile content to 'Summary' information only. 4348 </p> 4349 <p> 4350 The following is an example for a SP3 Comparison logfile: 4351 </p> 4352 <pre><p style="font-family:Monospace"> 2536 4353 ! SP3 File 1: Input/CNE1MGXRTS_20222410000_01D_05S_ORB.SP3 2537 4354 ! SP3 File 2: Input/BKG1MGXRTS_20222410000_01D_05S_ORB.SP3 … … 2603 4420 </p> 2604 4421 </pre> 2605 <p> 2606 The first part of this output following string 'following string' uses the following abbreviations: 2607 </p> 2608 2609 <table> 2610 <tr><td>'Epoch' </td><td>Epoch Date and Time</td></tr> 2611 <tr><td>'PRN' </td><td>Satellite specification</td></tr> 2612 <tr><td>'radial' </td><td>Radial component of orbit coordinate difference [m]</td></tr> 2613 <tr><td>'along' </td><td>Along track component of orbit coordinate difference [m]</td></tr> 2614 <tr><td>'out' </td><td>Out-of-plane component of orbit coordinate difference [m]</td></tr> 2615 <tr><td>'clk' </td><td>Clock difference [m]</td></tr> 2616 <tr><td>'clkRed' </td><td>Clock difference reduced by radial component of orbit coordinate difference [m]</td></tr> 2617 <tr><td>'iPRN' </td><td>BNC internal sequence number</td></tr> 2618 </table> 2619 <p> 2620 The second part following string 'Summary' provides a summary of the comparison using the following 2621 abbreviations:<br> 2622 </p> 2623 <table> 2624 <tr><td>'PRN' </td><td>Satellite specification</td></tr> 2625 <tr><td>'radialRMS' </td><td>RMS of the radial component of orbit coordinate differences [mm]</td></tr> 2626 <tr><td>'alongRMS' </td><td>RMS of the along track component of orbit coordinate differences [mm]</td></tr> 2627 <tr><td>'outRMS' </td><td>RMS of the out-of-plane component of orbit coordinate differences [mm]</td></tr> 2628 <tr><td>'3DRMS' </td><td>3D RMS of the orbit coordinate differences [mm]</td></tr> 2629 <tr><td>'nOrb' </td><td>Number of epochs used in in orbit comparison</td></tr> 2630 <tr><td>'clkRMS' </td><td>RMS of clock differences [ns]</td></tr> 2631 <tr><td>'clkRedRMS' </td><td>RMS of the clock differences after reduction of radial orbit differences [ns]</td></tr> 2632 <tr><td>'clkRedSig' </td><td>Sigma of the clock differences after reduction of radial orbit differences [ns]</td></tr> 2633 <tr><td>'nClk' </td><td>Number of epochs use in clock comparisons</td></tr> 2634 <tr><td>'Offset' </td><td>Clock offset [ns]</td></tr> 2635 </table> 2636 <br> 2637 <p><img src="IMG/Figure16.png"width=1000/></p> 2638 <p>Figure 16: Graphical results from an example comparison of two SP3 files with satellite orbit and clock data using BNC</p> 2639 2640 <p><h4 id="correct">2.8 Broadcast Corrections</h4></p> 2641 <p> 2642 Differential GNSS and RTK operation using RTCM streams is currently based on corrections and/or raw measurements from single or 2643 multiple reference stations. This approach to differential positioning uses 'observation space' information. 2644 The representation with the RTCM standard can be called 'Observation Space Representation' (OSR). 2645 </p> 2646 <p> 2647 An alternative to the observation space approach is the so-called 'state space' approach. The principle here is to provide 2648 information on individual error sources. It can be called 'State Space Representation' (SSR). 2649 For a rover position, state space information concerning precise satellite clocks, orbits, ionosphere, troposphere et cetera 2650 can be converted into observation space and used to correct the rover observables for more accurate positioning. 2651 Alternatively, the state information can be used directly in the rover's processing or adjustment model. 2652 </p> 2653 <p> 2654 RTCM is currently developing Version 3 messages to transport SSR corrections in real-time. They may refer to satellite Antenna Phase Center (APC) 2655 or Center of Mass (CoM). Because the development was stagnating in RTCM over years, IGS has developed similar SSR messages in parallel. 2656 Available and unter development are: 2657 <ul> 2658 <li>SSR, Step I:</li> 4422 <p> 4423 The first part of this output following string 'following string' uses the following abbreviations: 4424 </p> 4425 4426 <table> 4427 <tr> 4428 <td>'Epoch' </td> 4429 <td>Epoch Date and Time</td> 4430 </tr> 4431 <tr> 4432 <td>'PRN' </td> 4433 <td>Satellite specification</td> 4434 </tr> 4435 <tr> 4436 <td>'radial' </td> 4437 <td>Radial component of orbit coordinate difference [m]</td> 4438 </tr> 4439 <tr> 4440 <td>'along' </td> 4441 <td>Along track component of orbit coordinate difference [m]</td> 4442 </tr> 4443 <tr> 4444 <td>'out' </td> 4445 <td>Out-of-plane component of orbit coordinate difference [m]</td> 4446 </tr> 4447 <tr> 4448 <td>'clk' </td> 4449 <td>Clock difference [m]</td> 4450 </tr> 4451 <tr> 4452 <td>'clkRed' </td> 4453 <td>Clock difference reduced by radial component of orbit coordinate difference [m]</td> 4454 </tr> 4455 <tr> 4456 <td>'iPRN' </td> 4457 <td>BNC internal sequence number</td> 4458 </tr> 4459 </table> 4460 <p> 4461 The second part following string 'Summary' provides a summary of the comparison using the following 4462 abbreviations:<br> 4463 </p> 4464 <table> 4465 <tr> 4466 <td>'PRN' </td> 4467 <td>Satellite specification</td> 4468 </tr> 4469 <tr> 4470 <td>'radialRMS' </td> 4471 <td>RMS of the radial component of orbit coordinate differences [mm]</td> 4472 </tr> 4473 <tr> 4474 <td>'alongRMS' </td> 4475 <td>RMS of the along track component of orbit coordinate differences [mm]</td> 4476 </tr> 4477 <tr> 4478 <td>'outRMS' </td> 4479 <td>RMS of the out-of-plane component of orbit coordinate differences [mm]</td> 4480 </tr> 4481 <tr> 4482 <td>'3DRMS' </td> 4483 <td>3D RMS of the orbit coordinate differences [mm]</td> 4484 </tr> 4485 <tr> 4486 <td>'nOrb' </td> 4487 <td>Number of epochs used in in orbit comparison</td> 4488 </tr> 4489 <tr> 4490 <td>'clkRMS' </td> 4491 <td>RMS of clock differences [ns]</td> 4492 </tr> 4493 <tr> 4494 <td>'clkRedRMS' </td> 4495 <td>RMS of the clock differences after reduction of radial orbit differences [ns]</td> 4496 </tr> 4497 <tr> 4498 <td>'clkRedSig' </td> 4499 <td>Sigma of the clock differences after reduction of radial orbit differences [ns]</td> 4500 </tr> 4501 <tr> 4502 <td>'nClk' </td> 4503 <td>Number of epochs use in clock comparisons</td> 4504 </tr> 4505 <tr> 4506 <td>'Offset' </td> 4507 <td>Clock offset [ns]</td> 4508 </tr> 4509 </table> 4510 <br> 4511 <p><img src="IMG/Figure16.png" width=1000 /></p> 4512 <p>Figure 16: Graphical results from an example comparison of two SP3 files with satellite orbit and clock data using 4513 BNC</p> 4514 4515 <p> 4516 <h4 id="correct">2.8 Broadcast Corrections</h4> 4517 </p> 4518 <p> 4519 Differential GNSS and RTK operation using RTCM streams is currently based on corrections and/or raw measurements 4520 from single or 4521 multiple reference stations. This approach to differential positioning uses 'observation space' information. 4522 The representation with the RTCM standard can be called 'Observation Space Representation' (OSR). 4523 </p> 4524 <p> 4525 An alternative to the observation space approach is the so-called 'state space' approach. The principle here is to 4526 provide 4527 information on individual error sources. It can be called 'State Space Representation' (SSR). 4528 For a rover position, state space information concerning precise satellite clocks, orbits, ionosphere, troposphere 4529 et cetera 4530 can be converted into observation space and used to correct the rover observables for more accurate positioning. 4531 Alternatively, the state information can be used directly in the rover's processing or adjustment model. 4532 </p> 4533 <p> 4534 RTCM is currently developing Version 3 messages to transport SSR corrections in real-time. They may refer to 4535 satellite Antenna Phase Center (APC) 4536 or Center of Mass (CoM). Because the development was stagnating in RTCM over years, IGS has developed similar SSR 4537 messages in parallel. 4538 Available and unter development are: 2659 4539 <ul> 2660 <li>Orbit corrections to Broadcast Ephemeris</li> 2661 <li>Clock corrections to Broadcast Ephemeris</li> 2662 <li>High-rate clock corrections to Broadcast Ephemeris</li> 2663 <li>Combined orbit and clock corrections to Broadcast Ephemeris</li> 2664 <li>User Range Accuracy (URA)</li> 2665 <li>High Rate User Range Accuracy (HR URA)</li> 2666 <li>Code biases</li> 4540 <li>SSR, Step I:</li> 4541 <ul> 4542 <li>Orbit corrections to Broadcast Ephemeris</li> 4543 <li>Clock corrections to Broadcast Ephemeris</li> 4544 <li>High-rate clock corrections to Broadcast Ephemeris</li> 4545 <li>Combined orbit and clock corrections to Broadcast Ephemeris</li> 4546 <li>User Range Accuracy (URA)</li> 4547 <li>High Rate User Range Accuracy (HR URA)</li> 4548 <li>Code biases</li> 4549 </ul> 4550 <li>SSR, Step II:</li> 4551 <ul> 4552 <li>Phase biases</li> 4553 <li>Vertical Total Electron Content (VTEC)</li> 4554 </ul> 2667 4555 </ul> 2668 <li>SSR, Step II:</li> 2669 <ul> 2670 <li>Phase biases</li> 2671 <li>Vertical Total Electron Content (VTEC)</li> 2672 </ul> 2673 </ul> 2674 2675 <p> 2676 SSR streams carrying these messages may be used e.g. to support real-time Precise Point Positioning (PPP) applications. 2677 </p> 2678 <p> 2679 Orbit corrections are provided in along-track, out-of-plane and radial components. 2680 These components are defined in the Earth-Centered, Earth-Fixed reference frame of the Broadcast Ephemeris. 2681 For an observer in this frame, the along-track component is aligned in both direction and sign with the velocity vector, 2682 the out-of-plane component is perpendicular to the plane defined by the satellite position and velocity vectors, and 2683 the radial direction is perpendicular to the along track and out-of-plane ones. The three components form a right-handed orthogonal system. 2684 </p> 2685 2686 <p> 2687 After applying corrections, the satellite position and clock is referred to the 'ionospheric free' phase center of the antenna 2688 which is compatible with the broadcast orbit reference. 2689 </p> 2690 2691 <p> 2692 The orbit and clock corrections do not include local effects like Ocean Loading, Solid Earth Tides or tropospheric delays. 2693 However, accurate single frequency applications can be corrected for global ionospheric effects using so-call VTEC messages 2694 for global ionospheric state parameters. 2695 </p> 2696 2697 <p> 2698 While we have a plain ASCII standard for saving Broadcast Ephemeris in RINEX Navigation files, we do not have an equivalent standard 2699 for corrections to Broadcast Ephemeris. Hence, BNC saves Broadcast Correction files following its own format definition. 2700 </p> 2701 <p> 2702 The filename convention for Broadcast Correction files follows in general the convention for RINEX Version 3/4 files 2703 except for the two characters of the data type as well as for the characters of the filename suffix, which is set to 'ssr': 2704 The files below contains one day's data. 'MC' stands for 'Multi Constellation Clock' data and 'ION' stands for 'Ionosphere' data. 2705 </p> 2706 <pre> 4556 4557 <p> 4558 SSR streams carrying these messages may be used e.g. to support real-time Precise Point Positioning (PPP) 4559 applications. 4560 </p> 4561 <p> 4562 Orbit corrections are provided in along-track, out-of-plane and radial components. 4563 These components are defined in the Earth-Centered, Earth-Fixed reference frame of the Broadcast Ephemeris. 4564 For an observer in this frame, the along-track component is aligned in both direction and sign with the velocity 4565 vector, 4566 the out-of-plane component is perpendicular to the plane defined by the satellite position and velocity vectors, and 4567 the radial direction is perpendicular to the along track and out-of-plane ones. The three components form a 4568 right-handed orthogonal system. 4569 </p> 4570 4571 <p> 4572 After applying corrections, the satellite position and clock is referred to the 'ionospheric free' phase center of 4573 the antenna 4574 which is compatible with the broadcast orbit reference. 4575 </p> 4576 4577 <p> 4578 The orbit and clock corrections do not include local effects like Ocean Loading, Solid Earth Tides or tropospheric 4579 delays. 4580 However, accurate single frequency applications can be corrected for global ionospheric effects using so-call VTEC 4581 messages 4582 for global ionospheric state parameters. 4583 </p> 4584 4585 <p> 4586 While we have a plain ASCII standard for saving Broadcast Ephemeris in RINEX Navigation files, we do not have an 4587 equivalent standard 4588 for corrections to Broadcast Ephemeris. Hence, BNC saves Broadcast Correction files following its own format 4589 definition. 4590 </p> 4591 <p> 4592 The filename convention for Broadcast Correction files follows in general the convention for RINEX Version 3/4 files 4593 except for the two characters of the data type as well as for the characters of the filename suffix, which is set to 4594 'ssr': 4595 The files below contains one day's data. 'MC' stands for 'Multi Constellation Clock' data and 'ION' stands for 4596 'Ionosphere' data. 4597 </p> 4598 <pre> 2707 4599 SSRA00CNE1_S_20222750000_01D_MC.ssr 2708 4600 IONO00IGS1_S_20222740000_01D_ION.ssr 2709 4601 </pre> 2710 BNC's Broadcast Correction files contain blocks of records in plain ASCII format. 2711 Each block covers information about one specific topic and starts with an 'Epoch Record'. 2712 <p> 2713 <b>The 'Epoch Record' of a Broadcast Correction block</b> 2714 </p> 2715 2716 <p> 2717 The leading 'Epoch Record' of each block in a Broadcast Correction file contains 11 parameters. Example: 2718 </p> 2719 <pre><p style="font-family:Monospace"> 4602 BNC's Broadcast Correction files contain blocks of records in plain ASCII format. 4603 Each block covers information about one specific topic and starts with an 'Epoch Record'. 4604 <p> 4605 <b>The 'Epoch Record' of a Broadcast Correction block</b> 4606 </p> 4607 4608 <p> 4609 The leading 'Epoch Record' of each block in a Broadcast Correction file contains 11 parameters. Example: 4610 </p> 4611 <pre><p style="font-family:Monospace"> 2720 4612 > ORBIT 2022 10 01 23 59 45.0 2 110 SSRA00CNE1 2721 4613 </p></pre> 2722 Their meaning is as follows: 2723 <ol type="1"> 2724 <li>Special character '>' is the first character in each 'Epoch Record' (as we have it in RINEX Version 3)</li> 2725 <li>SSR message or topic descriptor, valid descriptors are:<br>ORBIT, CLOCK, CODE_BIAS, PHASE_BIAS, or VTEC</li> 2726 <li>Year, GPS time</li> 2727 <li>Month, GPS time</li> 2728 <li>Day, GPS time</li> 2729 <li>Hour, GPS time</li> 2730 <li>Minute, GPS time</li> 2731 <li>Second, GPS time</li> 2732 <li>SSR message update interval indicator</li> 2733 <ul> 2734 <li>0 = 1 sec</li> 2735 <li>1 = 2 sec</li> 2736 <li>2 = 5 sec</li> 2737 <li>3 = 10 sec</li> 2738 <li>4 = 15 sec</li> 2739 <li>5 = 30 sec</li> 2740 <li>6 = 60 sec</li> 2741 <li>7 = 120 sec</li> 2742 <li>8 = 240 sec</li> 2743 <li>9 = 300 sec</li> 2744 <li>10 = 600 sec</li> 2745 <li>11 = 900 sec</li> 2746 <li>12 = 1800 sec</li> 2747 <li>13 = 3600 sec</li> 2748 <li>14 = 7200 sec</li> 2749 <li>15 = 10800 sec</li> 2750 </ul> 2751 <li>Number of following records in this block</li> 2752 <li>Mountpoint, source/stream indicator</li> 2753 </ol> 2754 Each of the following 'satellite records' in such a block carries information for one specific satellite. 2755 Undefined parameters in the 'satellite records' could be set to zero "0.000". 2756 2757 <p> 2758 <b>Example for block 'ORBIT' carrying orbit corrections</b> 2759 </p> 2760 <pre><p style="font-family:Monospace"> 4614 Their meaning is as follows: 4615 <ol type="1"> 4616 <li>Special character '>' is the first character in each 'Epoch Record' (as we have it in RINEX Version 3)</li> 4617 <li>SSR message or topic descriptor, valid descriptors are:<br>ORBIT, CLOCK, CODE_BIAS, PHASE_BIAS, or VTEC</li> 4618 <li>Year, GPS time</li> 4619 <li>Month, GPS time</li> 4620 <li>Day, GPS time</li> 4621 <li>Hour, GPS time</li> 4622 <li>Minute, GPS time</li> 4623 <li>Second, GPS time</li> 4624 <li>SSR message update interval indicator</li> 4625 <ul> 4626 <li>0 = 1 sec</li> 4627 <li>1 = 2 sec</li> 4628 <li>2 = 5 sec</li> 4629 <li>3 = 10 sec</li> 4630 <li>4 = 15 sec</li> 4631 <li>5 = 30 sec</li> 4632 <li>6 = 60 sec</li> 4633 <li>7 = 120 sec</li> 4634 <li>8 = 240 sec</li> 4635 <li>9 = 300 sec</li> 4636 <li>10 = 600 sec</li> 4637 <li>11 = 900 sec</li> 4638 <li>12 = 1800 sec</li> 4639 <li>13 = 3600 sec</li> 4640 <li>14 = 7200 sec</li> 4641 <li>15 = 10800 sec</li> 4642 </ul> 4643 <li>Number of following records in this block</li> 4644 <li>Mountpoint, source/stream indicator</li> 4645 </ol> 4646 Each of the following 'satellite records' in such a block carries information for one specific satellite. 4647 Undefined parameters in the 'satellite records' could be set to zero "0.000". 4648 4649 <p> 4650 <b>Example for block 'ORBIT' carrying orbit corrections</b> 4651 </p> 4652 <pre><p style="font-family:Monospace"> 2761 4653 > ORBIT 2022 10 01 23 59 45.0 2 110 SSRA00CNE1 2762 4654 G01 93 -0.1588 -0.8664 -0.0600 0.2210 -0.1200 -0.0400 … … 2780 4672 <p></pre> 2781 4673 2782 Records in this block provide the following satellite specific information: 2783 <ul> 2784 <li>GNSS Indicator and Satellite Vehicle Pseudo Random Number</li> 2785 <li>IOD referring to Broadcast Ephemeris set</li> 2786 <li>Radial Component of Orbit Correction to Broadcast Ephemeris [m]</li> 2787 <li>Along-track Component of Orbit Correction to Broadcast Ephemeris [m]</li> 2788 <li>Out-of-plane Component of Orbit Correction to Broadcast Ephemeris [m]</li> 2789 <li>Velocity of Radial Component of Orbit Correction to Broadcast Ephemeris [mm/s]</li> 2790 <li>Velocity of Along-track Component of Orbit Correction to Broadcast Ephemeris [mm/s]</li> 2791 <li>Velocity of Out-of-plane Component of Orbit Correction to Broadcast Ephemeris [mm/s]</li> 2792 </ul> 2793 </p> 2794 2795 <p> 2796 <b>Example for block 'CLOCK' carrying clock corrections</b> 2797 </p> 2798 2799 <pre><p style="font-family:Monospace"> 4674 Records in this block provide the following satellite specific information: 4675 <ul> 4676 <li>GNSS Indicator and Satellite Vehicle Pseudo Random Number</li> 4677 <li>IOD referring to Broadcast Ephemeris set</li> 4678 <li>Radial Component of Orbit Correction to Broadcast Ephemeris [m]</li> 4679 <li>Along-track Component of Orbit Correction to Broadcast Ephemeris [m]</li> 4680 <li>Out-of-plane Component of Orbit Correction to Broadcast Ephemeris [m]</li> 4681 <li>Velocity of Radial Component of Orbit Correction to Broadcast Ephemeris [mm/s]</li> 4682 <li>Velocity of Along-track Component of Orbit Correction to Broadcast Ephemeris [mm/s]</li> 4683 <li>Velocity of Out-of-plane Component of Orbit Correction to Broadcast Ephemeris [mm/s]</li> 4684 </ul> 4685 </p> 4686 4687 <p> 4688 <b>Example for block 'CLOCK' carrying clock corrections</b> 4689 </p> 4690 4691 <pre><p style="font-family:Monospace"> 2800 4692 > CLOCK 2022 10 01 23 59 45.0 2 110 SSRA00CNE1 2801 4693 G01 93 0.1498 0.0000 0.0000 … … 2818 4710 </p> 2819 4711 </pre> 2820 <p> 2821 Records in this block provide the following satellite specific information: 2822 <ul> 2823 <li>GNSS Indicator and Satellite Vehicle Pseudo Random Number</li> 2824 <li>IOD referring to Broadcast Ephemeris set</li> 2825 <li>C0 polynomial coefficient for Clock Correction to Broadcast Ephemeris [m]</li> 2826 <li>C1 polynomial coefficient for Clock Correction to Broadcast Ephemeris [mm/s]</li> 2827 <li>C2 polynomial coefficient for Clock Correction to Broadcast Ephemeris [mm/s**2]</li> 2828 </ul> 2829 </p> 2830 <p> 2831 <b>Example for block 'CODE_BIAS' carrying code biases</b> 2832 </p> 2833 <pre><p style="font-family:Monospace"> 4712 <p> 4713 Records in this block provide the following satellite specific information: 4714 <ul> 4715 <li>GNSS Indicator and Satellite Vehicle Pseudo Random Number</li> 4716 <li>IOD referring to Broadcast Ephemeris set</li> 4717 <li>C0 polynomial coefficient for Clock Correction to Broadcast Ephemeris [m]</li> 4718 <li>C1 polynomial coefficient for Clock Correction to Broadcast Ephemeris [mm/s]</li> 4719 <li>C2 polynomial coefficient for Clock Correction to Broadcast Ephemeris [mm/s**2]</li> 4720 </ul> 4721 </p> 4722 <p> 4723 <b>Example for block 'CODE_BIAS' carrying code biases</b> 4724 </p> 4725 <pre><p style="font-family:Monospace"> 2834 4726 > CODE_BIAS 2022 10 01 23 59 45.0 2 110 SSRA00CNE1 2835 4727 G01 7 1C -2.6900 1P -2.8300 1W -3.1000 2L -3.8000 2S -3.8000 2W -5.1000 5Q -0.6300 … … 2851 4743 C02 3 2I 4.4700 6I 6.7600 7I 1.9700 2852 4744 </p></pre> 2853 <p> 2854 Records in this block provide the following satellite specific information: 2855 <ul> 2856 <li>GNSS Indicator and Satellite Vehicle Pseudo Random Number</li> 2857 <li>Number of Code Biases, succeeded by code specific information:</li> 4745 <p> 4746 Records in this block provide the following satellite specific information: 2858 4747 <ul> 2859 <li>Indicator to specify the signal and tracking mode</li> 2860 <li>Code Bias [m]</li> 2861 <li>Indicator to specify the signal and tracking mode</li> 2862 <li>Code Bias [m]</li> 2863 <li>etc.</li> 4748 <li>GNSS Indicator and Satellite Vehicle Pseudo Random Number</li> 4749 <li>Number of Code Biases, succeeded by code specific information:</li> 4750 <ul> 4751 <li>Indicator to specify the signal and tracking mode</li> 4752 <li>Code Bias [m]</li> 4753 <li>Indicator to specify the signal and tracking mode</li> 4754 <li>Code Bias [m]</li> 4755 <li>etc.</li> 4756 </ul> 2864 4757 </ul> 2865 </ul> 2866 </p> 2867 2868 <p> 2869 <b>Example for block 'PHASE_BIAS' carrying phase biases</b> 2870 </p> 2871 <pre><p style="font-family:Monospace"> 4758 </p> 4759 4760 <p> 4761 <b>Example for block 'PHASE_BIAS' carrying phase biases</b> 4762 </p> 4763 <pre><p style="font-family:Monospace"> 2872 4764 > PHASE_BIAS 2022 10 01 23 59 45.0 2 110 SSRA00CNE1 2873 4765 0 1 … … 2890 4782 C02 0.00000000 0.00000000 3 2I 0.5378 0 2 15 7I 4.1515 0 2 15 6I 0.7121 0 2 15 2891 4783 </p></pre> 2892 <p> 2893 The second record in this block provides the following consistency information: 2894 <ul> 2895 2896 <li>Dispersive bias consistency indicatory<br> 2897 0 − phase biases valid for non-dispersive signal only<br> 2898 1 − phase biases maintain consistency between non-dispersive and all original dispersive phase signals 2899 </li> 2900 2901 <li>MW consistency indicator<br> 2902 0 − code and phase biases are independently derived<br> 2903 1 − consistency between code and phase biases is maintained for the MW combinations 2904 </li> 2905 2906 </ul> 2907 Following records provide satellite specific information: 2908 <ul> 2909 <li>GNSS Indicator and Satellite Vehicle Pseudo Random Number</li> 2910 <li>Yaw angle [°], restricted to [0°... 360°]</li> 2911 <li>Yaw rate [°/s]</li> 2912 <li>Number of phase biases in this record, succeeded by phase specific information:</li> 4784 <p> 4785 The second record in this block provides the following consistency information: 2913 4786 <ul> 2914 <li>Signal and tracking mode indicator</li> 2915 <li>Phase bias [m]</li> 2916 <li>Signal integer indicator</li> 2917 <li>Signal wide-lane integer indicator</li> 2918 <li>Signal discontinuity counter</li> 4787 4788 <li>Dispersive bias consistency indicatory<br> 4789 0 − phase biases valid for non-dispersive signal only<br> 4790 1 − phase biases maintain consistency between non-dispersive and all original dispersive phase signals 4791 </li> 4792 4793 <li>MW consistency indicator<br> 4794 0 − code and phase biases are independently derived<br> 4795 1 − consistency between code and phase biases is maintained for the MW combinations 4796 </li> 4797 2919 4798 </ul> 2920 </ul> 2921 </p> 2922 2923 <p> 2924 <b>Example for block 'VTEC' carrying ionospheric corrections</b> 2925 </p> 2926 <pre><p style="font-family:Monospace" 4799 Following records provide satellite specific information: 4800 <ul> 4801 <li>GNSS Indicator and Satellite Vehicle Pseudo Random Number</li> 4802 <li>Yaw angle [°], restricted to [0°... 360°]</li> 4803 <li>Yaw rate [°/s]</li> 4804 <li>Number of phase biases in this record, succeeded by phase specific information:</li> 4805 <ul> 4806 <li>Signal and tracking mode indicator</li> 4807 <li>Phase bias [m]</li> 4808 <li>Signal integer indicator</li> 4809 <li>Signal wide-lane integer indicator</li> 4810 <li>Signal discontinuity counter</li> 4811 </ul> 4812 </ul> 4813 </p> 4814 4815 <p> 4816 <b>Example for block 'VTEC' carrying ionospheric corrections</b> 4817 </p> 4818 <pre><p style="font-family:Monospace" 2927 4819 > VTEC 2022 10 02 00 00 00.0 6 1 SSRA00CNE1 2928 4820 1 12 12 450000.0 … … 2954 4846 0.0000 0.0750 -0.1400 0.0850 -0.0200 -0.0150 0.0750 0.0000 0.0050 0.0200 0.0250 0.0100 0.0450 2955 4847 </p></pre> 2956 <p> 2957 The second record in this block provides four parameters: 2958 <ul> 2959 <li>Layer number</li> 2960 <li>Maximum degree of spherical harmonics</li> 2961 <li>Maximum order of spherical harmonics</li> 2962 <li>Height of ionospheric layer [m]</li> 2963 </ul> 2964 Subsequent records in this block provide the following information: 2965 <ul> 2966 <li>Spherical harmonic coefficients C and S, sorted by degree and order (0 to maximum)</li> 2967 </ul> 2968 </p> 2969 2970 <p><h4 id="corrdir">2.8.1 Directory, ASCII - optional</h4></p> 2971 <p> 2972 Specify a directory for saving Broadcast Corrections in files. If the specified directory does not exist, 2973 BNC will not create Broadcast Correction files. Default value for Broadcast Correction 'Directory' is 2974 an empty option field, meaning that no Broadcast Correction files will be created. 2975 </p> 2976 2977 <p><h4 id="corrint">2.8.2 Interval - mandatory if 'Directory, ASCII' is set</h4></p> 2978 <p> 2979 Select the length of the Broadcast Correction files. The default value is '1 day'. 2980 </p> 2981 2982 <p><h4 id="corrport">2.8.3 Port - optional</h4></p> 2983 <p> 2984 BNC can output epoch by epoch synchronized Broadcast Corrections in ASCII format on your local host (IP 127.0.0.1) 2985 through an IP 'Port'. Specify an IP port number to activate this function. The default is an empty option field, 2986 meaning that no Broadcast Correction output via IP port is generated. 2987 </p> 2988 <p> 2989 The output format is the same to the format used for saving Broadcast Corrections in a file. 2990 </p> 2991 <p> 2992 The source code for BNC comes with an example Perl script 'test_tcpip_client.pl' that allows to read 2993 BNC's Broadcast Corrections from the IP port for verification. 2994 </p> 2995 2996 <p><img src="IMG/Figure17.png"width=1000/></p> 2997 <p>Figure 17: Example for pulling, saving and output of Broadcast Corrections using BNC</p> 2998 2999 <p><h4 id="syncout">2.9 Feed Engine</h4></p> 3000 3001 <p> 3002 BNC can produce synchronized or unsynchronized observations epoch by epoch from all stations and satellites to feed 3003 a real-time GNSS network engine. Observations can be streamed out through an IP port and/or saved in a local file. 3004 The output is always in the same plain ASCII format and sorted per incoming stream. 3005 </p> 3006 3007 <p> 3008 Each epoch in the synchronized output begins with a line containing the GPS Week Number and the seconds within the GPS Week. 3009 Following lines begin with the mountpoint string of the stream which provides the observations followed by a satellite number. 3010 Specifications for satellite number, code, phase, doppler and signal strength data follow definitions presented in the 3011 RINEX Version 3 documentation. In case of phase observations, a 'Slip Counter' is added. The end of an epoch is indicated by an empty line. 3012 </p> 3013 3014 <p> 3015 A valid 'Slip Counter' is only presented for observations from RTCM Version 2 streams (Cummulative Loss of Lock Indicator). 3016 In RTCM Version 3 streams a 'Lock Time Indicator' is available instead. This parameter indicates a measure of the amount 3017 of time that has elapsed during which the receiver has maintained continuous lock on that satellite signal. 3018 If a cycle slip occurs during the previous measurement cycle, the 'Lock Time Indicator' will be reset to zero. 3019 But, this 'Lock Time Indicator' ist defined with different resolution for different RTCM version 3 observation types (MSMi, legacy messages). 3020 </p> 3021 3022 <p> 3023 From the RTCM version 3 'Lock Time Indicator' a valid 'Lock Time' can be computed with the respective calculation rule. 3024 This parameter provides a measure of the amount of time that has elapsed during which the receiver has maintained continuous 3025 lock on that satellite signal in seconds. If a cycle slip occurs during the previous measurement cycle, the 'Lock Time' will decrease. 3026 This information will be used, to provide a 'Slip Counter' for RTCM Version 3 observations as well. With it, we have an output 3027 format that is independent from the RTCM version of the observations. The 'Lock Time' output can be activated optional. 3028 </p> 3029 3030 <p> 3031 The following table describes the format of BNC's synchronized output of GNSS observations which consists of 'Epoch Records' 3032 and 'Observation Records'. Each Epoch Record is followed by one or more Observation Records. The Observation Record is repeated 3033 for each satellite having been observed in the current epoch. The length of an Observation Record is given by the number of 3034 observation types for this satellite. 3035 </p> 3036 3037 <p>Table 2: Contents and format of synchronized output of observations feeding a GNSS engine</p> 3038 <p> 3039 <table> 3040 <tr><td></td><td><b>Example</b></td><td><b>Format</b></td></tr> 3041 3042 <tr><td><b>Epoch Record</b></td><td></td><td></td></tr> 3043 <tr><td>Record Identifier</td><td>></td><td>A1</td></tr> 3044 <tr><td>GPS Week Number</td><td>1850</td><td>1X,I4</td></tr> 3045 <tr><td>GPS Seconds of Week</td><td>120556.0000000 </td><td>1X,F14.7</td></tr> 3046 3047 <tr><td> </td><td> </td><td> </td></tr> 3048 <tr><td><b>Observation Record</b></td><td></td><td></td></tr> 3049 <tr><td>Mountpoint</td><td>WTZR00DEU0</td><td>A</td></tr> 3050 <tr><td>Satellite Number</td><td>G01</td><td>1X,A3</td></tr> 3051 3052 <tr><td> </td><td> </td><td> </td></tr> 3053 3054 <tr><td><b>Pseudo-Range Data</b></td><td></td><td></td></tr> 3055 <tr><td>Observation Code</td><td><b>C</b>1C</td><td>1X,A3</td></tr> 3056 <tr><td>Pseudo-Range Observation</td><td>25394034.112</td><td>1X,F14.3</td></tr> 3057 3058 <tr><td> </td><td> </td><td> </td></tr> 3059 3060 <tr><td><b>Carrier Phase Data</b></td><td></td><td></td></tr> 3061 <tr><td>Observation Code</td><td><b>L</b>1C</td><td>1X,A3</td></tr> 3062 <tr><td>Carrier Phase Observation</td><td>133446552.870</td><td>1X,F14.3</td></tr> 3063 <tr><td>Slip Counter</td><td>11</td><td>1X,I4</td></tr> 3064 3065 <tr><td> </td><td> </td><td> </td></tr> 3066 3067 <tr><td><b>Doppler Data</b></td><td></td><td></td></tr> 3068 <tr><td>Observation Code</td><td><b>D</b>1C</td><td>1X,A3</td></tr> 3069 <tr><td>Doppler Observation</td><td>-87.977</td><td>1X,F14.3</td></tr> 3070 3071 <tr><td> </td><td> </td><td> </td></tr> 3072 3073 <tr><td><b>Signal Strength</b></td><td></td><td></td></tr> 3074 <tr><td>Observation Code</td><td><b>S</b>2W</td><td>1X,A3</td></tr> 3075 <tr><td>Observed Signal Strength </td><td>34.750</td><td>1X,F8.3</td></tr> 3076 3077 <tr><td> </td><td> </td><td> </td></tr> 3078 3079 <tr><td><b>Lock Time (optional)</b></td><td></td><td></td></tr> 3080 <tr><td>Observation Code</td><td><b>T</b>2W</td><td>1X,A3</td></tr> 3081 <tr><td>Computed Lock Time </td><td>937.000</td><td>1X,F8.3</td></tr> 3082 </table> 3083 </p> 3084 3085 The following is an example epoch for synchronized file and IP port output, which presents observations 3086 from GPS, GLONASS, Galileo, BDS (BeiDou), and QZSS satellites as collected through the stream CUT000AUS0: 3087 <pre><p style="font-family:Monospace"> 4848 <p> 4849 The second record in this block provides four parameters: 4850 <ul> 4851 <li>Layer number</li> 4852 <li>Maximum degree of spherical harmonics</li> 4853 <li>Maximum order of spherical harmonics</li> 4854 <li>Height of ionospheric layer [m]</li> 4855 </ul> 4856 Subsequent records in this block provide the following information: 4857 <ul> 4858 <li>Spherical harmonic coefficients C and S, sorted by degree and order (0 to maximum)</li> 4859 </ul> 4860 </p> 4861 4862 <p> 4863 <h4 id="corrdir">2.8.1 Directory, ASCII - optional</h4> 4864 </p> 4865 <p> 4866 Specify a directory for saving Broadcast Corrections in files. If the specified directory does not exist, 4867 BNC will not create Broadcast Correction files. Default value for Broadcast Correction 'Directory' is 4868 an empty option field, meaning that no Broadcast Correction files will be created. 4869 </p> 4870 4871 <p> 4872 <h4 id="corrint">2.8.2 Interval - mandatory if 'Directory, ASCII' is set</h4> 4873 </p> 4874 <p> 4875 Select the length of the Broadcast Correction files. The default value is '1 day'. 4876 </p> 4877 4878 <p> 4879 <h4 id="corrport">2.8.3 Port - optional</h4> 4880 </p> 4881 <p> 4882 BNC can output epoch by epoch synchronized Broadcast Corrections in ASCII format on your local host (IP 127.0.0.1) 4883 through an IP 'Port'. Specify an IP port number to activate this function. The default is an empty option field, 4884 meaning that no Broadcast Correction output via IP port is generated. 4885 </p> 4886 <p> 4887 The output format is the same to the format used for saving Broadcast Corrections in a file. 4888 </p> 4889 <p> 4890 The source code for BNC comes with an example Perl script 'test_tcpip_client.pl' that allows to read 4891 BNC's Broadcast Corrections from the IP port for verification. 4892 </p> 4893 4894 <p><img src="IMG/Figure17.png" width=1000 /></p> 4895 <p>Figure 17: Example for pulling, saving and output of Broadcast Corrections using BNC</p> 4896 4897 <p> 4898 <h4 id="syncout">2.9 Feed Engine</h4> 4899 </p> 4900 4901 <p> 4902 BNC can produce synchronized or unsynchronized observations epoch by epoch from all stations and satellites to feed 4903 a real-time GNSS network engine. Observations can be streamed out through an IP port and/or saved in a local file. 4904 The output is always in the same plain ASCII format and sorted per incoming stream. 4905 </p> 4906 4907 <p> 4908 Each epoch in the synchronized output begins with a line containing the GPS Week Number and the seconds within the 4909 GPS Week. 4910 Following lines begin with the mountpoint string of the stream which provides the observations followed by a 4911 satellite number. 4912 Specifications for satellite number, code, phase, doppler and signal strength data follow definitions presented in 4913 the 4914 RINEX Version 3 documentation. In case of phase observations, a 'Slip Counter' is added. The end of an epoch is 4915 indicated by an empty line. 4916 </p> 4917 4918 <p> 4919 A valid 'Slip Counter' is only presented for observations from RTCM Version 2 streams (Cummulative Loss of Lock 4920 Indicator). 4921 In RTCM Version 3 streams a 'Lock Time Indicator' is available instead. This parameter indicates a measure of the 4922 amount 4923 of time that has elapsed during which the receiver has maintained continuous lock on that satellite signal. 4924 If a cycle slip occurs during the previous measurement cycle, the 'Lock Time Indicator' will be reset to zero. 4925 But, this 'Lock Time Indicator' ist defined with different resolution for different RTCM version 3 observation types 4926 (MSMi, legacy messages). 4927 </p> 4928 4929 <p> 4930 From the RTCM version 3 'Lock Time Indicator' a valid 'Lock Time' can be computed with the respective calculation 4931 rule. 4932 This parameter provides a measure of the amount of time that has elapsed during which the receiver has maintained 4933 continuous 4934 lock on that satellite signal in seconds. If a cycle slip occurs during the previous measurement cycle, the 'Lock 4935 Time' will decrease. 4936 This information will be used, to provide a 'Slip Counter' for RTCM Version 3 observations as well. With it, we have 4937 an output 4938 format that is independent from the RTCM version of the observations. The 'Lock Time' output can be activated 4939 optional. 4940 </p> 4941 4942 <p> 4943 The following table describes the format of BNC's synchronized output of GNSS observations which consists of 'Epoch 4944 Records' 4945 and 'Observation Records'. Each Epoch Record is followed by one or more Observation Records. The Observation Record 4946 is repeated 4947 for each satellite having been observed in the current epoch. The length of an Observation Record is given by the 4948 number of 4949 observation types for this satellite. 4950 </p> 4951 4952 <p>Table 2: Contents and format of synchronized output of observations feeding a GNSS engine</p> 4953 <p> 4954 <table> 4955 <tr> 4956 <td></td> 4957 <td><b>Example</b></td> 4958 <td><b>Format</b></td> 4959 </tr> 4960 4961 <tr> 4962 <td><b>Epoch Record</b></td> 4963 <td></td> 4964 <td></td> 4965 </tr> 4966 <tr> 4967 <td>Record Identifier</td> 4968 <td>></td> 4969 <td>A1</td> 4970 </tr> 4971 <tr> 4972 <td>GPS Week Number</td> 4973 <td>1850</td> 4974 <td>1X,I4</td> 4975 </tr> 4976 <tr> 4977 <td>GPS Seconds of Week</td> 4978 <td>120556.0000000 </td> 4979 <td>1X,F14.7</td> 4980 </tr> 4981 4982 <tr> 4983 <td> </td> 4984 <td> </td> 4985 <td> </td> 4986 </tr> 4987 <tr> 4988 <td><b>Observation Record</b></td> 4989 <td></td> 4990 <td></td> 4991 </tr> 4992 <tr> 4993 <td>Mountpoint</td> 4994 <td>WTZR00DEU0</td> 4995 <td>A</td> 4996 </tr> 4997 <tr> 4998 <td>Satellite Number</td> 4999 <td>G01</td> 5000 <td>1X,A3</td> 5001 </tr> 5002 5003 <tr> 5004 <td> </td> 5005 <td> </td> 5006 <td> </td> 5007 </tr> 5008 5009 <tr> 5010 <td><b>Pseudo-Range Data</b></td> 5011 <td></td> 5012 <td></td> 5013 </tr> 5014 <tr> 5015 <td>Observation Code</td> 5016 <td><b>C</b>1C</td> 5017 <td>1X,A3</td> 5018 </tr> 5019 <tr> 5020 <td>Pseudo-Range Observation</td> 5021 <td>25394034.112</td> 5022 <td>1X,F14.3</td> 5023 </tr> 5024 5025 <tr> 5026 <td> </td> 5027 <td> </td> 5028 <td> </td> 5029 </tr> 5030 5031 <tr> 5032 <td><b>Carrier Phase Data</b></td> 5033 <td></td> 5034 <td></td> 5035 </tr> 5036 <tr> 5037 <td>Observation Code</td> 5038 <td><b>L</b>1C</td> 5039 <td>1X,A3</td> 5040 </tr> 5041 <tr> 5042 <td>Carrier Phase Observation</td> 5043 <td>133446552.870</td> 5044 <td>1X,F14.3</td> 5045 </tr> 5046 <tr> 5047 <td>Slip Counter</td> 5048 <td>11</td> 5049 <td>1X,I4</td> 5050 </tr> 5051 5052 <tr> 5053 <td> </td> 5054 <td> </td> 5055 <td> </td> 5056 </tr> 5057 5058 <tr> 5059 <td><b>Doppler Data</b></td> 5060 <td></td> 5061 <td></td> 5062 </tr> 5063 <tr> 5064 <td>Observation Code</td> 5065 <td><b>D</b>1C</td> 5066 <td>1X,A3</td> 5067 </tr> 5068 <tr> 5069 <td>Doppler Observation</td> 5070 <td>-87.977</td> 5071 <td>1X,F14.3</td> 5072 </tr> 5073 5074 <tr> 5075 <td> </td> 5076 <td> </td> 5077 <td> </td> 5078 </tr> 5079 5080 <tr> 5081 <td><b>Signal Strength</b></td> 5082 <td></td> 5083 <td></td> 5084 </tr> 5085 <tr> 5086 <td>Observation Code</td> 5087 <td><b>S</b>2W</td> 5088 <td>1X,A3</td> 5089 </tr> 5090 <tr> 5091 <td>Observed Signal Strength </td> 5092 <td>34.750</td> 5093 <td>1X,F8.3</td> 5094 </tr> 5095 5096 <tr> 5097 <td> </td> 5098 <td> </td> 5099 <td> </td> 5100 </tr> 5101 5102 <tr> 5103 <td><b>Lock Time (optional)</b></td> 5104 <td></td> 5105 <td></td> 5106 </tr> 5107 <tr> 5108 <td>Observation Code</td> 5109 <td><b>T</b>2W</td> 5110 <td>1X,A3</td> 5111 </tr> 5112 <tr> 5113 <td>Computed Lock Time </td> 5114 <td>937.000</td> 5115 <td>1X,F8.3</td> 5116 </tr> 5117 </table> 5118 </p> 5119 5120 The following is an example epoch for synchronized file and IP port output, which presents observations 5121 from GPS, GLONASS, Galileo, BDS (BeiDou), and QZSS satellites as collected through the stream CUT000AUS0: 5122 <pre><p style="font-family:Monospace"> 3088 5123 > 2235 161041.0000000 3089 5124 CUT000AUS0 G05 C1C 22397546.124 L1C 117700392.329 0 D1C -1640.054 S1C 43.812 C2W 22397552.729 L2W 91714594.476 0 S2W 40.500 C2X 22397553.316 L2X 91714226.480 0 S2X 42.312 … … 3134 5169 .. 3135 5170 </p></pre> 3136 <p> 3137 The source code for BNC comes with a Perl script named 'test_tcpip_client.pl' that allows to read BNC's (synchronized or unsynchronized) 3138 ASCII observation output from the IP port and print it on standard output for verification. 3139 </p> 3140 3141 <p> 3142 Note that any socket connection of an application to BNC's synchronized or unsynchronized observation ports is recorded in the 'Log' tab 3143 on the bottom of the main window together with a connection counter, resulting in log records like 'New client connection on sync/usync port: # 1'. 3144 </p> 3145 3146 <p> 3147 The following figure shows the screenshot of a BNC configuration where a number of streams is pulled from different Ntrip Broadcasters 3148 to feed a GNSS engine via IP port output. 3149 </p> 3150 <p><img src="IMG/Figure18.png"width=1000/></p> 3151 <p>Figure 18: Synchronized BNC output via IP port to feed a GNSS real-time engine</p> 3152 3153 <p><h4 id="syncport">2.9.1 Port - optional</h4></p> 3154 <p> 3155 BNC can produce synchronized observations in ASCII format on your local host (IP 127.0.0.1) through an IP 'Port'. 3156 Synchronized means that BNC collects all observation data for a specific epoch, which become available within 3157 a certain number of seconds (see 'Wait for Full Obs Epoch' option). It then - epoch by epoch - outputs whatever has been received. 3158 The output comes block-wise per stream following the format specified in Table 2. Enter an IP port number here to activate this function. 3159 The default is an empty option field, meaning that no synchronized output is generated.</p> 3160 </p> 3161 3162 <p><h4 id="syncwait">2.9.2 Wait for Full Obs Epoch - mandatory if 'Port' is set</h4></p> 3163 <p> 3164 When feeding a real-time GNSS network engine waiting for synchronized observations epoch by epoch, BNC drops whatever is 3165 received later than 'Wait for full obs epoch' seconds. A value of 3 to 5 seconds could be an appropriate choice for that, 3166 depending on the latency of the incoming streams and the delay acceptable for your real-time GNSS product. 3167 Default value for 'Wait for full obs epoch' is 5 seconds. 3168 Note that 'Wait for full obs epoch' does not affect the RINEX Observation file content. Observations received later 3169 than 'Wait for full obs epoch' seconds will still be included in the RINEX Observation files. 3170 </p> 3171 3172 <p><h4 id="syncsample">2.9.3 Sampling - mandatory if 'File' or 'Port' is set</h4></p> 3173 <p> 3174 Select a synchronized observation output sampling interval in seconds. 3175 </p> 3176 3177 <p><h4 id="syncfile">2.9.4 File - optional</h4></p> 3178 <p> 3179 Specify the full path to a 'File' where synchronized observations are saved in plain ASCII format. 3180 The default value is an empty option field, meaning that no ASCII output file is created. 3181 Beware that the size of this file can rapidly increase depending on the number of incoming streams. 3182 To prevent it from becoming too large, the name of the file can be changed on-the-fly. 3183 This option is primarily meant for test and evaluation. 3184 </p> 3185 3186 <p><h4 id="syncuport">2.9.5 Port (unsynchronized) - optional</h4></p> 3187 <p> 3188 BNC can produce unsynchronized observations from all configured streams in ASCII format on your local host (IP 127.0.0.1) through an IP 'Port'. 3189 Unsynchronized means that BNC immediately forwards any received observation to the port. 3190 Nevertheless, the output is produced block-wise per stream. Specify an IP port number here to activate this function. 3191 The default is an empty option field, meaning that no unsynchronized output is generated. 3192 </p> 3193 <p> 3194 The following is an example for unsynchronized IP port output which presents observations from GPS, GLONASS, Galileo, BDS (BeiDou) 3195 as collected through stream WTZR00DEU0. The format for synchronized and unsynchronized output of observations is very much the same. 3196 However, unsynchronized output does not have 'Epoch Records' and 'Observation Records'. 3197 Instead each record contains the 'GPS Week Number' and 'GPS Second of Week' time tag between the mountpoint string and the satellite number, 3198 see Table 2 for format details. 3199 </p> 3200 3201 <pre><p style="font-family:Monospace"> 5171 <p> 5172 The source code for BNC comes with a Perl script named 'test_tcpip_client.pl' that allows to read BNC's 5173 (synchronized or unsynchronized) 5174 ASCII observation output from the IP port and print it on standard output for verification. 5175 </p> 5176 5177 <p> 5178 Note that any socket connection of an application to BNC's synchronized or unsynchronized observation ports is 5179 recorded in the 'Log' tab 5180 on the bottom of the main window together with a connection counter, resulting in log records like 'New client 5181 connection on sync/usync port: # 1'. 5182 </p> 5183 5184 <p> 5185 The following figure shows the screenshot of a BNC configuration where a number of streams is pulled from different 5186 Ntrip Broadcasters 5187 to feed a GNSS engine via IP port output. 5188 </p> 5189 <p><img src="IMG/Figure18.png" width=1000 /></p> 5190 <p>Figure 18: Synchronized BNC output via IP port to feed a GNSS real-time engine</p> 5191 5192 <p> 5193 <h4 id="syncport">2.9.1 Port - optional</h4> 5194 </p> 5195 <p> 5196 BNC can produce synchronized observations in ASCII format on your local host (IP 127.0.0.1) through an IP 'Port'. 5197 Synchronized means that BNC collects all observation data for a specific epoch, which become available within 5198 a certain number of seconds (see 'Wait for Full Obs Epoch' option). It then - epoch by epoch - outputs whatever has 5199 been received. 5200 The output comes block-wise per stream following the format specified in Table 2. Enter an IP port number here to 5201 activate this function. 5202 The default is an empty option field, meaning that no synchronized output is generated.</p> 5203 </p> 5204 5205 <p> 5206 <h4 id="syncwait">2.9.2 Wait for Full Obs Epoch - mandatory if 'Port' is set</h4> 5207 </p> 5208 <p> 5209 When feeding a real-time GNSS network engine waiting for synchronized observations epoch by epoch, BNC drops 5210 whatever is 5211 received later than 'Wait for full obs epoch' seconds. A value of 3 to 5 seconds could be an appropriate choice for 5212 that, 5213 depending on the latency of the incoming streams and the delay acceptable for your real-time GNSS product. 5214 Default value for 'Wait for full obs epoch' is 5 seconds. 5215 Note that 'Wait for full obs epoch' does not affect the RINEX Observation file content. Observations received later 5216 than 'Wait for full obs epoch' seconds will still be included in the RINEX Observation files. 5217 </p> 5218 5219 <p> 5220 <h4 id="syncsample">2.9.3 Sampling - mandatory if 'File' or 'Port' is set</h4> 5221 </p> 5222 <p> 5223 Select a synchronized observation output sampling interval in seconds. 5224 </p> 5225 5226 <p> 5227 <h4 id="syncfile">2.9.4 File - optional</h4> 5228 </p> 5229 <p> 5230 Specify the full path to a 'File' where synchronized observations are saved in plain ASCII format. 5231 The default value is an empty option field, meaning that no ASCII output file is created. 5232 Beware that the size of this file can rapidly increase depending on the number of incoming streams. 5233 To prevent it from becoming too large, the name of the file can be changed on-the-fly. 5234 This option is primarily meant for test and evaluation. 5235 </p> 5236 5237 <p> 5238 <h4 id="syncuport">2.9.5 Port (unsynchronized) - optional</h4> 5239 </p> 5240 <p> 5241 BNC can produce unsynchronized observations from all configured streams in ASCII format on your local host (IP 5242 127.0.0.1) through an IP 'Port'. 5243 Unsynchronized means that BNC immediately forwards any received observation to the port. 5244 Nevertheless, the output is produced block-wise per stream. Specify an IP port number here to activate this 5245 function. 5246 The default is an empty option field, meaning that no unsynchronized output is generated. 5247 </p> 5248 <p> 5249 The following is an example for unsynchronized IP port output which presents observations from GPS, GLONASS, 5250 Galileo, BDS (BeiDou) 5251 as collected through stream WTZR00DEU0. The format for synchronized and unsynchronized output of observations is 5252 very much the same. 5253 However, unsynchronized output does not have 'Epoch Records' and 'Observation Records'. 5254 Instead each record contains the 'GPS Week Number' and 'GPS Second of Week' time tag between the mountpoint string 5255 and the satellite number, 5256 see Table 2 for format details. 5257 </p> 5258 5259 <pre><p style="font-family:Monospace"> 3202 5260 WTZR00DEU0 2235 163641.0000000 C45 C2I 21792728.974 L2I 113480606.233 0 D2I -840.222 S2I 49.000 C6I 21792718.056 L6I 92212301.720 0 D6I -682.735 S6I 53.000 C5P 21792722.630 L5P 85519518.841 0 D5P -633.150 S5P 55.000 C1P 21792728.867 L1P 114521718.308 0 D1P -847.940 S1P 49.000 3203 5261 WTZR00DEU0 2235 163641.0000000 C57 C2I 35241541.940 L2I 183511967.699 0 D2I 3312.134 S2I 38.000 … … 3227 5285 </p></pre> 3228 5286 3229 <p><h4 id="serial">2.10 Serial Output</h4></p> 3230 <p> 3231 You may use BNC to feed a serially connected device like a GNSS receiver. For that, an incoming stream can be forwarded to a serial port. 3232 Depending on the stream content, the receiver may use it for Differential GNSS, Precise Point Positioning or any other purpose 3233 supported by its firmware. 3234 </p> 3235 <p> 3236 Note that receiving a VRS stream requires the receiver sending NMEA sentences (option 'NMEA' set to 'Manual' or 'Auto') to the Ntrip Broadcaster. 3237 The following figure shows the data flow when pulling a VRS stream or a physical (non-VRS) stream. 3238 </p> 3239 3240 <p><img src="IMG/Figure19.png"width=1000/></p> 3241 <p>Figure 19: Flowcharts, BNC forwarding a stream to a serially connected receiver; sending NMEA sentences is mandatory for VRS streams</p> 3242 3243 <p> 3244 The following figure shows the screenshot of an example situation where BNC pulls a VRS stream from an Ntrip Broadcaster 3245 to feed a serially connected RTK rover. 3246 </p> 3247 3248 <p><img src="IMG/Figure20.png"width=1000/></p> 3249 <p>Figure 20: BNC pulling a RTCM Version 3 stream to feed a serial connected receiver with observations from a nearby reference station for conventional RTK</p> 3250 3251 <p><h4 id="sermount">2.10.1 Mountpoint - optional</h4></p> 3252 <p> 3253 Enter a 'Mountpoint' to forward its corresponding stream to a serially connected GNSS receiver. 3254 </p> 3255 <p> 3256 When selecting one of the serial communication options listed below, make sure that you pick those configured to the 3257 serially connected receiver. 3258 </p> 3259 3260 <p><h4 id="serport">2.10.2 Port Name - mandatory if 'Mountpoint' is set</h4></p> 3261 <p> 3262 Enter the serial 'Port name' selected on your host for communication with the serially connected receiver. 3263 Valid port names are 3264 </p> 3265 <table> 3266 <tr><td>Windows: </td><td> COM1, COM2 </td></tr> 3267 <tr><td>Linux: </td><td> /dev/ttyS0, /dev/ttyS1 </td></tr> 3268 <tr><td>FreeBSD: </td><td> /dev/ttyd0, /dev/ttyd1 </td></tr> 3269 <tr><td>Digital Unix: </td><td> /dev/tty01, /dev/tty02 </td></tr> 3270 <tr><td>HP-UX: </td><td> /dev/tty1p0, /dev/tty2p0</td></tr> 3271 <tr><td>SGI/IRIX: </td><td> /dev/ttyf1, /dev/ttyf2 </td></tr> 3272 <tr><td>SunOS/Solaris:</td><td> /dev/ttya, /dev/ttyb </td></tr> 3273 </table> 3274 <p> 3275 Note that you must plug a serial cable in the port defined here before you start BNC. 3276 </p> 3277 3278 <p><h4 id="serbaud">2.10.3 Baud Rate - mandatory if 'Mountpoint' is set</h4></p> 3279 <p> 3280 Select a 'Baud rate' for the serial output link. Note that using a high baud rate is recommended. 3281 </p> 3282 3283 <p><h4 id="serflow">2.10.4 Flow Control - mandatory if 'Mountpoint' is set</h4></p> 3284 <p> 3285 Select a 'Flow control' for the serial output link. Note that your selection must equal the flow control configured to the serially connected device. 3286 Select 'OFF' if you do not know better. 3287 </p> 3288 3289 <p><h4 id="serparity">2.10.5 Parity - mandatory if 'Mountpoint' is set</h4></p> 3290 <p> 3291 Select the 'Parity' for the serial output link. Note that parity is often set to 'NONE'. 3292 </p> 3293 3294 <p><h4 id="serdata">2.10.6 Data Bits - mandatory if 'Mountpoint' is set</h4></p> 3295 <p> 3296 Select the number of 'Data bits' for the serial output link. Note that often '8' data bits are used. 3297 </p> 3298 3299 <p><h4 id="serstop">2.10.7 Stop Bits - mandatory if 'Mountpoint' is set</h4></p> 3300 <p> 3301 Select the number of 'Stop bits' for the serial output link. Note that often '1' stop bit is used. 3302 </p> 3303 3304 <p><h4 id="serauto">2.10.8 NMEA - mandatory if 'Mountpoint' is set</h4></p> 3305 <p>The 'NMEA' option supports the so-called 'Virtual Reference Station' (VRS) concept which requires the receiver to send 3306 approximate position information to the Ntrip Broadcaster. Select 'no' if you do not want BNC to forward or upload any NMEA sentence 3307 to the Ntrip broadcaster in support of VRS. 3308 </p> 3309 <p> 3310 Select 'Auto' to automatically forward NMEA sentences of type GGA from your serially connected receiver to the Ntrip broadcaster 3311 and/or save them in a file. 3312 </p> 3313 <p>Select 'Manual GPGGA' or 'Manual GNGGA' if you want BNC to produce and upload GPGGA or GNGGA NMEA sentences to the Ntrip broadcaster 3314 because your serially connected receiver does not generate them. A Talker ID 'GP' proceeding the GGA string stands for GPS solutions 3315 while a Talker ID 'GN' stands for multi-constellation solutions. 3316 </p> 3317 <p> 3318 Note that selecting 'Auto' or 'Manual' works only for VRS streams which show up under the 'Streams' canvas on BNC's main window 3319 with 'nmea' stream attribute set to 'yes'. This attribute is either extracted from the Ntrip broadcaster's source-table or 3320 introduced by the user through editing the BNC configuration file. 3321 </p> 3322 3323 <p><h4 id="serfile">2.10.9 File - optional if 'NMEA' is set to 'Auto'</h4></p> 3324 <p> 3325 Specify the full path to a file where NMEA sentences coming from your serially connected receiver are saved. 3326 Default is an empty option field, meaning that no NMEA sentences will be saved on disk. 3327 </p> 3328 <p><h4 id="serheight">2.10.10 Height - mandatory if 'NMEA' is set to 'Manual'</h4></p> 3329 <p> 3330 Specify an approximate 'Height' above mean sea level in meters for the reference station introduced through 'Mountpoint'. 3331 Together with the latitude and longitude from the Ntrip broadcaster source-table, the height information is used 3332 to build GGA sentences to be sent to the Ntrip broadcaster. 3333 </p> 3334 <p> 3335 For adjusting latitude and longitude values of a VRS stream given in the 'Streams' canvas, 3336 you can double click the latitude/longitude data fields, specify appropriate values and then hit Enter. 3337 </p> 3338 <p> 3339 This option is only relevant when option 'NMEA' is set to 'Manual GPGGA' or 'Manual GNGGA' respectively. 3340 </p> 3341 3342 <p><h4 id="sersampl">2.10.11 Sampling - mandatory if 'NMEA' is set to 'Manual'</h4></p> 3343 <p> 3344 Select a sampling interval in seconds for manual generation and upload of NMEA GGA sentences. 3345 </p> 3346 <p> 3347 A sampling rate of '0' means that a GGA sentence will be sent only once to initialize the requested VRS stream. 3348 Note that some VRS systems need GGA sentences at regular intervals. 3349 </p> 3350 3351 <p><h4 id="advnote">2.11 Outages</h4></p> 3352 <p> 3353 At any time an incoming stream might become unavailable or corrupted. In such cases, it is important that the BNC operator 3354 and/or the stream providers become aware of the situation so that measures can be taken to restore the stream. 3355 Furthermore, continuous attempts to decode a corrupted stream can generate unnecessary workload for BNC. 3356 Outages and corruptions are handled by BNC as follows: 3357 </p> 3358 <p> 3359 <u>Stream outages:</u> BNC considers a connection to be broken when there are no incoming data detected for more than 20 seconds. 3360 When this occurs, BNC will try to reconnect at a decreasing rate. It will first try to reconnect with 1 second delay and 3361 again in 2 seconds if the previous attempt failed. If the attempt is still unsuccessful, it will try to reconnect 3362 within 4 seconds after the previous attempt and so on. The waiting time doubles each time with a maximum of 256 seconds. 3363 </p> 3364 <p> 3365 <u>Stream corruption:</u> Not all chunks of bits transferred to BNC's internal decoder may return valid observations. 3366 Sometimes several chunks might be needed before the next observation can be properly decoded. 3367 BNC buffers all outputs (both valid and invalid) from the decoder for a short time span 3368 (size derived from the expected 'Observation rate') to then determine whether a stream is valid or corrupted. 3369 </p> 3370 <p> 3371 Outage and corruption events are reported in the 'Log' tab. They can also be passed on as parameters to a shell script 3372 or batch file to generate an advisory note to BNC's operator or affected stream providers. 3373 This functionality lets users utilize BNC as a real-time performance monitor and alarm system for a network of GNSS reference stations. 3374 </p> 3375 3376 <p><h4 id="obsrate">2.11.1 Observation Rate - optional</h4></p> 3377 <p> 3378 BNC can collect all returns (success or failure) coming from a decoder within a certain short time span to then decide whether 3379 a stream has an outage or its content is corrupted. This procedure needs a rough a priori estimate of the expected 3380 observation rate of the incoming streams. 3381 </p> 3382 <p>An empty option field (default) means that you do not want explicit information from BNC about stream outages and 3383 incoming streams that cannot be decoded. 3384 </p> 3385 3386 <p><h4 id="advfail">2.11.2 Failure Threshold - mandatory if 'Observation rate' is set</h4></p> 3387 <p> 3388 Event 'Begin_Failure' will be reported if no data is received continuously for longer than the 'Failure threshold' time. 3389 Similarly, event 'Begin_Corrupted' will be reported when corrupted data is detected by the decoder continuously for 3390 longer than this 'Failure threshold' time. The default value is set to 15 minutes and is recommended as to not inundate 3391 users with too many event reports. 3392 </p> 3393 <p> 3394 Note that specifying a value of zero '0' for the 'Failure threshold' will force BNC to report any stream failure immediately. 3395 Note also that for using this function you need to specify the 'Observation rate'. 3396 </p> 3397 3398 <p><h4 id="advreco">2.11.3 Recovery Threshold - mandatory if 'Observation rate' is set</h4></p> 3399 <p> 3400 Once a 'Begin_Failure' or 'Begin_Corrupted' event has been reported, BNC will check when the stream again becomes available or uncorrupted. 3401 Event 'End_Failure' or 'End_Corrupted' will be reported as soon as valid observations are detected continuously throughout 3402 the 'Recovery threshold' time span. The default value is set to 5 minutes and is recommended as to not inundate users with too many event reports. 3403 </p> 3404 <p> 3405 Note that specifying a value of zero '0' for the 'Recovery threshold' will force BNC to report any stream recovery immediately. 3406 Note also that for using this function you need to specify the 'Observation rate'. 3407 </p> 3408 3409 <p><h4 id="advscript">2.11.4 Script - optional if 'Observation rate' is set</h4></p> 3410 <p> 3411 As mentioned before, BNC can trigger a shell script or a batch file to be executed when one of the described events is reported. 3412 This script can be used to email an advisory note to network operator or stream providers. To enable this feature, 3413 specify the full path to the script or batch file in the 'Script' field. The affected stream's mountpoint and type of event 3414 reported ('Begin_Outage', 'End_Outage', 'Begin_Corrupted' or 'End_Corrupted') will then be passed on to the script as 3415 command line parameters (%1 and %2 on Windows systems or $1 and $2 on Unix/Linux/Mac OS X systems) together with date and time information. 3416 </p> 3417 <p> 3418 Leave the 'Script' field empty if you do not wish to use this option. An invalid path will also disable this option. 3419 </p> 3420 <p> 3421 Examples for command line parameter strings passed on to the advisory 'Script' are: 3422 <pre><p style="font-family:Monospace"> 5287 <p> 5288 <h4 id="serial">2.10 Serial Output</h4> 5289 </p> 5290 <p> 5291 You may use BNC to feed a serially connected device like a GNSS receiver. For that, an incoming stream can be 5292 forwarded to a serial port. 5293 Depending on the stream content, the receiver may use it for Differential GNSS, Precise Point Positioning or any 5294 other purpose 5295 supported by its firmware. 5296 </p> 5297 <p> 5298 Note that receiving a VRS stream requires the receiver sending NMEA sentences (option 'NMEA' set to 'Manual' or 5299 'Auto') to the Ntrip Broadcaster. 5300 The following figure shows the data flow when pulling a VRS stream or a physical (non-VRS) stream. 5301 </p> 5302 5303 <p><img src="IMG/Figure19.png" width=1000 /></p> 5304 <p>Figure 19: Flowcharts, BNC forwarding a stream to a serially connected receiver; sending NMEA sentences is 5305 mandatory for VRS streams</p> 5306 5307 <p> 5308 The following figure shows the screenshot of an example situation where BNC pulls a VRS stream from an Ntrip 5309 Broadcaster 5310 to feed a serially connected RTK rover. 5311 </p> 5312 5313 <p><img src="IMG/Figure20.png" width=1000 /></p> 5314 <p>Figure 20: BNC pulling a RTCM Version 3 stream to feed a serial connected receiver with observations from a nearby 5315 reference station for conventional RTK</p> 5316 5317 <p> 5318 <h4 id="sermount">2.10.1 Mountpoint - optional</h4> 5319 </p> 5320 <p> 5321 Enter a 'Mountpoint' to forward its corresponding stream to a serially connected GNSS receiver. 5322 </p> 5323 <p> 5324 When selecting one of the serial communication options listed below, make sure that you pick those configured to the 5325 serially connected receiver. 5326 </p> 5327 5328 <p> 5329 <h4 id="serport">2.10.2 Port Name - mandatory if 'Mountpoint' is set</h4> 5330 </p> 5331 <p> 5332 Enter the serial 'Port name' selected on your host for communication with the serially connected receiver. 5333 Valid port names are 5334 </p> 5335 <table> 5336 <tr> 5337 <td>Windows: </td> 5338 <td> COM1, COM2 </td> 5339 </tr> 5340 <tr> 5341 <td>Linux: </td> 5342 <td> /dev/ttyS0, /dev/ttyS1 </td> 5343 </tr> 5344 <tr> 5345 <td>FreeBSD: </td> 5346 <td> /dev/ttyd0, /dev/ttyd1 </td> 5347 </tr> 5348 <tr> 5349 <td>Digital Unix: </td> 5350 <td> /dev/tty01, /dev/tty02 </td> 5351 </tr> 5352 <tr> 5353 <td>HP-UX: </td> 5354 <td> /dev/tty1p0, /dev/tty2p0</td> 5355 </tr> 5356 <tr> 5357 <td>SGI/IRIX: </td> 5358 <td> /dev/ttyf1, /dev/ttyf2 </td> 5359 </tr> 5360 <tr> 5361 <td>SunOS/Solaris:</td> 5362 <td> /dev/ttya, /dev/ttyb </td> 5363 </tr> 5364 </table> 5365 <p> 5366 Note that you must plug a serial cable in the port defined here before you start BNC. 5367 </p> 5368 5369 <p> 5370 <h4 id="serbaud">2.10.3 Baud Rate - mandatory if 'Mountpoint' is set</h4> 5371 </p> 5372 <p> 5373 Select a 'Baud rate' for the serial output link. Note that using a high baud rate is recommended. 5374 </p> 5375 5376 <p> 5377 <h4 id="serflow">2.10.4 Flow Control - mandatory if 'Mountpoint' is set</h4> 5378 </p> 5379 <p> 5380 Select a 'Flow control' for the serial output link. Note that your selection must equal the flow control configured 5381 to the serially connected device. 5382 Select 'OFF' if you do not know better. 5383 </p> 5384 5385 <p> 5386 <h4 id="serparity">2.10.5 Parity - mandatory if 'Mountpoint' is set</h4> 5387 </p> 5388 <p> 5389 Select the 'Parity' for the serial output link. Note that parity is often set to 'NONE'. 5390 </p> 5391 5392 <p> 5393 <h4 id="serdata">2.10.6 Data Bits - mandatory if 'Mountpoint' is set</h4> 5394 </p> 5395 <p> 5396 Select the number of 'Data bits' for the serial output link. Note that often '8' data bits are used. 5397 </p> 5398 5399 <p> 5400 <h4 id="serstop">2.10.7 Stop Bits - mandatory if 'Mountpoint' is set</h4> 5401 </p> 5402 <p> 5403 Select the number of 'Stop bits' for the serial output link. Note that often '1' stop bit is used. 5404 </p> 5405 5406 <p> 5407 <h4 id="serauto">2.10.8 NMEA - mandatory if 'Mountpoint' is set</h4> 5408 </p> 5409 <p>The 'NMEA' option supports the so-called 'Virtual Reference Station' (VRS) concept which requires the receiver to 5410 send 5411 approximate position information to the Ntrip Broadcaster. Select 'no' if you do not want BNC to forward or upload 5412 any NMEA sentence 5413 to the Ntrip broadcaster in support of VRS. 5414 </p> 5415 <p> 5416 Select 'Auto' to automatically forward NMEA sentences of type GGA from your serially connected receiver to the Ntrip 5417 broadcaster 5418 and/or save them in a file. 5419 </p> 5420 <p>Select 'Manual GPGGA' or 'Manual GNGGA' if you want BNC to produce and upload GPGGA or GNGGA NMEA sentences to the 5421 Ntrip broadcaster 5422 because your serially connected receiver does not generate them. A Talker ID 'GP' proceeding the GGA string stands 5423 for GPS solutions 5424 while a Talker ID 'GN' stands for multi-constellation solutions. 5425 </p> 5426 <p> 5427 Note that selecting 'Auto' or 'Manual' works only for VRS streams which show up under the 'Streams' canvas on BNC's 5428 main window 5429 with 'nmea' stream attribute set to 'yes'. This attribute is either extracted from the Ntrip broadcaster's 5430 source-table or 5431 introduced by the user through editing the BNC configuration file. 5432 </p> 5433 5434 <p> 5435 <h4 id="serfile">2.10.9 File - optional if 'NMEA' is set to 'Auto'</h4> 5436 </p> 5437 <p> 5438 Specify the full path to a file where NMEA sentences coming from your serially connected receiver are saved. 5439 Default is an empty option field, meaning that no NMEA sentences will be saved on disk. 5440 </p> 5441 <p> 5442 <h4 id="serheight">2.10.10 Height - mandatory if 'NMEA' is set to 'Manual'</h4> 5443 </p> 5444 <p> 5445 Specify an approximate 'Height' above mean sea level in meters for the reference station introduced through 5446 'Mountpoint'. 5447 Together with the latitude and longitude from the Ntrip broadcaster source-table, the height information is used 5448 to build GGA sentences to be sent to the Ntrip broadcaster. 5449 </p> 5450 <p> 5451 For adjusting latitude and longitude values of a VRS stream given in the 'Streams' canvas, 5452 you can double click the latitude/longitude data fields, specify appropriate values and then hit Enter. 5453 </p> 5454 <p> 5455 This option is only relevant when option 'NMEA' is set to 'Manual GPGGA' or 'Manual GNGGA' respectively. 5456 </p> 5457 5458 <p> 5459 <h4 id="sersampl">2.10.11 Sampling - mandatory if 'NMEA' is set to 'Manual'</h4> 5460 </p> 5461 <p> 5462 Select a sampling interval in seconds for manual generation and upload of NMEA GGA sentences. 5463 </p> 5464 <p> 5465 A sampling rate of '0' means that a GGA sentence will be sent only once to initialize the requested VRS stream. 5466 Note that some VRS systems need GGA sentences at regular intervals. 5467 </p> 5468 5469 <p> 5470 <h4 id="advnote">2.11 Outages</h4> 5471 </p> 5472 <p> 5473 At any time an incoming stream might become unavailable or corrupted. In such cases, it is important that the BNC 5474 operator 5475 and/or the stream providers become aware of the situation so that measures can be taken to restore the stream. 5476 Furthermore, continuous attempts to decode a corrupted stream can generate unnecessary workload for BNC. 5477 Outages and corruptions are handled by BNC as follows: 5478 </p> 5479 <p> 5480 <u>Stream outages:</u> BNC considers a connection to be broken when there are no incoming data detected for more 5481 than 20 seconds. 5482 When this occurs, BNC will try to reconnect at a decreasing rate. It will first try to reconnect with 1 second delay 5483 and 5484 again in 2 seconds if the previous attempt failed. If the attempt is still unsuccessful, it will try to reconnect 5485 within 4 seconds after the previous attempt and so on. The waiting time doubles each time with a maximum of 256 5486 seconds. 5487 </p> 5488 <p> 5489 <u>Stream corruption:</u> Not all chunks of bits transferred to BNC's internal decoder may return valid 5490 observations. 5491 Sometimes several chunks might be needed before the next observation can be properly decoded. 5492 BNC buffers all outputs (both valid and invalid) from the decoder for a short time span 5493 (size derived from the expected 'Observation rate') to then determine whether a stream is valid or corrupted. 5494 </p> 5495 <p> 5496 Outage and corruption events are reported in the 'Log' tab. They can also be passed on as parameters to a shell 5497 script 5498 or batch file to generate an advisory note to BNC's operator or affected stream providers. 5499 This functionality lets users utilize BNC as a real-time performance monitor and alarm system for a network of GNSS 5500 reference stations. 5501 </p> 5502 5503 <p> 5504 <h4 id="obsrate">2.11.1 Observation Rate - optional</h4> 5505 </p> 5506 <p> 5507 BNC can collect all returns (success or failure) coming from a decoder within a certain short time span to then 5508 decide whether 5509 a stream has an outage or its content is corrupted. This procedure needs a rough a priori estimate of the expected 5510 observation rate of the incoming streams. 5511 </p> 5512 <p>An empty option field (default) means that you do not want explicit information from BNC about stream outages and 5513 incoming streams that cannot be decoded. 5514 </p> 5515 5516 <p> 5517 <h4 id="advfail">2.11.2 Failure Threshold - mandatory if 'Observation rate' is set</h4> 5518 </p> 5519 <p> 5520 Event 'Begin_Failure' will be reported if no data is received continuously for longer than the 'Failure threshold' 5521 time. 5522 Similarly, event 'Begin_Corrupted' will be reported when corrupted data is detected by the decoder continuously for 5523 longer than this 'Failure threshold' time. The default value is set to 15 minutes and is recommended as to not 5524 inundate 5525 users with too many event reports. 5526 </p> 5527 <p> 5528 Note that specifying a value of zero '0' for the 'Failure threshold' will force BNC to report any stream failure 5529 immediately. 5530 Note also that for using this function you need to specify the 'Observation rate'. 5531 </p> 5532 5533 <p> 5534 <h4 id="advreco">2.11.3 Recovery Threshold - mandatory if 'Observation rate' is set</h4> 5535 </p> 5536 <p> 5537 Once a 'Begin_Failure' or 'Begin_Corrupted' event has been reported, BNC will check when the stream again becomes 5538 available or uncorrupted. 5539 Event 'End_Failure' or 'End_Corrupted' will be reported as soon as valid observations are detected continuously 5540 throughout 5541 the 'Recovery threshold' time span. The default value is set to 5 minutes and is recommended as to not inundate 5542 users with too many event reports. 5543 </p> 5544 <p> 5545 Note that specifying a value of zero '0' for the 'Recovery threshold' will force BNC to report any stream recovery 5546 immediately. 5547 Note also that for using this function you need to specify the 'Observation rate'. 5548 </p> 5549 5550 <p> 5551 <h4 id="advscript">2.11.4 Script - optional if 'Observation rate' is set</h4> 5552 </p> 5553 <p> 5554 As mentioned before, BNC can trigger a shell script or a batch file to be executed when one of the described events 5555 is reported. 5556 This script can be used to email an advisory note to network operator or stream providers. To enable this feature, 5557 specify the full path to the script or batch file in the 'Script' field. The affected stream's mountpoint and type 5558 of event 5559 reported ('Begin_Outage', 'End_Outage', 'Begin_Corrupted' or 'End_Corrupted') will then be passed on to the script 5560 as 5561 command line parameters (%1 and %2 on Windows systems or $1 and $2 on Unix/Linux/Mac OS X systems) together with 5562 date and time information. 5563 </p> 5564 <p> 5565 Leave the 'Script' field empty if you do not wish to use this option. An invalid path will also disable this option. 5566 </p> 5567 <p> 5568 Examples for command line parameter strings passed on to the advisory 'Script' are: 5569 <pre><p style="font-family:Monospace"> 3423 5570 FFMJ00DEU0 Begin_Outage 22-02-21 09:25:59 3424 5571 FFMJ00DEU0 End_Outage 22-02-21 11:36:02 Begin was 22-02-21 09:25:59 3425 5572 </p></pre> 3426 <p> 3427 Sample script for Unix/Linux/Mac OS X systems: 3428 </p> 3429 <pre><p style="font-family:Monospace"> 5573 <p> 5574 Sample script for Unix/Linux/Mac OS X systems: 5575 </p> 5576 <pre><p style="font-family:Monospace"> 3430 5577 #!/bin/bash 3431 5578 sleep $((60*RANDOM/32767)) … … 3438 5585 mail -s "NABU: $1" email@address < mail.txt 3439 5586 </p></pre> 3440 <p> 3441 Note the sleep command in this script, which causes the system to wait for a random period of up to 60 seconds before sending the email. 3442 This should avoid overloading your mail server in case of a simultaneous failure of many streams. 3443 </p> 3444 3445 <p><h4 id="misc">2.12 Miscellaneous</h4></p> 3446 <p> 3447 This section describes several miscellaneous options which can be applied to a single stream (mountpoint) or to all configured streams. 3448 </p> 3449 3450 <p> 3451 The following figure shows RTCM message numbers and observation types contained in stream 'CUT000AUS0' and the message latencies 3452 recorded every 2 seconds. 3453 </p> 3454 <p><img src="IMG/Figure21.png"width=1000/></p> 3455 <p>Figure 21: RTCM message numbers, latencies and observation types logged by BNC</p> 3456 3457 3458 <p><h4 id="miscmount">2.12.1 Mountpoint - optional </h4></p> 3459 <p> 3460 Specify a mountpoint to apply one or several of the 'Miscellaneous' options to the corresponding stream. 3461 Enter 'ALL' if you want to apply these options to all configured streams. An empty option field (default) means 3462 that you do not want BNC to apply any of these options. 3463 </p> 3464 3465 <p><h4 id="miscperf">2.12.2 Log Latency - optional </h4></p> 3466 <p> 3467 BNC can average latencies per stream over a certain period of GPS time, the 'Log latency' interval. 3468 Mean latencies are calculated from the individual latencies of one (first incoming) observation or 3469 Broadcast Correction per second. The mean latencies are then saved in BNC's logfile. 3470 Note that computing correct latencies requires the clock of the host computer to be properly synchronized. 3471 Note further that visualized latencies from the 'Latency' tab on the bottom of the main window represent 3472 individual latencies and not the mean latencies for the logfile. 3473 </p> 3474 <p> 3475 <b>Latency:</b> Latency is defined in BNC by the following equation: 3476 </p> 3477 <pre> 5587 <p> 5588 Note the sleep command in this script, which causes the system to wait for a random period of up to 60 seconds 5589 before sending the email. 5590 This should avoid overloading your mail server in case of a simultaneous failure of many streams. 5591 </p> 5592 5593 <p> 5594 <h4 id="misc">2.12 Miscellaneous</h4> 5595 </p> 5596 <p> 5597 This section describes several miscellaneous options which can be applied to a single stream (mountpoint) or to all 5598 configured streams. 5599 </p> 5600 5601 <p> 5602 The following figure shows RTCM message numbers and observation types contained in stream 'CUT000AUS0' and the 5603 message latencies 5604 recorded every 2 seconds. 5605 </p> 5606 <p><img src="IMG/Figure21.png" width=1000 /></p> 5607 <p>Figure 21: RTCM message numbers, latencies and observation types logged by BNC</p> 5608 5609 5610 <p> 5611 <h4 id="miscmount">2.12.1 Mountpoint - optional </h4> 5612 </p> 5613 <p> 5614 Specify a mountpoint to apply one or several of the 'Miscellaneous' options to the corresponding stream. 5615 Enter 'ALL' if you want to apply these options to all configured streams. An empty option field (default) means 5616 that you do not want BNC to apply any of these options. 5617 </p> 5618 5619 <p> 5620 <h4 id="miscperf">2.12.2 Log Latency - optional </h4> 5621 </p> 5622 <p> 5623 BNC can average latencies per stream over a certain period of GPS time, the 'Log latency' interval. 5624 Mean latencies are calculated from the individual latencies of one (first incoming) observation or 5625 Broadcast Correction per second. The mean latencies are then saved in BNC's logfile. 5626 Note that computing correct latencies requires the clock of the host computer to be properly synchronized. 5627 Note further that visualized latencies from the 'Latency' tab on the bottom of the main window represent 5628 individual latencies and not the mean latencies for the logfile. 5629 </p> 5630 <p> 5631 <b>Latency:</b> Latency is defined in BNC by the following equation: 5632 </p> 5633 <pre> 3478 5634 UTC time provided by BNC's host (QDateTime::currentDateTime().toUTC()) 3479 5635 - GPS time of currently processed epoch … … 3482 5638 = Latency 3483 5639 </pre> 3484 <p> 3485 <b>Statistics:</b> BNC counts the number of GPS seconds covered by at least one observation. 3486 It also estimates an observation rate (independent from the a priori specified 'Observation rate') 3487 from all observations received throughout the first full 'Log latency' interval. Based on this rate, 3488 BNC estimates the number of data gaps when appearing in subsequent intervals. 3489 </p> 3490 <p> 3491 Latencies of observations or corrections to Broadcast Ephemeris and statistical information can be recorded in the 'Log' tab 3492 at the end of each 'Log latency' interval. A typical output from a 1 hour 'Log latency' interval would be: 3493 </p> 3494 <pre> 5640 <p> 5641 <b>Statistics:</b> BNC counts the number of GPS seconds covered by at least one observation. 5642 It also estimates an observation rate (independent from the a priori specified 'Observation rate') 5643 from all observations received throughout the first full 'Log latency' interval. Based on this rate, 5644 BNC estimates the number of data gaps when appearing in subsequent intervals. 5645 </p> 5646 <p> 5647 Latencies of observations or corrections to Broadcast Ephemeris and statistical information can be recorded in the 5648 'Log' tab 5649 at the end of each 'Log latency' interval. A typical output from a 1 hour 'Log latency' interval would be: 5650 </p> 5651 <pre> 3495 5652 22-11-09 11:59:42 CUT000AUS0 Observations: Mean latency 0.48 sec, min 0.25, max 0.97, rms 0.50, 3600 epochs, 0 gaps 3496 5653 </pre> 3497 <p> 3498 Select a 'Log latency' interval to activate this function or select the empty option field if you do not want BNC 3499 to log latencies and statistical information. 3500 </p> 3501 3502 3503 <p><h4 id="miscscan">2.12.3 Scan RTCM - optional</h4></p> 3504 <p> 3505 When configuring a GNSS receiver for RTCM stream generation, the firmware's setup interface may not provide details about 3506 RTCM message types and observation types. As reliable information concerning stream content should be available e.g. 3507 for Ntrip Broadcaster operators to maintain the broadcaster's source-table, BNC allows to scan RTCM streams for 3508 incoming message types and printout some of the contained meta-data. Contained observation types are also printed because 3509 such information is required a priori for the conversion of RTCM Version 3 MSM streams to RINEX Version 3 files. 3510 </p> 3511 <p> 3512 Tick 'Scan RTCM' to scan RTCM Version 2 or 3 streams and log all contained 3513 </p> 3514 <ul> 3515 <li>Numbers and size of incoming message types</li> 3516 <li>Antenna Reference Point (ARP) coordinates</li> 3517 <li>Antenna Phase Center (APC) coordinates</li> 3518 <li>Antenna height above marker</li> 3519 <li>Antenna descriptor.</li> 3520 </ul> 3521 In case of RTCM Version 3 streams the output includes 3522 <ul> 3523 <li>RINEX Version 3 Observation types</li> 3524 </ul> 3525 </p> 3526 3527 <p> 3528 Note that in RTCM Version 2 message types 18 and 19 carry only the observables of one frequency. 3529 Hence it needs two type 18 and 19 messages per epoch to transport observations from dual frequency receivers. 3530 </p> 3531 3532 <p> 3533 Please note further that RTCM Version 3 message types 1084 for GLONASS do not contain GLONASS channel numbers. 3534 The same is true for most of the GLONASS MSM messages, expect for MSM5 and MSM7, where the GLONASS channel number is available 3535 as extended information. Such observations can only be decoded when you include 1020 GLONASS ephemeris messages to your stream, 3536 which contain the channels. You could also add another stream carrying 1087 GLONASS observation messages or 3537 1020 GLONASS ephemeris messages to get the GLONASS channel numbers. 3538 </p> 3539 3540 <p> 3541 Logged time stamps refer to message reception time and allow understanding repetition rates. 3542 Enter 'ALL' if you want to log this information from all configured streams. 3543 Beware that the size of the logfile can rapidly increase depending on the number of incoming RTCM streams. 3544 </p> 3545 <p>This option is primarily meant for test and evaluation. Use it to figure out what exactly is produced 3546 by a specific GNSS receiver's configuration. An empty option field (default) means that you do not want BNC 3547 to print message type numbers and antenna information carried in RTCM streams. 3548 </p> 3549 3550 <p><h4 id="miscport">2.12.4 Port - optional</h4></p> 3551 <p> 3552 BNC can output streams related to the above specified 'Mountpoint' through a TCP/IP port of your local host. 3553 Enter a port number to activate this function. The stream content remains untouched. BNC does not decode or reformat the data for this output. 3554 If the decoder string is not an accepted one ('RTCM_2.x', 'RTCM_3.x' and 'RTNET'), please change the decoder string to <ul> 3555 <li> 'ZERO' (forward the raw data) or </li> 3556 <li> 'ZERO2File' (forward and store the raw data)</li> </ul> in addition. 3557 </p> 3558 3559 <p> 3560 An empty option field (default) means that you do not want BNC to apply the TCP/IP port output option. 3561 </p> 3562 3563 <p><h4 id="pppclient">2.13 PPP Client</h4></p> 3564 <p> 3565 BNC can derive coordinates for rover positions following different Precise Point Positioning (PPP) methods: 3566 <ul> 3567 <li>Uncombined PPP for GPS, GLONASS, Galileo and BDS</li> 3568 <li>Ionosphere-free PPP for GPS, GLONASS, Galileo and BDS</li> 3569 <li>PPP with ambiguity resolution for GPS, Galileo and BDS </li> 3570 </ul> 3571 Therefore it uses code data (P), phase data (L) from one or more GNSS. 3572 Besides pulling streams of observations from a dual frequency GNSS receiver, this 3573 <ul> 3574 <li>Requires pulling in addition a stream carrying satellite orbit and clock corrections to Broadcast Ephemeris in the form of 5654 <p> 5655 Select a 'Log latency' interval to activate this function or select the empty option field if you do not want BNC 5656 to log latencies and statistical information. 5657 </p> 5658 5659 5660 <p> 5661 <h4 id="miscscan">2.12.3 Scan RTCM - optional</h4> 5662 </p> 5663 <p> 5664 When configuring a GNSS receiver for RTCM stream generation, the firmware's setup interface may not provide details 5665 about 5666 RTCM message types and observation types. As reliable information concerning stream content should be available e.g. 5667 for Ntrip Broadcaster operators to maintain the broadcaster's source-table, BNC allows to scan RTCM streams for 5668 incoming message types and printout some of the contained meta-data. Contained observation types are also printed 5669 because 5670 such information is required a priori for the conversion of RTCM Version 3 MSM streams to RINEX Version 3 files. 5671 </p> 5672 <p> 5673 Tick 'Scan RTCM' to scan RTCM Version 2 or 3 streams and log all contained 5674 </p> 5675 <ul> 5676 <li>Numbers and size of incoming message types</li> 5677 <li>Antenna Reference Point (ARP) coordinates</li> 5678 <li>Antenna Phase Center (APC) coordinates</li> 5679 <li>Antenna height above marker</li> 5680 <li>Antenna descriptor.</li> 5681 </ul> 5682 In case of RTCM Version 3 streams the output includes 5683 <ul> 5684 <li>RINEX Version 3 Observation types</li> 5685 </ul> 5686 </p> 5687 5688 <p> 5689 Note that in RTCM Version 2 message types 18 and 19 carry only the observables of one frequency. 5690 Hence it needs two type 18 and 19 messages per epoch to transport observations from dual frequency receivers. 5691 </p> 5692 5693 <p> 5694 Please note further that RTCM Version 3 message types 1084 for GLONASS do not contain GLONASS channel numbers. 5695 The same is true for most of the GLONASS MSM messages, expect for MSM5 and MSM7, where the GLONASS channel number is 5696 available 5697 as extended information. Such observations can only be decoded when you include 1020 GLONASS ephemeris messages to 5698 your stream, 5699 which contain the channels. You could also add another stream carrying 1087 GLONASS observation messages or 5700 1020 GLONASS ephemeris messages to get the GLONASS channel numbers. 5701 </p> 5702 5703 <p> 5704 Logged time stamps refer to message reception time and allow understanding repetition rates. 5705 Enter 'ALL' if you want to log this information from all configured streams. 5706 Beware that the size of the logfile can rapidly increase depending on the number of incoming RTCM streams. 5707 </p> 5708 <p>This option is primarily meant for test and evaluation. Use it to figure out what exactly is produced 5709 by a specific GNSS receiver's configuration. An empty option field (default) means that you do not want BNC 5710 to print message type numbers and antenna information carried in RTCM streams. 5711 </p> 5712 5713 <p> 5714 <h4 id="miscport">2.12.4 Port - optional</h4> 5715 </p> 5716 <p> 5717 BNC can output streams related to the above specified 'Mountpoint' through a TCP/IP port of your local host. 5718 Enter a port number to activate this function. The stream content remains untouched. BNC does not decode or reformat 5719 the data for this output. 5720 If the decoder string is not an accepted one ('RTCM_2.x', 'RTCM_3.x' and 'RTNET'), please change the decoder string 5721 to 5722 <ul> 5723 <li> 'ZERO' (forward the raw data) or </li> 5724 <li> 'ZERO2File' (forward and store the raw data)</li> 5725 </ul> in addition. 5726 </p> 5727 5728 <p> 5729 An empty option field (default) means that you do not want BNC to apply the TCP/IP port output option. 5730 </p> 5731 5732 <p> 5733 <h4 id="pppclient">2.13 PPP Client</h4> 5734 </p> 5735 <p> 5736 BNC can derive coordinates for rover positions following different Precise Point Positioning (PPP) methods: 5737 <ul> 5738 <li>Uncombined PPP for GPS, GLONASS, Galileo and BDS</li> 5739 <li>Ionosphere-free PPP for GPS, GLONASS, Galileo and BDS</li> 5740 <li>PPP with ambiguity resolution for GPS, Galileo and BDS </li> 5741 </ul> 5742 Therefore it uses code data (P), phase data (L) from one or more GNSS. 5743 Besides pulling streams of observations from a dual frequency GNSS receiver, this 5744 <ul> 5745 <li>Requires pulling in addition a stream carrying satellite orbit and clock corrections to Broadcast Ephemeris in 5746 the form of 3575 5747 RTCM-SSR or IGS-SSR messages. Note that for BNC these Broadcast Corrections need to be referred to the satellite's 3576 5748 Antenna Phase Center (APC). Streams providing such messages are listed on 3577 5749 <a href="https://igs.bkg.bund.de/ntrip/#rtcm-corr" target="_blank">https://igs.bkg.bund.de/ntrip/#rtcm-corr</a> 3578 Stream 'SSRA00BKG0' (RTCM-SSR) or 'SSRA00BKG1' (IGS-SSR) on Ntrip Broadcaster 'products.igs-ip.net:2101' is an example.</li> 3579 <li>May require pulling a stream carrying Broadcast Ephemeris available as RTCM Version 3 message types 1019, 1020, 1043, 1044, 1045, 1046, etc.. 3580 This becomes a must only when the stream coming from the receiver does not contain Broadcast Ephemeris or provides them only 5750 Stream 'SSRA00BKG0' (RTCM-SSR) or 'SSRA00BKG1' (IGS-SSR) on Ntrip Broadcaster 'products.igs-ip.net:2101' is an 5751 example. 5752 </li> 5753 <li>May require pulling a stream carrying Broadcast Ephemeris available as RTCM Version 3 message types 1019, 1020, 5754 1043, 1044, 1045, 1046, etc.. 5755 This becomes a must only when the stream coming from the receiver does not contain Broadcast Ephemeris or provides 5756 them only 3581 5757 at very low repetition rate. Streams providing such messages are listed on 3582 5758 <a href="https://igs.bkg.bund.de/ntrip/#rtcm-eph" target="_blank">https://igs.bkg.bund.de/ntrip/#rtcm-eph</a> 3583 Stream 'BCEP00BKG0' on caster 'products.igs-ip.net:2101' is an example.</li> 3584 </ul> 3585 Note that Broadcast Ephemeris parameters pass a plausibility check in BNC which allows to ignore incorrect or outdated ephemeris data 3586 when necessary, leaving a note 'WRONG EPHEMERIS' or 'OUTDATED EPHEMERIS' in the logfile. Unhealthy ephemeris data sets are remaining 3587 and leaving a note 'UNHEALTHY' in the logfile. 3588 </p> 3589 When using the PPP option, BNC does correct for: 3590 <ul> 3591 <li>Solid Earth Tides and Phase Windup</li> 3592 <li>Satellite Antenna Phase Center offsets and variations</li> 3593 <li>Receiver Antenna Phase Center offsets and variations: 5759 Stream 'BCEP00BKG0' on caster 'products.igs-ip.net:2101' is an example. 5760 </li> 5761 </ul> 5762 Note that Broadcast Ephemeris parameters pass a plausibility check in BNC which allows to ignore incorrect or outdated 5763 ephemeris data 5764 when necessary, leaving a note 'WRONG EPHEMERIS' or 'OUTDATED EPHEMERIS' in the logfile. Unhealthy ephemeris data sets 5765 are remaining 5766 and leaving a note 'UNHEALTHY' in the logfile. 5767 </p> 5768 When using the PPP option, BNC does correct for: 5769 <ul> 5770 <li>Solid Earth Tides and Phase Windup</li> 5771 <li>Satellite Antenna Phase Center offsets and variations</li> 5772 <li>Receiver Antenna Phase Center offsets and variations: 3594 5773 Depending on whether or not these corrections are applied, the estimated position is either that of the receiver's 3595 5774 Antenna Phase Center or that of the receiver's Antenna Reference Point</li> 3596 <li>Ocean and atmospheric loading: 3597 Atmospheric loading is pretty small but Ocean loading may reach up to about 10 centimeters for coastal stations</li> 3598 </ul> 3599 <p> 3600 Rotational deformation due to polar motion (Polar Tides) is not corrected because this is a small effect usually less than 2 centimeters. 3601 </p> 3602 <p> 3603 The provider of an orbit/clock correction stream may switch with his service at any time from a duty to a backup server installation. 3604 This shall be noted in the SSR stream through a change of the Issue Of Data (IOD SSR) parameter. 3605 The PPP option in BNC will immediately reset all ambiguities in such a situation. 3606 </p> 3607 <p> 3608 PPP options are specified in BNC through the following four panels. 3609 <ul> 3610 <li>PPP (1): Input and output, specifying real-time or post processing mode and associated data sources</li> 3611 <li>PPP (2): Processing options, specifying general PPP processing options</li> 3612 <li>PPP (3): Processed stations, specifying sigmas and noise of a priori coordinates and troposphere paremeters, 3613 NMEA stream output and signal priorities</li> 3614 <li>PPP (4): Plots, specifying visualization through time series and track maps</li> 3615 </ul> 3616 </p> 3617 3618 <p><h4 id="pppInp">2.13.1 PPP (1): Input and Output</h4></p> 3619 <p> 3620 This panel provides options for specifying the input and output streams and files required by BNC for real-time or post processing PPP. 3621 </p> 3622 <p><img src="IMG/Figure22.png"width=1000/></p> 3623 <p>Figure 22: Real-time Precise Point Positioning with BNC, PPP Panel 1</p> 3624 3625 <p><h4 id="pppdatasource">2.13.1.1 Data Source - optional</h4></p> 3626 <p> 3627 Choose between input from 'Real-time Streams' or 'RINEX Files' for PPP with BNC in real-time or post processing mode. 3628 </p> 3629 <p><b>Real-time Streams</b>: When choosing 'Real-time Streams' BNC will do PPP solutions in real-time. 3630 This requires pulling GNSS observation streams, Broadcast Ephemeris messages and a stream containing corrections to Broadcast Ephemerides. 3631 Streams with observation and navigation data have to be in RTCM Version 3 format. Correction streams have to be in RTCM-SSR or IGS-SSR format. 3632 If you do not pull Broadcast Corrections, BNC will switch with its solution to 'Single Point Positioning' (SPP) mode. 3633 </p> 3634 <p><b>RINEX Files</b>: This input mode allows to specify RINEX Observation, RINEX Navigation and Broadcast Correction files. 3635 BNC accepts RINEX Version 2 as well as RINEX Version 3 Observation or Navigation file formats. 3636 Files carrying Broadcast Corrections must have the format produced by BNC through the 'Broadcast Corrections' panel. 3637 Specifying only a RINEX Observation and a RINEX Navigation file and no Broadcast Correction file leads BNC to a 3638 'Single Point Positioning' (SPP) solution. 3639 <p> 3640 The following type of Broadcast navigation messages is used per individulal GNSS:</p> 3641 <table> 3642 <tr><td>Navigation </td><td>Description </td><td>Constellation </td><td>RTCM </td></tr> 3643 <tr><td>Message Type </td><td> </td><td>and Signal </td><td>Message Type</td></tr> 3644 <tr><td> </td><td> </td><td> </td><td> </td></tr> 3645 <tr><td> </td><td> </td><td> </td><td> </td></tr> 3646 <tr><td> </td><td> </td><td> </td><td> </td></tr> 3647 <tr><td>LNAV</td><td> GPS Legacy navigation message </td><td>GPS L1 C/A </td><td>1019</td></tr> 3648 <tr><td> </td><td> </td><td> </td><td> </td></tr> 3649 <tr><td>FDMA</td><td> GLONASS Legacy FDMA navigation message </td><td>GLO L1 C/A </td><td>1020</td></tr> 3650 <tr><td> </td><td> from M-satellites </td><td> </td><td> </td></tr> 3651 <tr><td> </td><td> </td><td> </td><td> </td></tr> 3652 <tr><td>INAV</td><td> Galileo Integrity navigation message </td><td>GAL E1, E5b </td><td>1046</td></tr> 3653 <tr><td> </td><td> </td><td> </td><td> </td></tr> 3654 <tr><td>D1 </td><td> BeiDou-2/3 MEO/IGSO navigation message </td><td>BDS B1I, B2I, B3I </td><td>1042</td></tr> 3655 <tr><td>D2 </td><td> BeiDou-2/3 GEO navigation message </td><td>BDS B1I, B2I, B3I </td><td>1042</td></tr> 3656 </table> 3657 <p> 3658 Note that for debugging purposes, BNC's real-time PPP functionality can also be used offline. 3659 Apply the 'File Mode' 'Command Line' option for that to read a file containing synchronized observations, 3660 orbit and clock correctors, and Broadcast Ephemeris. Example:</p> 3661 <pre> 5775 <li>Ocean and atmospheric loading: 5776 Atmospheric loading is pretty small but Ocean loading may reach up to about 10 centimeters for coastal stations 5777 </li> 5778 </ul> 5779 <p> 5780 Rotational deformation due to polar motion (Polar Tides) is not corrected because this is a small effect usually 5781 less than 2 centimeters. 5782 </p> 5783 <p> 5784 The provider of an orbit/clock correction stream may switch with his service at any time from a duty to a backup 5785 server installation. 5786 This shall be noted in the SSR stream through a change of the Issue Of Data (IOD SSR) parameter. 5787 The PPP option in BNC will immediately reset all ambiguities in such a situation. 5788 </p> 5789 <p> 5790 PPP options are specified in BNC through the following four panels. 5791 <ul> 5792 <li>PPP (1): Input and output, specifying real-time or post processing mode and associated data sources</li> 5793 <li>PPP (2): Processing options, specifying general PPP processing options</li> 5794 <li>PPP (3): Processed stations, specifying sigmas and noise of a priori coordinates and troposphere paremeters, 5795 NMEA stream output and signal priorities</li> 5796 <li>PPP (4): Plots, specifying visualization through time series and track maps</li> 5797 </ul> 5798 </p> 5799 5800 <p> 5801 <h4 id="pppInp">2.13.1 PPP (1): Input and Output</h4> 5802 </p> 5803 <p> 5804 This panel provides options for specifying the input and output streams and files required by BNC for real-time or 5805 post processing PPP. 5806 </p> 5807 <p><img src="IMG/Figure22.png" width=1000 /></p> 5808 <p>Figure 22: Real-time Precise Point Positioning with BNC, PPP Panel 1</p> 5809 5810 <p> 5811 <h4 id="pppdatasource">2.13.1.1 Data Source - optional</h4> 5812 </p> 5813 <p> 5814 Choose between input from 'Real-time Streams' or 'RINEX Files' for PPP with BNC in real-time or post processing 5815 mode. 5816 </p> 5817 <p><b>Real-time Streams</b>: When choosing 'Real-time Streams' BNC will do PPP solutions in real-time. 5818 This requires pulling GNSS observation streams, Broadcast Ephemeris messages and a stream containing corrections to 5819 Broadcast Ephemerides. 5820 Streams with observation and navigation data have to be in RTCM Version 3 format. Correction streams have to be in 5821 RTCM-SSR or IGS-SSR format. 5822 If you do not pull Broadcast Corrections, BNC will switch with its solution to 'Single Point Positioning' (SPP) 5823 mode. 5824 </p> 5825 <p><b>RINEX Files</b>: This input mode allows to specify RINEX Observation, RINEX Navigation and Broadcast Correction 5826 files. 5827 BNC accepts RINEX Version 2 as well as RINEX Version 3 Observation or Navigation file formats. 5828 Files carrying Broadcast Corrections must have the format produced by BNC through the 'Broadcast Corrections' panel. 5829 Specifying only a RINEX Observation and a RINEX Navigation file and no Broadcast Correction file leads BNC to a 5830 'Single Point Positioning' (SPP) solution. 5831 <p> 5832 The following type of Broadcast navigation messages is used per individulal GNSS:</p> 5833 <table> 5834 <tr> 5835 <td>Navigation </td> 5836 <td>Description </td> 5837 <td>Constellation </td> 5838 <td>RTCM </td> 5839 </tr> 5840 <tr> 5841 <td>Message Type </td> 5842 <td> </td> 5843 <td>and Signal </td> 5844 <td>Message Type</td> 5845 </tr> 5846 <tr> 5847 <td> </td> 5848 <td> </td> 5849 <td> </td> 5850 <td> </td> 5851 </tr> 5852 <tr> 5853 <td> </td> 5854 <td> </td> 5855 <td> </td> 5856 <td> </td> 5857 </tr> 5858 <tr> 5859 <td> </td> 5860 <td> </td> 5861 <td> </td> 5862 <td> </td> 5863 </tr> 5864 <tr> 5865 <td>LNAV</td> 5866 <td> GPS Legacy navigation message </td> 5867 <td>GPS L1 C/A </td> 5868 <td>1019</td> 5869 </tr> 5870 <tr> 5871 <td> </td> 5872 <td> </td> 5873 <td> </td> 5874 <td> </td> 5875 </tr> 5876 <tr> 5877 <td>FDMA</td> 5878 <td> GLONASS Legacy FDMA navigation message </td> 5879 <td>GLO L1 C/A </td> 5880 <td>1020</td> 5881 </tr> 5882 <tr> 5883 <td> </td> 5884 <td> from M-satellites </td> 5885 <td> </td> 5886 <td> </td> 5887 </tr> 5888 <tr> 5889 <td> </td> 5890 <td> </td> 5891 <td> </td> 5892 <td> </td> 5893 </tr> 5894 <tr> 5895 <td>INAV</td> 5896 <td> Galileo Integrity navigation message </td> 5897 <td>GAL E1, E5b </td> 5898 <td>1046</td> 5899 </tr> 5900 <tr> 5901 <td> </td> 5902 <td> </td> 5903 <td> </td> 5904 <td> </td> 5905 </tr> 5906 <tr> 5907 <td>D1 </td> 5908 <td> BeiDou-2/3 MEO/IGSO navigation message </td> 5909 <td>BDS B1I, B2I, B3I </td> 5910 <td>1042</td> 5911 </tr> 5912 <tr> 5913 <td>D2 </td> 5914 <td> BeiDou-2/3 GEO navigation message </td> 5915 <td>BDS B1I, B2I, B3I </td> 5916 <td>1042</td> 5917 </tr> 5918 </table> 5919 <p> 5920 Note that for debugging purposes, BNC's real-time PPP functionality can also be used offline. 5921 Apply the 'File Mode' 'Command Line' option for that to read a file containing synchronized observations, 5922 orbit and clock correctors, and Broadcast Ephemeris. Example:</p> 5923 <pre> 3662 5924 Windows: bnc.exe --conf c:\temp\PPP.bnc --file c:\temp\RAW 3663 5925 </pre> 3664 Such a file (here: 'RAW') must be saved beforehand using BNC's 'Raw output file' option. 3665 </p> 3666 <p><h4 id="pppcorrstream">2.13.1.2 Corrections Stream - optional if 'Data source' is set to 'Real-Time Streams'</h4></p> 3667 <p> 3668 Specify a Broadcast 'Corrections stream' from the list of selected 'Streams' you are pulling if you want BNC to correct your 3669 satellite ephemeris and observations accordingly. Note that the stream's orbit and clock corrections must refer to the 3670 satellite Antenna Phase Center (APC). Streams providing such corrections are made available e.g. through the 3671 International GNSS Service (IGS) and can for example be be pulled from <a href="https://products.igs-ip.net" target="_blank">https://products.igs-ip.net</a> 3672 The stream format must be RTCM-SSR or IGS-SSR containing so-called SSR messages. Streams 'SSRA03IGS1' and 'SSRA00BKG1' are examples 3673 using the IGS-SSR format. 3674 If you do not specify a 'Corrections stream', BNC will fall back from a PPP solution to a Single Point Positioning (SPP) solution. 3675 </p> 3676 <p><h4 id="pppcorrfile">2.13.1.3 Corrections File - optional if 'Data source' is set to 'RINEX Files'</h4></p> 3677 <p> 3678 Specify a Broadcast 'Corrections file' as saved beforehand using BNC. The file content is basically the ASCII representation of a 3679 RTCM-SSR or a IGS-SSR Broadcast Correction stream. If you do not specify a 'Correction file', BNC will fall back from a PPP solution 3680 to a Single Point Positioning (SPP) solution. 3681 </p> 3682 <p><h4 id="pppbiasstream">2.13.1.4 Biases Stream - optional if 'Data source' is set to 'Real-Time Streams'</h4></p> 3683 <p> 3684 Specify a 'Biases stream' which provides satellite biases in SSR format from the list of selected 'Streams' you are pulling 3685 if you want BNC to correct your observations accordingly. Streams providing such satellite biases are made available e.g. through the 3686 International GNSS Service (IGS) and can for example be be pulled from <a href="https://products.igs-ip.net" target="_blank">https://products.igs-ip.net</a> 3687 The stream format must be RTCM-SSR or IGS-SSR containing so-called SSR messages. Streams 'OSBC00WHU1' is an example using the IGS-SSR format. 3688 If you do not specify a 'Biases stream' via this option, BNC will use satellite biases from the Corrections stream 'mountpoint', 3689 if available. 3690 </p> 3691 <p><h4 id="pppbiasfile">2.13.1.5 Biases File - optional if 'Data source' is set to 'RINEX Files'</h4></p> 3692 <p> 3693 Specify a 'Biases file' as saved beforehand using BNC. The file content is basically the ASCII representation of a 3694 RTCM-SSR or a IGS-SSR Biases stream. 3695 </p> 3696 <p><h4 id="pppionostream">2.13.1.6 Ionosphere Stream - optional if 'Data source' is set to 'Real-Time Streams'</h4></p> 3697 <p> 3698 Specify a 'Ionosphere stream' which provides VTEC informations in SSR format from the list of selected 'Streams' you are pulling 3699 if you want BNC to correct your observations accordingly. Streams providing such VTEC informations are made available e.g. through the 3700 International GNSS Service (IGS) and can for example be be pulled from <a href="https://products.igs-ip.net" target="_blank">https://products.igs-ip.net</a> 3701 The stream format must be RTCM-SSR or IGS-SSR containing so-called SSR messages. Streams 'IONO00IGS1' and 'IONO00UPC1' are examples 3702 using the IGS-SSR format. 3703 If you do not specify a 'Ionosphere stream' via this option, BNC will use VTEC informations from the Corrections stream 'mountpoint', 3704 if available. 3705 </p> 3706 <p><h4 id="pppionofile">2.13.1.7 Ionosphere File - optional if 'Data source' is set to 'RINEX Files'</h4></p> 3707 <p> 3708 Specify a 'Ionosphere file' as saved beforehand using BNC. The file content is basically the ASCII representation of a 3709 RTCM-SSR or a IGS-SSR Ionosphere stream. 3710 </p> 3711 <p><h4 id="ppprnxobs">2.13.1.8 RINEX Observation File - mandatory if 'Data source' is set to 'RINEX Files'</h4></p> 3712 <p> 3713 Specify a RINEX Observation file. The file format can be RINEX Version 2, RINEX Version 3 or RINEX Version 4. 3714 </p> 3715 <p><h4 id="ppprnxnav">2.13.1.9 RINEX Navigation File - mandatory if 'Data source' is set to 'RINEX Files'</h4></p> 3716 <p> 3717 Specify a RINEX Navigation file.The file format can be RINEX Version 2, RINEX Version 3 or RINEX Version 4. 3718 </p> 3719 <p><h4 id="pppantexfile">2.13.1.10 ANTEX File - optional</h4></p> 3720 <p> 3721 IGS provides a file containing absolute phase center corrections for GNSS satellite and receiver antennas in ANTEX format Version 1.4 3722 (at <a href="https://kb.igs.org/hc/en-us/articles/216104678-ANTEX-format-description" target="_blank">https://kb.igs.org/hc/en-us/articles/216104678-ANTEX-format-description/</a>). 3723 Such so-called ANTEX files are available from IGS through 3724 at <a href="https://files.igs.org/pub/station/general/" target="_blank">https://files.igs.org/pub/station/general/</a>. 3725 An example ANTEX file 'igs20.atx' is part of the BNC package for convenience. 3726 </p> 3727 <p> 3728 Entering the full path to such an ANTEX file is required for correcting observations in PPP for Antenna Phase Center offsets 3729 and variations. Note that for applying such corrections you need to specify the receiver's antenna name and radome in BNC's 'Coordinates file'. 3730 </p> 3731 <p> 3732 Default value for 'ANTEX file' is an empty option field, meaning that you do not want to correct observations for 3733 Antenna Phase Center offsets and variations. 3734 </p> 3735 <p><h4 id="pppmarkcoor">2.13.1.11 Coordinates File - optional </h4></p> 3736 <p> 3737 Enter the full path to an ASCII file which specifies all observation streams or files from stationary or mobile receivers 3738 you possibly may want to process. 3739 </p> 3740 <p> 3741 Specifying a 'Coordinates file' is optional. If it exists, it should contain one record per stream or file 3742 with the following parameters separated by blank characters: 3743 </p> 3744 <ul> 3745 <li>Input data source, to be specified either through 5926 Such a file (here: 'RAW') must be saved beforehand using BNC's 'Raw output file' option. 5927 </p> 5928 <p> 5929 <h4 id="pppcorrstream">2.13.1.2 Corrections Stream - optional if 'Data source' is set to 'Real-Time Streams'</h4> 5930 </p> 5931 <p> 5932 Specify a Broadcast 'Corrections stream' from the list of selected 'Streams' you are pulling if you want BNC to 5933 correct your 5934 satellite ephemeris and observations accordingly. Note that the stream's orbit and clock corrections must refer to 5935 the 5936 satellite Antenna Phase Center (APC). Streams providing such corrections are made available e.g. through the 5937 International GNSS Service (IGS) and can for example be be pulled from <a href="https://products.igs-ip.net" 5938 target="_blank">https://products.igs-ip.net</a> 5939 The stream format must be RTCM-SSR or IGS-SSR containing so-called SSR messages. Streams 'SSRA03IGS1' and 5940 'SSRA00BKG1' are examples 5941 using the IGS-SSR format. 5942 If you do not specify a 'Corrections stream', BNC will fall back from a PPP solution to a Single Point Positioning 5943 (SPP) solution. 5944 </p> 5945 <p> 5946 <h4 id="pppcorrfile">2.13.1.3 Corrections File - optional if 'Data source' is set to 'RINEX Files'</h4> 5947 </p> 5948 <p> 5949 Specify a Broadcast 'Corrections file' as saved beforehand using BNC. The file content is basically the ASCII 5950 representation of a 5951 RTCM-SSR or a IGS-SSR Broadcast Correction stream. If you do not specify a 'Correction file', BNC will fall back 5952 from a PPP solution 5953 to a Single Point Positioning (SPP) solution. 5954 </p> 5955 <p> 5956 <h4 id="pppbiasstream">2.13.1.4 Biases Stream - optional if 'Data source' is set to 'Real-Time Streams'</h4> 5957 </p> 5958 <p> 5959 Specify a 'Biases stream' which provides satellite biases in SSR format from the list of selected 'Streams' you are 5960 pulling 5961 if you want BNC to correct your observations accordingly. Streams providing such satellite biases are made available 5962 e.g. through the 5963 International GNSS Service (IGS) and can for example be be pulled from <a href="https://products.igs-ip.net" 5964 target="_blank">https://products.igs-ip.net</a> 5965 The stream format must be RTCM-SSR or IGS-SSR containing so-called SSR messages. Streams 'OSBC00WHU1' is an example 5966 using the IGS-SSR format. 5967 If you do not specify a 'Biases stream' via this option, BNC will use satellite biases from the Corrections stream 5968 'mountpoint', 5969 if available. 5970 </p> 5971 <p> 5972 <h4 id="pppbiasfile">2.13.1.5 Biases File - optional if 'Data source' is set to 'RINEX Files'</h4> 5973 </p> 5974 <p> 5975 Specify a 'Biases file' as saved beforehand using BNC. The file content is basically the ASCII representation of a 5976 RTCM-SSR or a IGS-SSR Biases stream. 5977 </p> 5978 <p> 5979 <h4 id="pppionostream">2.13.1.6 Ionosphere Stream - optional if 'Data source' is set to 'Real-Time Streams'</h4> 5980 </p> 5981 <p> 5982 Specify a 'Ionosphere stream' which provides VTEC informations in SSR format from the list of selected 'Streams' you 5983 are pulling 5984 if you want BNC to correct your observations accordingly. Streams providing such VTEC informations are made 5985 available e.g. through the 5986 International GNSS Service (IGS) and can for example be be pulled from <a href="https://products.igs-ip.net" 5987 target="_blank">https://products.igs-ip.net</a> 5988 The stream format must be RTCM-SSR or IGS-SSR containing so-called SSR messages. Streams 'IONO00IGS1' and 5989 'IONO00UPC1' are examples 5990 using the IGS-SSR format. 5991 If you do not specify a 'Ionosphere stream' via this option, BNC will use VTEC informations from the Corrections 5992 stream 'mountpoint', 5993 if available. 5994 </p> 5995 <p> 5996 <h4 id="pppionofile">2.13.1.7 Ionosphere File - optional if 'Data source' is set to 'RINEX Files'</h4> 5997 </p> 5998 <p> 5999 Specify a 'Ionosphere file' as saved beforehand using BNC. The file content is basically the ASCII representation of 6000 a 6001 RTCM-SSR or a IGS-SSR Ionosphere stream. 6002 </p> 6003 <p> 6004 <h4 id="ppprnxobs">2.13.1.8 RINEX Observation File - mandatory if 'Data source' is set to 'RINEX Files'</h4> 6005 </p> 6006 <p> 6007 Specify a RINEX Observation file. The file format can be RINEX Version 2, RINEX Version 3 or RINEX Version 4. 6008 </p> 6009 <p> 6010 <h4 id="ppprnxnav">2.13.1.9 RINEX Navigation File - mandatory if 'Data source' is set to 'RINEX Files'</h4> 6011 </p> 6012 <p> 6013 Specify a RINEX Navigation file.The file format can be RINEX Version 2, RINEX Version 3 or RINEX Version 4. 6014 </p> 6015 <p> 6016 <h4 id="pppantexfile">2.13.1.10 ANTEX File - optional</h4> 6017 </p> 6018 <p> 6019 IGS provides a file containing absolute phase center corrections for GNSS satellite and receiver antennas in ANTEX 6020 format Version 1.4 6021 (at <a href="https://kb.igs.org/hc/en-us/articles/216104678-ANTEX-format-description" 6022 target="_blank">https://kb.igs.org/hc/en-us/articles/216104678-ANTEX-format-description/</a>). 6023 Such so-called ANTEX files are available from IGS through 6024 at <a href="https://files.igs.org/pub/station/general/" 6025 target="_blank">https://files.igs.org/pub/station/general/</a>. 6026 An example ANTEX file 'igs20.atx' is part of the BNC package for convenience. 6027 </p> 6028 <p> 6029 Entering the full path to such an ANTEX file is required for correcting observations in PPP for Antenna Phase Center 6030 offsets 6031 and variations. Note that for applying such corrections you need to specify the receiver's antenna name and radome 6032 in BNC's 'Coordinates file'. 6033 </p> 6034 <p> 6035 Default value for 'ANTEX file' is an empty option field, meaning that you do not want to correct observations for 6036 Antenna Phase Center offsets and variations. 6037 </p> 6038 <p> 6039 <h4 id="pppmarkcoor">2.13.1.11 Coordinates File - optional </h4> 6040 </p> 6041 <p> 6042 Enter the full path to an ASCII file which specifies all observation streams or files from stationary or mobile 6043 receivers 6044 you possibly may want to process. 6045 </p> 6046 <p> 6047 Specifying a 'Coordinates file' is optional. If it exists, it should contain one record per stream or file 6048 with the following parameters separated by blank characters: 6049 </p> 3746 6050 <ul> 3747 <li>the 'Mountpoint' of an RTCM stream (when in real-time PPP mode), or</li> 3748 <li>the first four (RINEX Version 2) or nine (RINEX Version 3 and 4) characters of the RINEX observations file (when in post processing PPP mode).</li> 3749 </ul> 3750 Having at least this first parameter in each record is mandatory.</li><br> 3751 <li>For static observations from a stationary receiver an approximate a priori XYZ coordinate [m] of the station's marker should be specified. <br> 3752 If such an approximate a priori XYZ coordinate is unknown or when observations come from a mobile receiver, '0.0 0.0 0.0' shall be used instead.</li> 6051 <li>Input data source, to be specified either through 6052 <ul> 6053 <li>the 'Mountpoint' of an RTCM stream (when in real-time PPP mode), or</li> 6054 <li>the first four (RINEX Version 2) or nine (RINEX Version 3 and 4) characters of the RINEX observations file 6055 (when in post processing PPP mode).</li> 6056 </ul> 6057 Having at least this first parameter in each record is mandatory. 6058 </li><br> 6059 <li>For static observations from a stationary receiver an approximate a priori XYZ coordinate [m] of the station's 6060 marker should be specified. <br> 6061 If such an approximate a priori XYZ coordinate is unknown or when observations come from a mobile receiver, '0.0 6062 0.0 0.0' shall be used instead.</li> 6063 <br> 6064 <li>Optionally, right after the a priori XYZ coordinate, its reference epoch and ITRF velocity may be specified 6065 through the keyword tokens 6066 <span style="font-family:Monospace">EPOCH:<decimalYear></span> and 6067 <span style="font-family:Monospace">VEL:<vx>,<vy>,<vz></span> 6068 (in any order, separated by blank characters). <span style="font-family:Monospace"><decimalYear></span> is 6069 the epoch the a priori 6070 coordinate refers to (e.g. '2026.5'), and <span 6071 style="font-family:Monospace"><vx>,<vy>,<vz></span> is the station's 6072 ITRF velocity in X, Y, Z [m/year], comma-separated without blanks (e.g. 'VEL:-0.0142,0.0187,0.0091'). When 6073 'EPOCH:' is specified, BNC 6074 propagates the a priori coordinate from its reference epoch to the actual observation epoch using the given 6075 velocity before using it, 6076 which accounts for the station's tectonic motion between the coordinate's reference epoch and the time of 6077 processing. 6078 <ul> 6079 <li> Every SINEX (including IGS cumulative solutions) states epochs in 6080 YY:DOY:SOD format (2-digit year : day-of-year : seconds-of-day) — in the 6081 %=SNX header line and/or the SOLUTION/EPOCHS block, e.g.: 26:048:00000<br> 6082 Convert directly: decimalYear = YYYY + (DOY - 1 + SOD/86400) / 365.25. 6083 (For 26:048:00000 → 2026 + 47/365.25 = 2026.1287) 6084 </li> 6085 </ul> 3753 6086 <br> 3754 <li>The North, East and Up component [m] of antenna eccentricity, which is the difference between the Antenna Reference Point (ARP) 6087 Leave out 'EPOCH:' and 'VEL:' if the a priori coordinate is already valid for the epoch of processing, or if the 6088 station's ITRF velocity is unknown; 6089 in that case the a priori coordinate is used unchanged, as before. 6090 </li> 6091 <br> 6092 <li>The North, East and Up component [m] of antenna eccentricity, which is the difference between the Antenna 6093 Reference Point (ARP) 3755 6094 and a nearby marker position, can be specified.<br> 3756 Please note, when specifying the antenna eccentricity, BNC will produce coordinates referring to the marker position and not referring to the ARP.<br> 3757 If the eccentricity is unknown or the ARP itself is understood as the marker, '0.0 0.0 0.0' shall be specified instead.</li> 3758 <br> 3759 <li>Receiver's antenna name as defined in your ANTEX file (see below). 3760 The specified name must consist of 20 characters. Add trailing blanks if the antenna name has less than 20 characters. <br>Examples:<br> 3761 <pre><p style="font-family:Monospace"> 6095 Please note, when specifying the antenna eccentricity, BNC will produce coordinates referring to the marker 6096 position and not referring to the ARP.<br> 6097 If the eccentricity is unknown or the ARP itself is understood as the marker, '0.0 0.0 0.0' shall be specified 6098 instead.</li> 6099 <br> 6100 <li>Receiver's antenna name as defined in your ANTEX file (see below). 6101 The specified name must consist of 20 characters. Add trailing blanks if the antenna name has less than 20 6102 characters. <br>Examples:<br> 6103 <pre><p style="font-family:Monospace"> 3762 6104 'JPSREGANT_SD_E ' (no radome) 3763 6105 'LEIAT504 NONE' (no radome) 3764 6106 'LEIAR25.R3 LEIT' (radome is LEIT) 3765 6107 </p></pre> 3766 Observations will be corrected for the receiver Antenna Phase Center (APC) offsets and variations.<br> 3767 Leave antenna name blank if you do not want to correct observations for APC offsets and variations or if you do not know the antenna name.</li> 3768 <br> 3769 <li>Receiver type following the naming convention for IGS equipment as defined in 3770 <a href="https://files.igs.org/pub/station/general/rcvr_ant.tab" target="_blank">https://files.igs.org/pub/station/general/rcvr_ant.tab</a>.<br> 3771 <li>Specifying the receiver type is only required when saving SINEX Troposphere files. In those files it becomes part of the 'SITE/RECEIVER' specifications, 3772 see section 'SNX TRO Directory'.</li> 3773 </ul> 3774 <p> 3775 Records in the 'Coordinates' file with exclamation mark '!' in the first column or blank records will be understood as comment lines and ignored. 3776 </p> 3777 <p> 3778 The following is the content of an example 'Coordinates file'. Here each record describes the mountpoint of a stream 3779 available from the global IGS real-time reference station network. 3780 A priori coordinates are followed by North/East/Up eccentricity components of the ARP, 3781 followed by the antenna name and radome in use, and followed by the receiver name. 3782 </p> 3783 <pre><p style="font-family:Monospace"> 6108 Observations will be corrected for the receiver Antenna Phase Center (APC) offsets and variations.<br> 6109 Leave antenna name blank if you do not want to correct observations for APC offsets and variations or if you do 6110 not know the antenna name. 6111 </li> 6112 <br> 6113 <li>Receiver type following the naming convention for IGS equipment as defined in 6114 <a href="https://files.igs.org/pub/station/general/rcvr_ant.tab" 6115 target="_blank">https://files.igs.org/pub/station/general/rcvr_ant.tab</a>.<br> 6116 <li>Specifying the receiver type is only required when saving SINEX Troposphere files. In those files it becomes 6117 part of the 'SITE/RECEIVER' specifications, 6118 see section 'SNX TRO Directory'.</li> 6119 </ul> 6120 <p> 6121 Records in the 'Coordinates' file with exclamation mark '!' in the first column or blank records will be understood 6122 as comment lines and ignored. 6123 </p> 6124 <p> 6125 The following is the content of an example 'Coordinates file'. Here each record describes the mountpoint of a stream 6126 available from the global IGS real-time reference station network. 6127 A priori coordinates are followed by North/East/Up eccentricity components of the ARP, 6128 followed by the antenna name and radome in use, and followed by the receiver name. 6129 </p> 6130 <pre><p style="font-family:Monospace"> 3784 6131 # Apriori coordinates with eccentricities, antenna and receiver, Reference System IGS20 (IGS0OPSSNX_20260480000_01D_01D_CRD.SNX) 3785 6132 # --------------------------------------------------------------------------------------------------------------------------------- 3786 # REAL-TIME 6133 # REAL-TIME 3787 6134 FFMJ01DEU0 4.05345556487862e+06 6.17730016327370e+05 4.86939592304988e+06 0.0000 0.0000 0.0450 LEIAR25.R3 LEIT LEICA GR50 6135 WTZR00DEU1 4.07558020555194e+06 9.31854158691225e+05 4.80156833793210e+06 EPOCH:2026.5 VEL:-0.0142,0.0187,0.0091 0.0000 0.0000 0.0710 LEIAR25.R3 LEIT LEICA GR50 3788 6136 REYK00ISL0 2.58738387057569e+06 -1.04303361185251e+06 5.71656422200577e+06 0.0000 0.0000 0.0635 LEIAR25.R4 LEIT LEICA GR50 3789 6137 WTZR00DEU0 4.07558020555194e+06 9.31854158691225e+05 4.80156833793210e+06 0.0000 0.0000 0.0710 LEIAR25.R3 LEIT LEICA GR50 … … 3797 6145 VM01 0.0 0.0 0.0 0.0000 0.0000 0.0000 3798 6146 </p></pre> 3799 In this file 3800 <ul> 3801 <li> Record 'FFMJ01DEU0' describes a stream from a stationary receiver with known a priori marker coordinates, antenna eccentricities, 3802 antenna and radome type, and receiver type.</li> 3803 <li> Record 'FFMJ01DEU' indicates that a RINEX version 3 or 4 observations file for post processing PPP is available for station 'FFMJ01DEU' 3804 with known a priori marker coordinates, antenna eccentricities, antenna and radome type, and receiver type.</li> 3805 <li> The 4-character station ID 'VM01' indicates that a RINEX version 2 observations file, resultant from a mobile rover receiver, 3806 is available for post processing PPP. Hence a priori coordinates are unknown although antenna eccentricities, antenna and radome type, 3807 and receiver type are known.</li> 3808 </ul> 3809 <p> 3810 Note again that the only mandatory parameters in this file are the 'Station' parameters in the first column, 3811 each standing for an observation stream's mountpoint or the 9/4-character station ID of a RINEX filename. 3812 </p> 3813 3814 <p><h4 id="pppblqfile">2.13.1.12 BLQ File - optional </h4></p> 3815 <p> 3816 Specify a 'BLQ file' containing the ocean loading coefficients for all stations you want to process. 3817 These coefficients can be obtained from the ocean loading service under request trough the web site 3818 <a href="http://holt.oso.chalmers.se/loading/" target="_blank">http://holt.oso.chalmers.se/loading/</a> 3819 . 3820 BNC computes time series of tidal displacements for the respective stations using that input file. 3821 </p> 3822 3823 3824 <p><h4 id="ppplogfile">2.13.1.13 Logfile Directory and Log mode - optional</h4></p> 3825 <p> 3826 Essential PPP results are shown in the 'Log' tab on the bottom of BNC's main window. Depending on the processing options, 3827 the following values are presented about once per second (example): 3828 <pre><p style="font-family:Monospace"> 6147 In this file 6148 <ul> 6149 <li> Record 'FFMJ01DEU0' describes a stream from a stationary receiver with known a priori marker coordinates, 6150 antenna eccentricities, 6151 antenna and radome type, and receiver type.</li> 6152 <li> Record 'WTZR00DEU1' additionally specifies the reference epoch ('2026.5') and ITRF velocity of its a priori 6153 marker coordinate. 6154 BNC will propagate that coordinate to the epoch of each processed observation before using it.</li> 6155 <li> Record 'FFMJ01DEU' indicates that a RINEX version 3 or 4 observations file for post processing PPP is available 6156 for station 'FFMJ01DEU' 6157 with known a priori marker coordinates, antenna eccentricities, antenna and radome type, and receiver type.</li> 6158 <li> The 4-character station ID 'VM01' indicates that a RINEX version 2 observations file, resultant from a mobile 6159 rover receiver, 6160 is available for post processing PPP. Hence a priori coordinates are unknown although antenna eccentricities, 6161 antenna and radome type, 6162 and receiver type are known.</li> 6163 </ul> 6164 <p> 6165 Note again that the only mandatory parameters in this file are the 'Station' parameters in the first column, 6166 each standing for an observation stream's mountpoint or the 9/4-character station ID of a RINEX filename. 6167 </p> 6168 6169 <p> 6170 <h4 id="pppblqfile">2.13.1.12 BLQ File - optional </h4> 6171 </p> 6172 <p> 6173 Specify a 'BLQ file' containing the ocean loading coefficients for all stations you want to process. 6174 These coefficients can be obtained from the ocean loading service under request trough the web site 6175 <a href="http://holt.oso.chalmers.se/loading/" target="_blank">http://holt.oso.chalmers.se/loading/</a> 6176 . 6177 BNC computes time series of tidal displacements for the respective stations using that input file. 6178 </p> 6179 6180 6181 <p> 6182 <h4 id="ppplogfile">2.13.1.13 Logfile Directory and Log mode - optional</h4> 6183 </p> 6184 <p> 6185 Essential PPP results are shown in the 'Log' tab on the bottom of BNC's main window. Depending on the processing 6186 options, 6187 the following values are presented about once per second (example): 6188 <pre><p style="font-family:Monospace"> 3829 6189 ... 3830 6190 26-07-28 15:06:51 2026-07-28_15:06:45.000 FFMJ01DEU0 X = 4053455.5855 Y = 617730.0277 Z = 4869395.9163 NEU: -0.0213 +0.0081 +0.0090 TRP: +2.3453 +0.0951 fix +96 % … … 3840 6200 ... 3841 6201 </p></pre> 3842 <p> 3843 Each row reports the PPP result of one epoch. It begins with a UTC time stamp (yy-mm-dd hh:mm:ss) which tells us when the result was produced. 3844 A second time stamp (yyyy-mm-dd_hh:mm:ss) describes the PPP's epoch in 'GPS Time'. It is followed by the Mountpoint/Stream/Station Name, the derived XYZ position in [m], 3845 its North, East and Up displacement, compared to an introduced a priori coordinate, the estimated tropospheric delay [m] (model plus correction) 3846 and a remark regarding the status of the ambiguities (flt/fix with its percentile). 3847 </p> 3848 <p> 3849 If you require more information, you can specify a 'Logfile directory' to save daily logfiles per station (filename suffix 'ppp') 3850 with additional processing details on disk. The details of the PPP client processing output can be controled by the 'log mode' option. 3851 The 'normal' mode produces a log file, related to the estimated parameters and observation residuals as printed below. 3852 If the user selects 'debug' additional information (particularly about used SSR corrections) is printed. 3853 The option value 'all' triggers a very detailed log including the information about the constituents of the observation model. 3854 </p> 3855 <pre><p style="font-family:Monospace"> 6202 <p> 6203 Each row reports the PPP result of one epoch. It begins with a UTC time stamp (yy-mm-dd hh:mm:ss) which tells us 6204 when the result was produced. 6205 A second time stamp (yyyy-mm-dd_hh:mm:ss) describes the PPP's epoch in 'GPS Time'. It is followed by the 6206 Mountpoint/Stream/Station Name, the derived XYZ position in [m], 6207 its North, East and Up displacement, compared to an introduced a priori coordinate, the estimated tropospheric delay 6208 [m] (model plus correction) 6209 and a remark regarding the status of the ambiguities (flt/fix with its percentile). 6210 </p> 6211 <p> 6212 If you require more information, you can specify a 'Logfile directory' to save daily logfiles per station (filename 6213 suffix 'ppp') 6214 with additional processing details on disk. The details of the PPP client processing output can be controled by the 6215 'log mode' option. 6216 The 'normal' mode produces a log file, related to the estimated parameters and observation residuals as printed 6217 below. 6218 If the user selects 'debug' additional information (particularly about used SSR corrections) is printed. 6219 The option value 'all' triggers a very detailed log including the information about the constituents of the 6220 observation model. 6221 </p> 6222 <pre><p style="font-family:Monospace"> 3856 6223 .. 3857 6224 PPP of Epoch 2026-07-28_15:12:14.000 using SSRA01CAS1 … … 4187 6554 .. 4188 6555 </p></pre> 4189 <p> 4190 Depending on the selected processing options you find 'GPS Time' stamps (yyyy-mm-dd_hh:mm:ss.sss) followed by 4191 <table> 4192 <tr><td> SATNUM G </td><td> Number of satellites per contributing GNSS, here GPS</td></tr> 4193 <tr><td> RES cG1/lG1 </td><td> Code and phase residuals for contributing GNSS in [m] given per satellite</td></tr> 4194 <tr><td> REC_CLK G </td><td> Receiver clock errors per contributing GNSS, here GPS in [m]</td></tr> 4195 <tr><td> TRP </td><td> A priori and correction values of tropospheric zenith delay in [m]</td></tr> 4196 <tr><td> ION </td><td> A priori and correction values of ionospheric delay in [m]</td></tr> 4197 <tr><td> AMB lG1 </td><td> Floated/fixed ambiguities given per satellite and frequency band with 'nEpo' = number of epochs since last ambiguity reset</td></tr> 4198 <tr><td> BIA cG1 </td><td> Satellite code/phase bias related to GNSS and frequency band in [m], here code bias for GPS and band 1</td></tr> 4199 <tr><td> MOUNTPOINT </td><td> Here 'FFMJ01DEU0' with XYZ position in [m], dN/dE/dU in [m] for North, East, and Up displacements compared to a priori marker coordinates)</td></tr> 4200 <tr><td> </td><td> as well as a remark regarding the status of the ambiguities (flt/fix with its percentile)</td></tr> 4201 </table> 4202 <p> 4203 Estimated parameters are presented together with their formal errors as derived from the implemented filter. 4204 The PPP algorithm includes outlier and cycle slip detection. 4205 </p> 4206 4207 <p> 4208 Default value for 'Logfile directory' is an empty option field, meaning that you do not want to save daily PPP logfiles on disk. 4209 If a specified directory does not exist, BNC will not create PPP logfiles. 4210 </p> 4211 <p> 4212 BNC follows the RINEX Version 3 standard to create filenames for PPP logfiles (suffix 'ppp'), see section 'RINEX Filenames' for details: 4213 For example: 4214 <pre><p style="font-family:Monospace"> 6556 <p> 6557 Depending on the selected processing options you find 'GPS Time' stamps (yyyy-mm-dd_hh:mm:ss.sss) followed by 6558 <table> 6559 <tr> 6560 <td> SATNUM G </td> 6561 <td> Number of satellites per contributing GNSS, here GPS</td> 6562 </tr> 6563 <tr> 6564 <td> RES cG1/lG1 </td> 6565 <td> Code and phase residuals for contributing GNSS in [m] given per satellite</td> 6566 </tr> 6567 <tr> 6568 <td> REC_CLK G </td> 6569 <td> Receiver clock errors per contributing GNSS, here GPS in [m]</td> 6570 </tr> 6571 <tr> 6572 <td> TRP </td> 6573 <td> A priori and correction values of tropospheric zenith delay in [m]</td> 6574 </tr> 6575 <tr> 6576 <td> ION </td> 6577 <td> A priori and correction values of ionospheric delay in [m]</td> 6578 </tr> 6579 <tr> 6580 <td> AMB lG1 </td> 6581 <td> Floated/fixed ambiguities given per satellite and frequency band with 'nEpo' = number of epochs 6582 since last ambiguity reset</td> 6583 </tr> 6584 <tr> 6585 <td> BIA cG1 </td> 6586 <td> Satellite code/phase bias related to GNSS and frequency band in [m], here code bias for GPS and 6587 band 1</td> 6588 </tr> 6589 <tr> 6590 <td> MOUNTPOINT </td> 6591 <td> Here 'FFMJ01DEU0' with XYZ position in [m], dN/dE/dU in [m] for North, East, and Up 6592 displacements compared to a priori marker coordinates)</td> 6593 </tr> 6594 <tr> 6595 <td> </td> 6596 <td> as well as a remark regarding the status of the ambiguities (flt/fix with its percentile)</td> 6597 </tr> 6598 </table> 6599 <p> 6600 Estimated parameters are presented together with their formal errors as derived from the implemented filter. 6601 The PPP algorithm includes outlier and cycle slip detection. 6602 </p> 6603 6604 <p> 6605 Default value for 'Logfile directory' is an empty option field, meaning that you do not want to save daily PPP 6606 logfiles on disk. 6607 If a specified directory does not exist, BNC will not create PPP logfiles. 6608 </p> 6609 <p> 6610 BNC follows the RINEX Version 3 standard to create filenames for PPP logfiles (suffix 'ppp'), see section 'RINEX 6611 Filenames' for details: 6612 For example: 6613 <pre><p style="font-family:Monospace"> 4215 6614 FFMJ01DEU_20262090000_01D_01S.ppp 4216 6615 </pre> 4217 6616 4218 <p><h4 id="pppnmeafile">2.13.1.14 NMEA Directory - optional</h4></p> 4219 <p> 4220 You can specify a 'NMEA directory' to save daily NMEA files with Point Positioning results recorded as NMEA sentences. 4221 Such sentences are usually generated about once per second with pairs of 4222 </p> 4223 <p> 4224 <ul> 4225 <li> GPGGA sentences which mainly carry the estimated latitude, longitude, and height values, plus</li> 4226 <li> GPRMC sentences which mainly carry date and time information.</li> 4227 </ul> 4228 </p> 4229 The following is an example for an NMEA output file from BNC. 4230 </p> 4231 <pre><p style="font-family:Monospace"> 6617 <p> 6618 <h4 id="pppnmeafile">2.13.1.14 NMEA Directory - optional</h4> 6619 </p> 6620 <p> 6621 You can specify a 'NMEA directory' to save daily NMEA files with Point Positioning results recorded as NMEA 6622 sentences. 6623 Such sentences are usually generated about once per second with pairs of 6624 </p> 6625 <p> 6626 <ul> 6627 <li> GPGGA sentences which mainly carry the estimated latitude, longitude, and height values, plus</li> 6628 <li> GPRMC sentences which mainly carry date and time information.</li> 6629 </ul> 6630 </p> 6631 The following is an example for an NMEA output file from BNC. 6632 </p> 6633 <pre><p style="font-family:Monospace"> 4232 6634 .. 4233 6635 $GPRMC,151742.000,A,5005.4349,N,00839.8984,E,,,280726,,*0b … … 4244 6646 </p></pre> 4245 6647 4246 <p> 4247 BNC follows the RINEX Version 3 standard to create filenames for NMEA logfiles (suffix 'nmea'), see section 'RINEX Filenames' for details. 4248 For example: 4249 <pre><p style="font-family:Monospace"> 6648 <p> 6649 BNC follows the RINEX Version 3 standard to create filenames for NMEA logfiles (suffix 'nmea'), see section 'RINEX 6650 Filenames' for details. 6651 For example: 6652 <pre><p style="font-family:Monospace"> 4250 6653 FFMJ01DEU_20262090000_01D_01S.nmea 4251 6654 </pre> 4252 The default value for 'NMEA directory' is an empty option field, meaning that BNC will not save NMEA sentences into files. 4253 If a specified directory does not exist, BNC will not create NMEA files. 4254 <p> 4255 Note that Tomoji Takasu has written a program named RTKPLOT for visualizing NMEA sentences from IP ports or files. 4256 It is available from <a href="http://www.rtklib.com" target="_blank">http://www.rtklib.com</a> and compatible with 4257 the 'NMEA Directory' and port output of BNC's 'PPP' client option. 4258 </p> 4259 4260 <p><h4 id="pppsnxtrofile">2.13.1.15 SNX TRO Directory - optional</h4></p> 4261 <p> 4262 BNC estimates the tropospheric delay according to equation 4263 <pre> 6655 The default value for 'NMEA directory' is an empty option field, meaning that BNC will not save NMEA sentences into 6656 files. 6657 If a specified directory does not exist, BNC will not create NMEA files. 6658 <p> 6659 Note that Tomoji Takasu has written a program named RTKPLOT for visualizing NMEA sentences from IP ports or files. 6660 It is available from <a href="http://www.rtklib.com" target="_blank">http://www.rtklib.com</a> and compatible with 6661 the 'NMEA Directory' and port output of BNC's 'PPP' client option. 6662 </p> 6663 6664 <p> 6665 <h4 id="pppsnxtrofile">2.13.1.15 SNX TRO Directory - optional</h4> 6666 </p> 6667 <p> 6668 BNC estimates the tropospheric delay according to equation 6669 <pre> 4264 6670 T(z) = T_apr(z) + dT / cos(z) 4265 6671 </pre> 4266 where T_apr is the a priori tropospheric delay derived from Saastamoinen model. 4267 </p> 4268 4269 <p> 4270 You can specify a 'SNX TRO Directory' for saving SINEX Troposphere files on disk, see 4271 <a href="https://files.igs.org/pub/data/format/sinex_tro_v2.00.pdf" target="_blank">https://files.igs.org/pub/data/format/sinex_tro_v2.00.pdf</a> 4272 for a documentation of the file format. Note that receiver type information for these files must be provided through the coordinates file 4273 described in section 'Coordinates file'. The following is an example for a troposphere file content: 4274 </p> 4275 <pre><p style="font-family:Monospace"> 6672 where T_apr is the a priori tropospheric delay derived from Saastamoinen model. 6673 </p> 6674 6675 <p> 6676 You can specify a 'SNX TRO Directory' for saving SINEX Troposphere files on disk, see 6677 <a href="https://files.igs.org/pub/data/format/sinex_tro_v2.00.pdf" 6678 target="_blank">https://files.igs.org/pub/data/format/sinex_tro_v2.00.pdf</a> 6679 for a documentation of the file format. Note that receiver type information for these files must be provided through 6680 the coordinates file 6681 described in section 'Coordinates file'. The following is an example for a troposphere file content: 6682 </p> 6683 <pre><p style="font-family:Monospace"> 4276 6684 %=TRO 2.00 CAS 2026:209:00000 CAS 2026:209:00000 2026:209:03599 P FFMJ01DEU 4277 6685 *------------------------------------------------------------------------------- … … 4349 6757 %=ENDTROP 4350 6758 </p></pre> 4351 For file naming, BNC follows the new format convention according to IGS products considering the site 4352 <a href="https://files.igs.org/pub/resource/guidelines/Guidelines_For_Long_Product_Filenames_in_the_IGS_v2.0.pdf" target="_blank">https://files.igs.org/pub/resource/guidelines/Guidelines_For_Long_Product_Filenames_in_the_IGS_v2.0.pdf</a>: 4353 <pre> 6759 For file naming, BNC follows the new format convention according to IGS products considering the site 6760 <a href="https://files.igs.org/pub/resource/guidelines/Guidelines_For_Long_Product_Filenames_in_the_IGS_v2.0.pdf" 6761 target="_blank">https://files.igs.org/pub/resource/guidelines/Guidelines_For_Long_Product_Filenames_in_the_IGS_v2.0.pdf</a>: 6762 <pre> 4354 6763 AAAVPPPTTT_YYYYDOYHHMM_LEN_SMP_SITENAME_CNT.FMT 4355 6764 </pre> 4356 With 4357 <p> 4358 <table> 4359 <tr><td> AAA </td><td> Analysis Center abbreviation</td></tr> 4360 <tr><td> V </td><td> Version / Solution identifier (0-9)</td></tr> 4361 <tr><td> PPP </td><td> Project/Campaign identification, here demonstration (DEM)</td></tr> 4362 <tr><td> TTT </td><td> Solution Type, here real-time streamed product(RTS)</td></tr> 4363 <tr><td> YYYYDOYHHMM</td><td> String representing beginning time of nominal data interval</td></tr> 4364 <tr><td> LEN </td><td> Intended product period of the file </td></tr> 4365 <tr><td> SMP </td><td> Data sampling rate</td></tr> 4366 <tr><td> SITENAME </td><td> 9-char site name</td></tr> 4367 <tr><td> CNT </td><td> Content type, here TRO</td></tr> 4368 <tr><td> FMT </td><td> File format, here TRO</td></tr> 4369 </table> 4370 </p> 4371 A result for example is: 4372 <pre><p style="font-family:Monospace"> 6765 With 6766 <p> 6767 <table> 6768 <tr> 6769 <td> AAA </td> 6770 <td> Analysis Center abbreviation</td> 6771 </tr> 6772 <tr> 6773 <td> V </td> 6774 <td> Version / Solution identifier (0-9)</td> 6775 </tr> 6776 <tr> 6777 <td> PPP </td> 6778 <td> Project/Campaign identification, here demonstration (DEM)</td> 6779 </tr> 6780 <tr> 6781 <td> TTT </td> 6782 <td> Solution Type, here real-time streamed product(RTS)</td> 6783 </tr> 6784 <tr> 6785 <td> YYYYDOYHHMM</td> 6786 <td> String representing beginning time of nominal data interval</td> 6787 </tr> 6788 <tr> 6789 <td> LEN </td> 6790 <td> Intended product period of the file </td> 6791 </tr> 6792 <tr> 6793 <td> SMP </td> 6794 <td> Data sampling rate</td> 6795 </tr> 6796 <tr> 6797 <td> SITENAME </td> 6798 <td> 9-char site name</td> 6799 </tr> 6800 <tr> 6801 <td> CNT </td> 6802 <td> Content type, here TRO</td> 6803 </tr> 6804 <tr> 6805 <td> FMT </td> 6806 <td> File format, here TRO</td> 6807 </tr> 6808 </table> 6809 </p> 6810 A result for example is: 6811 <pre><p style="font-family:Monospace"> 4373 6812 CAS0DEMRTS_20262091400_01H_01S_FFMJ01DEU_TRO.TRO 4374 6813 </pre> 4375 6814 4376 <p> 4377 The default value for 'SNX TRO Directory' is an empty option field, meaning that BNC will not save SINEX Troposphere files. 4378 If a specified directory does not exist, BNC will not create SINEX Troposphere files. 4379 </p> 4380 4381 <p><h4 id="pppsnxtrointr">2.13.1.15.1 Interval - mandatory if 'SINEX TRO Directory' is set</h4></p> 4382 <p> 4383 Select the length of SINEX Troposphere files. 4384 </p> 4385 <p> 4386 Default 'Interval' for saving SINEX Troposphere files on disk is '1 day'. 4387 </p> 4388 <p><h4 id="pppsnxtrosampl">2.13.1.15.2 Sampling - mandatory if 'SINEX TRO Directory' is set</h4></p> 4389 <p> 4390 Select a 'Sampling' rate in seconds for saving troposphere parameters. 4391 </p> 4392 <p> 4393 Default 'Sampling' rate is '0', meaning that all troposphere estimates will be saved on disk. 4394 </p> 4395 4396 <p><h4 id="pppsnxAc">2.13.1.15.3 Analysis Center - Mandatory if 'SINEX TRO Directory' is set</h4></p> 4397 <p> 4398 Specify a 3-character abbreviation describing you as the generating Analysis Center (AC) in your SINEX troposphere files. String 'BKG' is an example. 4399 </p> 4400 4401 <p><h4 id="pppsnxSol">2.13.1.15.4 Solution ID - Mandatory if 'SINEX TRO Directory' is set</h4></p> 4402 <p> 4403 Specify a 1-character solution ID to allow a distingtion between different solutions per AC. String '1' is an example. 4404 </p> 4405 4406 <p><h4 id="pppOptions">2.13.2 PPP (2): Processing Options</h4></p> 4407 <p> 4408 BNC allows using various Point Positioning processing options depending on the capability of the involved receiver and the application in mind. 4409 You can introduce specific sigmas for code and phase observations as well as for a priori coordinates and troposphere estimates. 4410 You could also carry out your PPP solution in Quick-Start mode or enforce BNC to restart a solution if the length of an outage exceeds a certain threshold. 4411 </p> 4412 <p> 4413 The intention of this panel is to specify general processing options to be applied to all PPP threads in one BNC job. 4414 </p> 4415 4416 <p><img src="IMG/Figure23.png"width=1000/></p> 4417 <p>Figure 23: Precise Point Positioning with BNC, PPP Panel 2</p> 4418 4419 <p><h4 id="pppobs">2.13.2.1 GNSS Observations - mandatory</h4></p> 4420 <p> 4421 Specify which kind of observations you want to use and on which kind of linear combination the ambiguity resolutions shall be based. 4422 The specification has to be done per GNSS ('GPS', 'GLONASS', 'Galileo', 'BDS'). 4423 The following options are available for all GNSS: 4424 </p> 4425 <ul> 4426 <li>'Pi&Li' means that uncombined code and phase data of two frequencies shall be used.</li> 4427 <li>'Pi' means that uncombined code data of two frequencies shall be used.</li> 4428 <li>'P1&L1' means that uncombined code and phase data of one frequency shall be used.</li> 4429 <li>'P1' means that uncombined code data of one frequency shall be used.</li> 4430 <li>'P3&L3' means that the inonosphere-free linear combination of code and phase data shall be used.</li> 4431 <li>'P3' means that the inonosphere-free linear combination of code data shall be used.</li> 4432 <li>'L3' means that the inonosphere-free linear combination of phase data shall be used.</li> 4433 </ul> 4434 Band and attribute can be specified per station using the Signal Priorities in PPP(3). 4435 <p> 4436 For GPS, Galileo and BDS this option is editable. Hence, you can specify your own frequencies for code (P) and phase (L) observations, e.g.: 4437 <ul> 4438 <li>for GPS: P125&L125, which means that band 1,2 and 5 of code and phase observations are used. </li> 4439 <li>for Galileo or BDS 'P1576&L1576' means that band 1,5,7 and 6 of code and phase observations are used. </li> 4440 </ul> 4441 The tracking mode for each frequency can be specified per station using the Signal Priorities in PPP(3). 4442 <p> 4443 Note that most geodetic GPS receivers support the observation of both, code and phase data. 4444 Hence, specifying 'Pi&Li' would be a good choice for GPS when processing data from such a receiver. 4445 If multi-GNSS data processing is your intention, make sure your receiver supports GLONASS and/or Galileo and/or BDS observations besides GPS. 4446 Note also that the Broadcast Correction stream or file, which is required for PPP, also supports all the systems you have in mind. 4447 </p> 4448 <p>Specifying 'no' means that you do not at all want BNC to use observations from the affected GNSS system. 4449 </p> 4450 4451 <p> 4452 The choice between an uncombined ('Pi&Li', 'Pi', 'P1&L1', 'P1') and an ionosphere-free ('P3&L3', 'P3', 4453 'L3') linear combination does not just change which observations are read - it changes the set of parameters 4454 estimated by BNC's Kalman filter and how each observation enters the filter: 4455 </p> 4456 4457 <p><b>Uncombined PPP</b><br> 4458 Each frequency's code and/or phase observation enters the filter on its own, without forming the 4459 ionosphere-free combination first. The state vector therefore carries, in addition to receiver position, one 4460 receiver clock per GNSS system and troposphere zenith delay (if estimated): 4461 <ul> 4462 <li>one carrier-phase ambiguity per satellite and per phase frequency,</li> 4463 <li>one slant ionospheric delay (ION) per satellite, and</li> 4464 <li>one differential code/phase bias per frequency and GNSS system (common to all satellites of that 6815 <p> 6816 The default value for 'SNX TRO Directory' is an empty option field, meaning that BNC will not save SINEX Troposphere 6817 files. 6818 If a specified directory does not exist, BNC will not create SINEX Troposphere files. 6819 </p> 6820 6821 <p> 6822 <h4 id="pppsnxtrointr">2.13.1.15.1 Interval - mandatory if 'SINEX TRO Directory' is set</h4> 6823 </p> 6824 <p> 6825 Select the length of SINEX Troposphere files. 6826 </p> 6827 <p> 6828 Default 'Interval' for saving SINEX Troposphere files on disk is '1 day'. 6829 </p> 6830 <p> 6831 <h4 id="pppsnxtrosampl">2.13.1.15.2 Sampling - mandatory if 'SINEX TRO Directory' is set</h4> 6832 </p> 6833 <p> 6834 Select a 'Sampling' rate in seconds for saving troposphere parameters. 6835 </p> 6836 <p> 6837 Default 'Sampling' rate is '0', meaning that all troposphere estimates will be saved on disk. 6838 </p> 6839 6840 <p> 6841 <h4 id="pppsnxAc">2.13.1.15.3 Analysis Center - Mandatory if 'SINEX TRO Directory' is set</h4> 6842 </p> 6843 <p> 6844 Specify a 3-character abbreviation describing you as the generating Analysis Center (AC) in your SINEX troposphere 6845 files. String 'BKG' is an example. 6846 </p> 6847 6848 <p> 6849 <h4 id="pppsnxSol">2.13.1.15.4 Solution ID - Mandatory if 'SINEX TRO Directory' is set</h4> 6850 </p> 6851 <p> 6852 Specify a 1-character solution ID to allow a distingtion between different solutions per AC. String '1' is an 6853 example. 6854 </p> 6855 6856 <p> 6857 <h4 id="pppOptions">2.13.2 PPP (2): Processing Options</h4> 6858 </p> 6859 <p> 6860 BNC allows using various Point Positioning processing options depending on the capability of the involved receiver 6861 and the application in mind. 6862 You can introduce specific sigmas for code and phase observations as well as for a priori coordinates and 6863 troposphere estimates. 6864 You could also carry out your PPP solution in Quick-Start mode or enforce BNC to restart a solution if the length of 6865 an outage exceeds a certain threshold. 6866 </p> 6867 <p> 6868 The intention of this panel is to specify general processing options to be applied to all PPP threads in one BNC 6869 job. 6870 </p> 6871 6872 <p><img src="IMG/Figure23.png" width=1000 /></p> 6873 <p>Figure 23: Precise Point Positioning with BNC, PPP Panel 2</p> 6874 6875 <p> 6876 <h4 id="pppobs">2.13.2.1 GNSS Observations - mandatory</h4> 6877 </p> 6878 <p> 6879 Specify which kind of observations you want to use and on which kind of linear combination the ambiguity resolutions 6880 shall be based. 6881 The specification has to be done per GNSS ('GPS', 'GLONASS', 'Galileo', 'BDS'). 6882 The following options are available for all GNSS: 6883 </p> 6884 <ul> 6885 <li>'Pi&Li' means that uncombined code and phase data of two frequencies shall be used.</li> 6886 <li>'Pi' means that uncombined code data of two frequencies shall be used.</li> 6887 <li>'P1&L1' means that uncombined code and phase data of one frequency shall be used.</li> 6888 <li>'P1' means that uncombined code data of one frequency shall be used.</li> 6889 <li>'P3&L3' means that the inonosphere-free linear combination of code and phase data shall be used.</li> 6890 <li>'P3' means that the inonosphere-free linear combination of code data shall be used.</li> 6891 <li>'L3' means that the inonosphere-free linear combination of phase data shall be used.</li> 6892 </ul> 6893 Band and attribute can be specified per station using the Signal Priorities in PPP(3). 6894 <p> 6895 For GPS, Galileo and BDS this option is editable. Hence, you can specify your own frequencies for code (P) and phase 6896 (L) observations, e.g.: 6897 <ul> 6898 <li>for GPS: P125&L125, which means that band 1,2 and 5 of code and phase observations are used. </li> 6899 <li>for Galileo or BDS 'P1576&L1576' means that band 1,5,7 and 6 of code and phase observations are used. </li> 6900 </ul> 6901 The tracking mode for each frequency can be specified per station using the Signal Priorities in PPP(3). 6902 <p> 6903 Note that most geodetic GPS receivers support the observation of both, code and phase data. 6904 Hence, specifying 'Pi&Li' would be a good choice for GPS when processing data from such a receiver. 6905 If multi-GNSS data processing is your intention, make sure your receiver supports GLONASS and/or Galileo and/or BDS 6906 observations besides GPS. 6907 Note also that the Broadcast Correction stream or file, which is required for PPP, also supports all the systems you 6908 have in mind. 6909 </p> 6910 <p>Specifying 'no' means that you do not at all want BNC to use observations from the affected GNSS system. 6911 </p> 6912 6913 <p> 6914 The choice between an uncombined ('Pi&Li', 'Pi', 'P1&L1', 'P1') and an ionosphere-free ('P3&L3', 'P3', 6915 'L3') linear combination does not just change which observations are read - it changes the set of parameters 6916 estimated by BNC's Kalman filter and how each observation enters the filter: 6917 </p> 6918 6919 <p><b>Uncombined PPP</b><br> 6920 Each frequency's code and/or phase observation enters the filter on its own, without forming the 6921 ionosphere-free combination first. The state vector therefore carries, in addition to receiver position, one 6922 receiver clock per GNSS system and troposphere zenith delay (if estimated): 6923 <ul> 6924 <li>one carrier-phase ambiguity per satellite and per phase frequency,</li> 6925 <li>one slant ionospheric delay (ION) per satellite, and</li> 6926 <li>one differential code/phase bias per frequency and GNSS system (common to all satellites of that 4465 6927 system), mainly needed to absorb hardware delays and to remove the rank deficiency between receiver 4466 6928 clock, ambiguities and biases.</li> 4467 </ul> 4468 Receiver clock, biases and the per-satellite ionospheric delay are re-estimated fresh every epoch (no Kalman 4469 process noise carried over), while position, troposphere and ambiguities accumulate over time. This means each 4470 epoch's ionospheric delay per satellite is, by default, determined from that epoch's code-minus-phase 4471 combination alone - exactly the weakly observable quantity that the optional ionospheric pseudo-observations 4472 (see <a href=#pppconstraints>Section 2.13.2.9</a>) are meant to stabilize. 4473 </p> 4474 <p> 4475 Uncombined PPP is not limited to two frequencies. For GPS, Galileo and BDS the custom band selection (e.g. 4476 'P125&L125', see above) adds a third, fourth, etc. frequency the same way: one more code and phase 4477 observation, one more carrier-phase ambiguity, and one more per-frequency bias parameter, all referring to the 4478 very same single per-satellite ionospheric delay (ION) parameter, scaled to each frequency through the usual 4479 1/f² ionospheric mapping. The optional ionospheric pseudo-observations of 4480 <a href=#pppconstraints>Section 2.13.2.9</a> are added for any uncombined band selection this way, predefined 4481 ('Pi&Li', 'Pi', 'P1&L1', 'P1') or custom, as long as at least one code or phase observation is configured 4482 for the affected GNSS system. 4483 </p> 4484 4485 <p><b>Ionosphere-free PPP</b><br> 4486 The dual-frequency ionosphere-free linear combination is formed from code and/or phase data before it enters 4487 the filter, which removes the first-order ionospheric delay from the observation equation. The state vector 4488 therefore needs no per-satellite ionospheric delay parameter at all; it carries only receiver position, one 4489 receiver clock per system, troposphere (if estimated), and one combined (non-integer) ambiguity-like parameter 4490 per satellite that absorbs the carrier-phase ambiguity together with the satellite/receiver hardware delays of 4491 the combination. Because this combined parameter is not an integer number of cycles, ambiguity resolution 4492 (<a href=#pppar>Section 2.13.2.10</a>) is not applicable in this mode, and the optional ionospheric 4493 pseudo-observations of <a href=#pppconstraints>Section 2.13.2.9</a> do not apply either, since there is no 4494 per-satellite ionospheric state left to constrain. 4495 </p> 4496 4497 <p><h4 id="pppcodeobs">2.13.2.2 Code Observations - mandatory</h4></p> 4498 <p> 4499 Enter a 'Sigma C1' for C1 code observations in meters. The bigger the sigma you enter, the less the contribution of C1 code observations to a PPP solution 4500 based on a combination of code and phase data. '1.0' meters is likely to be an appropriate choice. 4501 </p> 4502 <p> 4503 Specify a maximum for residuals 'Max Res C1' for C1 code observations in a PPP solution. '2.0' meters may be an appropriate choice for that. 4504 If the maximum is exceeded, contributions from the corresponding observation will be ignored in the PPP solution. 4505 </p> 4506 4507 <p><h4 id="pppphaseobs">2.13.2.3 Phase Observations - mandatory</h4></p> 4508 <p> 4509 Enter a 'Sigma L1' for L1 phase observations in meters. The bigger the sigma you enter, the less the contribution of 4510 L1 phase observations to a PPP solutions based on a combination of code and phase data. '0.01' meters is likely to be 4511 an appropriate choice. 4512 </p> 4513 <p> 4514 Specify a maximum for residuals 'Max Res L1' for L1 phase observations in a PPP solution. '0.02' meters may be an appropriate choice for that. 4515 If the maximum is exceeded, contributions from the corresponding observation will be ignored in the PPP solution. 4516 </p> 4517 <p> 4518 As the convergence characteristic of a PPP solution can be influenced by the ratio of sigmas for code and phase, 4519 you may like to introduce sigmas which differ from the default values. 4520 <ul> 4521 <li>Introducing a smaller sigma (higher accuracy) for code observations or a bigger sigma for phase observations leads to better 4522 results shortly after program start. However, it may take more time until you finally get the best possible solution.</li> 4523 <li>Introducing a bigger sigma (lower accuracy) for code observations or a smaller sigma for phase observations may lead to 4524 less accurate results shortly after program start and thus a prolonged period of convergence but could provide better 6929 </ul> 6930 Receiver clock, biases and the per-satellite ionospheric delay are re-estimated fresh every epoch (no Kalman 6931 process noise carried over), while position, troposphere and ambiguities accumulate over time. This means each 6932 epoch's ionospheric delay per satellite is, by default, determined from that epoch's code-minus-phase 6933 combination alone - exactly the weakly observable quantity that the optional ionospheric pseudo-observations 6934 (see <a href=#pppconstraints>Section 2.13.2.9</a>) are meant to stabilize. 6935 </p> 6936 <p> 6937 Uncombined PPP is not limited to two frequencies. For GPS, Galileo and BDS the custom band selection (e.g. 6938 'P125&L125', see above) adds a third, fourth, etc. frequency the same way: one more code and phase 6939 observation, one more carrier-phase ambiguity, and one more per-frequency bias parameter, all referring to the 6940 very same single per-satellite ionospheric delay (ION) parameter, scaled to each frequency through the usual 6941 1/f² ionospheric mapping. The optional ionospheric pseudo-observations of 6942 <a href=#pppconstraints>Section 2.13.2.9</a> are added for any uncombined band selection this way, predefined 6943 ('Pi&Li', 'Pi', 'P1&L1', 'P1') or custom, as long as at least one code or phase observation is configured 6944 for the affected GNSS system. 6945 </p> 6946 6947 <p><b>Ionosphere-free PPP</b><br> 6948 The dual-frequency ionosphere-free linear combination is formed from code and/or phase data before it enters 6949 the filter, which removes the first-order ionospheric delay from the observation equation. The state vector 6950 therefore needs no per-satellite ionospheric delay parameter at all; it carries only receiver position, one 6951 receiver clock per system, troposphere (if estimated), and one combined (non-integer) ambiguity-like parameter 6952 per satellite that absorbs the carrier-phase ambiguity together with the satellite/receiver hardware delays of 6953 the combination. Because this combined parameter is not an integer number of cycles, ambiguity resolution 6954 (<a href=#pppar>Section 2.13.2.10</a>) is not applicable in this mode, and the optional ionospheric 6955 pseudo-observations of <a href=#pppconstraints>Section 2.13.2.9</a> do not apply either, since there is no 6956 per-satellite ionospheric state left to constrain. 6957 </p> 6958 6959 <p> 6960 <h4 id="pppcodeobs">2.13.2.2 Code Observations - mandatory</h4> 6961 </p> 6962 <p> 6963 Enter a 'Sigma C1' for C1 code observations in meters. The bigger the sigma you enter, the less the contribution of 6964 C1 code observations to a PPP solution 6965 based on a combination of code and phase data. '1.0' meters is likely to be an appropriate choice. 6966 </p> 6967 <p> 6968 Specify a maximum for residuals 'Max Res C1' for C1 code observations in a PPP solution. '2.0' meters may be an 6969 appropriate choice for that. 6970 If the maximum is exceeded, contributions from the corresponding observation will be ignored in the PPP solution. 6971 </p> 6972 6973 <p> 6974 <h4 id="pppphaseobs">2.13.2.3 Phase Observations - mandatory</h4> 6975 </p> 6976 <p> 6977 Enter a 'Sigma L1' for L1 phase observations in meters. The bigger the sigma you enter, the less the contribution of 6978 L1 phase observations to a PPP solutions based on a combination of code and phase data. '0.01' meters is likely to 6979 be 6980 an appropriate choice. 6981 </p> 6982 <p> 6983 Specify a maximum for residuals 'Max Res L1' for L1 phase observations in a PPP solution. '0.02' meters may be an 6984 appropriate choice for that. 6985 If the maximum is exceeded, contributions from the corresponding observation will be ignored in the PPP solution. 6986 </p> 6987 <p> 6988 As the convergence characteristic of a PPP solution can be influenced by the ratio of sigmas for code and phase, 6989 you may like to introduce sigmas which differ from the default values. 6990 <ul> 6991 <li>Introducing a smaller sigma (higher accuracy) for code observations or a bigger sigma for phase observations 6992 leads to better 6993 results shortly after program start. However, it may take more time until you finally get the best possible 6994 solution.</li> 6995 <li>Introducing a bigger sigma (lower accuracy) for code observations or a smaller sigma for phase observations may 6996 lead to 6997 less accurate results shortly after program start and thus a prolonged period of convergence but could provide 6998 better 4525 6999 positions in the long run.</li> 4526 </ul> 4527 </p> 4528 4529 <p><h4 id="pppeleweight">2.13.2.4 Elevation Dependent Weighting - mandatory</h4></p> 4530 <p> 4531 BNC allows elevation dependent weighting when processing GNSS observations. A weight function 4532 </p> 4533 <p> P = cos² * z</p> 4534 <p> 4535 with 'z' being the zenith distance to the involved satellite can be applied instead of the simple weight function 'P = 1' 4536 independent from satellite elevation angles. 4537 </p> 4538 <ul> 4539 <li>Tick 'Ele Wgt Code' if you want Elevation Dependent Weighting for code observations.</li> 4540 <li>Tick 'Ele Wgt Phase' if you want Elevation Dependent Weighting for phase observations.</li> 4541 </ul> 4542 <p> 4543 Default is using the plain weight function 'P = 1' for code and phase observations. 4544 </p> 4545 4546 <p><h4 id="pppminobs">2.13.2.5 Minimum Number of Observations - mandatory</h4></p> 4547 <p> 4548 Select the minimum number of observations you want to use per epoch. The minimum for parameter 'Min # of Obs' is 4. This is also the default. 4549 </p> 4550 <p><h4 id="pppmineleva">2.13.2.6 Minimum Elevation - mandatory</h4></p> 4551 <p> 4552 Select a minimum for satellite elevation angles. Selecting '7 deg' for option 'Min Elevation' may be an appropriate choice. 4553 </p> 4554 <p> 4555 Default is '0 deg', meaning that any observation will be used regardless of the involved satellite elevation angle. 4556 </p> 4557 4558 <p><h4 id="pppwaitclockcorr">2.13.2.7 Wait for Clock Corrections - optional</h4></p> 4559 <p> 4560 Specifying 'no' for option 'Wait for clock corr.' means that BNC processes each epoch of data immediately after its arrival using 4561 satellite clock corrections available at that time. A non-zero value means that epochs of data are buffered and the processing 4562 of each epoch is postponed until satellite clock corrections not older than 'Wait for clock corr.' seconds are available. 4563 Specifying a value of half the update rate of the clock corrections (e.g. 5 sec) may be appropriate. 4564 Note that this causes an additional delay of the PPP solutions in the amount of half of the update rate. 4565 </p> 4566 <p> 4567 Using observations in sync with the corrections can avoid a possible high frequency noise of PPP solutions. 4568 Such noise could result from processing observations regardless of how late after a clock correction they were received. 4569 Note that applying the 'Wait for clock corr.' option significantly reduces the PPP computation effort for BNC. 4570 </p> 4571 <p> 4572 Default is an empty option field, meaning that you want BNC to process observations immediately after their arrival 4573 through applying the latest received clock correction. 4574 </p> 4575 4576 <p><h4 id="pppseeding">2.13.2.8 Seeding - optional if a priori coordinates specified in 'Coordinates file'</h4></p> 4577 <p> 4578 Enter the length of a startup period in seconds for which you want to fix the PPP solution to a known position, see option 'Coordinates file'. 4579 Constraining a priori coordinates is done in BNC through setting their white 'Noise' temporarily to zero. 4580 </p> 4581 <p> 4582 This so-called <b>Quick-Start</b> option allows the PPP solutions to rapidly converge after startup. 4583 It requires that the antenna remains unmoved on the known position throughout the defined period. 4584 A value of '60' seconds is likely to be an appropriate choice for 'Seeding'. 4585 Default is an empty option field, meaning that you do not want BNC to start in Quick-Start mode. 4586 <p> 4587 You may need to create your own reference coordinate beforehand through running BNC for an hour in normal mode before applying 4588 the 'Seeding' option. Do not forget to introduce realistic North/East/Up sigmas under panel 'PPP (3)' corresponding to the 4589 coordinate's precision. 4590 </p> 4591 <p> 4592 'Seeding' has also a function for <b>bridging gaps</b> in PPP solutions from failures caused e.g. by longer lasting 4593 outages. Should the time span between two consecutive solutions exceed the limit of 60 seconds (maximum solution gap, 4594 hard-wired), the algorithm fixes the latest derived coordinate for a period of 'Seeding' seconds. This option avoids 4595 time-consuming reconvergences and makes especially sense for stationary operated receivers where convergence can be 4596 enforced because a good approximation for the receiver position is known. 4597 </p> 4598 4599 <p><h4 id="pppconstraints">2.13.2.9 Constraints - optional</h4></p> 4600 <p> 4601 Specify, whether ionospheric constraints in form of pseudo-observations shall be added to an uncombined PPP 4602 solution ('Pi&Li', 'Pi', 'P1&L1' or 'P1', see <a href=#pppobs>Section 2.13.2.1</a>). This is sometimes 4603 called 'PPP with pseudo-observations for STEC'. 4604 </p> 4605 <p><h4 id="ppppseudogimobs">2.13.2.9.0 GIM Pseudo Observations - How it works</h4></p> 4606 <p> 4607 When ionospheric constraints are activated, BNC derives a slant ionospheric delay (STEC) for every satellite from VTEC informations - taken 4608 from an Ionosphere stream/file (<a href=#pppionostream>Section 2.13.1.6</a>, <a href=#pppionofile>Section 4609 2.13.1.7</a>) or from the Corrections stream/file if no dedicated Ionosphere source is specified. For each GNSS 4610 system, one satellite is chosen as 'reference satellite' (initially the one with the highest elevation), and one 4611 satellite-differenced pseudo-observation per remaining satellite is added to the Kalman filter: 4612 </p> 4613 <p> 4614 STEC(reference satellite) − STEC(satellite) = ION(reference satellite) − ION(satellite) 4615 </p> 4616 <p> 4617 where ION(satellite) is the per-satellite ionospheric delay state already estimated by the uncombined PPP filter. 4618 This single difference constrains the relative ionospheric delay between satellites without removing the 4619 receiver's own freedom to estimate it from code and phase data. The reference satellite is kept as long as it 4620 stays in view; a new one is selected only once the previous reference satellite disappears from the 4621 observations, which avoids spurious jumps in the constraint from one epoch to the next. 4622 </p> 4623 <p> 4624 Pseudo-observations are treated as a soft constraint: they contribute to the solution with a weight derived from 4625 'Sigma GIM' (see below) but are never rejected as outliers, regardless of their residual size. They are also 4626 fully independent of ambiguity resolution (<a href=#pppar>Section 2.13.2.10</a>), which only ever resolves 4627 carrier-phase ambiguities. 4628 </p> 4629 <p> 4630 Please note that this option is only valid if no ionosphere-free linear combination is used and VTEC informations 4631 are actually available. Without VTEC data, no pseudo-observations are added and the PPP solution falls back to 4632 estimating per-satellite ionospheric delays from code and phase data alone. The pseudo-observations are only 4633 helpful once the ionosphere information is more accurate than the code data accuracy. 4634 </p> 4635 4636 <p><h4 id="ppppseudogimobssigma">2.13.2.9.1 GIM Pseudo Observations Sigma - optional</h4></p> 4637 <p> 4638 Enter a 'Sigma GIM' for pseudo observations regarding the Ionosphere in meters. 4639 The bigger the sigma you enter, the less the contribution of GIM Pseudo observations to a PPP solutions 4640 based on a combination of code and phase data. '5.0' meters is likely to be an appropriate choice. 4641 </p> 4642 <p><h4 id="pppar">2.13.2.10 PPP-AR - optional</h4></p> 4643 <p> 4644 The BNC PPP ambiguity resolution combines two classical methods: 4645 <ul> 4646 <li>the <b>LAMBDA</b> (Least-squares AMBiguity Decorrelation Adjustment) algorithm for the integer search, and </li> 4647 <li>the <b>BIE</b> (Best Integer Equivariant) weighting for the final estimate.</li> 4648 </ul> 4649 References: 4650 </p> 4651 <p> 4652 Teunissen P.J.G. (1993) Least-squares estimation of the integer GPS ambiguities, Invited Lecture, Section IV Theory and Methodology, 4653 IAG General Meeting, Beijing, China, August 1993. Also in: LGR Series, No. 6, Delft Geodetic Computing Centre. 4654 <a href="https://gnss.curtin.edu.au/wp-content/uploads/sites/21/2016/04/Teunissen1993Least.pdf" target="_blank">https://gnss.curtin.edu.au/wp-content/uploads/sites/21/2016/04/Teunissen1993Least.pdf</a> 4655 4656 </p> 4657 <p> 4658 Teunissen P.J.G. (2005) GNSS Best Integer Equivariant Estimation. In book: A Window on the Future of Geodesy. pp. 422-427. Sanso, F., Berlin: Springer. Inpress. 4659 <a href="https://doi.org/10.1007/3-540-27432-4_72" target="_blank">https://doi.org/10.1007/3-540-27432-4_72</a> 4660 </p> 4661 4662 <p><h4 id="ppparmethod">2.13.2.10.0 Algorithm Description</h4></p> 4663 <p> 4664 The following describes the individual steps as implemented for BNCs PPP-AR solution. 4665 </p> 4666 4667 <p><b>Step 1 – Float ambiguity extraction</b><br> 4668 The Kalman filter state vector contains all estimated parameters (receiver position, receiver clock, 4669 troposphere, and carrier-phase ambiguities). The AR module extracts only the ambiguity entries 4670 into a reduced vector using a design matrix, together with the corresponding sub-block of the 4671 variance–covariance matrix. 4672 </p> 4673 4674 <p><b>Step 2 – Resolvability filtering</b><br> 4675 Before entering the search, each ambiguity must pass the following quality gates: 4676 </p> 4677 <ul> 4678 <li>A minimum number of epochs observed (see <a href="#ppparmin">Min # Epo</a>)</li> 4679 <li>A minimum satellite elevation angle</li> 4680 <li>At least 2 ambiguities available per GNSS group</li> 4681 <li>A minimum number of satellites per constellation (see <a href="#ppparmin">Min # Sat</a>)</li> 4682 </ul> 4683 4684 <p><b>Step 3 – Reference ambiguity selection</b><br> 4685 One ambiguity per constellation group is chosen as a reference (the one that minimises the sum of 4686 double-difference variances). It is tightly constrained to its nearest integer via a Kalman 4687 pseudo-observation update. This step effectively converts zero-difference to single-difference 4688 ambiguity space and ensures a stable basis for the search. 4689 </p> 4690 4691 <p><b>Step 4 – LAMBDA decorrelation</b><br> 4692 The ambiguity covariance matrix is decomposed as <i>L·D·L</i><sup>T</sup>. 4693 An integer-preserving transformation matrix <i>Z</i> (with det(<i>Z</i>) = ±1) is 4694 applied to minimise the correlation between ambiguities. After this step the search is far more 4695 efficient because the transformed ambiguities are nearly uncorrelated. 4696 </p> 4697 4698 <p><b>Step 5 – BIE candidate search</b><br> 4699 A sequential search-and-shrink algorithm (SSEARCH) finds the top 100 integer candidate vectors 4700 ranked by their squared Mahalanobis distance χ². For each candidate <i>i</i> an 4701 exponential weight is computed: 4702 </p> 4703 <p> <i>w</i>(<i>i</i>) = exp(−0.5 · (χ²<sub><i>i</i></sub> − χ²<sub>best</sub>))</p> 4704 <p> 4705 The <b>BIE estimate</b> is then the weighted average over all candidates: 4706 </p> 4707 <p> <i>a</i><sub>BIE</sub> = ∑ <i>w</i>(<i>i</i>) · <i>a</i>(<i>i</i>) / ∑ <i>w</i>(<i>i</i>)</p> 4708 <p> 4709 This is the key difference from plain LAMBDA/ILS, which picks only the single best integer vector. 4710 BIE produces a real-valued weighted combination and is the minimum mean-square error estimator 4711 under a Gaussian distribution. 4712 </p> 4713 4714 <p><b>Step 6 – BIE variance</b><br> 4715 Rather than adopting the optimistic variance of the single best candidate, BIE computes a 4716 conservative variance that reflects the probability mass spread across all candidates: 4717 </p> 4718 <p> σ²<sub>BIE</sub>(<i>j</i>) = ∑ <i>w</i>(<i>i</i>) · (<i>a</i><sub>BIE</sub>(<i>j</i>) − <i>a</i>(<i>j</i>,<i>i</i>))²</p> 4719 4720 <p><b>Step 7 – Fixability decision and constraint imposition</b><br> 4721 An ambiguity is considered fixable if both of the following criteria are met: 4722 </p> 4723 <ul> 4724 <li>|<i>a</i><sub>BIE</sub> − round(<i>a</i><sub>BIE</sub>)| ≤ Max Frac (see <a href="#ppparmax">Max Frac and Sig</a>)</li> 4725 <li>σ<sub>BIE</sub> ≤ Max Sig (see <a href="#ppparmax">Max Frac and Sig</a>)</li> 4726 </ul> 4727 <p> 4728 For all fixable ambiguities, Kalman equality constraints with a tight weight are applied to force 4729 the filter state vector to adopt the integer values. Subsequent filter updates treat these fixed 4730 ambiguities as pseudo-observations until a cycle-slip triggers a reset. 4731 </p> 4732 4733 <p><b>Comparison with other PPP ambiguity resolution methods</b></p> 4734 <table border="1" rules="all" frame="box" bgcolor="#FFF5EE" style="font-size:13"> 4735 <tr bgcolor="#E0E0E0"> 4736 <td><b> Method </b></td> 4737 <td><b> Integer choice </b></td> 4738 <td><b> Output </b></td> 4739 </tr> 4740 <tr> 4741 <td> Rounding </td> 4742 <td> Nearest integer per ambiguity, independently </td> 4743 <td> Hard fix, simple but fragile </td> 4744 </tr> 4745 <tr> 4746 <td> Bootstrapping </td> 4747 <td> Sequential conditional rounding </td> 4748 <td> Hard fix, faster than ILS </td> 4749 </tr> 4750 <tr> 4751 <td> ILS / LAMBDA </td> 4752 <td> Single globally optimal integer vector </td> 4753 <td> Hard fix, optimal under Gaussian noise </td> 4754 </tr> 4755 <tr> 4756 <td> <b>BIE (BNC)</b> </td> 4757 <td> Weighted combination of top-N candidates </td> 4758 <td> Soft/weighted fix, minimum MSE estimator </td> 4759 </tr> 4760 </table> 4761 <br> 4762 4763 <p><h4 id="ppparsys">2.13.2.10.1 Constellations - optional</h4></p> 4764 <p> 4765 Specify, for which constellations the ambiguities should be resolved to their integer values. This option is available for GPS, Galileo and BDS. 4766 </p> 4767 <p><h4 id="ppparmin">2.13.2.10.2 Min # Epo and Sat - optional</h4></p> 4768 <p> 4769 Using 'Min # Epo' you can specify the number of epochs for which the unknown ambiguity parameter has to be observed at least, 4770 to be included into the search. 4771 </p> 4772 <p> 4773 Using 'Min # Sat' you can define that the ambiguity search is performed if at least the specified number of satellites per constellation is being tracked. 4774 </p> 4775 <p><h4 id="ppparmax">2.13.2.10.3 Max Frac and Sig - optional</h4></p> 4776 <p> 4777 Using the options 'Max Frac' and 'Max Sig' you may decide whether to use this additional information and fix (constrain) only those 4778 ambiguities which meet these requirements. In more detail: 4779 </p> 4780 <p> 4781 If 'Max Frac' is greater than zero, the ambiguity is constrained only if the absolute value of the fractional part of its BIE value 4782 is lower or equal than the specified value. 4783 </p> 4784 <p> 4785 If 'Max Sig' is greater than zero, the ambiguity is constrained only if the BIE sigma (uncertainty of the BIE result) 4786 is lower or equal than the specified value. 4787 </p> 4788 <p><h4 id="ppparyaw">2.13.2.10.4 Yaw Usage - optional</h4></p> 4789 <p> 4790 If 'Use Yaw' is set, the information about the satellite attitude (yaw angle) is taken from the corresponding 4791 SSR correction (phase bias message). Otherwise a standard satellite attitude model is used. 4792 </p> 4793 4794 <p><h4 id="ppparfix">2.13.2.10.5 Per-epoch fix percentage</h4></p> 4795 <p> 4796 The number printed in the log (... fix XX %) is a fixRatio computed as follows: 4797 <ol> 4798 <li>A copy of the float filter state is taken — the real recursive filter state is never touched by AR.</li> 4799 <li>Ambiguities are grouped per system/LC into zero-difference sets if minimum number of tracked epochs (see <a href="#ppparmin">Min # Epo</a>) and the minimum elevation (see <a href=#pppmineleva>Minimum Elevation</a>) is exceeded.</li> 4800 <li>One reference ambiguity per group is hard-constrained to its rounded value with a tiny σ (sigCon = 1e-4 cycles, turning the rest into single-differences (SD).</li> 4801 <li>A LAMBDA/BIE (Best Integer Equivariant) search produces xBie/covBie — a probability-weighted blend over candidate integer vectors, not a hard integer.</li> 4802 <li>isFixable() flags an SD ambiguity as fixed if |frac(xBie)| ≤ arMaxFrac and sqrt(covBie) ≤ arMaxSig (see <a href=#ppparmax>Max Frac and Sig</a>).</li> 4803 <li>fixRatio = numFixSdAll / numSdAmbs — fixed SD ambiguities divided by all SD ambiguities in groups that already passed step 2's pre-filter.</li> 4804 </ol> 4805 Some remarks: 4806 <ul> 4807 <li>It's a statistical sharpness test, not a validated fix. Unlike classical LAMBDA AR (ratio test against the second-best candidate), isFixable() only checks that the BIE estimate is close to an integer with small posterior variance. BIE will confidently "fix" a self-consistent but wrong combination if the underlying float ambiguities carry a systematic, unmodeled bias — there's no independent validation step.</li> 4808 <li> The fix is a per-epoch snapshot, not a recursive hold. Since AR runs on a copy of the filter state and the result is never fed back into _xFlt/_QFlt, each epoch's "fix" is recomputed from scratch from whatever the float ambiguity looks like that epoch. A satellite can be reported "fixed" to slightly different integer realizations epoch-to-epoch, which shows up as scatter in the AR-constrained coordinate even though the printed percentage stays high.</li> 4809 <li>Everything hinges on the phase-bias corrections. Ambiguity resolution only works because incoming SSR phase-bias corrections with fixIndicator set are applied per satellite/frequency before this stage; satellites lacking valid biases are dropped entirely when AR is on (useObsWithBiasesOnly). If that correction stream is stale, low-quality, or inconsistent with the orbit/clock product (different AC, different update interval), the float ambiguities will still sharpen and "fix" statistically — just around the wrong integer — degrading rather than improving the position.</li> 4810 <li> Small denominator effect: 'numSdAmbs' only counts already pre-filtered, resolvable ambiguities in groups of ≥2; with a thin satellite/group count it's easy to get 100% from very few satellites, which isn't representative of overall solution strength.</li> 4811 </ul> 4812 If the per-epoch fix percentage values look too high in comparison with the resulting coordinate displacements, 4813 try: 7000 </ul> 7001 </p> 7002 7003 <p> 7004 <h4 id="pppeleweight">2.13.2.4 Elevation Dependent Weighting - mandatory</h4> 7005 </p> 7006 <p> 7007 BNC allows elevation dependent weighting when processing GNSS observations. A weight function 7008 </p> 7009 <p> P = cos² * z</p> 7010 <p> 7011 with 'z' being the zenith distance to the involved satellite can be applied instead of the simple weight function 'P 7012 = 1' 7013 independent from satellite elevation angles. 7014 </p> 4814 7015 <ul> 4815 <li>tightening 'Max Frac' / 'Max Sig' and</li>4816 <li>raising 'Min # Sat' / 'Min # Epo'</li>7016 <li>Tick 'Ele Wgt Code' if you want Elevation Dependent Weighting for code observations.</li> 7017 <li>Tick 'Ele Wgt Phase' if you want Elevation Dependent Weighting for phase observations.</li> 4817 7018 </ul> 4818 to see if the percentage drops to something more consistent with the achieved coordinate repeatability — if it doesn't, the bias-correction quality/consistency 4819 is the more likely root cause than the AR logic itself. 4820 </p> 4821 <p><h4 id="pppStation">2.13.3 PPP (3): Processed Stations</h4></p> 4822 <p> 4823 This panel allows to enter parameters specific to each PPP process or thread. Individual sigmas for a priori coordinates and a 4824 noise for coordinate variations over time can be introduced. Furthermore, a sigma for model-based troposphere estimates and the 4825 corresponding noise for troposphere variations can be specified. Finally, local IP server ports can be defined for output of 4826 NMEA streams carrying PPP results. 4827 </p> 4828 4829 <p> 4830 BNC offers to create a table with one line per PPP process or thread to specify station-specific parameters. 4831 Hit the 'Add Station' button to create the table or add a new line to it. To remove a line from the table, 4832 highlight it by clicking it and hit the 'Delete Station' button. You can also remove multiple lines simultaneously 4833 by highlighting them using +Shift or +Ctrl.</p> 4834 </p> 4835 4836 <p> 4837 BNC will simultaneously produce PPP solutions for all stations listed in the 'Station' column of this table. 4838 </p> 4839 4840 <p><img src="IMG/Figure25.png"width=1000/></p> 4841 <p>Figure 25: Precise Point Positioning with BNC, PPP Panel 3</p> 4842 4843 <p><h4 id="pppsite">2.13.2.1 Station - mandatory</h4></p> 4844 <p> 4845 Hit the 'Add Station' button, double click on the 'Station' field, then specify an observation's mountpoint from the 4846 'Streams' section or introduce the 9-character Station ID of your RINEX observation file and hit Enter. 4847 BNC will only produce PPP solutions for stations listed in this table. 4848 </p> 4849 4850 <p><h4 id="pppnehsigma">2.13.2.2 Sigma North/East/Up - mandatory</h4></p> 4851 <p> 4852 Enter sigmas in meters for the initial coordinate components. A value of 100.0 (default) may be an appropriate choice. 4853 However, this value may be significantly smaller (e.g. 0.01) when starting for example from a station with a well-known position 4854 in so-called Quick-Start mode. 4855 </p> 4856 4857 <p><h4 id="pppnehnoise">2.13.2.3 Noise North/East/Up - mandatory</h4></p> 4858 <p> 4859 Enter a white 'Noise' in meters for estimated coordinate components. A value of 100.0 (default) may be appropriate when 4860 considering possible sudden movements of a rover. 4861 </p> 4862 4863 <p><h4 id="ppptropsigma">2.13.2.4 Tropo Sigma - mandatory</h4></p> 4864 <p> 4865 Enter a sigma in meters for the a priori model based tropospheric delay estimation. A value of 0.1 (default) may be an appropriate choice. 4866 </p> 4867 4868 <p><h4 id="ppptropnoise">2.13.2.5 Tropo Noise - mandatory</h4></p> 4869 <p> 4870 Enter a white 'Noise' in meters per second to describe the expected variation of the tropospheric effect. Supposing 1Hz observation data, 4871 a value of 3e-6 (default) would mean that the tropospheric effect may vary for 3600 * 3e-6 = 0.01 meters per hour. 4872 </p> 4873 4874 <p><h4 id="pppnmeaport">2.13.2.6 NMEA Port - optional</h4></p> 4875 <p> 4876 Specify the IP port number of a local port where Point Positioning results become available as NMEA sentences. The default value 4877 for 'NMEA Port' is an empty option field, meaning that BNC does not provide NMEA sentences via IP port. Note that NMEA file output 4878 and NMEA IP port output are the same. 4879 </p> 4880 <p> 4881 Note also that Tomoji Takasu has written a program named RTKPLOT for visualizing NMEA sentences from IP ports or files. 4882 It is available from <a href="http://www.rtklib.com" target="_blank">http://www.rtklib.com</a> and compatible with the 4883 NMEA file and port output of BNC's 'PPP' client option. 4884 </p> 4885 <p> 4886 Furthermore, NASA's 'World Wind' software 4887 (see <a href="http://worldwindcentral.com/wiki/NASA_World_Wind_Download" target="_blank">http://worldwindcentral.com/wiki/NASA_World_Wind_Download</a>) 4888 can be used for real-time visualization of positions provided through BNC's NMEA IP output port. 4889 You need the 'GPS Tracker' plug-in available from 4890 <a href="http://worldwindcentral.com/wiki/GPS_Tracker" target="_blank">http://worldwindcentral.com/wiki/GPS_Tracker</a> for that. 4891 The 'Word Wind' map resolution is not meant for showing centimeter level details. 4892 </p> 4893 4894 <p><h4 id="pppsignalpriorities">2.13.2.7 Signal Priorities - optional</h4></p> 4895 <p> 4896 Specify a list of 'Signal Priorities' for the observations that shall be used for PPP. 4897 Signal priorities can be specified as system (G,R,E,C) and frequency specific. 4898 Two frequency bands per GNSS are allowed and will be considered. 4899 The following frequency bands are available for selection: 4900 <ul> 4901 <li>G: 1, 2, 5</li> 4902 <li>R: 1, 2</li> 4903 <li>E: 1, 5, 6, 7, 8</li> 4904 <li>C: 1, 2, 5, 6, 7, 8</li> 4905 </ul> 4906 <p>'Default' is the following list of 'Signal Priorities': 4907 <ul><li>'G:12&CWPSLX R:12&CP E:1&CBX E:5&QIX C:26&IQX'</li></ul> 4908 <p> 4909 But it is recommended to specify it in more detail per individual station, e.g.:</p> 4910 <ul> <li>'G:12&W R:12&P E:1&C E:5&Q C:26&I'</li></ul> 4911 4912 <p><h4 id="pppPlots">2.13.4 PPP (4): Plots</h4></p> 4913 <p> 4914 This panel presents options for visualizing PPP results as a time series plot or as a track map with PPP tracks on top 4915 of OpenStreetMap (OSM) maps. 4916 </p> 4917 4918 <p><h4 id="ppptimeseries">2.13.4.1 PPP Plot - optional</h4></p> 4919 <p> 4920 PPP time series of North (red), East (green) and Up (blue) displacements will be plotted under the 'PPP Plot' tab when 4921 a 'Mountpoint' is specified. Values will be referred to an XYZ reference coordinate (if specified, see 4922 'Coordinates file'). The sliding PPP time series window will cover the period of the latest 5 minutes. 4923 </p> 4924 <p> 4925 Note that a PPP dicplacements time series makes only sense for a stationary operated receiver. 4926 </p> 4927 4928 <p><h4 id="pppaudioresp">2.13.4.2 Audio Response - optional</h4></p> 4929 <p> 4930 For natural hazard prediction and monitoring landslides, it may be appropriate to generate audio alerts. For that 4931 you can specify an 'Audio response' threshold in meters. A beep is produced by BNC whenever a horizontal PPP coordinate 4932 component differs by more than the threshold value from the specified marker coordinate. 4933 </p> 4934 <p> 4935 Default is an empty option field, meaning that you do not want BNC to produce acoustic warnings. 4936 </p> 4937 4938 <p><h4 id="ppptrackmap">2.13.4.3 Track Map - optional</h4></p> 4939 <p> 4940 You may like to track your rover position using OpenStreetMap as a background map. Track maps can be 4941 produced with BNC in 'Real-time Streams' mode or in 'RINEX Files' post processing mode with data coming from files. 4942 Even when in 'RINEX Files' post processing mode, you should not forget to go online with your host. 4943 </p> 4944 <p> 4945 The 'Open Map' button opens a window showing the map. 4946 </p> 4947 4948 <p><img src="IMG/Figure26.png"width=1000/></p> 4949 <p>Figure 26: Precise Point Positioning with BNC with track of positions using OpenStreetMap, PPP Panel 4.</p> 4950 4951 4952 <p><h4 id="pppdotprop">2.13.4.4 Dot-properties - mandatory before pushing 'Open Map'</h4></p> 4953 <p> 4954 PPP tracks are presented on maps through plotting one colored dot per observation epoch. 4955 </p> 4956 4957 <p><h4 id="pppdotsize">2.13.4.4.1 Size - mandatory before pushing 'Open Map'</h4></p> 4958 <p> 4959 Specify the size of dots showing the rover position. A dot size of '3' may be appropriate. The maximum possible dot 4960 size is '10'. An empty option field or a size of '0' would mean that you do not want BNC to show the rover's track 4961 on the map. 4962 </p> 4963 4964 <p><h4 id="pppdotcolor">2.13.4.4.2 Color - mandatory before pushing 'Open Map'</h4></p> 4965 <p> 4966 Select the color of dots showing the rover track. 4967 </p> 4968 4969 <p><h4 id="pppspeed">2.13.4.5 Post Processing Speed - mandatory before pushing 'Open Map'</h4></p> 4970 <p> 4971 With BNC in PPP 'RINEX File' post processing mode, you can specify the speed of computations as appropriate for 4972 visualization. Note that you can adjust 'Post-processing speed' on-the-fly while BNC is already processing your observations. 4973 </p> 4974 4975 <p><h4 id="combi">2.14 Combine Corrections</h4></p> 4976 <p> 4977 BNC allows processing several orbit and clock correction streams in real-time to produce, encode, upload and save a 4978 combination of Broadcast Corrections from various providers (Weber and Mervart 2010). All corrections must refer to 4979 satellite Antenna Phase Centers (APC). It is so far only the satellite clock corrections, which are combined by BNC 4980 while orbit corrections in the combination product are just taken over from one of the incoming 4981 Broadcast Correction streams. Combining only clock corrections using a fixed orbit reference (which means the individual orbit of 4982 an incoming AC = Master orbit) imposes the potential to introduce analysis inconsistencies. Hence, some a priori corrections dC 4983 are applied before clock combination, to compensate for the inconsistency between MasterAC and other orbits. 4984 This should include corrections for inconsistent frames, attitude mode and phase center offset: 4985 </p> 4986 <pre> 7019 <p> 7020 Default is using the plain weight function 'P = 1' for code and phase observations. 7021 </p> 7022 7023 <p> 7024 <h4 id="pppminobs">2.13.2.5 Minimum Number of Observations - mandatory</h4> 7025 </p> 7026 <p> 7027 Select the minimum number of observations you want to use per epoch. The minimum for parameter 'Min # of Obs' is 4. 7028 This is also the default. 7029 </p> 7030 <p> 7031 <h4 id="pppmineleva">2.13.2.6 Minimum Elevation - mandatory</h4> 7032 </p> 7033 <p> 7034 Select a minimum for satellite elevation angles. Selecting '7 deg' for option 'Min Elevation' may be an appropriate 7035 choice. 7036 </p> 7037 <p> 7038 Default is '0 deg', meaning that any observation will be used regardless of the involved satellite elevation angle. 7039 </p> 7040 7041 <p> 7042 <h4 id="pppwaitclockcorr">2.13.2.7 Wait for Clock Corrections - optional</h4> 7043 </p> 7044 <p> 7045 Specifying 'no' for option 'Wait for clock corr.' means that BNC processes each epoch of data immediately after its 7046 arrival using 7047 satellite clock corrections available at that time. A non-zero value means that epochs of data are buffered and the 7048 processing 7049 of each epoch is postponed until satellite clock corrections not older than 'Wait for clock corr.' seconds are 7050 available. 7051 Specifying a value of half the update rate of the clock corrections (e.g. 5 sec) may be appropriate. 7052 Note that this causes an additional delay of the PPP solutions in the amount of half of the update rate. 7053 </p> 7054 <p> 7055 Using observations in sync with the corrections can avoid a possible high frequency noise of PPP solutions. 7056 Such noise could result from processing observations regardless of how late after a clock correction they were 7057 received. 7058 Note that applying the 'Wait for clock corr.' option significantly reduces the PPP computation effort for BNC. 7059 </p> 7060 <p> 7061 Default is an empty option field, meaning that you want BNC to process observations immediately after their arrival 7062 through applying the latest received clock correction. 7063 </p> 7064 7065 <p> 7066 <h4 id="pppseeding">2.13.2.8 Seeding - optional if a priori coordinates specified in 'Coordinates file'</h4> 7067 </p> 7068 <p> 7069 Enter the length of a startup period in seconds for which you want to fix the PPP solution to a known position, see 7070 option 'Coordinates file'. 7071 Constraining a priori coordinates is done in BNC through setting their white 'Noise' temporarily to zero. 7072 </p> 7073 <p> 7074 This so-called <b>Quick-Start</b> option allows the PPP solutions to rapidly converge after startup. 7075 It requires that the antenna remains unmoved on the known position throughout the defined period. 7076 A value of '60' seconds is likely to be an appropriate choice for 'Seeding'. 7077 Default is an empty option field, meaning that you do not want BNC to start in Quick-Start mode. 7078 <p> 7079 You may need to create your own reference coordinate beforehand through running BNC for an hour in normal mode 7080 before applying 7081 the 'Seeding' option. Do not forget to introduce realistic North/East/Up sigmas under panel 'PPP (3)' corresponding 7082 to the 7083 coordinate's precision. 7084 </p> 7085 <p> 7086 'Seeding' has also a function for <b>bridging gaps</b> in PPP solutions from failures caused e.g. by longer lasting 7087 outages. Should the time span between two consecutive solutions exceed the limit of 60 seconds (maximum solution 7088 gap, 7089 hard-wired), the algorithm fixes the latest derived coordinate for a period of 'Seeding' seconds. This option avoids 7090 time-consuming reconvergences and makes especially sense for stationary operated receivers where convergence can be 7091 enforced because a good approximation for the receiver position is known. 7092 </p> 7093 7094 <p> 7095 <h4 id="pppconstraints">2.13.2.9 Constraints - optional</h4> 7096 </p> 7097 <p> 7098 Specify, whether ionospheric constraints in form of pseudo-observations shall be added to an uncombined PPP 7099 solution ('Pi&Li', 'Pi', 'P1&L1' or 'P1', see <a href=#pppobs>Section 2.13.2.1</a>). This is sometimes 7100 called 'PPP with pseudo-observations for STEC'. 7101 </p> 7102 <p> 7103 <h4 id="ppppseudogimobs">2.13.2.9.0 GIM Pseudo Observations - How it works</h4> 7104 </p> 7105 <p> 7106 When ionospheric constraints are activated, BNC derives a slant ionospheric delay (STEC) for every satellite from 7107 VTEC informations - taken 7108 from an Ionosphere stream/file (<a href=#pppionostream>Section 2.13.1.6</a>, <a href=#pppionofile>Section 7109 2.13.1.7</a>) or from the Corrections stream/file if no dedicated Ionosphere source is specified. For each GNSS 7110 system, one satellite is chosen as 'reference satellite' (initially the one with the highest elevation), and one 7111 satellite-differenced pseudo-observation per remaining satellite is added to the Kalman filter: 7112 </p> 7113 <p> 7114 STEC(reference satellite) − STEC(satellite) = ION(reference satellite) − ION(satellite) 7115 </p> 7116 <p> 7117 where ION(satellite) is the per-satellite ionospheric delay state already estimated by the uncombined PPP filter. 7118 This single difference constrains the relative ionospheric delay between satellites without removing the 7119 receiver's own freedom to estimate it from code and phase data. The reference satellite is kept as long as it 7120 stays in view; a new one is selected only once the previous reference satellite disappears from the 7121 observations, which avoids spurious jumps in the constraint from one epoch to the next. 7122 </p> 7123 <p> 7124 Pseudo-observations are treated as a soft constraint: they contribute to the solution with a weight derived from 7125 'Sigma GIM' (see below) but are never rejected as outliers, regardless of their residual size. They are also 7126 fully independent of ambiguity resolution (<a href=#pppar>Section 2.13.2.10</a>), which only ever resolves 7127 carrier-phase ambiguities. 7128 </p> 7129 <p> 7130 Please note that this option is only valid if no ionosphere-free linear combination is used and VTEC informations 7131 are actually available. Without VTEC data, no pseudo-observations are added and the PPP solution falls back to 7132 estimating per-satellite ionospheric delays from code and phase data alone. The pseudo-observations are only 7133 helpful once the ionosphere information is more accurate than the code data accuracy. 7134 </p> 7135 7136 <p> 7137 <h4 id="ppppseudogimobssigma">2.13.2.9.1 GIM Pseudo Observations Sigma - optional</h4> 7138 </p> 7139 <p> 7140 Enter a 'Sigma GIM' for pseudo observations regarding the Ionosphere in meters. 7141 The bigger the sigma you enter, the less the contribution of GIM Pseudo observations to a PPP solutions 7142 based on a combination of code and phase data. '5.0' meters is likely to be an appropriate choice. 7143 </p> 7144 <p> 7145 <h4 id="pppar">2.13.2.10 PPP-AR - optional</h4> 7146 </p> 7147 <p> 7148 The BNC PPP ambiguity resolution combines two classical methods: 7149 <ul> 7150 <li>the <b>LAMBDA</b> (Least-squares AMBiguity Decorrelation Adjustment) algorithm for the integer search, and </li> 7151 <li>the <b>BIE</b> (Best Integer Equivariant) weighting for the final estimate.</li> 7152 </ul> 7153 References: 7154 </p> 7155 <p> 7156 Teunissen P.J.G. (1993) Least-squares estimation of the integer GPS ambiguities, Invited Lecture, Section IV Theory 7157 and Methodology, 7158 IAG General Meeting, Beijing, China, August 1993. Also in: LGR Series, No. 6, Delft Geodetic Computing Centre. 7159 <a href="https://gnss.curtin.edu.au/wp-content/uploads/sites/21/2016/04/Teunissen1993Least.pdf" 7160 target="_blank">https://gnss.curtin.edu.au/wp-content/uploads/sites/21/2016/04/Teunissen1993Least.pdf</a> 7161 7162 </p> 7163 <p> 7164 Teunissen P.J.G. (2005) GNSS Best Integer Equivariant Estimation. In book: A Window on the Future of Geodesy. pp. 7165 422-427. Sanso, F., Berlin: Springer. Inpress. 7166 <a href="https://doi.org/10.1007/3-540-27432-4_72" target="_blank">https://doi.org/10.1007/3-540-27432-4_72</a> 7167 </p> 7168 7169 <p> 7170 <h4 id="ppparmethod">2.13.2.10.0 Algorithm Description</h4> 7171 </p> 7172 <p> 7173 The following describes the individual steps as implemented for BNCs PPP-AR solution. 7174 </p> 7175 7176 <p><b>Step 1 – Float ambiguity extraction</b><br> 7177 The Kalman filter state vector contains all estimated parameters (receiver position, receiver clock, 7178 troposphere, and carrier-phase ambiguities). The AR module extracts only the ambiguity entries 7179 into a reduced vector using a design matrix, together with the corresponding sub-block of the 7180 variance–covariance matrix. 7181 </p> 7182 7183 <p><b>Step 2 – Resolvability filtering</b><br> 7184 Before entering the search, each ambiguity must pass the following quality gates: 7185 </p> 7186 <ul> 7187 <li>A minimum number of epochs observed (see <a href="#ppparmin">Min # Epo</a>)</li> 7188 <li>A minimum satellite elevation angle</li> 7189 <li>At least 2 ambiguities available per GNSS group</li> 7190 <li>A minimum number of satellites per constellation (see <a href="#ppparmin">Min # Sat</a>)</li> 7191 </ul> 7192 7193 <p><b>Step 3 – Reference ambiguity selection</b><br> 7194 One ambiguity per constellation group is chosen as a reference (the one that minimises the sum of 7195 double-difference variances). It is tightly constrained to its nearest integer via a Kalman 7196 pseudo-observation update. This step effectively converts zero-difference to single-difference 7197 ambiguity space and ensures a stable basis for the search. 7198 </p> 7199 7200 <p><b>Step 4 – LAMBDA decorrelation</b><br> 7201 The ambiguity covariance matrix is decomposed as <i>L·D·L</i><sup>T</sup>. 7202 An integer-preserving transformation matrix <i>Z</i> (with det(<i>Z</i>) = ±1) is 7203 applied to minimise the correlation between ambiguities. After this step the search is far more 7204 efficient because the transformed ambiguities are nearly uncorrelated. 7205 </p> 7206 7207 <p><b>Step 5 – BIE candidate search</b><br> 7208 A sequential search-and-shrink algorithm (SSEARCH) finds the top 100 integer candidate vectors 7209 ranked by their squared Mahalanobis distance χ². For each candidate <i>i</i> an 7210 exponential weight is computed: 7211 </p> 7212 <p> <i>w</i>(<i>i</i>) = exp(−0.5 · (χ²<sub><i>i</i></sub> − 7213 χ²<sub>best</sub>))</p> 7214 <p> 7215 The <b>BIE estimate</b> is then the weighted average over all candidates: 7216 </p> 7217 <p> <i>a</i><sub>BIE</sub> = ∑ <i>w</i>(<i>i</i>) · <i>a</i>(<i>i</i>) / ∑ 7218 <i>w</i>(<i>i</i>) 7219 </p> 7220 <p> 7221 This is the key difference from plain LAMBDA/ILS, which picks only the single best integer vector. 7222 BIE produces a real-valued weighted combination and is the minimum mean-square error estimator 7223 under a Gaussian distribution. 7224 </p> 7225 7226 <p><b>Step 6 – BIE variance</b><br> 7227 Rather than adopting the optimistic variance of the single best candidate, BIE computes a 7228 conservative variance that reflects the probability mass spread across all candidates: 7229 </p> 7230 <p> σ²<sub>BIE</sub>(<i>j</i>) = ∑ <i>w</i>(<i>i</i>) · 7231 (<i>a</i><sub>BIE</sub>(<i>j</i>) − <i>a</i>(<i>j</i>,<i>i</i>))²</p> 7232 7233 <p><b>Step 7 – Fixability decision and constraint imposition</b><br> 7234 An ambiguity is considered fixable if both of the following criteria are met: 7235 </p> 7236 <ul> 7237 <li>|<i>a</i><sub>BIE</sub> − round(<i>a</i><sub>BIE</sub>)| ≤ Max Frac (see <a href="#ppparmax">Max Frac 7238 and Sig</a>)</li> 7239 <li>σ<sub>BIE</sub> ≤ Max Sig (see <a href="#ppparmax">Max Frac and Sig</a>)</li> 7240 </ul> 7241 <p> 7242 For all fixable ambiguities, Kalman equality constraints with a tight weight are applied to force 7243 the filter state vector to adopt the integer values. Subsequent filter updates treat these fixed 7244 ambiguities as pseudo-observations until a cycle-slip triggers a reset. 7245 </p> 7246 7247 <p><b>Comparison with other PPP ambiguity resolution methods</b></p> 7248 <table border="1" rules="all" frame="box" bgcolor="#FFF5EE" style="font-size:13"> 7249 <tr bgcolor="#E0E0E0"> 7250 <td><b> Method </b></td> 7251 <td><b> Integer choice </b></td> 7252 <td><b> Output </b></td> 7253 </tr> 7254 <tr> 7255 <td> Rounding </td> 7256 <td> Nearest integer per ambiguity, independently </td> 7257 <td> Hard fix, simple but fragile </td> 7258 </tr> 7259 <tr> 7260 <td> Bootstrapping </td> 7261 <td> Sequential conditional rounding </td> 7262 <td> Hard fix, faster than ILS </td> 7263 </tr> 7264 <tr> 7265 <td> ILS / LAMBDA </td> 7266 <td> Single globally optimal integer vector </td> 7267 <td> Hard fix, optimal under Gaussian noise </td> 7268 </tr> 7269 <tr> 7270 <td> <b>BIE (BNC)</b> </td> 7271 <td> Weighted combination of top-N candidates </td> 7272 <td> Soft/weighted fix, minimum MSE estimator </td> 7273 </tr> 7274 </table> 7275 <br> 7276 7277 <p> 7278 <h4 id="ppparsys">2.13.2.10.1 Constellations - optional</h4> 7279 </p> 7280 <p> 7281 Specify, for which constellations the ambiguities should be resolved to their integer values. This option is 7282 available for GPS, Galileo and BDS. 7283 </p> 7284 <p> 7285 <h4 id="ppparmin">2.13.2.10.2 Min # Epo and Sat - optional</h4> 7286 </p> 7287 <p> 7288 Using 'Min # Epo' you can specify the number of epochs for which the unknown ambiguity parameter has to be observed 7289 at least, 7290 to be included into the search. 7291 </p> 7292 <p> 7293 Using 'Min # Sat' you can define that the ambiguity search is performed if at least the specified number of 7294 satellites per constellation is being tracked. 7295 </p> 7296 <p> 7297 <h4 id="ppparmax">2.13.2.10.3 Max Frac and Sig - optional</h4> 7298 </p> 7299 <p> 7300 Using the options 'Max Frac' and 'Max Sig' you may decide whether to use this additional information and fix 7301 (constrain) only those 7302 ambiguities which meet these requirements. In more detail: 7303 </p> 7304 <p> 7305 If 'Max Frac' is greater than zero, the ambiguity is constrained only if the absolute value of the fractional part 7306 of its BIE value 7307 is lower or equal than the specified value. 7308 </p> 7309 <p> 7310 If 'Max Sig' is greater than zero, the ambiguity is constrained only if the BIE sigma (uncertainty of the BIE 7311 result) 7312 is lower or equal than the specified value. 7313 </p> 7314 <p> 7315 <h4 id="ppparyaw">2.13.2.10.4 Yaw Usage - optional</h4> 7316 </p> 7317 <p> 7318 If 'Use Yaw' is set, the information about the satellite attitude (yaw angle) is taken from the corresponding 7319 SSR correction (phase bias message). Otherwise a standard satellite attitude model is used. 7320 </p> 7321 7322 <p> 7323 <h4 id="ppparfix">2.13.2.10.5 Per-epoch fix percentage</h4> 7324 </p> 7325 <p> 7326 The number printed in the log (... fix XX %) is a fixRatio computed as follows: 7327 <ol> 7328 <li>A copy of the float filter state is taken — the real recursive filter state is never touched by AR.</li> 7329 <li>Ambiguities are grouped per system/LC into zero-difference sets if minimum number of tracked epochs (see <a 7330 href="#ppparmin">Min # Epo</a>) and the minimum elevation (see <a href=#pppmineleva>Minimum Elevation</a>) is 7331 exceeded.</li> 7332 <li>One reference ambiguity per group is hard-constrained to its rounded value with a tiny σ (sigCon = 1e-4 cycles, 7333 turning the rest into single-differences (SD).</li> 7334 <li>A LAMBDA/BIE (Best Integer Equivariant) search produces xBie/covBie — a probability-weighted blend over 7335 candidate integer vectors, not a hard integer.</li> 7336 <li>isFixable() flags an SD ambiguity as fixed if |frac(xBie)| ≤ arMaxFrac and sqrt(covBie) ≤ arMaxSig (see <a 7337 href=#ppparmax>Max Frac and Sig</a>).</li> 7338 <li>fixRatio = numFixSdAll / numSdAmbs — fixed SD ambiguities divided by all SD ambiguities in groups that already 7339 passed step 2's pre-filter.</li> 7340 </ol> 7341 Some remarks: 7342 <ul> 7343 <li>It's a statistical sharpness test, not a validated fix. Unlike classical LAMBDA AR (ratio test against the 7344 second-best candidate), isFixable() only checks that the BIE estimate is close to an integer with small posterior 7345 variance. BIE will confidently "fix" a self-consistent but wrong combination if the underlying float ambiguities 7346 carry a systematic, unmodeled bias — there's no independent validation step.</li> 7347 <li> The fix is a per-epoch snapshot, not a recursive hold. Since AR runs on a copy of the filter state and the 7348 result is never fed back into _xFlt/_QFlt, each epoch's "fix" is recomputed from scratch from whatever the float 7349 ambiguity looks like that epoch. A satellite can be reported "fixed" to slightly different integer realizations 7350 epoch-to-epoch, which shows up as scatter in the AR-constrained coordinate even though the printed percentage 7351 stays high.</li> 7352 <li>Everything hinges on the phase-bias corrections. Ambiguity resolution only works because incoming SSR phase-bias 7353 corrections with fixIndicator set are applied per satellite/frequency before this stage; satellites lacking valid 7354 biases are dropped entirely when AR is on (useObsWithBiasesOnly). If that correction stream is stale, low-quality, 7355 or inconsistent with the orbit/clock product (different AC, different update interval), the float ambiguities will 7356 still sharpen and "fix" statistically — just around the wrong integer — degrading rather than improving the 7357 position.</li> 7358 <li> Small denominator effect: 'numSdAmbs' only counts already pre-filtered, resolvable ambiguities in groups of ≥2; 7359 with a thin satellite/group count it's easy to get 100% from very few satellites, which isn't representative of 7360 overall solution strength.</li> 7361 </ul> 7362 If the per-epoch fix percentage values look too high in comparison with the resulting coordinate displacements, 7363 try: 7364 <ul> 7365 <li>tightening 'Max Frac' / 'Max Sig' and </li> 7366 <li>raising 'Min # Sat' / 'Min # Epo' </li> 7367 </ul> 7368 to see if the percentage drops to something more consistent with the achieved coordinate repeatability — if it 7369 doesn't, the bias-correction quality/consistency 7370 is the more likely root cause than the AR logic itself. 7371 </p> 7372 <p> 7373 <h4 id="pppStation">2.13.3 PPP (3): Processed Stations</h4> 7374 </p> 7375 <p> 7376 This panel allows to enter parameters specific to each PPP process or thread. Individual sigmas for a priori 7377 coordinates and a 7378 noise for coordinate variations over time can be introduced. Furthermore, a sigma for model-based troposphere 7379 estimates and the 7380 corresponding noise for troposphere variations can be specified. Finally, local IP server ports can be defined for 7381 output of 7382 NMEA streams carrying PPP results. 7383 </p> 7384 7385 <p> 7386 BNC offers to create a table with one line per PPP process or thread to specify station-specific parameters. 7387 Hit the 'Add Station' button to create the table or add a new line to it. To remove a line from the table, 7388 highlight it by clicking it and hit the 'Delete Station' button. You can also remove multiple lines simultaneously 7389 by highlighting them using +Shift or +Ctrl.</p> 7390 </p> 7391 7392 <p> 7393 BNC will simultaneously produce PPP solutions for all stations listed in the 'Station' column of this table. 7394 </p> 7395 7396 <p><img src="IMG/Figure25.png" width=1000 /></p> 7397 <p>Figure 25: Precise Point Positioning with BNC, PPP Panel 3</p> 7398 7399 <p> 7400 <h4 id="pppsite">2.13.2.1 Station - mandatory</h4> 7401 </p> 7402 <p> 7403 Hit the 'Add Station' button, double click on the 'Station' field, then specify an observation's mountpoint from the 7404 'Streams' section or introduce the 9-character Station ID of your RINEX observation file and hit Enter. 7405 BNC will only produce PPP solutions for stations listed in this table. 7406 </p> 7407 7408 <p> 7409 <h4 id="pppnehsigma">2.13.2.2 Sigma North/East/Up - mandatory</h4> 7410 </p> 7411 <p> 7412 Enter sigmas in meters for the initial coordinate components. A value of 100.0 (default) may be an appropriate 7413 choice. 7414 However, this value may be significantly smaller (e.g. 0.01) when starting for example from a station with a 7415 well-known position 7416 in so-called Quick-Start mode. 7417 </p> 7418 7419 <p> 7420 <h4 id="pppnehnoise">2.13.2.3 Noise North/East/Up - mandatory</h4> 7421 </p> 7422 <p> 7423 Enter a white 'Noise' in meters for estimated coordinate components. A value of 100.0 (default) may be appropriate 7424 when 7425 considering possible sudden movements of a rover. 7426 </p> 7427 7428 <p> 7429 <h4 id="ppptropsigma">2.13.2.4 Tropo Sigma - mandatory</h4> 7430 </p> 7431 <p> 7432 Enter a sigma in meters for the a priori model based tropospheric delay estimation. A value of 0.1 (default) may be 7433 an appropriate choice. 7434 </p> 7435 7436 <p> 7437 <h4 id="ppptropnoise">2.13.2.5 Tropo Noise - mandatory</h4> 7438 </p> 7439 <p> 7440 Enter a white 'Noise' in meters per second to describe the expected variation of the tropospheric effect. Supposing 7441 1Hz observation data, 7442 a value of 3e-6 (default) would mean that the tropospheric effect may vary for 3600 * 3e-6 = 0.01 meters per hour. 7443 </p> 7444 7445 <p> 7446 <h4 id="pppnmeaport">2.13.2.6 NMEA Port - optional</h4> 7447 </p> 7448 <p> 7449 Specify the IP port number of a local port where Point Positioning results become available as NMEA sentences. The 7450 default value 7451 for 'NMEA Port' is an empty option field, meaning that BNC does not provide NMEA sentences via IP port. Note that 7452 NMEA file output 7453 and NMEA IP port output are the same. 7454 </p> 7455 <p> 7456 Note also that Tomoji Takasu has written a program named RTKPLOT for visualizing NMEA sentences from IP ports or 7457 files. 7458 It is available from <a href="http://www.rtklib.com" target="_blank">http://www.rtklib.com</a> and compatible with 7459 the 7460 NMEA file and port output of BNC's 'PPP' client option. 7461 </p> 7462 <p> 7463 Furthermore, NASA's 'World Wind' software 7464 (see <a href="http://worldwindcentral.com/wiki/NASA_World_Wind_Download" 7465 target="_blank">http://worldwindcentral.com/wiki/NASA_World_Wind_Download</a>) 7466 can be used for real-time visualization of positions provided through BNC's NMEA IP output port. 7467 You need the 'GPS Tracker' plug-in available from 7468 <a href="http://worldwindcentral.com/wiki/GPS_Tracker" 7469 target="_blank">http://worldwindcentral.com/wiki/GPS_Tracker</a> for that. 7470 The 'Word Wind' map resolution is not meant for showing centimeter level details. 7471 </p> 7472 7473 <p> 7474 <h4 id="pppsignalpriorities">2.13.2.7 Signal Priorities - optional</h4> 7475 </p> 7476 <p> 7477 Specify a list of 'Signal Priorities' for the observations that shall be used for PPP. 7478 Signal priorities can be specified as system (G,R,E,C) and frequency specific. 7479 Two frequency bands per GNSS are allowed and will be considered. 7480 The following frequency bands are available for selection: 7481 <ul> 7482 <li>G: 1, 2, 5</li> 7483 <li>R: 1, 2</li> 7484 <li>E: 1, 5, 6, 7, 8</li> 7485 <li>C: 1, 2, 5, 6, 7, 8</li> 7486 </ul> 7487 <p>'Default' is the following list of 'Signal Priorities': 7488 <ul> 7489 <li>'G:12&CWPSLX R:12&CP E:1&CBX E:5&QIX C:26&IQX'</li> 7490 </ul> 7491 <p> 7492 But it is recommended to specify it in more detail per individual station, e.g.:</p> 7493 <ul> 7494 <li>'G:12&W R:12&P E:1&C E:5&Q C:26&I'</li> 7495 </ul> 7496 7497 <p> 7498 <h4 id="pppPlots">2.13.4 PPP (4): Plots</h4> 7499 </p> 7500 <p> 7501 This panel presents options for visualizing PPP results as a time series plot or as a track map with PPP tracks on 7502 top 7503 of OpenStreetMap (OSM) maps. 7504 </p> 7505 7506 <p> 7507 <h4 id="ppptimeseries">2.13.4.1 PPP Plot - optional</h4> 7508 </p> 7509 <p> 7510 PPP time series of North (red), East (green) and Up (blue) displacements will be plotted under the 'PPP Plot' tab 7511 when 7512 a 'Mountpoint' is specified. Values will be referred to an XYZ reference coordinate (if specified, see 7513 'Coordinates file'). The sliding PPP time series window will cover the period of the latest 5 minutes. 7514 </p> 7515 <p> 7516 Note that a PPP dicplacements time series makes only sense for a stationary operated receiver. 7517 </p> 7518 7519 <p> 7520 <h4 id="pppaudioresp">2.13.4.2 Audio Response - optional</h4> 7521 </p> 7522 <p> 7523 For natural hazard prediction and monitoring landslides, it may be appropriate to generate audio alerts. For that 7524 you can specify an 'Audio response' threshold in meters. A beep is produced by BNC whenever a horizontal PPP 7525 coordinate 7526 component differs by more than the threshold value from the specified marker coordinate. 7527 </p> 7528 <p> 7529 Default is an empty option field, meaning that you do not want BNC to produce acoustic warnings. 7530 </p> 7531 7532 <p> 7533 <h4 id="ppptrackmap">2.13.4.3 Track Map - optional</h4> 7534 </p> 7535 <p> 7536 You may like to track your rover position using OpenStreetMap as a background map. Track maps can be 7537 produced with BNC in 'Real-time Streams' mode or in 'RINEX Files' post processing mode with data coming from files. 7538 Even when in 'RINEX Files' post processing mode, you should not forget to go online with your host. 7539 </p> 7540 <p> 7541 The 'Open Map' button opens a window showing the map. 7542 </p> 7543 7544 <p><img src="IMG/Figure26.png" width=1000 /></p> 7545 <p>Figure 26: Precise Point Positioning with BNC with track of positions using OpenStreetMap, PPP Panel 4.</p> 7546 7547 7548 <p> 7549 <h4 id="pppdotprop">2.13.4.4 Dot-properties - mandatory before pushing 'Open Map'</h4> 7550 </p> 7551 <p> 7552 PPP tracks are presented on maps through plotting one colored dot per observation epoch. 7553 </p> 7554 7555 <p> 7556 <h4 id="pppdotsize">2.13.4.4.1 Size - mandatory before pushing 'Open Map'</h4> 7557 </p> 7558 <p> 7559 Specify the size of dots showing the rover position. A dot size of '3' may be appropriate. The maximum possible dot 7560 size is '10'. An empty option field or a size of '0' would mean that you do not want BNC to show the rover's track 7561 on the map. 7562 </p> 7563 7564 <p> 7565 <h4 id="pppdotcolor">2.13.4.4.2 Color - mandatory before pushing 'Open Map'</h4> 7566 </p> 7567 <p> 7568 Select the color of dots showing the rover track. 7569 </p> 7570 7571 <p> 7572 <h4 id="pppspeed">2.13.4.5 Post Processing Speed - mandatory before pushing 'Open Map'</h4> 7573 </p> 7574 <p> 7575 With BNC in PPP 'RINEX File' post processing mode, you can specify the speed of computations as appropriate for 7576 visualization. Note that you can adjust 'Post-processing speed' on-the-fly while BNC is already processing your 7577 observations. 7578 </p> 7579 7580 <p> 7581 <h4 id="combi">2.14 Combine Corrections</h4> 7582 </p> 7583 <p> 7584 BNC allows processing several orbit and clock correction streams in real-time to produce, encode, upload and save a 7585 combination of Broadcast Corrections from various providers (Weber and Mervart 2010). All corrections must refer to 7586 satellite Antenna Phase Centers (APC). It is so far only the satellite clock corrections, which are combined by BNC 7587 while orbit corrections in the combination product are just taken over from one of the incoming 7588 Broadcast Correction streams. Combining only clock corrections using a fixed orbit reference (which means the 7589 individual orbit of 7590 an incoming AC = Master orbit) imposes the potential to introduce analysis inconsistencies. Hence, some a priori 7591 corrections dC 7592 are applied before clock combination, to compensate for the inconsistency between MasterAC and other orbits. 7593 This should include corrections for inconsistent frames, attitude mode and phase center offset: 7594 </p> 7595 <pre> 4987 7596 dC = dC_frame + dC_att + dC_pco [m] 4988 7597 </pre> 4989 But because at present, no PCO information is available via SSR, we consider only 4990 <pre> 7598 But because at present, no PCO information is available via SSR, we consider only 7599 <pre> 4991 7600 dC_frame = Orb_AC * (Orb_AC - Orb_MasterAC) / Range_sat 4992 7601 </pre> 4993 <pre> 7602 <pre> 4994 7603 dC_att = (yawAngle_AC - yawAngle_MasterAC) / (2*PI) * wavelength(IF) 4995 7604 </pre> 4996 7605 4997 <p> 4998 The 'Combine Corrections' functionality may be of interrest because: 4999 <ul> 5000 <li>Outages of single AC product streams can be mitigated through merging several incoming streams into a combined product;</li> 5001 <li>Generating a combination product from several AC products allows detecting and rejecting outliers;</li> 5002 <li>A Combination Center (CC) can operate BNC to globally disseminate a combination product via Ntrip broadcast;</li> 5003 <li>An individual AC could prefer to disseminate a stream combined from primary and backup IT resources to reduce outages;</li> 5004 <li>It enables a BNC PPP user to follow his own preference in combining streams from individual ACs for Precise Point Positioning;</li> 5005 <li>It allows an instantaneous quality control of the combination process not only in the time domain but also in the space domain; this can be done by direct application of the combined stream in a PPP solution even without prior upload to an Ntrip Broadcaster;</li> 5006 <li>It provides the means to output SP3 and Clock RINEX files containing precise orbit and clock information as well as SINEX Bias files for further processing using other tools than BNC.</li> 5007 </ul> 5008 </p> 5009 The clock combination can be based either on a plain 'Single-Epoch' or on a 'Kalman Filter' approach. 5010 In the 'Kalman Filter' approach, satellite clocks estimated by individual Analyses Centers (ACs) are used as pseudo 5011 observations within the adjustment process. Each observation is modeled as a linear function (actually a simple sum) 5012 of three estimated parameters: 5013 <pre> 7606 <p> 7607 The 'Combine Corrections' functionality may be of interrest because: 7608 <ul> 7609 <li>Outages of single AC product streams can be mitigated through merging several incoming streams into a combined 7610 product;</li> 7611 <li>Generating a combination product from several AC products allows detecting and rejecting outliers;</li> 7612 <li>A Combination Center (CC) can operate BNC to globally disseminate a combination product via Ntrip broadcast; 7613 </li> 7614 <li>An individual AC could prefer to disseminate a stream combined from primary and backup IT resources to reduce 7615 outages;</li> 7616 <li>It enables a BNC PPP user to follow his own preference in combining streams from individual ACs for Precise 7617 Point Positioning;</li> 7618 <li>It allows an instantaneous quality control of the combination process not only in the time domain but also in 7619 the space domain; this can be done by direct application of the combined stream in a PPP solution even without 7620 prior upload to an Ntrip Broadcaster;</li> 7621 <li>It provides the means to output SP3 and Clock RINEX files containing precise orbit and clock information as well 7622 as SINEX Bias files for further processing using other tools than BNC.</li> 7623 </ul> 7624 </p> 7625 The clock combination can be based either on a plain 'Single-Epoch' or on a 'Kalman Filter' approach. 7626 In the 'Kalman Filter' approach, satellite clocks estimated by individual Analyses Centers (ACs) are used as pseudo 7627 observations within the adjustment process. Each observation is modeled as a linear function (actually a simple sum) 7628 of three estimated parameters: 7629 <pre> 5014 7630 Clk_Corr = AC_Offset + Sat_Offset + Clk 5015 7631 </pre> 5016 With 5017 <p> 5018 <table> 5019 <tr><td> AC_Offset </td><td> AC specific offset</td></tr> 5020 <tr><td> Sat_Offset</td><td> Satellite specific offset common to all ACs</td></tr> 5021 <tr><td> Clk </td><td> the actual satellite clock correction, which represents the result of the combination</td></tr> 5022 </table> 5023 </p> 5024 These three parameter types differ in their statistical properties. The satellite clock offsets are assumed to be static parameters 5025 while AC specific and satellite specific offsets are stochastic parameters affected by white noise. 5026 The solution is regularized by a set of minimal constraints. In case of a change of the 'SSR Provider ID', 5027 'SSR Solution ID', or 'IOD SSR' (see section 'Upload Corrections'), the satellite clock offsets belonging to the 5028 corresponding analysis center are reset in the adjustment. 5029 </p> 5030 <p> 5031 Removing the AC-dependent biases is a major issue with clock combinations. 5032 Since they vary in time, it can be tricky to do this. Otherwise, there will be artificial jumps in the combined clock stream 5033 if one or more AC contributions drop out for certain epochs. Here the 'Kalman Filter' approach is expected to do better than the 5034 'Single-Epoch' approach. 5035 </p> 5036 <p> 5037 The following recursive algorithm is used to detect orbit outliers in the Kalman Filter combination when Broadcast Corrections are provided by several ACs:<br> 5038 <p> 5039 <table> 5040 <tr><td> Step 1 </td><td> We do not produce a combination for a certain satellite if only one AC provides corrections for it.</td></tr> 5041 <tr><td> Step 2 </td><td> A mean satellite position is calculated as the average of positions from all ACs.</td></tr> 5042 <tr><td> Step 3 </td><td> For each AC and satellite, the 3D distance between individual and mean satellite position is calculated.</td></tr> 5043 <tr><td> Step 4 </td><td> We find the greatest difference between AC specific and mean satellite positions.</td></tr> 5044 <tr><td> Step 5 </td><td> If that is less than a threshold, the conclusion is that we do not have an outlier and can proceed to the next epoch.</td></tr> 5045 <tr><td> Step 6 </td><td> If that is greater than a threshold, then corrections of the affiliated AC are ignored for the affected epoch and 5046 the outlier detection restarts with step 1.</td></tr> 5047 </table> 5048 </p> 5049 <p> 5050 The following screenshot shows an example setup of BNC when combining several Broadcast Correction streams. 5051 </p> 5052 <p><img src="IMG/Figure27.png"width=1000/></p> 5053 <p>Figure 27: BNC combining Broadcast Correction streams</p> 5054 5055 <p> 5056 The combination process requires real-time access to Broadcast Ephemeris. Therefore, in addition to the orbit 5057 and clock correction streams BNC must pull a stream carrying Broadcast Ephemeris in the form of RTCM Version 3 messages. 5058 Stream 'BCEP00BKG0' on caster <a href="http://products.igs-ip.net" target="_blank">http://products.igs-ip.net</a> 5059 is an example for that. Note further that BNC will ignore incorrect or outdated Broadcast Ephemeris data when necessary, 5060 leaving a note 'WRONG EPHEMERIS' or 'OUTDATED EPHEMERIS' in the logfile. 5061 </p> 5062 <p> 5063 The combination is done system-wise for the following reference signals as specified in the IGS Real-Time Committee: 5064 <p> 5065 <table> 5066 <tr><td> GPS: </td><td> C1W/C2W</td></tr> 5067 <tr><td> GLONASS:</td><td> C1P/C2P</td></tr> 5068 <tr><td> Galileo:</td><td> C1C/C5Q</td></tr> 5069 <tr><td> BDS: </td><td> C2I/C6I</td></tr> 5070 <tr><td> QZSS: </td><td> C1C/C2L</td></tr> 5071 <tr><td> SBAS: </td><td> C1C/C5Q</td></tr> 5072 <tr><td> NavIC: </td><td> nothing declared</td></tr> 5073 </table> 5074 </p> 5075 <p> 5076 When the individual satellite clocks and code biases are used together, the effective Observable-Specific Biases (OSBs) are recovered. 5077 With it, the interoperability between corrections of different RTACs, which may use different signals for clock estimation, is ensured. 5078 Hence, the individual RTAC satellite clocks are reduced epoch by epoch by the individual ionosphere-free linear combination 5079 of individual RTAC satellite code biases, delivered for the reference signals, before its combination. 5080 With it, the combined satellite clocks are consistent to IGS clocks, which means ionosphere-free clocks 5081 based on the defined reference signals - despite the fact, that the delivered code biases of an RTAC may contain contributions 5082 from other biases, also phase biases (Banville et al. 2020). 5083 </p> 5084 <p> 5085 Hence, the ionosphere-free linear combination of code biases for the IGS reference signals is determined 5086 from the supplied code biases and subtracted from the clocks before combination. 5087 The combined satellite clocks are consistent to IGS clocks, which means ionosphere-free clocks based on the defined reference signals 5088 - despite the fact, that the delivered code biases of an AC may contain contributions from other biases, also phase biases. 5089 </p> 5090 <p> 5091 This convention allows the ionosphere-free linear combination of the two OSBs of the reference signals to be set to zero. 5092 All other OSBs can then be expressed in terms of Differential Code Biases. For this, 5093 the PCO-corrected satellite DCB product (Wang et al. 2025) of the Chinese Academy of Sciences (CAS) is used and send out 5094 as SSR code bias together with the combined clocks. These SINEX Bias files are archived at CDDIS: 5095 <a href="https://cddis.nasa.gov/archive/gnss/products/bias/" target="_blank">https://cddis.nasa.gov/archive/gnss/products/bias/</a> 5096 </p> 5097 <p> 5098 References: 5099 </p> 5100 <p> 5101 Banville S., Geng J., Loyer S., Schaer S., Springer T., Strasser S. (2020) On the interoperability of IGS products for precise point positioning with ambiguity resolution. Journal of Geodesy. 94, 10 (2020). 5102 <a href="https://doi.org/10.1007/s00190-019-01335-w" target="_blank">https://doi.org/10.1007/s00190-019-01335-w</a> 5103 </p> 5104 <p> 5105 Wang N., Li Y., Li Z., Liu A., Liu B. (2025) Determination of multi-GNSS differential code biases with satellite antenna phase center corrections. GPS Solutions 30, 22 (2026). 5106 <a href="https://doi.org/10.1007/s10291-025-01983-w" target="_blank">https://doi.org/10.1007/s10291-025-01983-w</a> 5107 </p> 5108 <p> 5109 A combination is carried out following a specified sampling interval. BNC waits for incoming Broadcast Corrections for the period 5110 of one such interval. Corrections received later than that will be ignored. If incoming streams have different rates, 5111 only epochs that correspond to the sampling interval are used. 5112 </p> 5113 <p> 5114 Note that BNC can produce an internal PPP solution from combined Broadcast Corrections. 5115 For that you have to specify the keyword 'INTERNAL' as 'Corrections stream' in the PPP (1) panel. 5116 The following example combines correction streams SSRA00BKG1 and SSRA00CNE1 and simultaneously carries out a PPP solution 5117 with observations from stream FFMJ01DEU0 to allow monitoring the quality of the combination product in the space domain. 5118 </p> 5119 <p><img src="IMG/Figure28.png"width=1000/></p> 5120 <p>Figure 28: 'INTERNAL' PPP with BNC using a combination of Broadcast Corrections</p> 5121 5122 <p><h4 id="combimounttab">2.14.1 Combine Corrections Table - optional</h4></p> 5123 <p> 5124 Hit the 'Add Row' button, double click on the 'Mountpoint' field, enter a Broadcast Correction mountpoint from the 'Streams' section 5125 and hit Enter.</p> 5126 <p> 5127 Then double click on the 'AC Name' field to enter your choice of an abbreviation for the Analysis Center (AC) providing 5128 the Antenna Phase Center (APC) related correction stream.</p> 5129 <p> 5130 After that, double click on the 'Weight Factor' field to enter a weight to be applied to this stream in the combination. 5131 A Factor greater than 1 will enlarge the sigma of the clock pseudo-observations and with it down-weight its contribution.</p> 5132 <p> 5133 Finally, double click on the 'Exclude Satellites' field and specify satellites or satellite systems, to exclude them for an individual AC. 5134 An entry 'G04,G31,R' means to excludes GPS satellites PRN 4 and 31 as well as all GLONASS satellites from one individual AC. 5135 Default is an empty option field, meaning that no satellite is excluded from this individual AC.</p> 5136 <p> 5137 Use the 'Attitude' field to select how satellite attitude is modelled when converting Antenna Phase Center (APC) corrections to 5138 Center-of-Mass (CoM) positions required for SP3 output. Three options are available: 5139 <ul> 5140 <li><b>Computed</b> (default): BNC applies its own kinematic attitude model: 5141 GPS noon/midnight turn manoeuvres (Kouba 2009/2015, Bar-Sever 1996), 5142 GLONASS yaw-fixed mode (Dilssner et al. 2011), and 5143 Galileo / BDS orbit-normal mode switching (Kouba 2017, Dai et al. 2015, Steigenberger et al. 2018).</li> 5144 <li><b>Nominal</b>: a simplified, continuous Sun-pointing model is used without any manoeuvre modelling.</li> 5145 <li><b>SSR</b>: the yaw angle transmitted in the SSR phase bias message is used directly, if present for the satellite and epoch. 5146 If no yaw angle is available for a particular satellite in a given epoch, BNC falls back to 'Computed'. 5147 Select this option only if you trust the yaw values provided by the Analysis Center.</li> 5148 </ul> 5149 Note that the attitude model affects APC-referenced correction streams only. 5150 For CoM-referenced streams (SSRC) the Analysis Center has already applied its own attitude model before encoding.</p> 5151 <p> 5152 Note that the orbit information in the resulting combination stream is just copied from one of the incoming streams. 5153 The stream used for providing the orbits may vary over time: if the orbit providing stream has an outage 5154 then BNC switches to the next remaining stream for getting hold of the orbit information.</p> 5155 <p> 5156 The combination process requires Broadcast Ephemeris. 5157 Besides orbit and clock correction streams BNC should therefore pull a stream carrying Broadcast Ephemeris in the form of RTCM Version 3 messages. 5158 The following type of Broadcast navigation messages is used per individulal GNSS:</p> 5159 <table> 5160 <tr><td>Navigation </td><td>Description </td><td>Constellation </td><td>RTCM </td></tr> 5161 <tr><td>Message Type </td><td> </td><td>and Signal </td><td>Message Type</td></tr> 5162 <tr><td> </td><td> </td><td> </td><td> </td></tr> 5163 <tr><td> </td><td> </td><td> </td><td> </td></tr> 5164 <tr><td>LNAV</td><td> GPS Legacy navigation message </td><td>GPS L1 C/A </td><td>1019</td></tr> 5165 <tr><td> </td><td> QZSS Legacy navigation message </td><td>QZSS L1 C/A or L1 C/B </td><td>1044</td></tr> 5166 <tr><td> </td><td> NavIC Legacy navigation message </td><td>NavIC L5/S SPS </td><td>1041</td></tr> 5167 <tr><td> </td><td> </td><td> </td><td> </td></tr> 5168 <tr><td>FDMA</td><td> GLONASS Legacy FDMA navigation message </td><td>GLO L1 C/A </td><td>1020</td></tr> 5169 <tr><td> </td><td> from M-satellites </td><td> </td><td> </td></tr> 5170 <tr><td> </td><td> </td><td> </td><td> </td></tr> 5171 <tr><td>INAV</td><td> Galileo Integrity navigation message </td><td>GAL E1, E5b </td><td>1046</td></tr> 5172 <tr><td> </td><td> </td><td> </td><td> </td></tr> 5173 <tr><td>D1 </td><td> BeiDou-2/3 MEO/IGSO navigation message </td><td>BDS B1I, B2I, B3I </td><td>1042</td></tr> 5174 <tr><td>D2 </td><td> BeiDou-2/3 GEO navigation message </td><td>BDS B1I, B2I, B3I </td><td>1042</td></tr> 5175 <tr><td> </td><td> </td><td> </td><td> </td></tr> 5176 <tr><td>SBAS</td><td> SBAS navigation message </td><td>SBAS L1 </td><td>1043</td></tr> 5177 </table> 5178 <p> 5179 It is possible to specify only one Broadcast Ephemeris Correction stream in the 'Combine Corrections' table. 5180 Instead of combining corrections BNC will then add the corrections to the Broadcast Ephemeris with the possibility 5181 to save final orbit and clock results in SP3 and/or Clock RINEX format. 5182 </p> 5183 <p> 5184 The sequence of entries in the 'Combine Corrections' table is not of importance. 5185 Note that the orbit information in the final combination stream is just copied from one of the incoming streams. 5186 The stream used for providing the orbits may vary over time: if the orbit-providing stream has an outage then BNC switches 5187 to the next remaining stream for getting hold of the orbit information.</p> 5188 <p> 5189 It is possible to specify only one Broadcast Ephemeris correction stream in the 'Combine Corrections' table. 5190 Instead of combining corrections from several sources, BNC will then merge the single corrections stream with 5191 Broadcast Ephemeris to allow saving results in SP3 and/or Clock RINEX format when specified accordingly under the 5192 'Upload Corrections' panel. Note that in such a BNC application you must not pull more than one Broadcast Ephemeris correction stream 5193 even if a second stream would provide the same corrections from a backup caster. 5194 </p> 5195 5196 <p> 5197 Default is an empty 'Combine Corrections' table, meaning that you do not want BNC to combine orbit and clock correction streams. 5198 </p> 5199 5200 <p><h4 id="combiadd">2.14.1.1 Add Row, Delete - optional</h4></p> 5201 <p> 5202 Hit 'Add Row' button to add another row to the 'Combine Corrections' table or hit the 'Delete' button to delete the highlighted row(s). 5203 </p> 5204 5205 <p><h4 id="combimethod">2.14.1.2 Method - mandatory if 'Combine Corrections' table is populated</h4></p> 5206 <p> 5207 Select a clock combination method. Available options are 'Kalman Filter' and 'Single-Epoch'. 5208 It is suggested to use the 'Kalman Filter' approach in case the combined stream of Broadcast Corrections 5209 is intended for Precise Point Positioning.</p> 5210 5211 <p><h4 id="combimaxres">2.14.1.3 Maximal Clock Residuum - mandatory if 'Combine Corrections' table is populated</h4></p> 5212 <p> 5213 BNC combines all incoming clocks according to specified weights. Individual clock estimates that differ by more than 5214 'Maximal Clk Residuum' meters from the average of all clocks will be ignored. 5215 It is suggested to specify a value of about 0.2 m for the Kalman Filter combination approach and 5216 a value of about 3.0 meters for the Single-Epoch combination approach.</p> 5217 <p> 5218 Default is a 'Maximal Clk Residuum' of 999.0 meters.</p> 5219 5220 <p><h4 id="combimaxdisp">2.14.1.4 Maximal Orbit Displacement - mandatory if 'Combine Corrections' table is populated</h4></p> 5221 <p> 5222 BNC builds mean values for all incoming orbit corrections per satellite. 5223 Individual orbit corrections that differ by more than 'Maximal Orb Displacement' meters from the average 5224 of all orbit corrections per satellite will be ignored. It is suggested to specify a value of about 0.5 m.</p> 5225 <p> 5226 Default is a 'Maximal Orb Displacement' of 2.0 meters.</p> 5227 5228 <p><h4 id="combismpl">2.14.1.5 Sampling - mandatory if 'Combine Corrections' table is populated</h4></p> 5229 <p> 5230 Specify a combination sampling interval. Orbit and clock corrections will be produced following that interval. 5231 A value of 10 sec may be an appropriate choice.</p> 5232 5233 <p><h4 id="combisatsys">2.14.1.6 Satellite Systems - mandatory if 'Combine Corrections' table is populated</h4></p> 5234 <p> 5235 Specify for each satellite system whether the clock corrections shall be combined.</p> 5236 5237 <p><h4 id="upclk">2.15 Upload Corrections</h4></p> 5238 <p> 5239 BNC can upload streams carrying orbit and clock corrections to Broadcast Ephemeris in radial, along-track and out-of-plane 5240 components if they are 5241 <ol type="a"> 5242 <li>either generated by BNC as a combination of several individual Broadcast Correction streams coming from an number of 7632 With 7633 <p> 7634 <table> 7635 <tr> 7636 <td> AC_Offset </td> 7637 <td> AC specific offset</td> 7638 </tr> 7639 <tr> 7640 <td> Sat_Offset</td> 7641 <td> Satellite specific offset common to all ACs</td> 7642 </tr> 7643 <tr> 7644 <td> Clk </td> 7645 <td> the actual satellite clock correction, which represents the result of the combination</td> 7646 </tr> 7647 </table> 7648 </p> 7649 These three parameter types differ in their statistical properties. The satellite clock offsets are assumed to be 7650 static parameters 7651 while AC specific and satellite specific offsets are stochastic parameters affected by white noise. 7652 The solution is regularized by a set of minimal constraints. In case of a change of the 'SSR Provider ID', 7653 'SSR Solution ID', or 'IOD SSR' (see section 'Upload Corrections'), the satellite clock offsets belonging to the 7654 corresponding analysis center are reset in the adjustment. 7655 </p> 7656 <p> 7657 Removing the AC-dependent biases is a major issue with clock combinations. 7658 Since they vary in time, it can be tricky to do this. Otherwise, there will be artificial jumps in the combined 7659 clock stream 7660 if one or more AC contributions drop out for certain epochs. Here the 'Kalman Filter' approach is expected to do 7661 better than the 7662 'Single-Epoch' approach. 7663 </p> 7664 <p> 7665 The following recursive algorithm is used to detect orbit outliers in the Kalman Filter combination when Broadcast 7666 Corrections are provided by several ACs:<br> 7667 <p> 7668 <table> 7669 <tr> 7670 <td> Step 1 </td> 7671 <td> We do not produce a combination for a certain satellite if only one AC provides corrections for 7672 it.</td> 7673 </tr> 7674 <tr> 7675 <td> Step 2 </td> 7676 <td> A mean satellite position is calculated as the average of positions from all ACs.</td> 7677 </tr> 7678 <tr> 7679 <td> Step 3 </td> 7680 <td> For each AC and satellite, the 3D distance between individual and mean satellite position is 7681 calculated.</td> 7682 </tr> 7683 <tr> 7684 <td> Step 4 </td> 7685 <td> We find the greatest difference between AC specific and mean satellite positions.</td> 7686 </tr> 7687 <tr> 7688 <td> Step 5 </td> 7689 <td> If that is less than a threshold, the conclusion is that we do not have an outlier and can 7690 proceed to the next epoch.</td> 7691 </tr> 7692 <tr> 7693 <td> Step 6 </td> 7694 <td> If that is greater than a threshold, then corrections of the affiliated AC are ignored for the 7695 affected epoch and 7696 the outlier detection restarts with step 1.</td> 7697 </tr> 7698 </table> 7699 </p> 7700 <p> 7701 The following screenshot shows an example setup of BNC when combining several Broadcast Correction streams. 7702 </p> 7703 <p><img src="IMG/Figure27.png" width=1000 /></p> 7704 <p>Figure 27: BNC combining Broadcast Correction streams</p> 7705 7706 <p> 7707 The combination process requires real-time access to Broadcast Ephemeris. Therefore, in addition to the orbit 7708 and clock correction streams BNC must pull a stream carrying Broadcast Ephemeris in the form of RTCM Version 3 7709 messages. 7710 Stream 'BCEP00BKG0' on caster <a href="http://products.igs-ip.net" target="_blank">http://products.igs-ip.net</a> 7711 is an example for that. Note further that BNC will ignore incorrect or outdated Broadcast Ephemeris data when 7712 necessary, 7713 leaving a note 'WRONG EPHEMERIS' or 'OUTDATED EPHEMERIS' in the logfile. 7714 </p> 7715 <p> 7716 The combination is done system-wise for the following reference signals as specified in the IGS Real-Time Committee: 7717 <p> 7718 <table> 7719 <tr> 7720 <td> GPS: </td> 7721 <td> C1W/C2W</td> 7722 </tr> 7723 <tr> 7724 <td> GLONASS:</td> 7725 <td> C1P/C2P</td> 7726 </tr> 7727 <tr> 7728 <td> Galileo:</td> 7729 <td> C1C/C5Q</td> 7730 </tr> 7731 <tr> 7732 <td> BDS: </td> 7733 <td> C2I/C6I</td> 7734 </tr> 7735 <tr> 7736 <td> QZSS: </td> 7737 <td> C1C/C2L</td> 7738 </tr> 7739 <tr> 7740 <td> SBAS: </td> 7741 <td> C1C/C5Q</td> 7742 </tr> 7743 <tr> 7744 <td> NavIC: </td> 7745 <td> nothing declared</td> 7746 </tr> 7747 </table> 7748 </p> 7749 <p> 7750 When the individual satellite clocks and code biases are used together, the effective Observable-Specific Biases 7751 (OSBs) are recovered. 7752 With it, the interoperability between corrections of different RTACs, which may use different signals for clock 7753 estimation, is ensured. 7754 Hence, the individual RTAC satellite clocks are reduced epoch by epoch by the individual ionosphere-free linear 7755 combination 7756 of individual RTAC satellite code biases, delivered for the reference signals, before its combination. 7757 With it, the combined satellite clocks are consistent to IGS clocks, which means ionosphere-free clocks 7758 based on the defined reference signals - despite the fact, that the delivered code biases of an RTAC may contain 7759 contributions 7760 from other biases, also phase biases (Banville et al. 2020). 7761 </p> 7762 <p> 7763 Hence, the ionosphere-free linear combination of code biases for the IGS reference signals is determined 7764 from the supplied code biases and subtracted from the clocks before combination. 7765 The combined satellite clocks are consistent to IGS clocks, which means ionosphere-free clocks based on the defined 7766 reference signals 7767 - despite the fact, that the delivered code biases of an AC may contain contributions from other biases, also phase 7768 biases. 7769 </p> 7770 <p> 7771 This convention allows the ionosphere-free linear combination of the two OSBs of the reference signals to be set to 7772 zero. 7773 All other OSBs can then be expressed in terms of Differential Code Biases. For this, 7774 the PCO-corrected satellite DCB product (Wang et al. 2025) of the Chinese Academy of Sciences (CAS) is used and send 7775 out 7776 as SSR code bias together with the combined clocks. These SINEX Bias files are archived at CDDIS: 7777 <a href="https://cddis.nasa.gov/archive/gnss/products/bias/" 7778 target="_blank">https://cddis.nasa.gov/archive/gnss/products/bias/</a> 7779 </p> 7780 <p> 7781 References: 7782 </p> 7783 <p> 7784 Banville S., Geng J., Loyer S., Schaer S., Springer T., Strasser S. (2020) On the interoperability of IGS products 7785 for precise point positioning with ambiguity resolution. Journal of Geodesy. 94, 10 (2020). 7786 <a href="https://doi.org/10.1007/s00190-019-01335-w" target="_blank">https://doi.org/10.1007/s00190-019-01335-w</a> 7787 </p> 7788 <p> 7789 Wang N., Li Y., Li Z., Liu A., Liu B. (2025) Determination of multi-GNSS differential code biases with satellite 7790 antenna phase center corrections. GPS Solutions 30, 22 (2026). 7791 <a href="https://doi.org/10.1007/s10291-025-01983-w" target="_blank">https://doi.org/10.1007/s10291-025-01983-w</a> 7792 </p> 7793 <p> 7794 A combination is carried out following a specified sampling interval. BNC waits for incoming Broadcast Corrections 7795 for the period 7796 of one such interval. Corrections received later than that will be ignored. If incoming streams have different 7797 rates, 7798 only epochs that correspond to the sampling interval are used. 7799 </p> 7800 <p> 7801 Note that BNC can produce an internal PPP solution from combined Broadcast Corrections. 7802 For that you have to specify the keyword 'INTERNAL' as 'Corrections stream' in the PPP (1) panel. 7803 The following example combines correction streams SSRA00BKG1 and SSRA00CNE1 and simultaneously carries out a PPP 7804 solution 7805 with observations from stream FFMJ01DEU0 to allow monitoring the quality of the combination product in the space 7806 domain. 7807 </p> 7808 <p><img src="IMG/Figure28.png" width=1000 /></p> 7809 <p>Figure 28: 'INTERNAL' PPP with BNC using a combination of Broadcast Corrections</p> 7810 7811 <p> 7812 <h4 id="combimounttab">2.14.1 Combine Corrections Table - optional</h4> 7813 </p> 7814 <p> 7815 Hit the 'Add Row' button, double click on the 'Mountpoint' field, enter a Broadcast Correction mountpoint from the 7816 'Streams' section 7817 and hit Enter.</p> 7818 <p> 7819 Then double click on the 'AC Name' field to enter your choice of an abbreviation for the Analysis Center (AC) 7820 providing 7821 the Antenna Phase Center (APC) related correction stream.</p> 7822 <p> 7823 After that, double click on the 'Weight Factor' field to enter a weight to be applied to this stream in the 7824 combination. 7825 A Factor greater than 1 will enlarge the sigma of the clock pseudo-observations and with it down-weight its 7826 contribution.</p> 7827 <p> 7828 Finally, double click on the 'Exclude Satellites' field and specify satellites or satellite systems, to exclude them 7829 for an individual AC. 7830 An entry 'G04,G31,R' means to excludes GPS satellites PRN 4 and 31 as well as all GLONASS satellites from one 7831 individual AC. 7832 Default is an empty option field, meaning that no satellite is excluded from this individual AC.</p> 7833 <p> 7834 Use the 'Attitude' field to select how satellite attitude is modelled when converting Antenna Phase Center (APC) 7835 corrections to 7836 Center-of-Mass (CoM) positions required for SP3 output. Three options are available: 7837 <ul> 7838 <li><b>Computed</b> (default): BNC applies its own kinematic attitude model: 7839 GPS noon/midnight turn manoeuvres (Kouba 2009/2015, Bar-Sever 1996), 7840 GLONASS yaw-fixed mode (Dilssner et al. 2011), and 7841 Galileo / BDS orbit-normal mode switching (Kouba 2017, Dai et al. 2015, Steigenberger et al. 2018).</li> 7842 <li><b>Nominal</b>: a simplified, continuous Sun-pointing model is used without any manoeuvre modelling.</li> 7843 <li><b>SSR</b>: the yaw angle transmitted in the SSR phase bias message is used directly, if present for the 7844 satellite and epoch. 7845 If no yaw angle is available for a particular satellite in a given epoch, BNC falls back to 'Computed'. 7846 Select this option only if you trust the yaw values provided by the Analysis Center.</li> 7847 </ul> 7848 Note that the attitude model affects APC-referenced correction streams only. 7849 For CoM-referenced streams (SSRC) the Analysis Center has already applied its own attitude model before encoding.</p> 7850 <p> 7851 Note that the orbit information in the resulting combination stream is just copied from one of the incoming streams. 7852 The stream used for providing the orbits may vary over time: if the orbit providing stream has an outage 7853 then BNC switches to the next remaining stream for getting hold of the orbit information.</p> 7854 <p> 7855 The combination process requires Broadcast Ephemeris. 7856 Besides orbit and clock correction streams BNC should therefore pull a stream carrying Broadcast Ephemeris in the 7857 form of RTCM Version 3 messages. 7858 The following type of Broadcast navigation messages is used per individulal GNSS:</p> 7859 <table> 7860 <tr> 7861 <td>Navigation </td> 7862 <td>Description </td> 7863 <td>Constellation </td> 7864 <td>RTCM </td> 7865 </tr> 7866 <tr> 7867 <td>Message Type </td> 7868 <td> </td> 7869 <td>and Signal </td> 7870 <td>Message Type</td> 7871 </tr> 7872 <tr> 7873 <td> </td> 7874 <td> </td> 7875 <td> </td> 7876 <td> </td> 7877 </tr> 7878 <tr> 7879 <td> </td> 7880 <td> </td> 7881 <td> </td> 7882 <td> </td> 7883 </tr> 7884 <tr> 7885 <td>LNAV</td> 7886 <td> GPS Legacy navigation message </td> 7887 <td>GPS L1 C/A </td> 7888 <td>1019</td> 7889 </tr> 7890 <tr> 7891 <td> </td> 7892 <td> QZSS Legacy navigation message </td> 7893 <td>QZSS L1 C/A or L1 C/B </td> 7894 <td>1044</td> 7895 </tr> 7896 <tr> 7897 <td> </td> 7898 <td> NavIC Legacy navigation message </td> 7899 <td>NavIC L5/S SPS </td> 7900 <td>1041</td> 7901 </tr> 7902 <tr> 7903 <td> </td> 7904 <td> </td> 7905 <td> </td> 7906 <td> </td> 7907 </tr> 7908 <tr> 7909 <td>FDMA</td> 7910 <td> GLONASS Legacy FDMA navigation message </td> 7911 <td>GLO L1 C/A </td> 7912 <td>1020</td> 7913 </tr> 7914 <tr> 7915 <td> </td> 7916 <td> from M-satellites </td> 7917 <td> </td> 7918 <td> </td> 7919 </tr> 7920 <tr> 7921 <td> </td> 7922 <td> </td> 7923 <td> </td> 7924 <td> </td> 7925 </tr> 7926 <tr> 7927 <td>INAV</td> 7928 <td> Galileo Integrity navigation message </td> 7929 <td>GAL E1, E5b </td> 7930 <td>1046</td> 7931 </tr> 7932 <tr> 7933 <td> </td> 7934 <td> </td> 7935 <td> </td> 7936 <td> </td> 7937 </tr> 7938 <tr> 7939 <td>D1 </td> 7940 <td> BeiDou-2/3 MEO/IGSO navigation message </td> 7941 <td>BDS B1I, B2I, B3I </td> 7942 <td>1042</td> 7943 </tr> 7944 <tr> 7945 <td>D2 </td> 7946 <td> BeiDou-2/3 GEO navigation message </td> 7947 <td>BDS B1I, B2I, B3I </td> 7948 <td>1042</td> 7949 </tr> 7950 <tr> 7951 <td> </td> 7952 <td> </td> 7953 <td> </td> 7954 <td> </td> 7955 </tr> 7956 <tr> 7957 <td>SBAS</td> 7958 <td> SBAS navigation message </td> 7959 <td>SBAS L1 </td> 7960 <td>1043</td> 7961 </tr> 7962 </table> 7963 <p> 7964 It is possible to specify only one Broadcast Ephemeris Correction stream in the 'Combine Corrections' table. 7965 Instead of combining corrections BNC will then add the corrections to the Broadcast Ephemeris with the possibility 7966 to save final orbit and clock results in SP3 and/or Clock RINEX format. 7967 </p> 7968 <p> 7969 The sequence of entries in the 'Combine Corrections' table is not of importance. 7970 Note that the orbit information in the final combination stream is just copied from one of the incoming streams. 7971 The stream used for providing the orbits may vary over time: if the orbit-providing stream has an outage then BNC 7972 switches 7973 to the next remaining stream for getting hold of the orbit information.</p> 7974 <p> 7975 It is possible to specify only one Broadcast Ephemeris correction stream in the 'Combine Corrections' table. 7976 Instead of combining corrections from several sources, BNC will then merge the single corrections stream with 7977 Broadcast Ephemeris to allow saving results in SP3 and/or Clock RINEX format when specified accordingly under the 7978 'Upload Corrections' panel. Note that in such a BNC application you must not pull more than one Broadcast Ephemeris 7979 correction stream 7980 even if a second stream would provide the same corrections from a backup caster. 7981 </p> 7982 7983 <p> 7984 Default is an empty 'Combine Corrections' table, meaning that you do not want BNC to combine orbit and clock 7985 correction streams. 7986 </p> 7987 7988 <p> 7989 <h4 id="combiadd">2.14.1.1 Add Row, Delete - optional</h4> 7990 </p> 7991 <p> 7992 Hit 'Add Row' button to add another row to the 'Combine Corrections' table or hit the 'Delete' button to delete the 7993 highlighted row(s). 7994 </p> 7995 7996 <p> 7997 <h4 id="combimethod">2.14.1.2 Method - mandatory if 'Combine Corrections' table is populated</h4> 7998 </p> 7999 <p> 8000 Select a clock combination method. Available options are 'Kalman Filter' and 'Single-Epoch'. 8001 It is suggested to use the 'Kalman Filter' approach in case the combined stream of Broadcast Corrections 8002 is intended for Precise Point Positioning.</p> 8003 8004 <p> 8005 <h4 id="combimaxres">2.14.1.3 Maximal Clock Residuum - mandatory if 'Combine Corrections' table is populated</h4> 8006 </p> 8007 <p> 8008 BNC combines all incoming clocks according to specified weights. Individual clock estimates that differ by more than 8009 'Maximal Clk Residuum' meters from the average of all clocks will be ignored. 8010 It is suggested to specify a value of about 0.2 m for the Kalman Filter combination approach and 8011 a value of about 3.0 meters for the Single-Epoch combination approach.</p> 8012 <p> 8013 Default is a 'Maximal Clk Residuum' of 999.0 meters.</p> 8014 8015 <p> 8016 <h4 id="combimaxdisp">2.14.1.4 Maximal Orbit Displacement - mandatory if 'Combine Corrections' table is populated</h4> 8017 </p> 8018 <p> 8019 BNC builds mean values for all incoming orbit corrections per satellite. 8020 Individual orbit corrections that differ by more than 'Maximal Orb Displacement' meters from the average 8021 of all orbit corrections per satellite will be ignored. It is suggested to specify a value of about 0.5 m.</p> 8022 <p> 8023 Default is a 'Maximal Orb Displacement' of 2.0 meters.</p> 8024 8025 <p> 8026 <h4 id="combismpl">2.14.1.5 Sampling - mandatory if 'Combine Corrections' table is populated</h4> 8027 </p> 8028 <p> 8029 Specify a combination sampling interval. Orbit and clock corrections will be produced following that interval. 8030 A value of 10 sec may be an appropriate choice.</p> 8031 8032 <p> 8033 <h4 id="combisatsys">2.14.1.6 Satellite Systems - mandatory if 'Combine Corrections' table is populated</h4> 8034 </p> 8035 <p> 8036 Specify for each satellite system whether the clock corrections shall be combined.</p> 8037 8038 <p> 8039 <h4 id="upclk">2.15 Upload Corrections</h4> 8040 </p> 8041 <p> 8042 BNC can upload streams carrying orbit and clock corrections to Broadcast Ephemeris in radial, along-track and 8043 out-of-plane 8044 components if they are 8045 <ol type="a"> 8046 <li>either generated by BNC as a combination of several individual Broadcast Correction streams coming from an 8047 number of 5243 8048 real-time Analysis Centers (ACs), see section 'Combine Corrections',</li> 5244 <li>or generated by BNC while the program receives an ASCII stream of precise satellite orbits and clocks via IP port 8049 <li>or generated by BNC while the program receives an ASCII stream of precise satellite orbits and clocks via IP 8050 port 5245 8051 from a connected real-time GNSS engine. Such a stream would be expected in a plain ASCII format and the associated 5246 8052 'decoder' string would have to be 'RTNET', see format description below. </li> 5247 </ol> 5248 The procedure taken by BNC to generate the orbit and clock corrections to Broadcast Ephemeris and upload them to an 5249 Ntrip Broadcaster is as follow: 5250 <ul> 5251 <li>Continuously receive up-to-date Broadcast Ephemeris carrying approximate orbits and clocks for all satellites. 8053 </ol> 8054 The procedure taken by BNC to generate the orbit and clock corrections to Broadcast Ephemeris and upload them to an 8055 Ntrip Broadcaster is as follow: 8056 <ul> 8057 <li>Continuously receive up-to-date Broadcast Ephemeris carrying approximate orbits and clocks for all satellites. 5252 8058 Read new Broadcast Ephemeris immediately whenever they become available. This information may come via a stream of 5253 8059 RTCM messages generated from another BNC instance. 5254 8060 The following type of Broadcast navigation messages is used per individulal GNSS: 5255 8061 <p> 5256 <table> 5257 <tr><td>Navigation </td><td>Description </td><td>Constellation </td><td>RTCM </td></tr> 5258 <tr><td>Message Type </td><td> </td><td>and Signal </td><td>Message Type</td></tr> 5259 <tr><td> </td><td> </td><td> </td><td> </td></tr> 5260 <tr><td> </td><td> </td><td> </td><td> </td></tr> 5261 <tr><td>LNAV</td><td> GPS Legacy navigation message </td><td>GPS L1 C/A </td><td>1019</td></tr> 5262 <tr><td> </td><td> QZSS Legacy navigation message </td><td>QZSS L1 C/A or L1 C/B </td><td>1044</td></tr> 5263 <tr><td> </td><td> NavIC Legacy navigation message </td><td>NavIC L5/S SPS </td><td>1041</td></tr> 5264 <tr><td> </td><td> </td><td> </td><td> </td></tr> 5265 <tr><td>FDMA</td><td> GLONASS Legacy FDMA navigation message </td><td>GLO L1 C/A </td><td>1020</td></tr> 5266 <tr><td> </td><td> from M-satellites </td><td> </td><td> </td></tr> 5267 <tr><td> </td><td> </td><td> </td><td> </td></tr> 5268 <tr><td>INAV</td><td> Galileo Integrity navigation message </td><td>GAL E1, E5b </td><td>1046</td></tr> 5269 <tr><td> </td><td> </td><td> </td><td> </td></tr> 5270 <tr><td>D1 </td><td> BeiDou-2/3 MEO/IGSO navigation message </td><td>BDS B1I, B2I, B3I </td><td>1042</td></tr> 5271 <tr><td>D2 </td><td> BeiDou-2/3 GEO navigation message </td><td>BDS B1I, B2I, B3I </td><td>1042</td></tr> 5272 <tr><td> </td><td> </td><td> </td><td> </td></tr> 5273 <tr><td>SBAS</td><td> SBAS navigation message </td><td>SBAS L1 </td><td>1043</td></tr> 5274 </table> 5275 </li> 5276 </ul> 5277 Then, epoch by epoch: 5278 <ul> 5279 <li>Continuously receive the best available orbit and clock estimates for all satellites in 8062 <table> 8063 <tr> 8064 <td>Navigation </td> 8065 <td>Description </td> 8066 <td>Constellation </td> 8067 <td>RTCM </td> 8068 </tr> 8069 <tr> 8070 <td>Message Type </td> 8071 <td> </td> 8072 <td>and Signal </td> 8073 <td>Message Type</td> 8074 </tr> 8075 <tr> 8076 <td> </td> 8077 <td> </td> 8078 <td> </td> 8079 <td> </td> 8080 </tr> 8081 <tr> 8082 <td> </td> 8083 <td> </td> 8084 <td> </td> 8085 <td> </td> 8086 </tr> 8087 <tr> 8088 <td>LNAV</td> 8089 <td> GPS Legacy navigation message </td> 8090 <td>GPS L1 C/A </td> 8091 <td>1019</td> 8092 </tr> 8093 <tr> 8094 <td> </td> 8095 <td> QZSS Legacy navigation message </td> 8096 <td>QZSS L1 C/A or L1 C/B </td> 8097 <td>1044</td> 8098 </tr> 8099 <tr> 8100 <td> </td> 8101 <td> NavIC Legacy navigation message </td> 8102 <td>NavIC L5/S SPS </td> 8103 <td>1041</td> 8104 </tr> 8105 <tr> 8106 <td> </td> 8107 <td> </td> 8108 <td> </td> 8109 <td> </td> 8110 </tr> 8111 <tr> 8112 <td>FDMA</td> 8113 <td> GLONASS Legacy FDMA navigation message </td> 8114 <td>GLO L1 C/A </td> 8115 <td>1020</td> 8116 </tr> 8117 <tr> 8118 <td> </td> 8119 <td> from M-satellites </td> 8120 <td> </td> 8121 <td> </td> 8122 </tr> 8123 <tr> 8124 <td> </td> 8125 <td> </td> 8126 <td> </td> 8127 <td> </td> 8128 </tr> 8129 <tr> 8130 <td>INAV</td> 8131 <td> Galileo Integrity navigation message </td> 8132 <td>GAL E1, E5b </td> 8133 <td>1046</td> 8134 </tr> 8135 <tr> 8136 <td> </td> 8137 <td> </td> 8138 <td> </td> 8139 <td> </td> 8140 </tr> 8141 <tr> 8142 <td>D1 </td> 8143 <td> BeiDou-2/3 MEO/IGSO navigation message </td> 8144 <td>BDS B1I, B2I, B3I </td> 8145 <td>1042</td> 8146 </tr> 8147 <tr> 8148 <td>D2 </td> 8149 <td> BeiDou-2/3 GEO navigation message </td> 8150 <td>BDS B1I, B2I, B3I </td> 8151 <td>1042</td> 8152 </tr> 8153 <tr> 8154 <td> </td> 8155 <td> </td> 8156 <td> </td> 8157 <td> </td> 8158 </tr> 8159 <tr> 8160 <td>SBAS</td> 8161 <td> SBAS navigation message </td> 8162 <td>SBAS L1 </td> 8163 <td>1043</td> 8164 </tr> 8165 </table> 8166 </li> 8167 </ul> 8168 Then, epoch by epoch: 8169 <ul> 8170 <li>Continuously receive the best available orbit and clock estimates for all satellites in 5280 8171 XYZ Earth-Centered-Earth-Fixed IGS20 reference system. 5281 Receive them every epoch in plain ASCII format as provided by a real-time GNSS engine such as RTNET or generate them 8172 Receive them every epoch in plain ASCII format as provided by a real-time GNSS engine such as RTNET or generate 8173 them 5282 8174 following a combination approach. </li> 5283 <li>Calculate XYZ coordinates from Broadcast Ephemeris orbits.</li> 5284 <li>Calculate differences dX,dY,dZ between Broadcast Ephemeris and IGS20 orbits.</li> 5285 <li>Transform these differences into radial, along-track and out-of-plane corrections to Broadcast Ephemeris orbits.</li> 5286 <li>Calculate corrections to Broadcast Ephemeris clocks as differences between Broadcast Ephemeris clocks and IGS20 clocks.</li> 5287 <li>Encode Broadcast Ephemeris orbit and clock corrections, biases and atmospheric parameters in 'State Space Reperesentation' messages'</li> 5288 <li>Upload Broadcast Correction stream to Ntrip Broadcaster.</li> 5289 </ul> 5290 <p> 5291 The orbit and clock corrections to Broadcast Ephemeris are usually referred to the latest set of broadcast messages, 5292 which are generally also received in real-time by a GNSS rover. However, the use of the latest broadcast message is 5293 delayed for a period of 60 seconds, measured from the time of complete reception of ephemeris and clock parameters, 5294 in order to accommodate rover applications to obtain the same set of broadcast orbital and clock parameters. 5295 This procedure is recommended in the RTCM SSR standard. 5296 </p> 5297 <p> 5298 Because the stream delivery process may put a significant load on the communication link between BNC and the real-time GNSS engine, 5299 it is recommended to run both programs on the same host. However, doing so is not compulsory. 5300 </p> 5301 <p> 5302 The usual handling of BNC when uploading a stream with Broadcast Corrections is that you first specify Broadcast Ephemeris and 5303 Broadcast Correction streams. You then specify an Ntrip Broadcaster for stream upload before you start the program. 5304 </p> 5305 5306 <p> 5307 <b>'RTNET' Stream Format:</b> When uploading an SSR stream generated according to (b) then BNC requires 5308 precise GNSS orbits and clocks in the IGS Earth-Centered-Earth-Fixed (ECEF) reference system and in a specific ASCII format 5309 named 'RTNET' because the data may come from a real-time engine such as RTNET. 5310 The sampling interval for data transmission should not exceed 15 sec. 5311 Note that otherwise tools involved in IP streaming such as Ntrip Broadcasters or Ntrip Clients may respond with a timeout. 5312 </p> 5313 <p> 5314 Below you find an example for the 'RTNET' ASCII format coming from a real-time GNSS engine. 5315 Each epoch begins with an asterisk character followed by the time as year, month, day of month, hour, minute and second. 5316 Subsequent records can provide 5317 </p> 5318 <p> 5319 <ul> 5320 <li>Satellite specific parameters </li> 5321 </ul> 5322 </p> 5323 <p> 5324 A set of parameters can be defined for each satellite as follows: 5325 <pre> 8175 <li>Calculate XYZ coordinates from Broadcast Ephemeris orbits.</li> 8176 <li>Calculate differences dX,dY,dZ between Broadcast Ephemeris and IGS20 orbits.</li> 8177 <li>Transform these differences into radial, along-track and out-of-plane corrections to Broadcast Ephemeris orbits. 8178 </li> 8179 <li>Calculate corrections to Broadcast Ephemeris clocks as differences between Broadcast Ephemeris clocks and IGS20 8180 clocks.</li> 8181 <li>Encode Broadcast Ephemeris orbit and clock corrections, biases and atmospheric parameters in 'State Space 8182 Reperesentation' messages'</li> 8183 <li>Upload Broadcast Correction stream to Ntrip Broadcaster.</li> 8184 </ul> 8185 <p> 8186 The orbit and clock corrections to Broadcast Ephemeris are usually referred to the latest set of broadcast messages, 8187 which are generally also received in real-time by a GNSS rover. However, the use of the latest broadcast message is 8188 delayed for a period of 60 seconds, measured from the time of complete reception of ephemeris and clock parameters, 8189 in order to accommodate rover applications to obtain the same set of broadcast orbital and clock parameters. 8190 This procedure is recommended in the RTCM SSR standard. 8191 </p> 8192 <p> 8193 Because the stream delivery process may put a significant load on the communication link between BNC and the 8194 real-time GNSS engine, 8195 it is recommended to run both programs on the same host. However, doing so is not compulsory. 8196 </p> 8197 <p> 8198 The usual handling of BNC when uploading a stream with Broadcast Corrections is that you first specify Broadcast 8199 Ephemeris and 8200 Broadcast Correction streams. You then specify an Ntrip Broadcaster for stream upload before you start the program. 8201 </p> 8202 8203 <p> 8204 <b>'RTNET' Stream Format:</b> When uploading an SSR stream generated according to (b) then BNC requires 8205 precise GNSS orbits and clocks in the IGS Earth-Centered-Earth-Fixed (ECEF) reference system and in a specific ASCII 8206 format 8207 named 'RTNET' because the data may come from a real-time engine such as RTNET. 8208 The sampling interval for data transmission should not exceed 15 sec. 8209 Note that otherwise tools involved in IP streaming such as Ntrip Broadcasters or Ntrip Clients may respond with a 8210 timeout. 8211 </p> 8212 <p> 8213 Below you find an example for the 'RTNET' ASCII format coming from a real-time GNSS engine. 8214 Each epoch begins with an asterisk character followed by the time as year, month, day of month, hour, minute and 8215 second. 8216 Subsequent records can provide 8217 </p> 8218 <p> 8219 <ul> 8220 <li>Satellite specific parameters </li> 8221 </ul> 8222 </p> 8223 <p> 8224 A set of parameters can be defined for each satellite as follows: 8225 <pre> 5326 8226 <SatelliteID> <key> <numValues> <value1 value2 ...> 5327 8227 <key> <numValues> <value1 value2 ...> ... 5328 8228 </pre> 5329 The following satellite specific keys and values are currently specified for that in BNC:<br><br> 5330 <table> 5331 <tr><td> <i>Key </i></td><td> <i>Values</i></td></tr> 5332 <tr><td> APC </td><td> Satellite Antenna Phase Center coordinate components in meters</td></tr> 5333 <tr><td> Clk </td><td> Satellite clock correction components in meters, meters per seconds and meters per sec² (relativistic correction applied like in broadcast clocks)</td></tr> 5334 <tr><td> ClkSig </td><td> Standard deviation for satellite clock correction components in meters, meters per seconds and meters per sec² (required for Clock RINEX file only) /td></tr> 5335 <tr><td> Vel </td><td> Satellite velocity components in meters per second</td></tr> 5336 <tr><td> CoM </td><td> Satellite Center of Mass coordinate components in meters</td></tr> 5337 <tr><td> Ura </td><td> User range accuracy value in meters</td></tr> 5338 <tr><td> CodeBias </td><td> Satellite Code Biases in meters with two characters for frequency and tracking mode per bias as defined in RINEX 3/4 and preceded by total number of biases</td></tr> 5339 <tr><td> PhaseBias</td><td> Satellite Phase Biases in meters with two characters for frequency and tracking mode per bias as defined in RINEX 3/4, preceded by total number of biases <br> and followed by Signal Integer Indicator, Signals Wilde-Lane Integer Indicator as well as Signal Discontinuity Counter</td></tr> 5340 <tr><td> YawAngle </td><td> Satellite Yaw Angle in radian, restricted to be in [0, 2π], which shall be used for the computation of phase wind-up correction</td></tr> 5341 <tr><td> YawRate </td><td> Satellite Yaw Rate in radian per second which is the rate of Yaw Angle</td></tr> 5342 </table> 5343 <p> 5344 <ul> 5345 <li> Non-satellite specific parameters 5346 </ul> 5347 </p> 5348 <p> 5349 The following syntax will be used: 5350 </p> 5351 <pre> 8229 The following satellite specific keys and values are currently specified for that in BNC:<br><br> 8230 <table> 8231 <tr> 8232 <td> <i>Key </i></td> 8233 <td> <i>Values</i></td> 8234 </tr> 8235 <tr> 8236 <td> APC </td> 8237 <td> Satellite Antenna Phase Center coordinate components in meters</td> 8238 </tr> 8239 <tr> 8240 <td> Clk </td> 8241 <td> Satellite clock correction components in meters, meters per seconds and meters per sec² 8242 (relativistic correction applied like in broadcast clocks)</td> 8243 </tr> 8244 <tr> 8245 <td> ClkSig </td> 8246 <td> Standard deviation for satellite clock correction components in meters, meters per seconds and 8247 meters per sec² (required for Clock RINEX file only) /td> 8248 </tr> 8249 <tr> 8250 <td> Vel </td> 8251 <td> Satellite velocity components in meters per second</td> 8252 </tr> 8253 <tr> 8254 <td> CoM </td> 8255 <td> Satellite Center of Mass coordinate components in meters</td> 8256 </tr> 8257 <tr> 8258 <td> Ura </td> 8259 <td> User range accuracy value in meters</td> 8260 </tr> 8261 <tr> 8262 <td> CodeBias </td> 8263 <td> Satellite Code Biases in meters with two characters for frequency and tracking mode per bias as 8264 defined in RINEX 3/4 and preceded by total number of biases</td> 8265 </tr> 8266 <tr> 8267 <td> PhaseBias</td> 8268 <td> Satellite Phase Biases in meters with two characters for frequency and tracking mode per bias as 8269 defined in RINEX 3/4, preceded by total number of biases <br> and followed by Signal Integer 8270 Indicator, Signals Wilde-Lane Integer Indicator as well as Signal Discontinuity Counter</td> 8271 </tr> 8272 <tr> 8273 <td> YawAngle </td> 8274 <td> Satellite Yaw Angle in radian, restricted to be in [0, 2π], which shall be used for the 8275 computation of phase wind-up correction</td> 8276 </tr> 8277 <tr> 8278 <td> YawRate </td> 8279 <td> Satellite Yaw Rate in radian per second which is the rate of Yaw Angle</td> 8280 </tr> 8281 </table> 8282 <p> 8283 <ul> 8284 <li> Non-satellite specific parameters 8285 </ul> 8286 </p> 8287 <p> 8288 The following syntax will be used: 8289 </p> 8290 <pre> 5352 8291 <key> <value1 value2 ...> 5353 8292 5354 8293 </pre> 5355 <p> 5356 </ul> 5357 The following non-satellite specific keys and values are currently specified in BNC:<br><br> 5358 <table> 5359 <tr><td> <i>Key </i></td><td><i> Values</i></td></tr> 5360 <tr><td> IND </td><td> Stands for phase bias information and is followed by Dispersive Bias Consistency Indicator and MW Consistency Indicator</td></tr> 5361 <tr><td> VTEC</td><td> Stands for Vertical TEC information and is followed by Update Interval and Number of Ionospheric Layers</td></tr> 5362 </table> 5363 <br> 5364 If key VTEC is specified, a data set for each layer contains within its first line the Layers Number, 5365 followed by Maximum Degree, Maximum Order and Layer Height. After that, Cosine and Sinus Spherical Harmonic Coefficients 5366 will follow, one block each. 5367 </p> 5368 <p> 5369 Because each keyword is associated to a certain number of values, an 'old' BNC could be operated with an incoming 'new' 5370 RTNET stream containing so far unknown keys - they would just be skipped in BNC. 5371 </p> 5372 5373 <p> 5374 Example for 'RTNET' stream content and format: 5375 </p> 5376 <p> 5377 <pre><p style="font-family:Monospace"> 8294 <p> 8295 </ul> 8296 The following non-satellite specific keys and values are currently specified in BNC:<br><br> 8297 <table> 8298 <tr> 8299 <td> <i>Key </i></td> 8300 <td><i> Values</i></td> 8301 </tr> 8302 <tr> 8303 <td> IND </td> 8304 <td> Stands for phase bias information and is followed by Dispersive Bias Consistency Indicator and MW 8305 Consistency Indicator</td> 8306 </tr> 8307 <tr> 8308 <td> VTEC</td> 8309 <td> Stands for Vertical TEC information and is followed by Update Interval and Number of Ionospheric 8310 Layers</td> 8311 </tr> 8312 </table> 8313 <br> 8314 If key VTEC is specified, a data set for each layer contains within its first line the Layers Number, 8315 followed by Maximum Degree, Maximum Order and Layer Height. After that, Cosine and Sinus Spherical Harmonic 8316 Coefficients 8317 will follow, one block each. 8318 </p> 8319 <p> 8320 Because each keyword is associated to a certain number of values, an 'old' BNC could be operated with an incoming 8321 'new' 8322 RTNET stream containing so far unknown keys - they would just be skipped in BNC. 8323 </p> 8324 8325 <p> 8326 Example for 'RTNET' stream content and format: 8327 </p> 8328 <p> 8329 <pre><p style="font-family:Monospace"> 5378 8330 * 2022 11 25 22 04 05.000 5379 8331 G01 Clk 2 73898.6410 -0.00164097340 ClkSig 2 0.0024 0.00021199856 CoM 3 -3022799.7396 -14423300.4562 -22402573.0244 Vel 3 2691.3388 -619.5739 69.3300 APC 3 -3022799.9547 -14423299.6874 -22402571.6928 YawAngle 1 -2.756 CodeBias 3 1C -2.6653 1W -3.0640 2W -5.0462 … … 5394 8346 </p></pre> 5395 8347 5396 <p> 5397 Note that the end of an epoch in the incoming stream is indicated by an ASCII string 'EOE' (for End Of Epoch). 5398 </p> 5399 <p> 5400 The following screenshot shows the encoding and uploading of several streams using precise orbits and clocks coming from a real-time network engine 5401 in 'RTNET' ASCII format. The streams are uploaded to Ntrip Broadcaster 'products.igs-ip.net'. They are referred to APC or CoM and IGS20 or DREF91. 5402 Required Broadcast Ephemeris are received via stream 'BCEP00BKG0'. 5403 </p> 5404 <p><img src="IMG/Figure29.png"width=1000/></p> 5405 <p>Figure 29: BNC producing Broadcast Corrections from incoming precise orbits and clocks and uploading them to an Ntrip Broadcaster</p> 5406 5407 <p><h4 id="upadd">2.15.1 Add, Delete Row - optional</h4></p> 5408 <p> 5409 Hit 'Add Row' button to add a row to the stream 'Upload Table' or hit the 'Delete' button to delete the highlighted row(s). 5410 Having an empty 'Upload Table' is default and means that you do not want BNC to upload orbit and clock correction streams 5411 to any Ntrip Broadcaster. 5412 </p> 5413 5414 <p><h4 id="uphost">2.15.2 Host, Port, Mountpoint, Ntrip Version, User and Password - optional</h4></p> 5415 <p> 5416 Specify the domain name or IP number of an Ntrip Broadcaster for uploading the stream. Furthermore, specify the caster's 5417 listening IP port and an upload mountpoint. Select the Ntrip Version that shall be used for data upload and, depending on this, 5418 an upload user (Ntrip Version 2 only) and an upload password. 5419 </p> 5420 <p> 5421 Note that Ntrip Broadcasters are often configured to provide access through more than one port, usually ports 80 and 2101. 5422 If you experience communication problems on port 80, you should try to use the alternative port(s). 5423 </p> 5424 <p> 5425 BNC uploads a stream to the Ntrip Broadcaster by referring to a dedicated mountpoint that has been set by its operator. 5426 Specify the mountpoint based on the details you received for your stream from the operator. 5427 It is often a 9-character ID (capital letters) plus an integer number. 5428 </p> 5429 <p> 5430 For stream upload the Ntrip Version can be chosen. An Ntrip version 1 upload is protected through an upload 'Password' only. 5431 For an Ntrip Version 2 upload an upload 'User' is required in addition. Enter user and password you received from the 5432 Ntrip Broadcaster operator along with the mountpoint(s). 5433 </p> 5434 <p> 5435 If 'Host', 'Port', 'Mountpoint', 'Ntrip' Version, 'User' and 'Password' are set, the stream will be encoded into 'State Space Representation' (SSR) 5436 messages and uploaded to the specified broadcaster following the specified Ntrip transport protocol options. 5437 </p> 5438 5439 <p><h4 id="upsystem">2.15.3 System - mandatory if 'Host' is set</h4></p> 5440 <p> 5441 BNC allows configuring several Broadcast Correction streams for upload, so that they may refer to different reference systems 5442 and different Ntrip Broadcasters. You may use this functionality for parallel support of a backup Ntrip Broadcaster or 5443 for simultaneous support of various regional reference systems. Available options for transforming orbit and clock corrections 5444 to specific target reference systems are 5445 </p> 5446 <table> 5447 <tr><td> IGS20: </td><td> Stands for the GNSS-based IGS realization of the International Terrestrial Reference Frame 2020 (ITRF2020)</td></tr> 5448 <tr><td> ETRF2000: </td><td> Stands for the European Terrestrial Reference Frame 2000 adopted by EUREF</td></tr> 5449 <tr><td> GDA2020: </td><td> Stands for the Geodetic Datum Australia 2020 as adopted for Australia</td></tr> 5450 <tr><td> SIRGAS2000:</td><td> Stands for the Geodetic Datum adopted for Brazil</td></tr> 5451 <tr><td> DREF91: </td><td> Stands for the Geodetic Datum adopted for Germany</td></tr> 5452 <tr><td> Custom: </td><td> Allows a transformation of Broadcast Corrections from the IGS20 system to any other system through specifying 5453 up to 14 Helmert Transformation Parameters </td></tr> 5454 </table> 5455 With each target reference system a respective Service CRS and RTCM CRS message is generated and uploaded. 5456 <p> 5457 Because a mathematically strict transformation to a regional reference system is not possible on the BNC server side when a scale factor is involved, 5458 the program follows an approximate solution. While <u>orbits</u> are transformed in full accordance with given equations, 5459 a transformed <u>clock</u> is derived through applying correction term 5460 </p> 5461 <pre> 8348 <p> 8349 Note that the end of an epoch in the incoming stream is indicated by an ASCII string 'EOE' (for End Of Epoch). 8350 </p> 8351 <p> 8352 The following screenshot shows the encoding and uploading of several streams using precise orbits and clocks coming 8353 from a real-time network engine 8354 in 'RTNET' ASCII format. The streams are uploaded to Ntrip Broadcaster 'products.igs-ip.net'. They are referred to 8355 APC or CoM and IGS20 or DREF91. 8356 Required Broadcast Ephemeris are received via stream 'BCEP00BKG0'. 8357 </p> 8358 <p><img src="IMG/Figure29.png" width=1000 /></p> 8359 <p>Figure 29: BNC producing Broadcast Corrections from incoming precise orbits and clocks and uploading them to an 8360 Ntrip Broadcaster</p> 8361 8362 <p> 8363 <h4 id="upadd">2.15.1 Add, Delete Row - optional</h4> 8364 </p> 8365 <p> 8366 Hit 'Add Row' button to add a row to the stream 'Upload Table' or hit the 'Delete' button to delete the highlighted 8367 row(s). 8368 Having an empty 'Upload Table' is default and means that you do not want BNC to upload orbit and clock correction 8369 streams 8370 to any Ntrip Broadcaster. 8371 </p> 8372 8373 <p> 8374 <h4 id="uphost">2.15.2 Host, Port, Mountpoint, Ntrip Version, User and Password - optional</h4> 8375 </p> 8376 <p> 8377 Specify the domain name or IP number of an Ntrip Broadcaster for uploading the stream. Furthermore, specify the 8378 caster's 8379 listening IP port and an upload mountpoint. Select the Ntrip Version that shall be used for data upload and, 8380 depending on this, 8381 an upload user (Ntrip Version 2 only) and an upload password. 8382 </p> 8383 <p> 8384 Note that Ntrip Broadcasters are often configured to provide access through more than one port, usually ports 80 and 8385 2101. 8386 If you experience communication problems on port 80, you should try to use the alternative port(s). 8387 </p> 8388 <p> 8389 BNC uploads a stream to the Ntrip Broadcaster by referring to a dedicated mountpoint that has been set by its 8390 operator. 8391 Specify the mountpoint based on the details you received for your stream from the operator. 8392 It is often a 9-character ID (capital letters) plus an integer number. 8393 </p> 8394 <p> 8395 For stream upload the Ntrip Version can be chosen. An Ntrip version 1 upload is protected through an upload 8396 'Password' only. 8397 For an Ntrip Version 2 upload an upload 'User' is required in addition. Enter user and password you received from 8398 the 8399 Ntrip Broadcaster operator along with the mountpoint(s). 8400 </p> 8401 <p> 8402 If 'Host', 'Port', 'Mountpoint', 'Ntrip' Version, 'User' and 'Password' are set, the stream will be encoded into 8403 'State Space Representation' (SSR) 8404 messages and uploaded to the specified broadcaster following the specified Ntrip transport protocol options. 8405 </p> 8406 8407 <p> 8408 <h4 id="upsystem">2.15.3 System - mandatory if 'Host' is set</h4> 8409 </p> 8410 <p> 8411 BNC allows configuring several Broadcast Correction streams for upload, so that they may refer to different 8412 reference systems 8413 and different Ntrip Broadcasters. You may use this functionality for parallel support of a backup Ntrip Broadcaster 8414 or 8415 for simultaneous support of various regional reference systems. Available options for transforming orbit and clock 8416 corrections 8417 to specific target reference systems are 8418 </p> 8419 <table> 8420 <tr> 8421 <td> IGS20: </td> 8422 <td> Stands for the GNSS-based IGS realization of the International Terrestrial Reference Frame 2020 8423 (ITRF2020)</td> 8424 </tr> 8425 <tr> 8426 <td> ETRF2000: </td> 8427 <td> Stands for the European Terrestrial Reference Frame 2000 adopted by EUREF</td> 8428 </tr> 8429 <tr> 8430 <td> GDA2020: </td> 8431 <td> Stands for the Geodetic Datum Australia 2020 as adopted for Australia</td> 8432 </tr> 8433 <tr> 8434 <td> SIRGAS2000:</td> 8435 <td> Stands for the Geodetic Datum adopted for Brazil</td> 8436 </tr> 8437 <tr> 8438 <td> DREF91: </td> 8439 <td> Stands for the Geodetic Datum adopted for Germany</td> 8440 </tr> 8441 <tr> 8442 <td> Custom: </td> 8443 <td> Allows a transformation of Broadcast Corrections from the IGS20 system to any other system 8444 through specifying 8445 up to 14 Helmert Transformation Parameters </td> 8446 </tr> 8447 </table> 8448 With each target reference system a respective Service CRS and RTCM CRS message is generated and uploaded. 8449 <p> 8450 Because a mathematically strict transformation to a regional reference system is not possible on the BNC server side 8451 when a scale factor is involved, 8452 the program follows an approximate solution. While <u>orbits</u> are transformed in full accordance with given 8453 equations, 8454 a transformed <u>clock</u> is derived through applying correction term 8455 </p> 8456 <pre> 5462 8457 dC = (s - 1) / s * ρ / c 5463 8458 </pre> 5464 <p> 5465 where s is the transformation scale, c is the speed of light, and ρ 5466 are the topocentric distance between an (approximate) center of the transformation's validity area and the satellite. 5467 </p> 5468 <p> 5469 From a theoretical point of view, this kind of approximation leads to inconsistencies between orbits and clocks 5470 and is therefore not allowed (Huisman et al. 2012). However, it has been proved that resulting errors in Precise Point Positioning 5471 are on millimeter level for horizontal components and below one centimeter for height components. 5472 </p> 5473 <p> 5474 <b>IGS20:</b> As the orbits and clocks coming from real-time GNSS engine are expected to be in the IGS20 system, 5475 no transformation is carried out if this option is selected. 5476 </p> 5477 <p> 5478 As long as no updated transformation parameters are available regarding IGS20, 5479 a transformation from 'ITRF2020->ITRF2014' is done in a fist step using the following 5480 14 Helmert Transformation Parameters, which are available at 5481 <a href="https://itrf.ign.fr/en/solutions/transformations" target="_blank">https://itrf.ign.fr/en/solutions/transformations</a> 5482 </p> 5483 <pre><p style="font-family:Monospace"> 8459 <p> 8460 where s is the transformation scale, c is the speed of light, and ρ 8461 are the topocentric distance between an (approximate) center of the transformation's validity area and the 8462 satellite. 8463 </p> 8464 <p> 8465 From a theoretical point of view, this kind of approximation leads to inconsistencies between orbits and clocks 8466 and is therefore not allowed (Huisman et al. 2012). However, it has been proved that resulting errors in Precise 8467 Point Positioning 8468 are on millimeter level for horizontal components and below one centimeter for height components. 8469 </p> 8470 <p> 8471 <b>IGS20:</b> As the orbits and clocks coming from real-time GNSS engine are expected to be in the IGS20 system, 8472 no transformation is carried out if this option is selected. 8473 </p> 8474 <p> 8475 As long as no updated transformation parameters are available regarding IGS20, 8476 a transformation from 'ITRF2020->ITRF2014' is done in a fist step using the following 8477 14 Helmert Transformation Parameters, which are available at 8478 <a href="https://itrf.ign.fr/en/solutions/transformations" 8479 target="_blank">https://itrf.ign.fr/en/solutions/transformations</a> 8480 </p> 8481 <pre><p style="font-family:Monospace"> 5484 8482 dx = -0.0014; 5485 8483 dy = -0.0009; … … 5503 8501 t0 = 2015.0; 5504 8502 </p></pre> 5505 where 5506 <pre> 8503 where 8504 <pre> 5507 8505 <table> 5508 8506 <tr><td> dx </td><td> Translation in X at epoch t0 [m]</td></tr> … … 5520 8518 </table> 5521 8519 </pre> 5522 <p> 5523 <b>ETRF2000:</b> The transformation Parameters from ITRF2014 to ETRF2000 are taken from the EUREF Technical Note 1 5524 'EUREF Technical Note 1: Relationship and Transformation between 5525 the International and the European Terrestrial Reference Systems', Zuheir Altamimi, June 28, 2018: 5526 <a href="http://etrs89.ensg.ign.fr/pub/EUREF-TN-1.pdf" target="_blank">http://etrs89.ensg.ign.fr/pub/EUREF-TN-1.pdf</a>: 5527 </p> 5528 <pre><p style="font-family:Monospace"> 8520 <p> 8521 <b>ETRF2000:</b> The transformation Parameters from ITRF2014 to ETRF2000 are taken from the EUREF Technical Note 1 8522 'EUREF Technical Note 1: Relationship and Transformation between 8523 the International and the European Terrestrial Reference Systems', Zuheir Altamimi, June 28, 2018: 8524 <a href="http://etrs89.ensg.ign.fr/pub/EUREF-TN-1.pdf" 8525 target="_blank">http://etrs89.ensg.ign.fr/pub/EUREF-TN-1.pdf</a>: 8526 </p> 8527 <pre><p style="font-family:Monospace"> 5529 8528 dx = 0.0547; 5530 8529 dy = 0.0522; … … 5548 8547 t0 = 2010.0; 5549 8548 </p></pre> 5550 <p> 5551 <b>GDA2020:</b> The parameters for the transformation 'ITRF2014->GDA2020' were provided by Ryan Ruddick (Geoscience Australia): 5552 via personal communication: 5553 </p> 5554 <pre><p style="font-family:Monospace"> 8549 <p> 8550 <b>GDA2020:</b> The parameters for the transformation 'ITRF2014->GDA2020' were provided by Ryan Ruddick 8551 (Geoscience Australia): 8552 via personal communication: 8553 </p> 8554 <pre><p style="font-family:Monospace"> 5555 8555 dx = 0.0; 5556 8556 dy = 0.0; … … 5574 8574 t0 = 2020.0; 5575 8575 </p></pre> 5576 <p> 5577 <b>SIRGAS2000:</b> The parameters for the transformation 'IGb14->SIRGAS2000' were provided from Sonia Costa, BRA via personal communication:</u>. 5578 </p> 5579 <pre><p style="font-family:Monospace"> 8576 <p> 8577 <b>SIRGAS2000:</b> The parameters for the transformation 'IGb14->SIRGAS2000' were provided from Sonia Costa, BRA 8578 via personal communication:</u>. 8579 </p> 8580 <pre><p style="font-family:Monospace"> 5580 8581 dx = -0.0027; 5581 8582 dy = -0.0025; … … 5599 8600 t0 = 2000.0; 5600 8601 </p></pre> 5601 <p> 5602 <b>DREF91:</b> The parameters for the transformation 'IGb14->DREF91' were provided from Peter Franke, BKG, Germany 5603 via personal communication: 5604 </p> 5605 <pre><p style="font-family:Monospace"> 8602 <p> 8603 <b>DREF91:</b> The parameters for the transformation 'IGb14->DREF91' were provided from Peter Franke, BKG, 8604 Germany 8605 via personal communication: 8606 </p> 8607 <pre><p style="font-family:Monospace"> 5606 8608 dx = 0.0547; 5607 8609 dy = 0.0522; … … 5626 8628 t0 = 2010.0; 5627 8629 </p></pre> 5628 <p> 5629 <b>Custom:</b> Feel free to specify your own 14 Helmert Transformation parameters for transformations from IGS20/ITRF2020 into your own target system. 5630 </p> 5631 <p><img src="IMG/Figure30.png"width=700/></p> 5632 <p>Figure 30: Setting BNC's Custom Transformation Parameters window</p> 5633 5634 <p><h4 id="upformat">2.15.4 Format - mandatory if 'Host' is set</h4></p> 5635 <p> 5636 BNC may upload the Broadcast Correction streams using different Formats. Supported are: 5637 <p> 5638 <ul> 5639 <li>IGS-SSR which was developed within the IGS Real-Time Working Group (<a href="https://files.igs.org/pub/data/format/igs_ssr_v1.pdf" target="_blank">https://files.igs.org/pub/data/format/igs_ssr_v1.pdf</a>), and</li> 5640 <li>RTCM-SSR which stands for the standardized and proposed SSR Messages which are developed within the RTCM SC-104 Working Group 'State Space Representation' (<a href="https://rtcm.myshopify.com/collections/differential-global-navigation-satellite-dgnss-standards" target="_blank">https://rtcm.myshopify.com/collections/differential-global-navigation-satellite-dgnss-standards</a>).</li> 5641 </ul> 5642 </p> 5643 <p><h4 id="upcom">2.15.5 Center of Mass - optional</h4></p> 5644 <p> 5645 BNC allows to either refer Broadcast Corrections to the satellite's Center of Mass (CoM) or to the satellite's Antenna Phase Center (APC). 5646 By default, corrections refer to APC. Tick 'Center of Mass' to refer uploaded corrections to CoM. 5647 </p> 5648 <p><h4 id="upsp3">2.15.6 SP3 File - optional</h4></p> 5649 <p> 5650 Specify a path for saving the generated orbit corrections as SP3 orbit files 5651 (<a href="http://epncb.eu/ftp/data/format/sp3d.pdf" target="_blank">http://epncb.eu/ftp/data/format/sp3d.pdf</a>). 5652 The following is a path example for a Linux system: 5653 <pre> 8630 <p> 8631 <b>Custom:</b> Feel free to specify your own 14 Helmert Transformation parameters for transformations from 8632 IGS20/ITRF2020 into your own target system. 8633 </p> 8634 <p><img src="IMG/Figure30.png" width=700 /></p> 8635 <p>Figure 30: Setting BNC's Custom Transformation Parameters window</p> 8636 8637 <p> 8638 <h4 id="upformat">2.15.4 Format - mandatory if 'Host' is set</h4> 8639 </p> 8640 <p> 8641 BNC may upload the Broadcast Correction streams using different Formats. Supported are: 8642 <p> 8643 <ul> 8644 <li>IGS-SSR which was developed within the IGS Real-Time Working Group (<a 8645 href="https://files.igs.org/pub/data/format/igs_ssr_v1.pdf" 8646 target="_blank">https://files.igs.org/pub/data/format/igs_ssr_v1.pdf</a>), and</li> 8647 <li>RTCM-SSR which stands for the standardized and proposed SSR Messages which are developed within the RTCM SC-104 8648 Working Group 'State Space Representation' (<a 8649 href="https://rtcm.myshopify.com/collections/differential-global-navigation-satellite-dgnss-standards" 8650 target="_blank">https://rtcm.myshopify.com/collections/differential-global-navigation-satellite-dgnss-standards</a>). 8651 </li> 8652 </ul> 8653 </p> 8654 <p> 8655 <h4 id="upcom">2.15.5 Center of Mass - optional</h4> 8656 </p> 8657 <p> 8658 BNC allows to either refer Broadcast Corrections to the satellite's Center of Mass (CoM) or to the satellite's 8659 Antenna Phase Center (APC). 8660 By default, corrections refer to APC. Tick 'Center of Mass' to refer uploaded corrections to CoM. 8661 </p> 8662 <p> 8663 <h4 id="upsp3">2.15.6 SP3 File - optional</h4> 8664 </p> 8665 <p> 8666 Specify a path for saving the generated orbit corrections as SP3 orbit files 8667 (<a href="http://epncb.eu/ftp/data/format/sp3d.pdf" target="_blank">http://epncb.eu/ftp/data/format/sp3d.pdf</a>). 8668 The following is a path example for a Linux system: 8669 <pre> 5654 8670 /home/user/BKG0MGXRTS${V3PROD}.SP3 5655 8671 </pre> 5656 If the specified directory does not exist, BNC will not create SP3 orbit files. 5657 </p> 5658 <p> 5659 For file naming, BNC follows the new format convention according to IGS products 5660 <a href="https://files.igs.org/pub/resource/guidelines/Guidelines_For_Long_Product_Filenames_in_the_IGS_v2.0.pdf" target="_blank">https://files.igs.org/pub/resource/guidelines/Guidelines_For_Long_Product_Filenames_in_the_IGS_v2.0.pdf</a>: 5661 </p> 5662 <pre> 8672 If the specified directory does not exist, BNC will not create SP3 orbit files. 8673 </p> 8674 <p> 8675 For file naming, BNC follows the new format convention according to IGS products 8676 <a href="https://files.igs.org/pub/resource/guidelines/Guidelines_For_Long_Product_Filenames_in_the_IGS_v2.0.pdf" 8677 target="_blank">https://files.igs.org/pub/resource/guidelines/Guidelines_For_Long_Product_Filenames_in_the_IGS_v2.0.pdf</a>: 8678 </p> 8679 <pre> 5663 8680 AAAVPPPTTT_YYYYDDDHHMM_LEN_SMP_CNT.FMT 5664 8681 </pre> 5665 With 5666 <p> 5667 <table> 5668 <tr><td> AAA </td><td> Analysis Center abbrevaition, here BKG</td></tr> 5669 <tr><td> V </td><td> Version / Solution identifier (0-9), here 0</td></tr> 5670 <tr><td> PPP </td><td> Project/Campaign identification, here Multi-GNSS product (MGX)</td></tr> 5671 <tr><td> TTT </td><td> Solution Type, here real-time streamed product (RTS)</td></tr> 5672 <tr><td> YYYYDOYHHMM</td><td> String representing beginning time of nominal data interval</td></tr> 5673 <tr><td> LEN </td><td> Intended product period of the file </td></tr> 5674 <tr><td> SMP </td><td> Data sampling rate</td></tr> 5675 <tr><td> CNT </td><td> Content type ORB</td></tr> 5676 <tr><td> FMT </td><td> File format, here SP3</td></tr> 5677 </table> 5678 </p> 5679 <p> 5680 Note that '${V3PROD}' produces the part 'YYYYDDDHHMM_LEN_SMP_CNT' of the filename according the 'Upload Corrections' setup. 5681 </p> 5682 A result for examle is: 5683 <pre> 8682 With 8683 <p> 8684 <table> 8685 <tr> 8686 <td> AAA </td> 8687 <td> Analysis Center abbrevaition, here BKG</td> 8688 </tr> 8689 <tr> 8690 <td> V </td> 8691 <td> Version / Solution identifier (0-9), here 0</td> 8692 </tr> 8693 <tr> 8694 <td> PPP </td> 8695 <td> Project/Campaign identification, here Multi-GNSS product (MGX)</td> 8696 </tr> 8697 <tr> 8698 <td> TTT </td> 8699 <td> Solution Type, here real-time streamed product (RTS)</td> 8700 </tr> 8701 <tr> 8702 <td> YYYYDOYHHMM</td> 8703 <td> String representing beginning time of nominal data interval</td> 8704 </tr> 8705 <tr> 8706 <td> LEN </td> 8707 <td> Intended product period of the file </td> 8708 </tr> 8709 <tr> 8710 <td> SMP </td> 8711 <td> Data sampling rate</td> 8712 </tr> 8713 <tr> 8714 <td> CNT </td> 8715 <td> Content type ORB</td> 8716 </tr> 8717 <tr> 8718 <td> FMT </td> 8719 <td> File format, here SP3</td> 8720 </tr> 8721 </table> 8722 </p> 8723 <p> 8724 Note that '${V3PROD}' produces the part 'YYYYDDDHHMM_LEN_SMP_CNT' of the filename according the 'Upload Corrections' 8725 setup. 8726 </p> 8727 A result for examle is: 8728 <pre> 5684 8729 BKG0MGXRTS_20223330000_01D_01M_ORB.SP3 5685 8730 </pre> 5686 <p> 5687 Default is an empty option field, meaning that you do not want BNC to save the uploaded stream content in daily SP3 files. 5688 </p> 5689 <p> 5690 As a SP3 file content should be referred to the satellites' Center of Mass (CoM) while Broadcast Corrections are referred to the satellites' APC, 5691 an offset has to be applied which is available from an IGS ANTEX file (see option 'ANTEX File' below). 5692 Hence, you should specify the 'ANTEX File' path there if you want to save the stream content in SP3 format. 5693 If you do not specify an 'ANTEX File' path, the SP3 file content will be referred to the satellites APCs. 5694 </p> 5695 <p> 5696 For GLONASS satellites, that APC/CoM offset is rotated into the satellite-fixed frame using the satellite's 5697 yaw attitude. BNC assumes the nominal Sun-pointing yaw-steering law used for the other GNSS systems, except 5698 close to the orbit noon and midnight points when the Sun's elevation above the orbital plane (the 'beta' 5699 angle) is small. There, GLONASS-M satellites are known to stop tracking that law and instead hold the yaw 5700 angle fixed, following the model described in Dilssner, Springer, Flohrer, Dow (2011), 'The GLONASS-M 5701 satellite yaw-attitude model', Advances in Space Research 47(1), 160-171. Without that correction, the 5702 converted GLONASS CoM position can be off by several decimeters in the along-track and cross-track 5703 components in that situation. The maximum yaw rate used to decide when GLONASS-M can no longer follow the 5704 nominal law (0.25 deg/s) is taken from the literature and not calibrated against any specific satellite, so 5705 results should be checked against independently known attitude or orbit information where high accuracy on 5706 GLONASS is required. 5707 </p> 5708 <p> 5709 Note that clocks in the SP3 orbit files are not corrected for the conventional periodic relativistic effect. 5710 </p> 5711 <p> 5712 In case the 'Combine Corrections' table contains only one Broadcast Correction stream, BNC will merge that stream with Broadcast Ephemeris 5713 to save results in files specified here through SP3 and/or Clock RINEX file path. In such a case you have to define only the SP3 and 5714 Clock RINEX file path and no further option in the 'Upload Corrections' table. 5715 </p> 5716 <p> 5717 Note that BNC outputs a complete list of SP3 'Epoch Header Records', even if no 'Position and Clock Records' are available for certain epochs 5718 because of stream outages. Note further that the 'Number of Epochs' in the first SP3 header record may not be correct because that number 5719 is not available when the file is created. Depending on your processing software (e.g. Bernese GNSS Software, BSW) it could therefore be necessary 5720 to correct an incorrect 'Number of Epochs' in the file before you use it in post processing. 5721 </p> 5722 5723 <p><h4 id="uprinex">2.15.7 RNX File - optional</h4></p> 5724 <p> 5725 The clock corrections generated by BNC for upload can be logged in Clock RINEX format 5726 <a href="https://files.igs.org/pub/data/format/rinex_clock304.txt" target="_blank">https://files.igs.org/pub/data/format/rinex_clock304.txt</a>:. 5727 </p> 5728 <p> 5729 Specify a path for saving the generated clock corrections as Clock RINEX files. The following is a path example for a Linux system: 5730 <pre> 8731 <p> 8732 Default is an empty option field, meaning that you do not want BNC to save the uploaded stream content in daily SP3 8733 files. 8734 </p> 8735 <p> 8736 As a SP3 file content should be referred to the satellites' Center of Mass (CoM) while Broadcast Corrections are 8737 referred to the satellites' APC, 8738 an offset has to be applied which is available from an IGS ANTEX file (see option 'ANTEX File' below). 8739 Hence, you should specify the 'ANTEX File' path there if you want to save the stream content in SP3 format. 8740 If you do not specify an 'ANTEX File' path, the SP3 file content will be referred to the satellites APCs. 8741 </p> 8742 <p> 8743 For GLONASS satellites, that APC/CoM offset is rotated into the satellite-fixed frame using the satellite's 8744 yaw attitude. BNC assumes the nominal Sun-pointing yaw-steering law used for the other GNSS systems, except 8745 close to the orbit noon and midnight points when the Sun's elevation above the orbital plane (the 'beta' 8746 angle) is small. There, GLONASS-M satellites are known to stop tracking that law and instead hold the yaw 8747 angle fixed, following the model described in Dilssner, Springer, Flohrer, Dow (2011), 'The GLONASS-M 8748 satellite yaw-attitude model', Advances in Space Research 47(1), 160-171. Without that correction, the 8749 converted GLONASS CoM position can be off by several decimeters in the along-track and cross-track 8750 components in that situation. The maximum yaw rate used to decide when GLONASS-M can no longer follow the 8751 nominal law (0.25 deg/s) is taken from the literature and not calibrated against any specific satellite, so 8752 results should be checked against independently known attitude or orbit information where high accuracy on 8753 GLONASS is required. 8754 </p> 8755 <p> 8756 Note that clocks in the SP3 orbit files are not corrected for the conventional periodic relativistic effect. 8757 </p> 8758 <p> 8759 In case the 'Combine Corrections' table contains only one Broadcast Correction stream, BNC will merge that stream 8760 with Broadcast Ephemeris 8761 to save results in files specified here through SP3 and/or Clock RINEX file path. In such a case you have to define 8762 only the SP3 and 8763 Clock RINEX file path and no further option in the 'Upload Corrections' table. 8764 </p> 8765 <p> 8766 Note that BNC outputs a complete list of SP3 'Epoch Header Records', even if no 'Position and Clock Records' are 8767 available for certain epochs 8768 because of stream outages. Note further that the 'Number of Epochs' in the first SP3 header record may not be 8769 correct because that number 8770 is not available when the file is created. Depending on your processing software (e.g. Bernese GNSS Software, BSW) 8771 it could therefore be necessary 8772 to correct an incorrect 'Number of Epochs' in the file before you use it in post processing. 8773 </p> 8774 8775 <p> 8776 <h4 id="uprinex">2.15.7 RNX File - optional</h4> 8777 </p> 8778 <p> 8779 The clock corrections generated by BNC for upload can be logged in Clock RINEX format 8780 <a href="https://files.igs.org/pub/data/format/rinex_clock304.txt" 8781 target="_blank">https://files.igs.org/pub/data/format/rinex_clock304.txt</a>:. 8782 </p> 8783 <p> 8784 Specify a path for saving the generated clock corrections as Clock RINEX files. The following is a path example for 8785 a Linux system: 8786 <pre> 5731 8787 /home/user/BKG0MGXRTS${V3PROD}.CLK 5732 8788 </pre> 5733 If the specified directory does not exist, BNC will not create Clock RINEX files. 5734 </p> 5735 <p> 5736 For file naming, BNC follows the new format convention according to IGS products 5737 <a href="https://files.igs.org/pub/resource/guidelines/Guidelines_For_Long_Product_Filenames_in_the_IGS_v2.0.pdf" target="_blank">https://files.igs.org/pub/resource/guidelines/Guidelines_For_Long_Product_Filenames_in_the_IGS_v2.0.pdf</a>: 5738 </p> 5739 <pre> 8789 If the specified directory does not exist, BNC will not create Clock RINEX files. 8790 </p> 8791 <p> 8792 For file naming, BNC follows the new format convention according to IGS products 8793 <a href="https://files.igs.org/pub/resource/guidelines/Guidelines_For_Long_Product_Filenames_in_the_IGS_v2.0.pdf" 8794 target="_blank">https://files.igs.org/pub/resource/guidelines/Guidelines_For_Long_Product_Filenames_in_the_IGS_v2.0.pdf</a>: 8795 </p> 8796 <pre> 5740 8797 AAAVPPPTTT_YYYYDDDHHMM_LEN_SMP_CNT.FMT 5741 8798 </pre> 5742 With 5743 <p> 5744 <table> 5745 <tr><td> AAA </td><td> Analysis Center abbrevaition, here BKG</td></tr> 5746 <tr><td> V </td><td> Version / Solution identifier (0-9), here 0</td></tr> 5747 <tr><td> PPP </td><td> Project/Campaign identification, here Multi-GNSS product (MGX)</td></tr> 5748 <tr><td> TTT </td><td> Solution Type, here real-time streamed product (RTS)</td></tr> 5749 <tr><td> YYYYDOYHHMM</td><td> String representing beginning time of nominal data interval</td></tr> 5750 <tr><td> LEN </td><td> Intended product period of the file </td></tr> 5751 <tr><td> SMP </td><td> Data sampling rate</td></tr> 5752 <tr><td> CNT </td><td> Content type CLK</td></tr> 5753 <tr><td> FMT </td><td> File format, here CLK</td></tr> 5754 </table> 5755 </p> 5756 <p> 5757 Note that '${V3PROD}' produces the part 'YYYYDDDHHMM_LEN_SMP_CNT' of the filename according the 'Upload Corrections' setup. 5758 </p> 5759 A result for examle is: 5760 <pre> 8799 With 8800 <p> 8801 <table> 8802 <tr> 8803 <td> AAA </td> 8804 <td> Analysis Center abbrevaition, here BKG</td> 8805 </tr> 8806 <tr> 8807 <td> V </td> 8808 <td> Version / Solution identifier (0-9), here 0</td> 8809 </tr> 8810 <tr> 8811 <td> PPP </td> 8812 <td> Project/Campaign identification, here Multi-GNSS product (MGX)</td> 8813 </tr> 8814 <tr> 8815 <td> TTT </td> 8816 <td> Solution Type, here real-time streamed product (RTS)</td> 8817 </tr> 8818 <tr> 8819 <td> YYYYDOYHHMM</td> 8820 <td> String representing beginning time of nominal data interval</td> 8821 </tr> 8822 <tr> 8823 <td> LEN </td> 8824 <td> Intended product period of the file </td> 8825 </tr> 8826 <tr> 8827 <td> SMP </td> 8828 <td> Data sampling rate</td> 8829 </tr> 8830 <tr> 8831 <td> CNT </td> 8832 <td> Content type CLK</td> 8833 </tr> 8834 <tr> 8835 <td> FMT </td> 8836 <td> File format, here CLK</td> 8837 </tr> 8838 </table> 8839 </p> 8840 <p> 8841 Note that '${V3PROD}' produces the part 'YYYYDDDHHMM_LEN_SMP_CNT' of the filename according the 'Upload Corrections' 8842 setup. 8843 </p> 8844 A result for examle is: 8845 <pre> 5761 8846 BKG0MGXRTS_20223330000_01D_05S_CLK.CLK 5762 8847 </pre> 5763 <p> 5764 Default is an empty option field, meaning that you do not want BNC to save the uploaded stream content in daily Clock RINEX files. 5765 </p> 5766 <p> 5767 Note further that clocks in the Clock RINEX files are not corrected for the conventional periodic relativistic effect. 5768 </p> 5769 <p><h4 id="upsinex">2.15.8 BSX File - optional</h4></p> 5770 <p> 5771 The satellite biases generated by BNC for upload can be logged in SINEX Bias format 5772 <a href="https://files.igs.org/pub/data/format/sinex_bias_100.pdf" target="_blank">https://files.igs.org/pub/data/format/sinex_bias_100.pdf</a>:. 5773 </p> 5774 <p> 5775 Specify a path for saving the generated clock corrections as Clock RINEX files. The following is a path example for a Linux system: 5776 <pre> 8848 <p> 8849 Default is an empty option field, meaning that you do not want BNC to save the uploaded stream content in daily 8850 Clock RINEX files. 8851 </p> 8852 <p> 8853 Note further that clocks in the Clock RINEX files are not corrected for the conventional periodic relativistic 8854 effect. 8855 </p> 8856 <p> 8857 <h4 id="upsinex">2.15.8 BSX File - optional</h4> 8858 </p> 8859 <p> 8860 The satellite biases generated by BNC for upload can be logged in SINEX Bias format 8861 <a href="https://files.igs.org/pub/data/format/sinex_bias_100.pdf" 8862 target="_blank">https://files.igs.org/pub/data/format/sinex_bias_100.pdf</a>:. 8863 </p> 8864 <p> 8865 Specify a path for saving the generated clock corrections as Clock RINEX files. The following is a path example for 8866 a Linux system: 8867 <pre> 5777 8868 /home/user/BKG0MGXRTS${V3PROD}.BIA 5778 8869 </pre> 5779 If the specified directory does not exist, BNC will not create SINEX Bias files. 5780 </p> 5781 <p> 5782 For file naming, BNC follows the new format convention according to IGS products 5783 <a href="https://files.igs.org/pub/resource/guidelines/Guidelines_For_Long_Product_Filenames_in_the_IGS_v2.0.pdf" target="_blank">https://files.igs.org/pub/resource/guidelines/Guidelines_For_Long_Product_Filenames_in_the_IGS_v2.0.pdf</a>: 5784 </p> 5785 <pre> 8870 If the specified directory does not exist, BNC will not create SINEX Bias files. 8871 </p> 8872 <p> 8873 For file naming, BNC follows the new format convention according to IGS products 8874 <a href="https://files.igs.org/pub/resource/guidelines/Guidelines_For_Long_Product_Filenames_in_the_IGS_v2.0.pdf" 8875 target="_blank">https://files.igs.org/pub/resource/guidelines/Guidelines_For_Long_Product_Filenames_in_the_IGS_v2.0.pdf</a>: 8876 </p> 8877 <pre> 5786 8878 AAAVPPPTTT_YYYYDDDHHMM_LEN_SMP_CNT.FMT 5787 8879 </pre> 5788 With 5789 <p> 5790 <table> 5791 <tr><td> AAA </td><td> Analysis Center abbrevaition, here BKG</td></tr> 5792 <tr><td> V </td><td> Version / Solution identifier (0-9), here 0</td></tr> 5793 <tr><td> PPP </td><td> Project/Campaign identification, here Multi-GNSS product (MGX)</td></tr> 5794 <tr><td> TTT </td><td> Solution Type, here real-time streamed product (RTS)</td></tr> 5795 <tr><td> YYYYDOYHHMM</td><td> String representing beginning time of nominal data interval</td></tr> 5796 <tr><td> LEN </td><td> Intended product period of the file </td></tr> 5797 <tr><td> SMP </td><td> Data sampling rate</td></tr> 5798 <tr><td> CNT </td><td> Content type, here Observable-specific signal biases, code and phase (OSB)</td></tr> 5799 <tr><td> FMT </td><td> File format, here BIA</td></tr> 5800 </table> 5801 </p> 5802 <p> 5803 Note that '${V3PROD}' produces the part 'YYYYDDDHHMM_LEN_SMP_CNT' of the filename according the 'Upload Corrections' setup. 5804 </p> 5805 A result for examle is: 5806 <pre> 8880 With 8881 <p> 8882 <table> 8883 <tr> 8884 <td> AAA </td> 8885 <td> Analysis Center abbrevaition, here BKG</td> 8886 </tr> 8887 <tr> 8888 <td> V </td> 8889 <td> Version / Solution identifier (0-9), here 0</td> 8890 </tr> 8891 <tr> 8892 <td> PPP </td> 8893 <td> Project/Campaign identification, here Multi-GNSS product (MGX)</td> 8894 </tr> 8895 <tr> 8896 <td> TTT </td> 8897 <td> Solution Type, here real-time streamed product (RTS)</td> 8898 </tr> 8899 <tr> 8900 <td> YYYYDOYHHMM</td> 8901 <td> String representing beginning time of nominal data interval</td> 8902 </tr> 8903 <tr> 8904 <td> LEN </td> 8905 <td> Intended product period of the file </td> 8906 </tr> 8907 <tr> 8908 <td> SMP </td> 8909 <td> Data sampling rate</td> 8910 </tr> 8911 <tr> 8912 <td> CNT </td> 8913 <td> Content type, here Observable-specific signal biases, code and phase (OSB)</td> 8914 </tr> 8915 <tr> 8916 <td> FMT </td> 8917 <td> File format, here BIA</td> 8918 </tr> 8919 </table> 8920 </p> 8921 <p> 8922 Note that '${V3PROD}' produces the part 'YYYYDDDHHMM_LEN_SMP_CNT' of the filename according the 'Upload Corrections' 8923 setup. 8924 </p> 8925 A result for examle is: 8926 <pre> 5807 8927 BKG0MGXRTS_20223330000_01D_05S_OSB.BIA 5808 8928 </pre> 5809 <p> 5810 Default is an empty option field, meaning that you do not want BNC to save the uploaded stream content in daily Clock RINEX files. 5811 </p> 5812 5813 <p><h4 id="pidsidiod">2.15.9 PID, SID, IOD - optional</h4></p> 5814 <p> 5815 When applying Broadcast Ephemeris corrections in a PPP algorithm or in a combination of several correction streams, 5816 it is important for the client software to receive information on the continuity of discontinuity of the stream contents. 5817 Here you can specify three ID's to describe the contents of your Broadcast Ephemeris correction stream when it is uploaded. 5818 <ul> 5819 <li>A 'SSR Provider ID' is issued by RTCM SC-104 on request to identify a SSR service 5820 (see e.g.<a href="https://software.rtcm-ntrip.org/wiki/SSRProvider" target="_blank">https://software.rtcm-ntrip.org/wiki/SSRProvider</a>) 5821 This ID is globally unique. Values vary in the range of 0-65535. Values in the range of 0-255 are reserved for experimental services.</li> 5822 <li>A provider may generate several Broadcast Ephemeris correction streams with different contents. The 'SSR Solution ID' indicates different 8929 <p> 8930 Default is an empty option field, meaning that you do not want BNC to save the uploaded stream content in daily 8931 Clock RINEX files. 8932 </p> 8933 8934 <p> 8935 <h4 id="pidsidiod">2.15.9 PID, SID, IOD - optional</h4> 8936 </p> 8937 <p> 8938 When applying Broadcast Ephemeris corrections in a PPP algorithm or in a combination of several correction streams, 8939 it is important for the client software to receive information on the continuity of discontinuity of the stream 8940 contents. 8941 Here you can specify three ID's to describe the contents of your Broadcast Ephemeris correction stream when it is 8942 uploaded. 8943 <ul> 8944 <li>A 'SSR Provider ID' is issued by RTCM SC-104 on request to identify a SSR service 8945 (see e.g.<a href="https://software.rtcm-ntrip.org/wiki/SSRProvider" 8946 target="_blank">https://software.rtcm-ntrip.org/wiki/SSRProvider</a>) 8947 This ID is globally unique. Values vary in the range of 0-65535. Values in the range of 0-255 are reserved for 8948 experimental services.</li> 8949 <li>A provider may generate several Broadcast Ephemeris correction streams with different contents. The 'SSR 8950 Solution ID' indicates different 5823 8951 SSR services of one SSR provider. Values vary in the range of 0-15.</li> 5824 <li>A change of the 'IOD SSR' is used to indicate a change in the SSR generating configuration which may be relevant for the rover. 8952 <li>A change of the 'IOD SSR' is used to indicate a change in the SSR generating configuration which may be relevant 8953 for the rover. 5825 8954 Values vary in the range of 0-15.</li> 5826 </ul> 5827 </p> 5828 5829 <p><h4 id="upinter">2.15.10 Interval - mandatory if 'Upload Table' entries specified</h4></p> 5830 <p> 5831 Select the length of SP3 Orbit files, Clock RINEX files and SINAX Bias files. The default value is 1 day. 5832 </p> 5833 5834 <p><h4 id="upclksmpl">2.15.11 Sampling</h4></p> 5835 <p> 5836 BNC requires an orbit corrections sampling interval for the stream to be uploaded and sampling intervals for SP3, Clock RINEX, and SINEX Bias files. 5837 The outgoing stream's clock correction sampling interval follows that of incoming corrections and is therefore nothing to be specified here.</p> 5838 5839 <p><h4 id="upclkorb">2.15.11.1 Orbits (Orb) - mandatory if 'Upload Table' entries specified</h4></p> 5840 <p> 5841 Select the stream's orbit correction sampling interval in seconds. A value of 60 sec may be appropriate. 5842 </p> 5843 <p> 5844 A value of zero '0' tells BNC to upload all orbit correction samples coming in from the real-time GNSS engine along 5845 with the clock correction samples to produce combined orbit and clock corrections to Broadcast Ephemeris; for example message type 1060 for GPS. 5846 </p> 5847 <p> 5848 Configuration examples: 5849 </p> 5850 Let us suppose a real-time network engine supporting BNC every <b>5 sec</b> with GPS Broadcast Corrections for orbits, clocks and code biases 5851 in 'RTNET' stream format. 5852 <ul> 5853 <li>With 'Sampling Orb' set to '0' BNC will produce</li> 8955 </ul> 8956 </p> 8957 8958 <p> 8959 <h4 id="upinter">2.15.10 Interval - mandatory if 'Upload Table' entries specified</h4> 8960 </p> 8961 <p> 8962 Select the length of SP3 Orbit files, Clock RINEX files and SINAX Bias files. The default value is 1 day. 8963 </p> 8964 8965 <p> 8966 <h4 id="upclksmpl">2.15.11 Sampling</h4> 8967 </p> 8968 <p> 8969 BNC requires an orbit corrections sampling interval for the stream to be uploaded and sampling intervals for SP3, 8970 Clock RINEX, and SINEX Bias files. 8971 The outgoing stream's clock correction sampling interval follows that of incoming corrections and is therefore 8972 nothing to be specified here.</p> 8973 8974 <p> 8975 <h4 id="upclkorb">2.15.11.1 Orbits (Orb) - mandatory if 'Upload Table' entries specified</h4> 8976 </p> 8977 <p> 8978 Select the stream's orbit correction sampling interval in seconds. A value of 60 sec may be appropriate. 8979 </p> 8980 <p> 8981 A value of zero '0' tells BNC to upload all orbit correction samples coming in from the real-time GNSS engine along 8982 with the clock correction samples to produce combined orbit and clock corrections to Broadcast Ephemeris; for 8983 example message type 1060 for GPS. 8984 </p> 8985 <p> 8986 Configuration examples: 8987 </p> 8988 Let us suppose a real-time network engine supporting BNC every <b>5 sec</b> with GPS Broadcast Corrections for orbits, 8989 clocks and code biases 8990 in 'RTNET' stream format. 5854 8991 <ul> 5855 <li>Every 5 sec a 1059 message for GPS code biases,</li> 5856 <li>Every 5 sec a 1060 message for combined orbit and clock corrections to GPS Broadcast Ephemeris.</li> 8992 <li>With 'Sampling Orb' set to '0' BNC will produce</li> 8993 <ul> 8994 <li>Every 5 sec a 1059 message for GPS code biases,</li> 8995 <li>Every 5 sec a 1060 message for combined orbit and clock corrections to GPS Broadcast Ephemeris.</li> 8996 </ul> 8997 <br> 8998 <li>With 'Sampling Orb' set to '5' BNC will produce</li> 8999 <ul> 9000 <li>Every 5 sec a 1057 message for GPS orbit corrections to Broadcast Ephemeris,</li> 9001 <li>Every 5 sec a 1058 message for GPS clock corrections to Broadcast Ephemeris,</li> 9002 <li>Every 5 sec a 1059 message for GPS code biases.</li> 9003 </ul> 9004 <br> 9005 <li>With 'Sampling Orb' set to '10' BNC will produce</li> 9006 <ul> 9007 <li>Every 10 sec a 1057 message for GPS orbit corrections to Broadcast Ephemeris,</li> 9008 <li>Every 5 sec a 1058 message for GPS clock corrections to Broadcast Ephemeris,</li> 9009 <li>Every 10 sec a 1059 message for GPS code biases.</li> 9010 </ul> 5857 9011 </ul> 5858 <br> 5859 <li>With 'Sampling Orb' set to '5' BNC will produce</li> 9012 </p> 9013 <p> 9014 Note that only when specifying a value of zero '0' (default) for 'Sampling Orb', BNC produces <b>combined</b> 9015 orbit and clock correction messages. 9016 </p> 9017 9018 <p> 9019 <h4 id="upclksp3">2.15.11.2 SP3 - mandatory if 'SP3 File' is specified</h4> 9020 </p> 9021 <p> 9022 Select the SP3 orbit file sampling interval in minutes. 9023 A value of 15 min may be appropriate. 9024 A value of zero '0' tells BNC to store all available samples into SP3 orbit files. 9025 </p> 9026 9027 <p> 9028 <h4 id="upclkrnx">2.15.11.3 RINEX (RNX) - mandatory if 'RNX File' is specified</h4> 9029 </p> 9030 <p> 9031 Select the Clock RINEX file sampling interval in seconds. 9032 A value of 10 sec may be appropriate. 9033 A value of zero '0' tells BNC to store all available samples into Clock RINEX files. 9034 </p> 9035 9036 <p> 9037 <h4 id="upbiassnx">2.15.11.4 SINEX (BSX) - mandatory if 'BSX File' is specified</h4> 9038 </p> 9039 <p> 9040 Select the SINEX Bias file sampling interval in seconds. 9041 A value of 10 sec may be appropriate. 9042 A value of zero '0' tells BNC to store all available samples into SINEX Bias files. 9043 </p> 9044 9045 <p> 9046 <h4 id="upcustom">2.15.11 Custom Trafo - optional if 'Upload Table' entries specified</h4> 9047 </p> 9048 <p> 9049 Hit 'Custom Trafo' to specify your own 14 parameter Helmert Transformation instead of selecting a predefined 9050 transformation 9051 through 'System' button. 9052 .</p> 9053 9054 <p> 9055 <h4 id="upantex">2.15.12 ANTEX File - mandatory if 'SP3 File' is specified</h4> 9056 </p> 9057 <p> 9058 IGS provides a file containing absolute phase center offsets and variations for GNSS satellite and receiver antennas 9059 in ANTEX format. 9060 Entering the full path to such an ANTEX file is required here for referring the SP3 file content to the satellite's 9061 Center of Mass (CoM). 9062 If you do not specify an ANTEX file, the SP3 file will contain orbit information which is referred to Antenna Phase 9063 Center (APC) instead of CoM. 9064 </p> 9065 <p> 9066 The following screenshot shows the encoding and uploading of several Broadcast Ephemeris correction streams combined 9067 from different AC streams. 9068 Combined streams using different SSR formats are uploaded to different Ntrip Broadcasters and referred to different 9069 reference systems. 9070 Different SSR Provider IDs, SSR Solution IDs and Issue of Data IDs are specified. Required Broadcast Ephemeris are 9071 received via stream 'BCEP00BKG0'. 9072 </p> 9073 <p><img src="IMG/Figure31.png" width=1000 /></p> 9074 <p>Figure 31: BNC uploading a combined Broadcast Correction stream</p> 9075 <p></p> 9076 9077 <p> 9078 <h4 id="upeph">2.16 Upload Ephemeris</h4> 9079 </p> 9080 <p> 9081 BNC can generate streams carrying only Broadcast Ephemeris in RTCM Version 3 format and upload them to an Ntrip 9082 Broadcaster. The satellite system(s) 9083 that shall be part of the uploaded stream can be specified using the 'System' parameter. This can be done: 5860 9084 <ul> 5861 <li> Every 5 sec a 1057 messagefor GPS orbit corrections to Broadcast Ephemeris,</li>5862 <li> Every 5 sec a 1058 messagefor GPSclock corrections to Broadcast Ephemeris,</li>5863 <li> Every 5 sec a 1059 message for GPS code biases.</li>9085 <li>for an individual satellite system, specifying e.g. 'G' for GPS or 'E' for Galileo, etc. or </li> 9086 <li>for a seclection of satellite systems, specifying e.g. 'GRE' for GPS and GLONASS and Galileo or</li> 9087 <li>for all satellite systems, specifying 'ALL'. </li> 5864 9088 </ul> 5865 <br> 5866 <li>With 'Sampling Orb' set to '10' BNC will produce</li> 5867 <ul> 5868 <li>Every 10 sec a 1057 message for GPS orbit corrections to Broadcast Ephemeris,</li> 5869 <li>Every 5 sec a 1058 message for GPS clock corrections to Broadcast Ephemeris,</li> 5870 <li>Every 10 sec a 1059 message for GPS code biases.</li> 5871 </ul> 5872 </ul> 5873 </p> 5874 <p> 5875 Note that only when specifying a value of zero '0' (default) for 'Sampling Orb', BNC produces <b>combined</b> 5876 orbit and clock correction messages. 5877 </p> 5878 5879 <p><h4 id="upclksp3">2.15.11.2 SP3 - mandatory if 'SP3 File' is specified</h4></p> 5880 <p> 5881 Select the SP3 orbit file sampling interval in minutes. 5882 A value of 15 min may be appropriate. 5883 A value of zero '0' tells BNC to store all available samples into SP3 orbit files. 5884 </p> 5885 5886 <p><h4 id="upclkrnx">2.15.11.3 RINEX (RNX) - mandatory if 'RNX File' is specified</h4></p> 5887 <p> 5888 Select the Clock RINEX file sampling interval in seconds. 5889 A value of 10 sec may be appropriate. 5890 A value of zero '0' tells BNC to store all available samples into Clock RINEX files. 5891 </p> 5892 5893 <p><h4 id="upbiassnx">2.15.11.4 SINEX (BSX) - mandatory if 'BSX File' is specified</h4></p> 5894 <p> 5895 Select the SINEX Bias file sampling interval in seconds. 5896 A value of 10 sec may be appropriate. 5897 A value of zero '0' tells BNC to store all available samples into SINEX Bias files. 5898 </p> 5899 5900 <p><h4 id="upcustom">2.15.11 Custom Trafo - optional if 'Upload Table' entries specified</h4></p> 5901 <p> 5902 Hit 'Custom Trafo' to specify your own 14 parameter Helmert Transformation instead of selecting a predefined transformation 5903 through 'System' button. 5904 .</p> 5905 5906 <p><h4 id="upantex">2.15.12 ANTEX File - mandatory if 'SP3 File' is specified</h4></p> 5907 <p> 5908 IGS provides a file containing absolute phase center offsets and variations for GNSS satellite and receiver antennas in ANTEX format. 5909 Entering the full path to such an ANTEX file is required here for referring the SP3 file content to the satellite's Center of Mass (CoM). 5910 If you do not specify an ANTEX file, the SP3 file will contain orbit information which is referred to Antenna Phase Center (APC) instead of CoM. 5911 </p> 5912 <p> 5913 The following screenshot shows the encoding and uploading of several Broadcast Ephemeris correction streams combined from different AC streams. 5914 Combined streams using different SSR formats are uploaded to different Ntrip Broadcasters and referred to different reference systems. 5915 Different SSR Provider IDs, SSR Solution IDs and Issue of Data IDs are specified. Required Broadcast Ephemeris are received via stream 'BCEP00BKG0'. 5916 </p> 5917 <p><img src="IMG/Figure31.png"width=1000/></p> 5918 <p>Figure 31: BNC uploading a combined Broadcast Correction stream</p> 5919 <p></p> 5920 5921 <p><h4 id="upeph">2.16 Upload Ephemeris</h4></p> 5922 <p> 5923 BNC can generate streams carrying only Broadcast Ephemeris in RTCM Version 3 format and upload them to an Ntrip Broadcaster. The satellite system(s) 5924 that shall be part of the uploaded stream can be specified using the 'System' parameter. This can be done: 5925 <ul> 5926 <li>for an individual satellite system, specifying e.g. 'G' for GPS or 'E' for Galileo, etc. or </li> 5927 <li>for a seclection of satellite systems, specifying e.g. 'GRE' for GPS and GLONASS and Galileo or</li> 5928 <li>for all satellite systems, specifying 'ALL'. </li> 5929 </ul> 5930 </p> 5931 <p> 5932 Note that Broadcast Ephemeris received in real-time have a system specific period of validity in BNC, 5933 which is defined in accordance with the update rates and validity intervals of the navigation messages. 5934 For this, the time difference dt of Time of Clock (TOC) with respect the current time is determined: 5935 </p> 5936 <pre> 9089 </p> 9090 <p> 9091 Note that Broadcast Ephemeris received in real-time have a system specific period of validity in BNC, 9092 which is defined in accordance with the update rates and validity intervals of the navigation messages. 9093 For this, the time difference dt of Time of Clock (TOC) with respect the current time is determined: 9094 </p> 9095 <pre> 5937 9096 dt = currentTime - TOC [sec] 5938 9097 </pre> 5939 <p> 5940 Hence, 5941 <ul> 5942 <li>GPS ephemeris will be interpreted as outdated and ignored when dt > 14400.0 or dt < -7200.0.</li> 5943 <li>GLONASS ephemeris will be interpreted as outdated and ignored when dt > 3900.0 or dt < -2100.0.</li> 5944 <li>Galileo ephemeris will be interpreted as outdated and ignored when dt > 14400.0 or dt < 0.0.</li> 5945 <li>BDS ephemeris will be interpreted as outdated and ignored when dt > 3900.0 or dt < 0.0.</li> 5946 <li>SBAS ephemeris will be interpreted as outdated and ignored when dt > 600.0 or dt < -600.0.</li> 5947 <li>QZSS ephemeris will be interpreted as outdated and ignored when dt > 7200.0 or dt < -3600.0.</li> 5948 <li>NavIC ephemeris will be interpreted as outdated and ignored when fabs(dt > 86400.0).</li> 5949 </ul> 5950 A note 'OUTDATED EPHEMERIS' will be given in the logfile and the data will be disregarded when necessary. 5951 </p> 5952 <p> 5953 Furthermore, received Broadcast Ephemeris parameters pass through a plausibility check in BNC which allows to ignore 5954 incorrect ephemeris data when necessary, leaving a note 'WRONG EPHEMERIS' in the logfile. 5955 Unhealthy Broadcast Ephemeris will not be excluded. A note 'UNHEALTHY EPHEMERIS' will be added in the logfile. 5956 </p> 5957 <p><h4 id="brdcserver">2.16.1 Host & Port - optional</h4></p> 5958 <p> 5959 Specify the 'Host' IP number or URL of an Ntrip Broadcaster to upload the stream. An empty option field means that you 5960 do not want to upload Broadcast Ephemeris. 5961 </p> 5962 <p> 5963 Enter the Ntrip Broadcaster's IP 'Port' number for stream upload. Note that Ntrip Broadcasters are often configured to provide 5964 access through more than one port, usually ports 80 and 2101. If you experience communication problems on port 80, you should 5965 try to use the alternative port(s). 5966 </p> 5967 5968 <p><h4 id="brdcmount">2.16.2 Mountpoint, Ntrip Version, User, Password - mandatory if 'Host' is set</h4></p> 5969 <p> 5970 BNC uploads a stream to the Ntrip Broadcaster by referring it to a dedicated mountpoint that has been set by its operator. 5971 Specify the mountpoint based on the details you received for your stream from the operator. It is often a 9-character ID (capital letters) 5972 plus an integer number. 5973 </p> 5974 <p> 5975 For stream upload the Ntrip Version can be chosen. An Ntrip version 1 upload is protected through an upload 'Password' only. 5976 For an Ntrip Version 2 upload an upload 'User' is required in addition. Enter the user name and the password you received 5977 from the Ntrip Broadcaster operator along with the mountpoint. 5978 </p> 5979 <p><h4 id="brdcsys">2.16.3 Satellite System - mandatory if 'Host' is set</h4></p> 5980 Specify the satellite system(s) that shall be part of the uploaded stream (e.g. 'G' for GPS or 'GRE' for GPS+GLONASS+Galileo, or 'ALL'). 5981 </p> 5982 <p><h4 id="brdcsmpl">2.16.4 Sampling - mandatory if 'Host' is set</h4></p> 5983 Select the Broadcast Ephemeris repetition interval in seconds. Default is '5', meaning that a complete set of Broadcast Ephemeris is uploaded 5984 every 5 seconds. 5985 </p> 5986 <p><img src="IMG/Figure32.png"width=1000/></p> 5987 <p>Figure 32: BNC producing Broadcast Ephemeris streams from globally distributed RTCM streams; upload in RTCM format to an Ntrip Broadcaster</p> 5988 5989 <p><h4 id="upraw">2.17 Upload Raw Data - NtripServer Functionality</h4></p> 5990 <p> 5991 BNC can upload Raw Data streams in any format like a NtripServer. To fill the 'Upload Raw Data' table, hit the 'Add Row' button. 5992 </p> 5993 <p><h4 id="rawsourcemount">2.17.1 Source Mountpoint</h4></p> 5994 <p> 5995 Within the 'Source Mountpoint' field please specify the Source of data from the 'Streams' section below, which shall be forwarded without decoding. 5996 If the decoder string is not an accepted one ('RTCM_2.x', 'RTCM_3.x' and 'RTNET'), please change the decoder string to 5997 <ul> 5998 <li> 'ZERO' (forward the raw data) or </li> 5999 <li> 'ZERO2FILE' (forward and store the raw data)</li> 6000 </ul> in addition. 6001 </p> 6002 <p><h4 id="rawserver">2.17.2 Host & Port - optional</h4></p> 6003 <p> 6004 Specify the 'Host' IP number or URL of an Ntrip Broadcaster to upload the stream. An empty option field means that you 6005 do not want to upload Broadcast Ephemeris. 6006 </p> 6007 <p> 6008 Enter the Ntrip Broadcaster's IP 'Port' number for stream upload. Note that Ntrip Broadcasters are often configured to provide 6009 access through more than one port, usually ports 80 and 2101. If you experience communication problems on port 80, you should 6010 try to use the alternative port(s). 6011 </p> 6012 6013 <p><h4 id="rawmount">2.17.3 Mountpoint, Ntrip Version, User, Password - mandatory if 'Host' is set</h4></p> 6014 <p> 6015 BNC uploads a stream to the Ntrip Broadcaster by referring it to a dedicated mountpoint that has been set by its operator. 6016 Specify the mountpoint based on the details you received for your stream from the operator. It is often a 9-character ID (capital letters) 6017 plus an integer number. 6018 </p> 6019 <p> 6020 For stream upload the Ntrip Version can be chosen. An Ntrip version 1 upload is protected through an upload 'Password' only. 6021 For an Ntrip Version 2 upload an upload 'User' is required in addition. Enter the user name and the password you received 6022 from the Ntrip Broadcaster operator along with the mountpoint. 6023 </p> 6024 6025 <p><h4 id="streams">2.18 Streams Canvas</h4></p> 6026 <p> 6027 Each stream on an Ntrip Broadcaster (and consequently on BNC) is defined using a unique source ID called mountpoint. An Ntrip Client like BNC 6028 accesses the desired stream by referring to its mountpoint. Information about streams and their mountpoints is available through the source-table 6029 maintained by the Ntrip Broadcaster. 6030 </p> 6031 <p> 6032 Streams selected for retrieval are listed under the 'Streams' canvas on BNC's main window. 6033 The list provides the following information either extracted from source-table(s) produced by the Ntrip Broadcasters or introduced by BNC's user: 6034 </p> 6035 <p> 6036 <table> 6037 <tr><td> 'resource loader' </td><td>Ntrip Broadcaster URL and port, or TCP/IP host and port, or UDP port, or Serial input port specification.</td></tr> 6038 <tr><td> 'mountpoint' </td><td>Mountpoint introduced by Ntrip Broadcaster, or Mountpoint introduced by BNC's user.</td></tr> 6039 <tr><td> 'decoder' </td><td>Name of decoder used to handle the incoming stream content according to its format; editable.</td></tr> 6040 <tr><td> 'lat' </td><td>Approximate latitude of reference station, in degrees, north; editable if 'nmea' = 'yes'.</td></tr> 6041 <tr><td> 'long' </td><td>Approximate longitude of reference station, in degrees, east; editable if 'nmea' = 'yes'.</td></tr> 6042 <tr><td> 'nmea' </td><td>Indicates whether or not streaming needs to be initiated by BNC through sending 6043 NMEA-GGA message carrying position coordinates in 'lat' and 'long'.</td></tr> 6044 <tr><td> 'ntrip' </td><td>Selected Ntrip transport protocol version (1, 2, 2s, R, or U), or 'N' for TCP/IP streams without Ntrip, 6045 or 'UN' for UDP streams without Ntrip, or 'S' for serial input streams without Ntrip.</td></tr> 6046 <tr><td> 'bytes' </td><td>Number of bytes received. 6047 </table> 6048 </p> 6049 <p><h4 id="streamedit">2.18.1 Edit Streams</h4></p> 6050 <ul> 6051 <li>BNC automatically allocates one of its internal decoders to a stream based on the stream's 'format' and 'format-details' as given in the source-table. 6052 However, there might be cases where you need to override the automatic selection due to an incorrect source-table for example. 6053 BNC allows users to manually select the required decoder by editing the decoder string. Double click on the 'decoder' field, 6054 enter your preferred decoder and then hit Enter. Accepted decoder strings are 'RTCM_2.x', 'RTCM_3.x' and 'RTNET'.</li> 6055 <li>In case you need to log the raw data as it is, BNC allows users to by-pass its decoders and directly save the input in daily logfiles. 6056 To do this, specify the decoder string as 'ZERO2FILE'. The generated filenames are created from the characters of the streams mountpoints plus 6057 two-digit numbers each for year, month, and day. Example: Setting the 'decoder' string for mountpoint WTZZ00DEU0 to 'ZERO2FILE' and 9098 <p> 9099 Hence, 9100 <ul> 9101 <li>GPS ephemeris will be interpreted as outdated and ignored when dt > 14400.0 or dt < -7200.0.</li> 9102 <li>GLONASS ephemeris will be interpreted as outdated and ignored when dt > 3900.0 or dt < -2100.0.</li> 9103 <li>Galileo ephemeris will be interpreted as outdated and ignored when dt > 14400.0 or dt < 0.0.</li> 9104 <li>BDS ephemeris will be interpreted as outdated and ignored when dt > 3900.0 or dt < 0.0.</li> 9105 <li>SBAS ephemeris will be interpreted as outdated and ignored when dt > 600.0 or dt < -600.0.</li> 9106 <li>QZSS ephemeris will be interpreted as outdated and ignored when dt > 7200.0 or dt < -3600.0.</li> 9107 <li>NavIC ephemeris will be interpreted as outdated and ignored when fabs(dt > 86400.0).</li> 9108 </ul> 9109 A note 'OUTDATED EPHEMERIS' will be given in the logfile and the data will be disregarded when necessary. 9110 </p> 9111 <p> 9112 Furthermore, received Broadcast Ephemeris parameters pass through a plausibility check in BNC which allows to ignore 9113 incorrect ephemeris data when necessary, leaving a note 'WRONG EPHEMERIS' in the logfile. 9114 Unhealthy Broadcast Ephemeris will not be excluded. A note 'UNHEALTHY EPHEMERIS' will be added in the logfile. 9115 </p> 9116 <p> 9117 <h4 id="brdcserver">2.16.1 Host & Port - optional</h4> 9118 </p> 9119 <p> 9120 Specify the 'Host' IP number or URL of an Ntrip Broadcaster to upload the stream. An empty option field means that 9121 you 9122 do not want to upload Broadcast Ephemeris. 9123 </p> 9124 <p> 9125 Enter the Ntrip Broadcaster's IP 'Port' number for stream upload. Note that Ntrip Broadcasters are often configured 9126 to provide 9127 access through more than one port, usually ports 80 and 2101. If you experience communication problems on port 80, 9128 you should 9129 try to use the alternative port(s). 9130 </p> 9131 9132 <p> 9133 <h4 id="brdcmount">2.16.2 Mountpoint, Ntrip Version, User, Password - mandatory if 'Host' is set</h4> 9134 </p> 9135 <p> 9136 BNC uploads a stream to the Ntrip Broadcaster by referring it to a dedicated mountpoint that has been set by its 9137 operator. 9138 Specify the mountpoint based on the details you received for your stream from the operator. It is often a 9139 9-character ID (capital letters) 9140 plus an integer number. 9141 </p> 9142 <p> 9143 For stream upload the Ntrip Version can be chosen. An Ntrip version 1 upload is protected through an upload 9144 'Password' only. 9145 For an Ntrip Version 2 upload an upload 'User' is required in addition. Enter the user name and the password you 9146 received 9147 from the Ntrip Broadcaster operator along with the mountpoint. 9148 </p> 9149 <p> 9150 <h4 id="brdcsys">2.16.3 Satellite System - mandatory if 'Host' is set</h4> 9151 </p> 9152 Specify the satellite system(s) that shall be part of the uploaded stream (e.g. 'G' for GPS or 'GRE' for 9153 GPS+GLONASS+Galileo, or 'ALL'). 9154 </p> 9155 <p> 9156 <h4 id="brdcsmpl">2.16.4 Sampling - mandatory if 'Host' is set</h4> 9157 </p> 9158 Select the Broadcast Ephemeris repetition interval in seconds. Default is '5', meaning that a complete set of 9159 Broadcast Ephemeris is uploaded 9160 every 5 seconds. 9161 </p> 9162 <p><img src="IMG/Figure32.png" width=1000 /></p> 9163 <p>Figure 32: BNC producing Broadcast Ephemeris streams from globally distributed RTCM streams; upload in RTCM format 9164 to an Ntrip Broadcaster</p> 9165 9166 <p> 9167 <h4 id="upraw">2.17 Upload Raw Data - NtripServer Functionality</h4> 9168 </p> 9169 <p> 9170 BNC can upload Raw Data streams in any format like a NtripServer. To fill the 'Upload Raw Data' table, hit the 'Add 9171 Row' button. 9172 </p> 9173 <p> 9174 <h4 id="rawsourcemount">2.17.1 Source Mountpoint</h4> 9175 </p> 9176 <p> 9177 Within the 'Source Mountpoint' field please specify the Source of data from the 'Streams' section below, which shall 9178 be forwarded without decoding. 9179 If the decoder string is not an accepted one ('RTCM_2.x', 'RTCM_3.x' and 'RTNET'), please change the decoder string 9180 to 9181 <ul> 9182 <li> 'ZERO' (forward the raw data) or </li> 9183 <li> 'ZERO2FILE' (forward and store the raw data)</li> 9184 </ul> in addition. 9185 </p> 9186 <p> 9187 <h4 id="rawserver">2.17.2 Host & Port - optional</h4> 9188 </p> 9189 <p> 9190 Specify the 'Host' IP number or URL of an Ntrip Broadcaster to upload the stream. An empty option field means that 9191 you 9192 do not want to upload Broadcast Ephemeris. 9193 </p> 9194 <p> 9195 Enter the Ntrip Broadcaster's IP 'Port' number for stream upload. Note that Ntrip Broadcasters are often configured 9196 to provide 9197 access through more than one port, usually ports 80 and 2101. If you experience communication problems on port 80, 9198 you should 9199 try to use the alternative port(s). 9200 </p> 9201 9202 <p> 9203 <h4 id="rawmount">2.17.3 Mountpoint, Ntrip Version, User, Password - mandatory if 'Host' is set</h4> 9204 </p> 9205 <p> 9206 BNC uploads a stream to the Ntrip Broadcaster by referring it to a dedicated mountpoint that has been set by its 9207 operator. 9208 Specify the mountpoint based on the details you received for your stream from the operator. It is often a 9209 9-character ID (capital letters) 9210 plus an integer number. 9211 </p> 9212 <p> 9213 For stream upload the Ntrip Version can be chosen. An Ntrip version 1 upload is protected through an upload 9214 'Password' only. 9215 For an Ntrip Version 2 upload an upload 'User' is required in addition. Enter the user name and the password you 9216 received 9217 from the Ntrip Broadcaster operator along with the mountpoint. 9218 </p> 9219 9220 <p> 9221 <h4 id="streams">2.18 Streams Canvas</h4> 9222 </p> 9223 <p> 9224 Each stream on an Ntrip Broadcaster (and consequently on BNC) is defined using a unique source ID called mountpoint. 9225 An Ntrip Client like BNC 9226 accesses the desired stream by referring to its mountpoint. Information about streams and their mountpoints is 9227 available through the source-table 9228 maintained by the Ntrip Broadcaster. 9229 </p> 9230 <p> 9231 Streams selected for retrieval are listed under the 'Streams' canvas on BNC's main window. 9232 The list provides the following information either extracted from source-table(s) produced by the Ntrip Broadcasters 9233 or introduced by BNC's user: 9234 </p> 9235 <p> 9236 <table> 9237 <tr> 9238 <td> 'resource loader' </td> 9239 <td>Ntrip Broadcaster URL and port, or TCP/IP host and port, or UDP port, or Serial input port specification.</td> 9240 </tr> 9241 <tr> 9242 <td> 'mountpoint' </td> 9243 <td>Mountpoint introduced by Ntrip Broadcaster, or Mountpoint introduced by BNC's user.</td> 9244 </tr> 9245 <tr> 9246 <td> 'decoder' </td> 9247 <td>Name of decoder used to handle the incoming stream content according to its format; editable.</td> 9248 </tr> 9249 <tr> 9250 <td> 'lat' </td> 9251 <td>Approximate latitude of reference station, in degrees, north; editable if 'nmea' = 'yes'.</td> 9252 </tr> 9253 <tr> 9254 <td> 'long' </td> 9255 <td>Approximate longitude of reference station, in degrees, east; editable if 'nmea' = 'yes'.</td> 9256 </tr> 9257 <tr> 9258 <td> 'nmea' </td> 9259 <td>Indicates whether or not streaming needs to be initiated by BNC through sending 9260 NMEA-GGA message carrying position coordinates in 'lat' and 'long'.</td> 9261 </tr> 9262 <tr> 9263 <td> 'ntrip' </td> 9264 <td>Selected Ntrip transport protocol version (1, 2, 2s, R, or U), or 'N' for TCP/IP streams without Ntrip, 9265 or 'UN' for UDP streams without Ntrip, or 'S' for serial input streams without Ntrip.</td> 9266 </tr> 9267 <tr> 9268 <td> 'bytes' </td> 9269 <td>Number of bytes received. 9270 </table> 9271 </p> 9272 <p> 9273 <h4 id="streamedit">2.18.1 Edit Streams</h4> 9274 </p> 9275 <ul> 9276 <li>BNC automatically allocates one of its internal decoders to a stream based on the stream's 'format' and 9277 'format-details' as given in the source-table. 9278 However, there might be cases where you need to override the automatic selection due to an incorrect source-table 9279 for example. 9280 BNC allows users to manually select the required decoder by editing the decoder string. Double click on the 9281 'decoder' field, 9282 enter your preferred decoder and then hit Enter. Accepted decoder strings are 'RTCM_2.x', 'RTCM_3.x' and 'RTNET'. 9283 </li> 9284 <li>In case you need to log the raw data as it is, BNC allows users to by-pass its decoders and directly save the 9285 input in daily logfiles. 9286 To do this, specify the decoder string as 'ZERO2FILE'. The generated filenames are created from the characters of 9287 the streams mountpoints plus 9288 two-digit numbers each for year, month, and day. Example: Setting the 'decoder' string for mountpoint WTZZ00DEU0 9289 to 'ZERO2FILE' and 6058 9290 running BNC on December 01, 2022 would save raw data in a file named WTZZ00DEU0_221201.</li> 6059 <li> BNC allows as well to forward streams related to the specified 'Mountpoint' on top of the 'Miscellaneous Panel' 6060 through a TCP/IP port of your local host. In this case, the stream content remains untouched; BNC does not decode or reformat the data for this output. 6061 If the decoder string is not an accepted one, please change the decoder string to 'ZERO' (forward the raw data only) or 'ZERO2FILE' (forward and store the raw data) in addition.</li> 6062 <li>BNC can also retrieve streams from virtual reference stations (VRS). To initiate these streams, an approximate rover position needs to be sent 6063 in NMEA format to the Ntrip Broadcaster. In return, a user-specific data stream is generated, typically by Network RTK software. 6064 VRS streams are indicated by a 'yes' in the source-table as well as in the 'nmea' column on the 'Streams' canvas in BNC's main window. 6065 They are customized exactly to the latitude and longitude transmitted to the Ntrip Broadcaster via NMEA GGA sentences. If NMEA GGA sentences 6066 are not coming from a serially connected GNSS rover, BNC simulates them from the default latitude and longitude of the source-table as shown 6067 in the 'lat' and 'long' columns on the 'Streams' canvas. However, in many cases you would probably want to change these defaults according to 6068 your requirement. Double-click on 'lat' and 'long' fields, enter the values you wish to send and then hit Enter. The format is 9291 <li> BNC allows as well to forward streams related to the specified 'Mountpoint' on top of the 'Miscellaneous Panel' 9292 through a TCP/IP port of your local host. In this case, the stream content remains untouched; BNC does not decode 9293 or reformat the data for this output. 9294 If the decoder string is not an accepted one, please change the decoder string to 'ZERO' (forward the raw data 9295 only) or 'ZERO2FILE' (forward and store the raw data) in addition.</li> 9296 <li>BNC can also retrieve streams from virtual reference stations (VRS). To initiate these streams, an approximate 9297 rover position needs to be sent 9298 in NMEA format to the Ntrip Broadcaster. In return, a user-specific data stream is generated, typically by Network 9299 RTK software. 9300 VRS streams are indicated by a 'yes' in the source-table as well as in the 'nmea' column on the 'Streams' canvas 9301 in BNC's main window. 9302 They are customized exactly to the latitude and longitude transmitted to the Ntrip Broadcaster via NMEA GGA 9303 sentences. If NMEA GGA sentences 9304 are not coming from a serially connected GNSS rover, BNC simulates them from the default latitude and longitude of 9305 the source-table as shown 9306 in the 'lat' and 'long' columns on the 'Streams' canvas. However, in many cases you would probably want to change 9307 these defaults according to 9308 your requirement. Double-click on 'lat' and 'long' fields, enter the values you wish to send and then hit Enter. 9309 The format is 6069 9310 in positive north latitude degrees (e.g. for northern hemisphere: 52.436, for southern hemisphere: -24.567) and 6070 eastern longitude degrees (example: 358.872 or -1.128). Only streams with a 'yes' in their 'nmea' column can be edited. The position should 6071 preferably be a point within the VRS service area of the network. RINEX files generated from these streams will contain an additional COMMENT line 6072 in the header beginning with 'NMEA' showing the 'lat' and 'long' used. Note that when running BNC in a Local Area Network (LAN), 6073 NMEA strings may be blocked by a proxy server, firewall or virus scanner when not using the Ntrip Version 2 transport protocol.</li> 6074 </ul> 6075 6076 <p><h4 id="streamdelete">2.18.2 Delete Stream</h4></p> 6077 <p> 6078 To remove a stream from the 'Streams' canvas in the main window, highlight it by clicking on it and hit the 'Delete Stream' button. 6079 You can also remove multiple streams simultaneously by highlighting them using +Shift or +Ctrl. 6080 </p> 6081 6082 <p><h4 id="streamconf">2.18.3 Reconfigure Stream Selection On-the-fly</h4></p> 6083 <p> 6084 The streams selection can be changed on-the-fly without interrupting uninvolved threads in the running BNC process. 6085 </p> 6086 <p> 6087 <b>Window mode:</b> Hit 'Reread & Save Configuration' while BNC is in window mode and already processing data 6088 to let changes of your stream selection immediately become effective. 6089 <p> 6090 <b>No window mode:</b> When operating BNC online in 'no window' mode (command line option -nw), 6091 you force BNC to reread its 'mountPoints' configuration option from disk at pre-defined intervals. 6092 Select '1 min', '1 hour', or '1 day' as 'Reread configuration' option to reread the 'mountPoints' option 6093 every full minute, hour, or day. This lets a 'mountPoints' option edited in between in the configuration file 6094 become effective without terminating uninvolved threads. See section 'Configuration Examples' for 6095 configuration file examples and section 'Reread Configuration' for a list of other on-the-fly changeable options. 6096 </p> 6097 6098 <p><h4 id="logs">2.19 Logging Canvas</h4></p> 6099 <p> 6100 The 'Logging Canvas' above the bottom menu bar on the main window labeled 'Log', 'Throughput', 'Latency', and 'PPP Plot' 6101 provides control of BNC's activities. Tabs are available for continuously showing logfile content, 6102 for a plot controlling the bandwidth consumption, a plot showing stream latencies, and for time series plots of PPP results. 6103 </p> 6104 6105 <p><h4 id="logfile">2.19.1 Log</h4></p> 6106 <p> 6107 Records of BNC's activities are shown in the 'Log' tab. They can be saved into a file when a valid path is specified in the 'Logfile (full path)' field. 6108 </p> 6109 6110 <p><h4 id="throughput">2.19.2 Throughput</h4></p> 6111 <p> 6112 The bandwidth consumption per stream is shown in the 'Throughput' tab in bits per second (bps) or kilobits per second (kbps). 6113 The following figure shows an example for the bandwidth consumption of incoming streams. 6114 </p> 6115 <p><img src="IMG/Figure33.png"width=1000/></p> 6116 <p>Figure 33: Bandwidth consumption of RTCM streams received by BNC</p> 6117 <p><h4 id="latency">2.19.3 Latency</h4></p> 6118 <p> 6119 The latency of observations in each incoming stream is shown in the 'Latency' tab in milliseconds or seconds. 6120 Streams not carrying observations (e.g. those providing only Broadcast Ephemeris messages) or having an outage 6121 are not considered here and shown in red color. Note that the calculation of correct latencies requires the 6122 clock of the host computer to be properly synchronized. The next figure shows an example for the latency 6123 of incoming streams. 6124 </p> 6125 <p><img src="IMG/Figure34.png"width=1000/></p> 6126 <p>Figure 34: Latency of RTCM streams received by BNC</p> 6127 6128 <p><h4 id="ppptab">2.19.4 PPP Plot</h4></p> 6129 <p> 6130 Precise Point Positioning time series of North (red), East (green) and Up (blue) coordinate components are shown in the 'PPP Plot' tab when 6131 a 'Mountpoint' option is defined under PPP (4). Values are referred to a priori reference coordinates. The time as given in format [hh:mm] 6132 refers to GPS Time. The sliding PPP time series window covers a period of 5 minutes. Note that it may take up to 30 seconds or more until 6133 the first PPP solutions becomes available. The following figure shows the screenshot of a PPP time series plot of North, East and Up 6134 coordinate displacements. 6135 </p> 6136 <p><img src="IMG/Figure35.png"width=1000/></p> 6137 <p>Figure 35: Example for time series plot of displacements produced by BNC</p> 6138 6139 <p><h4 id="bottom">2.20 Bottom Menu Bar</h4></p> 6140 <p> 6141 The bottom menu bar allows to add or delete streams to or from BNC's configuration and to start or stop it. 6142 It also provides access to BNC's online help function. The 'Add Stream' button opens a window that allows users 6143 to select one of several input communication links, see figure below. 6144 </p> 6145 <p><img src="IMG/Figure36.png"width=400/></p> 6146 <p>Figure 36: Steam input communication links accepted by BNC</p> 6147 6148 <p><h4 id="streamadd">2.20.1 Add Stream</h4></p> 6149 <p> 6150 Button 'Add Stream' allows you to pull streams either from an Ntrip Broadcaster or from a TCP/IP port, UPD port, or serial port. 6151 </p> 6152 6153 <p><h4 id="streamcaster">2.20.1.1 Add Stream - Coming from Caster</h4></p> 6154 <p> 6155 Button 'Add Stream' > 'Coming from Caster' opens a window that allows users to select data streams from an Ntrip Broadcaster according 6156 to their mountpoints and show a distribution map of offered streams. 6157 </p> 6158 6159 <p><h4 id="streamhost">2.20.1.1.1 Caster Host and Port - mandatory</h4></p> 6160 <p> 6161 Enter the Ntrip Broadcaster host IP and port number. Note that EUREF and IGS operate Ntrip Broadcasters 6162 <a href="https://euref-ip.net/home" target="_blank">https://euref-ip.net/home</a>, 6163 <a href="https://igs-ip.net/home" target="_blank">https://igs-ip.net/home</a> and 6164 <a href="https://products.igs-ip.net/home" target="_blank">https://products.igs-ip.net/home</a>. 6165 </p> 6166 6167 <p><h4 id="streamtable">2.20.1.1.2 Casters Table - optional</h4></p> 6168 <p> 6169 It may be that you are not sure about your Ntrip Broadcaster's host and port number or you are interested in other 6170 broadcaster installations operated elsewhere. Hit 'Show' for a table of known broadcasters maintained at 6171 <a href="https://rtcm-ntrip.org/home " target="_blank">https://rtcm-ntrip.org/home </a>. 6172 A window opens which allows selecting a broadcaster for stream retrieval, see figure below. 6173 </p> 6174 <p><img src="IMG/Figure37.png"width=1000/></p> 6175 <p>Figure 37: BNC's 'Select Broadcaster' table</p> 6176 6177 <p><h4 id="streamuser">2.20.1.1.3 User and Password - mandatory for protected streams</h4></p> 6178 <p> 6179 Streams on Ntrip Broadcasters may be protected. Enter a valid 'User' ID and 'Password' for access to protected streams. 6180 Accounts are usually provided per Ntrip Broadcaster through a registration procedure. 6181 Register through <a href="https://register.rtcm-ntrip.org" target="_blank">https://register.rtcm-ntrip.org</a> 6182 for access to protected streams from EUREF and IGS. 6183 </p> 6184 6185 <p><h4 id="gettable">2.20.1.1.4 Get Table</h4></p> 6186 <p> 6187 Use the 'Get Table' button to download the source-table from the Ntrip Broadcaster. Pay attention to data fields 'format' and 'format-details'. 6188 Keep in mind that BNC can only decode and convert streams that come in RTCM Version 2, RTCM Version 3, or RTNET format. 6189 For access to observations, Broadcast Ephemerides and Broadcast Corrections in RTCM format, streams must contain a selection of 6190 appropriate message types as listed in the Annex; cf. data field 'format-details' for available message types and their repetition rates in brackets. 6191 Note that in order to produce RINEX Navigation files, RTCM Version 3 streams containing navigation messages are required: 6192 <table> 6193 <tr><td>Navigation </td><td>Description </td><td>Constellation </td><td>RTCM </td></tr> 6194 <tr><td>Message Type </td><td> </td><td>and Signal </td><td>Message Type</td></tr> 6195 <tr><td> </td><td> </td><td> </td><td> </td></tr> 6196 <tr><td> </td><td> </td><td> </td><td> </td></tr> 6197 <tr><td>LNAV</td><td> GPS Legacy navigation message </td><td>GPS L1 C/A </td><td>1019</td></tr> 6198 <tr><td> </td><td> QZSS Legacy navigation message </td><td>QZSS L1 C/A or L1 C/B </td><td>1044</td></tr> 6199 <tr><td> </td><td> NavIC Legacy navigation message </td><td>NavIC L5/S SPS </td><td>1041</td></tr> 6200 <tr><td> </td><td> </td><td> </td><td> </td></tr> 6201 <tr><td>FDMA</td><td> GLONASS Legacy FDMA navigation message </td><td>GLO L1 C/A </td><td>1020</td></tr> 6202 <tr><td> </td><td> from M-satellites </td><td> </td><td> </td></tr> 6203 <tr><td> </td><td> </td><td> </td><td> </td></tr> 6204 <tr><td>INAV</td><td> Galileo Integrity navigation message </td><td>GAL E1, E5b </td><td>1046</td></tr> 6205 <tr><td> </td><td> </td><td> </td><td> </td></tr> 6206 <tr><td>D1 </td><td> BeiDou-2/3 MEO/IGSO navigation message </td><td>BDS B1I, B2I, B3I </td><td>1042</td></tr> 6207 <tr><td>D2 </td><td> BeiDou-2/3 GEO navigation message </td><td>BDS B1I, B2I, B3I </td><td>1042</td></tr> 6208 <tr><td> </td><td> </td><td> </td><td> </td></tr> 6209 <tr><td>SBAS</td><td> SBAS navigation message </td><td>SBAS L1 </td><td>1043</td></tr> 6210 </table> 6211 Select your streams line by line, use +Shift and +Ctrl when necessary. The figure below provides an example source-table. 6212 </p> 6213 <p> 6214 The content of data field 'nmea' tells you whether a stream retrieval needs to be initiated by BNC through sending an NMEA-GGA message 6215 carrying approximate position coordinates (Virtual Reference Station, VRS). 6216 </p> 6217 <p> 6218 Hit 'OK' to return to the main window. If you wish, you can click on 'Add Stream' and repeat the process of retrieving streams from different casters. 6219 </p> 6220 <p><img src="IMG/Figure38.png"width=1000/></p> 6221 <p>Figure 38: Broadcaster source-table shown by BNC</p> 6222 6223 <p><h4 id="ntripv">2.20.1.1.5 Ntrip Version - mandatory</h4></p> 6224 <p> 6225 Some limitations and deficiencies of the Ntrip Version 1 stream transport protocol are solved in Ntrip Version 2. 6226 Improvements mainly concern a full HTTP compatibility in view of requirements coming from proxy servers. 6227 Version 2 is backwards compatible to Version 1. Options implemented in BNC are: 6228 </p> 6229 <p> 6230 <table> 6231 <tr><td><b>Option </b></td><td><b>Meaning</b></td></tr> 6232 <tr><td> 1 </td><td>Ntrip Version 1, TCP/IP</td></tr> 6233 <tr><td> 2 </td><td>Ntrip Version 2 in TCP/IP mode</td></tr> 6234 <tr><td> 2s </td><td>Ntrip Version 2 in TCP/IP mode via SSL</td></tr> 6235 <tr><td> R </td><td>Ntrip Version 2 in RTSP/RTP mode</td></tr> 6236 <tr><td> U </td><td>Ntrip Version 2 in UDP mode</td></tr> 6237 </table> 6238 </p> 6239 <p> 6240 Try using option '2' if your streams are otherwise blocked by a proxy server operated in front of BNC. 6241 </p> 6242 <p> 6243 When using Ntrip Version 2 via SSL (option '2s') you need to specify the appropriate 'Caster port' for that. 6244 It is usually port number 443. Clarify 'SSL' options offered in panel 'Network'. 6245 </p> 6246 <p> 6247 Option 'R' or 'U' may be selected if latency is more important than completeness for your application. 6248 Note that the latency reduction is likely to be in the order of 0.5 sec or less. 6249 Note further that options 'R' (RTSP/RTP mode) and 'U' (UDP mode) are not accepted by proxy servers and 6250 a mobile Internet Service Provider may not support it. 6251 </p> 6252 <p><h4 id="castermap">2.20.1.1.6 Map - optional</h4></p> 6253 <p> 6254 Button 'Map' opens a window to show a distribution map of the caster's streams. You may like to zoom in or out using the mouse. 6255 Left button: draw a rectangle to zoom, right button: zoom out, middle button: zoom back. 6256 </p> 6257 <p><img src="IMG/Figure39.png"width=1000/></p> 6258 <p>Figure 39: Stream distribution map shown by BNC as derived from Ntrip Broadcaster source-table</p> 6259 6260 <p><h4 id="streamip">2.20.1.2 Add Stream - Coming from TCP/IP Port</h4></p> 6261 <p> 6262 Button 'Add Stream' > 'Coming from TCP/IP Port' allows to retrieve streams via TCP directly from an IP address 6263 without using the Ntrip transport protocol. For that you: 6264 <ul> 6265 <li>Enter the IP address of the stream providing host.</li> 6266 <li>Enter the IP port number of the stream providing host.</li> 6267 <li>Specify a mountpoint. Recommended is a 9-character station ID. Example: FFMJ00DEU</li> 6268 <li>Specify the stream format. Available options are 'RTCM_2', 'RTCM_3', 'RTNET', 'ZERO' and 'ZERO2FILE'.</li> 6269 <li>Enter the approximate latitude of the stream providing rover in degrees. Example: 50.09.</li> 6270 <li>Enter the approximate longitude of the stream providing rover in degrees. Example: 8.66.</li> 6271 </ul> 6272 </p> 6273 <p> 6274 Streams directly received from a TCP/IP port show up with an 'N' for 'No Ntrip' in the 'Streams' canvas on BNC's main window. 6275 Latitude and longitude are to be entered just for informal reasons. 6276 <p> 6277 </p> 6278 Note that this option works only if no proxy server is involved in the communication link. 6279 </p> 6280 <p><h4 id="streamudp">2.20.1.3 Add Stream - Coming from UDP Port</h4></p> 6281 <p> 6282 Button 'Add Stream' > 'Coming from UDP Port' allows to pick up streams arriving directly at one of the local host's UDP ports without using the Ntrip transport protocol. For that you: 6283 <ul> 6284 <li>Enter the local port number where the UDP stream arrives.</li> 6285 <li>Specify a mountpoint. Recommended is a 9-character station ID. Example: FFMJ00DEU</li> 6286 <li>Specify the stream format. Available options are 'RTCM_2', 'RTCM_3', 'RTNET', 'ZERO' and 'ZERO2FILE'.</li> 6287 <li>Enter the approximate latitude of the stream providing rover in degrees. Example: 50.09.</li> 6288 <li>Enter the approximate longitude of the stream providing rover in degrees. Example: 8.66.</li> 6289 </ul> 6290 </p> 6291 <p> 6292 Streams directly received at a UDP port show up with a 'UN' for 'UDP, No Ntrip' in the 'Streams' canvas section on BNC's main window. Latitude and longitude are to be entered just for informal reasons. 6293 <p> 6294 6295 <p><h4 id="streamser">2.20.1.4 Add Stream - Coming from Serial Port</h4></p> 6296 <p> 6297 Button 'Add Stream' > 'Coming from Serial Port' allows to retrieve streams from a GNSS receiver via serial port without using the Ntrip transport protocol. For that you: 6298 <ul> 6299 <li>Specify a mountpoint. Recommended is a 9-character station ID. Example: FFMJ00DEU</li> 6300 <li>Specify the stream format. Available options are 'RTCM_2', 'RTCM_3', 'RTNET', 'ZERO' and 'ZERO2FILE'.</li> 6301 <li>Enter the approximate latitude of the stream providing rover in degrees. Example: 50.09.</li> 6302 <li>Enter the approximate longitude of the stream providing rover in degrees. Example: 8.66.</li> 6303 <li>Enter the serial 'Port name' selected on your host for communication with the receiver. Valid port names are 9311 eastern longitude degrees (example: 358.872 or -1.128). Only streams with a 'yes' in their 'nmea' column can be 9312 edited. The position should 9313 preferably be a point within the VRS service area of the network. RINEX files generated from these streams will 9314 contain an additional COMMENT line 9315 in the header beginning with 'NMEA' showing the 'lat' and 'long' used. Note that when running BNC in a Local Area 9316 Network (LAN), 9317 NMEA strings may be blocked by a proxy server, firewall or virus scanner when not using the Ntrip Version 2 9318 transport protocol.</li> 9319 </ul> 9320 9321 <p> 9322 <h4 id="streamdelete">2.18.2 Delete Stream</h4> 9323 </p> 9324 <p> 9325 To remove a stream from the 'Streams' canvas in the main window, highlight it by clicking on it and hit the 'Delete 9326 Stream' button. 9327 You can also remove multiple streams simultaneously by highlighting them using +Shift or +Ctrl. 9328 </p> 9329 9330 <p> 9331 <h4 id="streamconf">2.18.3 Reconfigure Stream Selection On-the-fly</h4> 9332 </p> 9333 <p> 9334 The streams selection can be changed on-the-fly without interrupting uninvolved threads in the running BNC process. 9335 </p> 9336 <p> 9337 <b>Window mode:</b> Hit 'Reread & Save Configuration' while BNC is in window mode and already processing data 9338 to let changes of your stream selection immediately become effective. 9339 <p> 9340 <b>No window mode:</b> When operating BNC online in 'no window' mode (command line option -nw), 9341 you force BNC to reread its 'mountPoints' configuration option from disk at pre-defined intervals. 9342 Select '1 min', '1 hour', or '1 day' as 'Reread configuration' option to reread the 'mountPoints' option 9343 every full minute, hour, or day. This lets a 'mountPoints' option edited in between in the configuration file 9344 become effective without terminating uninvolved threads. See section 'Configuration Examples' for 9345 configuration file examples and section 'Reread Configuration' for a list of other on-the-fly changeable options. 9346 </p> 9347 9348 <p> 9349 <h4 id="logs">2.19 Logging Canvas</h4> 9350 </p> 9351 <p> 9352 The 'Logging Canvas' above the bottom menu bar on the main window labeled 'Log', 'Throughput', 'Latency', and 'PPP 9353 Plot' 9354 provides control of BNC's activities. Tabs are available for continuously showing logfile content, 9355 for a plot controlling the bandwidth consumption, a plot showing stream latencies, and for time series plots of PPP 9356 results. 9357 </p> 9358 9359 <p> 9360 <h4 id="logfile">2.19.1 Log</h4> 9361 </p> 9362 <p> 9363 Records of BNC's activities are shown in the 'Log' tab. They can be saved into a file when a valid path is specified 9364 in the 'Logfile (full path)' field. 9365 </p> 9366 9367 <p> 9368 <h4 id="throughput">2.19.2 Throughput</h4> 9369 </p> 9370 <p> 9371 The bandwidth consumption per stream is shown in the 'Throughput' tab in bits per second (bps) or kilobits per 9372 second (kbps). 9373 The following figure shows an example for the bandwidth consumption of incoming streams. 9374 </p> 9375 <p><img src="IMG/Figure33.png" width=1000 /></p> 9376 <p>Figure 33: Bandwidth consumption of RTCM streams received by BNC</p> 9377 <p> 9378 <h4 id="latency">2.19.3 Latency</h4> 9379 </p> 9380 <p> 9381 The latency of observations in each incoming stream is shown in the 'Latency' tab in milliseconds or seconds. 9382 Streams not carrying observations (e.g. those providing only Broadcast Ephemeris messages) or having an outage 9383 are not considered here and shown in red color. Note that the calculation of correct latencies requires the 9384 clock of the host computer to be properly synchronized. The next figure shows an example for the latency 9385 of incoming streams. 9386 </p> 9387 <p><img src="IMG/Figure34.png" width=1000 /></p> 9388 <p>Figure 34: Latency of RTCM streams received by BNC</p> 9389 9390 <p> 9391 <h4 id="ppptab">2.19.4 PPP Plot</h4> 9392 </p> 9393 <p> 9394 Precise Point Positioning time series of North (red), East (green) and Up (blue) coordinate components are shown in 9395 the 'PPP Plot' tab when 9396 a 'Mountpoint' option is defined under PPP (4). Values are referred to a priori reference coordinates. The time as 9397 given in format [hh:mm] 9398 refers to GPS Time. The sliding PPP time series window covers a period of 5 minutes. Note that it may take up to 30 9399 seconds or more until 9400 the first PPP solutions becomes available. The following figure shows the screenshot of a PPP time series plot of 9401 North, East and Up 9402 coordinate displacements. 9403 </p> 9404 <p><img src="IMG/Figure35.png" width=1000 /></p> 9405 <p>Figure 35: Example for time series plot of displacements produced by BNC</p> 9406 9407 <p> 9408 <h4 id="bottom">2.20 Bottom Menu Bar</h4> 9409 </p> 9410 <p> 9411 The bottom menu bar allows to add or delete streams to or from BNC's configuration and to start or stop it. 9412 It also provides access to BNC's online help function. The 'Add Stream' button opens a window that allows users 9413 to select one of several input communication links, see figure below. 9414 </p> 9415 <p><img src="IMG/Figure36.png" width=400 /></p> 9416 <p>Figure 36: Steam input communication links accepted by BNC</p> 9417 9418 <p> 9419 <h4 id="streamadd">2.20.1 Add Stream</h4> 9420 </p> 9421 <p> 9422 Button 'Add Stream' allows you to pull streams either from an Ntrip Broadcaster or from a TCP/IP port, UPD port, or 9423 serial port. 9424 </p> 9425 9426 <p> 9427 <h4 id="streamcaster">2.20.1.1 Add Stream - Coming from Caster</h4> 9428 </p> 9429 <p> 9430 Button 'Add Stream' > 'Coming from Caster' opens a window that allows users to select data streams from an Ntrip 9431 Broadcaster according 9432 to their mountpoints and show a distribution map of offered streams. 9433 </p> 9434 9435 <p> 9436 <h4 id="streamhost">2.20.1.1.1 Caster Host and Port - mandatory</h4> 9437 </p> 9438 <p> 9439 Enter the Ntrip Broadcaster host IP and port number. Note that EUREF and IGS operate Ntrip Broadcasters 9440 <a href="https://euref-ip.net/home" target="_blank">https://euref-ip.net/home</a>, 9441 <a href="https://igs-ip.net/home" target="_blank">https://igs-ip.net/home</a> and 9442 <a href="https://products.igs-ip.net/home" target="_blank">https://products.igs-ip.net/home</a>. 9443 </p> 9444 9445 <p> 9446 <h4 id="streamtable">2.20.1.1.2 Casters Table - optional</h4> 9447 </p> 9448 <p> 9449 It may be that you are not sure about your Ntrip Broadcaster's host and port number or you are interested in other 9450 broadcaster installations operated elsewhere. Hit 'Show' for a table of known broadcasters maintained at 9451 <a href="https://rtcm-ntrip.org/home " target="_blank">https://rtcm-ntrip.org/home </a>. 9452 A window opens which allows selecting a broadcaster for stream retrieval, see figure below. 9453 </p> 9454 <p><img src="IMG/Figure37.png" width=1000 /></p> 9455 <p>Figure 37: BNC's 'Select Broadcaster' table</p> 9456 9457 <p> 9458 <h4 id="streamuser">2.20.1.1.3 User and Password - mandatory for protected streams</h4> 9459 </p> 9460 <p> 9461 Streams on Ntrip Broadcasters may be protected. Enter a valid 'User' ID and 'Password' for access to protected 9462 streams. 9463 Accounts are usually provided per Ntrip Broadcaster through a registration procedure. 9464 Register through <a href="https://register.rtcm-ntrip.org" target="_blank">https://register.rtcm-ntrip.org</a> 9465 for access to protected streams from EUREF and IGS. 9466 </p> 9467 9468 <p> 9469 <h4 id="gettable">2.20.1.1.4 Get Table</h4> 9470 </p> 9471 <p> 9472 Use the 'Get Table' button to download the source-table from the Ntrip Broadcaster. Pay attention to data fields 9473 'format' and 'format-details'. 9474 Keep in mind that BNC can only decode and convert streams that come in RTCM Version 2, RTCM Version 3, or RTNET 9475 format. 9476 For access to observations, Broadcast Ephemerides and Broadcast Corrections in RTCM format, streams must contain a 9477 selection of 9478 appropriate message types as listed in the Annex; cf. data field 'format-details' for available message types and 9479 their repetition rates in brackets. 9480 Note that in order to produce RINEX Navigation files, RTCM Version 3 streams containing navigation messages are 9481 required: 6304 9482 <table> 6305 <tr><td> Windows: </td><td>COM1, COM2</td></tr> 6306 <tr><td> Linux: </td><td>/dev/ttyS0, /dev/ttyS1</td></tr> 6307 <tr><td> FreeBSD: </td><td>/dev/ttyd0, /dev/ttyd1</td></tr> 6308 <tr><td> Digital Unix: </td><td>/dev/tty01, /dev/tty02</td></tr> 6309 <tr><td> HP-UX: </td><td>/dev/tty1p0, /dev/tty2p0</td></tr> 6310 <tr><td> SGI/IRIX; </td><td>/dev/ttyf1, /dev/ttyf2</td></tr> 6311 <tr><td> SunOS/Solaris: </td><td>/dev/ttya, /dev/ttyb</td></tr> 6312 </table> 6313 </li> 6314 <li>Select a 'Baud rate' for the serial input. Note that using a high baud rate is recommended.</li> 6315 <li>Select the number of 'Data bits' for the serial input. Note that often '8' data bits are used.</li> 6316 <li>Select the 'Parity' for the serial input. Note that parity is often set to 'NONE'.</li> 6317 <li>Select the number of 'Stop bits' for the serial input. Note that often '1' stop bit is used.</li> 6318 <li>Select a 'Flow control' for the serial link. Select 'OFF' if you do not know better.</li> 6319 </ul> 6320 </p> 6321 <p> 6322 When selecting one of the serial communication options listed above, make sure that you pick those configured to the serially connected GNSS receiver. 6323 </p> 6324 <p> 6325 Streams received from a serially connected GNSS receiver show up with an 'S' (for <u>S</u>erial Port, no Ntrip) in the 'Streams' canvas 6326 section on BNC's main window. Latitude and longitude are to be entered just for informal reasons. 6327 <p> 6328 <p> 6329 The following figure shows a BNC example setup for pulling a stream via serial port on a Windows operating system. 6330 </p> 6331 <p><img src="IMG/Figure40.png"width=400/></p> 6332 <p>Figure 40: BNC configuration for pulling a stream via serial port</p> 6333 6334 <p><h4 id="streamsdelete">2.20.2 Delete Stream</h4></p> 6335 <p> 6336 Button 'Delete Stream' allows you to delete streams previously selected for retrieval as listed under the 'Streams' canvas on BNC's main window. 6337 </p> 6338 6339 <p><h4 id="streamsmap">2.20.3 Map</h4></p> 6340 <p> 6341 Button 'Map' opens a window to show a distribution map of the streams selected for retrieval as listed under the 'Streams' canvas. 6342 You may like to zoom in or out using the mouse. Left button: draw a rectangle to zoom, right button: zoom out, middle button: zoom back. 6343 </p> 6344 6345 <p><h4 id="start">2.20.4 Start</h4></p> 6346 <p> 6347 Hit 'Start' to start retrieving, decoding or converting GNSS data streams in real-time. 6348 Note that 'Start' generally forces BNC to begin with fresh RINEX files which might overwrite existing files when necessary 6349 unless option 'Append files' is ticked. 6350 </p> 6351 6352 <p><h4 id="stop">2.20.5 Stop</h4></p> 6353 <p> 6354 Hit the 'Stop' button in order to stop BNC. 6355 </p> 6356 6357 <p><h4 id="contexthelp">2.20.6 Help? = Shift+F1</h4></p> 6358 <p> 6359 BNC comes with a <i>What's This</i> help system providing information about its functionality and usage. 6360 Short descriptions are available for any widget and program option. Focus to the relevant object and press Shift+F1 to request help information. 6361 A help text appears immediately; it disappears as soon as the user does something else. 6362 The dialogs on some operating systems may provide a '?' button that users can click; click the relevant widget to pop up the help text. 6363 </p> 6364 <p><h4 id="cmd">2.21 Command Line Options</h4></p> 6365 <p> 6366 Command line options are available to run BNC in 'no window' mode or let it read previously recorded input offline from one or 6367 several files for debugging or post processing purposes. It is also possible to introduce a specific configuration filename 6368 instead of using the default filename 'BNC.bnc'. The self-explaining content of the configuration file can easily be edited. 6369 </p> 6370 <p> 6371 In addition to reading processing options from the involved configuration file, BNC can optionally read any configuration option 6372 from command line. Running BNC with command line option 'help' 6373 </p> 6374 <p> 6375 Example:<br><br> 6376 bnc --help (MS Windows: bnc.exe --help | more) 6377 </p> 6378 <p> 6379 provides a list of all available command line options. 6380 </p> 6381 <p><h4 id="cmdVersion">2.21.1 Version - optional</h4></p> 6382 <p> 6383 Command line option '--version' lets BNC print its version number. 6384 </p> 6385 <p> 6386 Example:<br><br> 6387 bnc --version (MS Windows: bnc.exe --version | more) 6388 </p> 6389 <p><h4 id="cmdDisplay">2.21.2 Display - optional</h4></p> 6390 <p> 6391 On systems which support graphics, command line option '--display' forces BNC to present the BNC window on the specified display. 6392 </p> 6393 <p> 6394 Example:<br><br> 6395 bnc.exe --display localhost:10.0 6396 </p> 6397 <p><h4 id="nw">2.21.3 No Window Mode - optional</h4></p> 6398 <p> 6399 Apart from its regular windows mode, BNC can be started on all systems as a batch job with command line option '-nw'. 6400 BNC will then run in 'no window' mode, using processing options from its configuration file on disk. 6401 Terminate BNC using Windows Task Manager when running it in 'no window' mode on Windows systems. 6402 </p> 6403 <p> 6404 Example:<br><br> 6405 bnc.exe --nw 6406 </p> 6407 <p> 6408 The following Linux command line produces RINEX QC plots (see Estey and Meertens 1999) offline in 'no window' mode 6409 and saves them in directory '/home/user'. Introducing a dummy configuration file /dev/null makes sure that no configuration options 6410 previously saved on disc are used: 6411 It is obvious that BNC requires graphics support when started in interactive 6412 mode. However, note that graphics support is also required when producing plots in 6413 batch mode (option -nw). Windows and Mac OS X systems always support graphics. For 6414 producing plots in batch mode on Linux systems you must make sure that at 6415 least a virtual X-Server such as 'Xvfb' is installed and the '-display' option 6416 is used. The following is an example shell script to execute BNC in batch mode 6417 for producing QC plots from RINEX files. It could be used via 'crontab': 6418 6419 <pre><p style="font-family:Monospace"> 9483 <tr> 9484 <td>Navigation </td> 9485 <td>Description </td> 9486 <td>Constellation </td> 9487 <td>RTCM </td> 9488 </tr> 9489 <tr> 9490 <td>Message Type </td> 9491 <td> </td> 9492 <td>and Signal </td> 9493 <td>Message Type</td> 9494 </tr> 9495 <tr> 9496 <td> </td> 9497 <td> </td> 9498 <td> </td> 9499 <td> </td> 9500 </tr> 9501 <tr> 9502 <td> </td> 9503 <td> </td> 9504 <td> </td> 9505 <td> </td> 9506 </tr> 9507 <tr> 9508 <td>LNAV</td> 9509 <td> GPS Legacy navigation message </td> 9510 <td>GPS L1 C/A </td> 9511 <td>1019</td> 9512 </tr> 9513 <tr> 9514 <td> </td> 9515 <td> QZSS Legacy navigation message </td> 9516 <td>QZSS L1 C/A or L1 C/B </td> 9517 <td>1044</td> 9518 </tr> 9519 <tr> 9520 <td> </td> 9521 <td> NavIC Legacy navigation message </td> 9522 <td>NavIC L5/S SPS </td> 9523 <td>1041</td> 9524 </tr> 9525 <tr> 9526 <td> </td> 9527 <td> </td> 9528 <td> </td> 9529 <td> </td> 9530 </tr> 9531 <tr> 9532 <td>FDMA</td> 9533 <td> GLONASS Legacy FDMA navigation message </td> 9534 <td>GLO L1 C/A </td> 9535 <td>1020</td> 9536 </tr> 9537 <tr> 9538 <td> </td> 9539 <td> from M-satellites </td> 9540 <td> </td> 9541 <td> </td> 9542 </tr> 9543 <tr> 9544 <td> </td> 9545 <td> </td> 9546 <td> </td> 9547 <td> </td> 9548 </tr> 9549 <tr> 9550 <td>INAV</td> 9551 <td> Galileo Integrity navigation message </td> 9552 <td>GAL E1, E5b </td> 9553 <td>1046</td> 9554 </tr> 9555 <tr> 9556 <td> </td> 9557 <td> </td> 9558 <td> </td> 9559 <td> </td> 9560 </tr> 9561 <tr> 9562 <td>D1 </td> 9563 <td> BeiDou-2/3 MEO/IGSO navigation message </td> 9564 <td>BDS B1I, B2I, B3I </td> 9565 <td>1042</td> 9566 </tr> 9567 <tr> 9568 <td>D2 </td> 9569 <td> BeiDou-2/3 GEO navigation message </td> 9570 <td>BDS B1I, B2I, B3I </td> 9571 <td>1042</td> 9572 </tr> 9573 <tr> 9574 <td> </td> 9575 <td> </td> 9576 <td> </td> 9577 <td> </td> 9578 </tr> 9579 <tr> 9580 <td>SBAS</td> 9581 <td> SBAS navigation message </td> 9582 <td>SBAS L1 </td> 9583 <td>1043</td> 9584 </tr> 9585 </table> 9586 Select your streams line by line, use +Shift and +Ctrl when necessary. The figure below provides an example 9587 source-table. 9588 </p> 9589 <p> 9590 The content of data field 'nmea' tells you whether a stream retrieval needs to be initiated by BNC through sending 9591 an NMEA-GGA message 9592 carrying approximate position coordinates (Virtual Reference Station, VRS). 9593 </p> 9594 <p> 9595 Hit 'OK' to return to the main window. If you wish, you can click on 'Add Stream' and repeat the process of 9596 retrieving streams from different casters. 9597 </p> 9598 <p><img src="IMG/Figure38.png" width=1000 /></p> 9599 <p>Figure 38: Broadcaster source-table shown by BNC</p> 9600 9601 <p> 9602 <h4 id="ntripv">2.20.1.1.5 Ntrip Version - mandatory</h4> 9603 </p> 9604 <p> 9605 Some limitations and deficiencies of the Ntrip Version 1 stream transport protocol are solved in Ntrip Version 2. 9606 Improvements mainly concern a full HTTP compatibility in view of requirements coming from proxy servers. 9607 Version 2 is backwards compatible to Version 1. Options implemented in BNC are: 9608 </p> 9609 <p> 9610 <table> 9611 <tr> 9612 <td><b>Option </b></td> 9613 <td><b>Meaning</b></td> 9614 </tr> 9615 <tr> 9616 <td> 1 </td> 9617 <td>Ntrip Version 1, TCP/IP</td> 9618 </tr> 9619 <tr> 9620 <td> 2 </td> 9621 <td>Ntrip Version 2 in TCP/IP mode</td> 9622 </tr> 9623 <tr> 9624 <td> 2s </td> 9625 <td>Ntrip Version 2 in TCP/IP mode via SSL</td> 9626 </tr> 9627 <tr> 9628 <td> R </td> 9629 <td>Ntrip Version 2 in RTSP/RTP mode</td> 9630 </tr> 9631 <tr> 9632 <td> U </td> 9633 <td>Ntrip Version 2 in UDP mode</td> 9634 </tr> 9635 </table> 9636 </p> 9637 <p> 9638 Try using option '2' if your streams are otherwise blocked by a proxy server operated in front of BNC. 9639 </p> 9640 <p> 9641 When using Ntrip Version 2 via SSL (option '2s') you need to specify the appropriate 'Caster port' for that. 9642 It is usually port number 443. Clarify 'SSL' options offered in panel 'Network'. 9643 </p> 9644 <p> 9645 Option 'R' or 'U' may be selected if latency is more important than completeness for your application. 9646 Note that the latency reduction is likely to be in the order of 0.5 sec or less. 9647 Note further that options 'R' (RTSP/RTP mode) and 'U' (UDP mode) are not accepted by proxy servers and 9648 a mobile Internet Service Provider may not support it. 9649 </p> 9650 <p> 9651 <h4 id="castermap">2.20.1.1.6 Map - optional</h4> 9652 </p> 9653 <p> 9654 Button 'Map' opens a window to show a distribution map of the caster's streams. You may like to zoom in or out using 9655 the mouse. 9656 Left button: draw a rectangle to zoom, right button: zoom out, middle button: zoom back. 9657 </p> 9658 <p><img src="IMG/Figure39.png" width=1000 /></p> 9659 <p>Figure 39: Stream distribution map shown by BNC as derived from Ntrip Broadcaster source-table</p> 9660 9661 <p> 9662 <h4 id="streamip">2.20.1.2 Add Stream - Coming from TCP/IP Port</h4> 9663 </p> 9664 <p> 9665 Button 'Add Stream' > 'Coming from TCP/IP Port' allows to retrieve streams via TCP directly from an IP address 9666 without using the Ntrip transport protocol. For that you: 9667 <ul> 9668 <li>Enter the IP address of the stream providing host.</li> 9669 <li>Enter the IP port number of the stream providing host.</li> 9670 <li>Specify a mountpoint. Recommended is a 9-character station ID. Example: FFMJ00DEU</li> 9671 <li>Specify the stream format. Available options are 'RTCM_2', 'RTCM_3', 'RTNET', 'ZERO' and 'ZERO2FILE'.</li> 9672 <li>Enter the approximate latitude of the stream providing rover in degrees. Example: 50.09.</li> 9673 <li>Enter the approximate longitude of the stream providing rover in degrees. Example: 8.66.</li> 9674 </ul> 9675 </p> 9676 <p> 9677 Streams directly received from a TCP/IP port show up with an 'N' for 'No Ntrip' in the 'Streams' canvas on BNC's 9678 main window. 9679 Latitude and longitude are to be entered just for informal reasons. 9680 <p> 9681 </p> 9682 Note that this option works only if no proxy server is involved in the communication link. 9683 </p> 9684 <p> 9685 <h4 id="streamudp">2.20.1.3 Add Stream - Coming from UDP Port</h4> 9686 </p> 9687 <p> 9688 Button 'Add Stream' > 'Coming from UDP Port' allows to pick up streams arriving directly at one of the local 9689 host's UDP ports without using the Ntrip transport protocol. For that you: 9690 <ul> 9691 <li>Enter the local port number where the UDP stream arrives.</li> 9692 <li>Specify a mountpoint. Recommended is a 9-character station ID. Example: FFMJ00DEU</li> 9693 <li>Specify the stream format. Available options are 'RTCM_2', 'RTCM_3', 'RTNET', 'ZERO' and 'ZERO2FILE'.</li> 9694 <li>Enter the approximate latitude of the stream providing rover in degrees. Example: 50.09.</li> 9695 <li>Enter the approximate longitude of the stream providing rover in degrees. Example: 8.66.</li> 9696 </ul> 9697 </p> 9698 <p> 9699 Streams directly received at a UDP port show up with a 'UN' for 'UDP, No Ntrip' in the 'Streams' canvas section on 9700 BNC's main window. Latitude and longitude are to be entered just for informal reasons. 9701 <p> 9702 9703 <p> 9704 <h4 id="streamser">2.20.1.4 Add Stream - Coming from Serial Port</h4> 9705 </p> 9706 <p> 9707 Button 'Add Stream' > 'Coming from Serial Port' allows to retrieve streams from a GNSS receiver via serial port 9708 without using the Ntrip transport protocol. For that you: 9709 <ul> 9710 <li>Specify a mountpoint. Recommended is a 9-character station ID. Example: FFMJ00DEU</li> 9711 <li>Specify the stream format. Available options are 'RTCM_2', 'RTCM_3', 'RTNET', 'ZERO' and 'ZERO2FILE'.</li> 9712 <li>Enter the approximate latitude of the stream providing rover in degrees. Example: 50.09.</li> 9713 <li>Enter the approximate longitude of the stream providing rover in degrees. Example: 8.66.</li> 9714 <li>Enter the serial 'Port name' selected on your host for communication with the receiver. Valid port names are 9715 <table> 9716 <tr> 9717 <td> Windows: </td> 9718 <td>COM1, COM2</td> 9719 </tr> 9720 <tr> 9721 <td> Linux: </td> 9722 <td>/dev/ttyS0, /dev/ttyS1</td> 9723 </tr> 9724 <tr> 9725 <td> FreeBSD: </td> 9726 <td>/dev/ttyd0, /dev/ttyd1</td> 9727 </tr> 9728 <tr> 9729 <td> Digital Unix: </td> 9730 <td>/dev/tty01, /dev/tty02</td> 9731 </tr> 9732 <tr> 9733 <td> HP-UX: </td> 9734 <td>/dev/tty1p0, /dev/tty2p0</td> 9735 </tr> 9736 <tr> 9737 <td> SGI/IRIX; </td> 9738 <td>/dev/ttyf1, /dev/ttyf2</td> 9739 </tr> 9740 <tr> 9741 <td> SunOS/Solaris: </td> 9742 <td>/dev/ttya, /dev/ttyb</td> 9743 </tr> 9744 </table> 9745 </li> 9746 <li>Select a 'Baud rate' for the serial input. Note that using a high baud rate is recommended.</li> 9747 <li>Select the number of 'Data bits' for the serial input. Note that often '8' data bits are used.</li> 9748 <li>Select the 'Parity' for the serial input. Note that parity is often set to 'NONE'.</li> 9749 <li>Select the number of 'Stop bits' for the serial input. Note that often '1' stop bit is used.</li> 9750 <li>Select a 'Flow control' for the serial link. Select 'OFF' if you do not know better.</li> 9751 </ul> 9752 </p> 9753 <p> 9754 When selecting one of the serial communication options listed above, make sure that you pick those configured to the 9755 serially connected GNSS receiver. 9756 </p> 9757 <p> 9758 Streams received from a serially connected GNSS receiver show up with an 'S' (for <u>S</u>erial Port, no Ntrip) in 9759 the 'Streams' canvas 9760 section on BNC's main window. Latitude and longitude are to be entered just for informal reasons. 9761 <p> 9762 <p> 9763 The following figure shows a BNC example setup for pulling a stream via serial port on a Windows operating system. 9764 </p> 9765 <p><img src="IMG/Figure40.png" width=400 /></p> 9766 <p>Figure 40: BNC configuration for pulling a stream via serial port</p> 9767 9768 <p> 9769 <h4 id="streamsdelete">2.20.2 Delete Stream</h4> 9770 </p> 9771 <p> 9772 Button 'Delete Stream' allows you to delete streams previously selected for retrieval as listed under the 'Streams' 9773 canvas on BNC's main window. 9774 </p> 9775 9776 <p> 9777 <h4 id="streamsmap">2.20.3 Map</h4> 9778 </p> 9779 <p> 9780 Button 'Map' opens a window to show a distribution map of the streams selected for retrieval as listed under the 9781 'Streams' canvas. 9782 You may like to zoom in or out using the mouse. Left button: draw a rectangle to zoom, right button: zoom out, 9783 middle button: zoom back. 9784 </p> 9785 9786 <p> 9787 <h4 id="start">2.20.4 Start</h4> 9788 </p> 9789 <p> 9790 Hit 'Start' to start retrieving, decoding or converting GNSS data streams in real-time. 9791 Note that 'Start' generally forces BNC to begin with fresh RINEX files which might overwrite existing files when 9792 necessary 9793 unless option 'Append files' is ticked. 9794 </p> 9795 9796 <p> 9797 <h4 id="stop">2.20.5 Stop</h4> 9798 </p> 9799 <p> 9800 Hit the 'Stop' button in order to stop BNC. 9801 </p> 9802 9803 <p> 9804 <h4 id="contexthelp">2.20.6 Help? = Shift+F1</h4> 9805 </p> 9806 <p> 9807 BNC comes with a <i>What's This</i> help system providing information about its functionality and usage. 9808 Short descriptions are available for any widget and program option. Focus to the relevant object and press Shift+F1 9809 to request help information. 9810 A help text appears immediately; it disappears as soon as the user does something else. 9811 The dialogs on some operating systems may provide a '?' button that users can click; click the relevant widget to 9812 pop up the help text. 9813 </p> 9814 <p> 9815 <h4 id="cmd">2.21 Command Line Options</h4> 9816 </p> 9817 <p> 9818 Command line options are available to run BNC in 'no window' mode or let it read previously recorded input offline 9819 from one or 9820 several files for debugging or post processing purposes. It is also possible to introduce a specific configuration 9821 filename 9822 instead of using the default filename 'BNC.bnc'. The self-explaining content of the configuration file can easily be 9823 edited. 9824 </p> 9825 <p> 9826 In addition to reading processing options from the involved configuration file, BNC can optionally read any 9827 configuration option 9828 from command line. Running BNC with command line option 'help' 9829 </p> 9830 <p> 9831 Example:<br><br> 9832 bnc --help (MS Windows: bnc.exe --help | more) 9833 </p> 9834 <p> 9835 provides a list of all available command line options. 9836 </p> 9837 <p> 9838 <h4 id="cmdVersion">2.21.1 Version - optional</h4> 9839 </p> 9840 <p> 9841 Command line option '--version' lets BNC print its version number. 9842 </p> 9843 <p> 9844 Example:<br><br> 9845 bnc --version (MS Windows: bnc.exe --version | more) 9846 </p> 9847 <p> 9848 <h4 id="cmdDisplay">2.21.2 Display - optional</h4> 9849 </p> 9850 <p> 9851 On systems which support graphics, command line option '--display' forces BNC to present the BNC window on the 9852 specified display. 9853 </p> 9854 <p> 9855 Example:<br><br> 9856 bnc.exe --display localhost:10.0 9857 </p> 9858 <p> 9859 <h4 id="nw">2.21.3 No Window Mode - optional</h4> 9860 </p> 9861 <p> 9862 Apart from its regular windows mode, BNC can be started on all systems as a batch job with command line option 9863 '-nw'. 9864 BNC will then run in 'no window' mode, using processing options from its configuration file on disk. 9865 Terminate BNC using Windows Task Manager when running it in 'no window' mode on Windows systems. 9866 </p> 9867 <p> 9868 Example:<br><br> 9869 bnc.exe --nw 9870 </p> 9871 <p> 9872 The following Linux command line produces RINEX QC plots (see Estey and Meertens 1999) offline in 'no window' mode 9873 and saves them in directory '/home/user'. Introducing a dummy configuration file /dev/null makes sure that no 9874 configuration options 9875 previously saved on disc are used: 9876 It is obvious that BNC requires graphics support when started in interactive 9877 mode. However, note that graphics support is also required when producing plots in 9878 batch mode (option -nw). Windows and Mac OS X systems always support graphics. For 9879 producing plots in batch mode on Linux systems you must make sure that at 9880 least a virtual X-Server such as 'Xvfb' is installed and the '-display' option 9881 is used. The following is an example shell script to execute BNC in batch mode 9882 for producing QC plots from RINEX files. It could be used via 'crontab': 9883 9884 <pre><p style="font-family:Monospace"> 6420 9885 #!/bin/bash 6421 9886 … … 6430 9895 </p></pre> 6431 9896 6432 <p><h4 id="post">2.21.4 File Mode - optional</h4></p> 6433 <p> 6434 Although BNC is primarily a real-time online tool, for debugging purposes it can be run offline to read data from a file 6435 previously saved through option 'Raw output file' (Record & Replay functionality). Enter the following command line option for that 6436 </p> 6437 <p> 6438 --file <<u>inputFileName</u>> 6439 </p> 6440 and specify the full path to an input file containing previously saved data. Example:<br><br> 6441 ./bnc --file /home/user/raw.output_221202 6442 </p> 6443 <p> 6444 Note that when running BNC offline, it will use options for file saving, interval, sampling, PPP etc. from its configuration file. 6445 </p> 6446 <p>Note further that option '--file' forces BNC to apply the '-nw' option for running in 'no window' mode. 6447 </p> 6448 <p><h4 id="conffile">2.21.5 Configuration File - optional</h4></p> 6449 The default configuration filename is 'BNC.bnc'. You may change this name at startup time using command line option '--conf <<u>confFileName</u>>'. This allows running several BNC jobs in parallel on the same host using different sets of configuration options. <u>confFileName</u> stands either for the full path to a configuration file or just for a filename. If you introduce only a filename, the corresponding file will be saved in the current working directory from where BNC is started. 6450 </p> 6451 <p> 6452 Example:<br><br> 6453 ./bnc --conf MyConfig.bnc 6454 </p> 6455 <p> 6456 This leads to a BNC job using configuration file 'MyConfig.bnc'. The configuration file will be saved in the current working directory. 6457 </p> 6458 <p><h4 id="confopt">2.21.6 Configuration Options - optional</h4></p> 6459 <p> 6460 BNC applies options from the configuration file but allows updating every one of them on the command line while the content of the configuration file remains unchanged. Note the following syntax for Command Line Interface (CLI) options: 6461 </p> 6462 <p> 6463 --key <keyName> <keyValue> 6464 </p> 6465 <p> 6466 Parameter <keyName> stands for the key name of an option contained in the configuration file and <keyValue> 6467 stands for the value you want to assign to it. The following is a syntax example for a complete command line: 6468 </p> 6469 <p> 6470 bnc --nw --conf <confFileName> --key <keyName1> <keyValue1> --key <keyName2> <keyValue2> ... 6471 </p> 6472 <p> 6473 Configuration options which are part of the configuration files PPP section must be prefixed by 'PPP/'. 6474 As an example, option 'minObs' from the PPP section of the BNC configuration file would be specified as 6475 </p> 6476 <p> 6477 'PPP/minObs' 6478 </p> 6479 on a command line. 6480 <p> 6481 Values for configuration options can be introduced via command line exactly as they show up in the configuration file. 6482 However, any value containing one or more blank characters must be enclosed by quotation marks when specified on command line. 6483 </p> 6484 <p><h3 id="annex">3. Annex</h3></p> 6485 6486 <p><h4 id="rtcm">3.1 RTCM Standards</h4></p> 6487 <p> 6488 The Radio Technical Commission for Maritime Services (RTCM) is an international non-profit scientific, professional and educational organization. 6489 Special Committees provide a forum in which governmental and non-governmental members work together to develop 6490 technical standards and consensus recommendations in regard to issues of particular concern. 6491 RTCM is engaged in the development of international standards for maritime radionavigation and radiocommunication systems. 6492 The output documents and reports prepared by RTCM Committees are published as RTCM Recommended Standards. 6493 Topics concerning Differential Global Navigation Satellite Systems (DGNSS) are handled by the Special Committee SC 104. 6494 <p> 6495 Personal copies of RTCM Recommended Standards can be ordered through 6496 <a href="https://rtcm.myshopify.com/collections/differential-global-navigation-satellite-dgnss-standards" target="_blank">https://rtcm.myshopify.com/collections/differential-global-navigation-satellite-dgnss-standards</a> 6497 6498 </p> 6499 <p><h4 id="ntrip1">3.1.1 Ntrip Version 1</h4></p> 6500 <p> 6501 'Networked Transport of RTCM via Internet Protocol' Version 1.0 (Ntrip) stands for an application-level protocol streaming 6502 Global Navigation Satellite System (GNSS) data over the Internet. Ntrip is a generic, stateless protocol based on the 6503 Hypertext Transfer Protocol HTTP/1.1. The HTTP objects are enhanced to GNSS data streams. 6504 </p> 6505 <p> 6506 Ntrip Version 1 is an RTCM standard designed for disseminating differential correction data (e.g. in the RTCM-104 format) or 6507 other kinds of GNSS streaming data to stationary or mobile users over the Internet, allowing simultaneous PC, Laptop, PDA, 6508 or receiver connections to a broadcasting host. Ntrip supports wireless Internet access through Mobile IP Networks like GSM, GPRS, EDGE, or UMTS. 6509 </p> 6510 6511 <p> 6512 Ntrip is implemented in three system software components: Ntrip Clients, Ntrip Servers and Ntrip Broadcasters. 6513 The Ntrip Broadcaster is the actual HTTP server program whereas Ntrip Client and Ntrip Server are acting as HTTP clients. 6514 </p> 6515 <p> 6516 Ntrip is an open none-proprietary protocol. Major characteristics of Ntrip's dissemination technique are: 6517 <ul> 6518 <li>Based on the popular HTTP streaming standard; comparatively easy to implement when having limited client and server platform resources available;</li> 6519 <li>Application not limited to one particular plain or coded stream content; ability to distribute any kind of GNSS data;</li> 6520 <li>Potential to support mass usage; disseminating hundreds of streams simultaneously for thousands of users possible when applying modified Internet Radio broadcasting software;</li> 6521 <li>Considering security needs; stream providers and users do not necessarily get into contact, streams often not blocked by firewalls or proxy servers protecting Local Area Networks;</li> 6522 <li>Enables streaming over mobile IP networks because of using TCP/IP.</li> 6523 </ul> 6524 </p> 6525 <p> 6526 The Ntrip Broadcaster maintains a source-table containing information on available Ntrip streams, networks of Ntrip streams and Ntrip Broadcasters. 6527 See at <a href="https://software.rtcm-ntrip.org/wiki/Sourcetable" target="_blank">https://software.rtcm-ntrip.org/wiki/Sourcetable</a> for details. 6528 </p> 6529 <p> 6530 Source-table records are dedicated to one of the following: 6531 <ul> 6532 <li>Data Streams (record type STR, for details see at: <a href="https://software.rtcm-ntrip.org/wiki/STR" target="_blank">https://software.rtcm-ntrip.org/wiki/STR</a> </li> 6533 <li>Casters (record type CAS, for details see at: <a href="https://software.rtcm-ntrip.org/wiki/CAS" target="_blank">https://software.rtcm-ntrip.org/wiki/CAS</a> </li> 6534 <li>Networks of streams (record type NET, for details see at: <a href="https://software.rtcm-ntrip.org/wiki/NET" target="_blank">https://software.rtcm-ntrip.org/wiki/NET</a> </li> 6535 </ul> 6536 </p> 6537 The source-table is sent to an Ntrip Client on request. 6538 </p> 6539 <p><h4 id="ntrip2">3.1.2 Ntrip Version 2</h4></p> 6540 <p> 6541 The major changes of Ntrip Version 2 compared to Version 1.0 are: 6542 </p> 6543 <ul> 6544 <li>Cleared and fixed design problems and HTTP protocol violations;</li> 6545 <li>Replaced nonstandard directives;</li> 6546 <li>Chunked transfer encoding;</li> 6547 <li>Improvements in header records;</li> 6548 <li>Source-table filtering;</li> 6549 <li>RTSP communication.</li> 6550 </ul> 6551 <p> 6552 Ntrip Version 2 allows to communicate either in TCP/IP mode or in RTSP/RTP mode or in UDP mode whereas Version 1 is limited to TCP/IP only. 6553 </p> 6554 <p> 6555 It furthermore allows using the Transport Layer Security (TLS) for secure Ntrip communication over the Internet. 6556 </p> 6557 <p><h4 id="rtcm2">3.1.3 RTCM Version 2</h4></p> 6558 <p> 6559 Transmitting GNSS carrier phase data can be done through RTCM Version 2 messages. 6560 Please note that only RTCM Version 2.2 and 2.3 streams may include GLONASS data. Messages that may be of interest here are: 6561 </p> 6562 <ul> 6563 <li>Type 1 message is the range correction message and is the primary message in code-phase differential positioning (DGPS). 9897 <p> 9898 <h4 id="post">2.21.4 File Mode - optional</h4> 9899 </p> 9900 <p> 9901 Although BNC is primarily a real-time online tool, for debugging purposes it can be run offline to read data from a 9902 file 9903 previously saved through option 'Raw output file' (Record & Replay functionality). Enter the following command 9904 line option for that 9905 </p> 9906 <p> 9907 --file <<u>inputFileName</u>> 9908 </p> 9909 and specify the full path to an input file containing previously saved data. Example:<br><br> 9910 ./bnc --file /home/user/raw.output_221202 9911 </p> 9912 <p> 9913 Note that when running BNC offline, it will use options for file saving, interval, sampling, PPP etc. from its 9914 configuration file. 9915 </p> 9916 <p>Note further that option '--file' forces BNC to apply the '-nw' option for running in 'no window' mode. 9917 </p> 9918 <p> 9919 <h4 id="conffile">2.21.5 Configuration File - optional</h4> 9920 </p> 9921 The default configuration filename is 'BNC.bnc'. You may change this name at startup time using command line option 9922 '--conf <<u>confFileName</u>>'. This allows running several BNC jobs in parallel on the same host using 9923 different sets of configuration options. <u>confFileName</u> stands either for the full path to a configuration file 9924 or just for a filename. If you introduce only a filename, the corresponding file will be saved in the current working 9925 directory from where BNC is started. 9926 </p> 9927 <p> 9928 Example:<br><br> 9929 ./bnc --conf MyConfig.bnc 9930 </p> 9931 <p> 9932 This leads to a BNC job using configuration file 'MyConfig.bnc'. The configuration file will be saved in the current 9933 working directory. 9934 </p> 9935 <p> 9936 <h4 id="confopt">2.21.6 Configuration Options - optional</h4> 9937 </p> 9938 <p> 9939 BNC applies options from the configuration file but allows updating every one of them on the command line while the 9940 content of the configuration file remains unchanged. Note the following syntax for Command Line Interface (CLI) 9941 options: 9942 </p> 9943 <p> 9944 --key <keyName> <keyValue> 9945 </p> 9946 <p> 9947 Parameter <keyName> stands for the key name of an option contained in the configuration file and 9948 <keyValue> 9949 stands for the value you want to assign to it. The following is a syntax example for a complete command line: 9950 </p> 9951 <p> 9952 bnc --nw --conf <confFileName> --key <keyName1> <keyValue1> --key 9953 <keyName2> <keyValue2> ... 9954 </p> 9955 <p> 9956 Configuration options which are part of the configuration files PPP section must be prefixed by 'PPP/'. 9957 As an example, option 'minObs' from the PPP section of the BNC configuration file would be specified as 9958 </p> 9959 <p> 9960 'PPP/minObs' 9961 </p> 9962 on a command line. 9963 <p> 9964 Values for configuration options can be introduced via command line exactly as they show up in the configuration 9965 file. 9966 However, any value containing one or more blank characters must be enclosed by quotation marks when specified on 9967 command line. 9968 </p> 9969 <p> 9970 <h3 id="annex">3. Annex</h3> 9971 </p> 9972 9973 <p> 9974 <h4 id="rtcm">3.1 RTCM Standards</h4> 9975 </p> 9976 <p> 9977 The Radio Technical Commission for Maritime Services (RTCM) is an international non-profit scientific, professional 9978 and educational organization. 9979 Special Committees provide a forum in which governmental and non-governmental members work together to develop 9980 technical standards and consensus recommendations in regard to issues of particular concern. 9981 RTCM is engaged in the development of international standards for maritime radionavigation and radiocommunication 9982 systems. 9983 The output documents and reports prepared by RTCM Committees are published as RTCM Recommended Standards. 9984 Topics concerning Differential Global Navigation Satellite Systems (DGNSS) are handled by the Special Committee SC 9985 104. 9986 <p> 9987 Personal copies of RTCM Recommended Standards can be ordered through 9988 <a href="https://rtcm.myshopify.com/collections/differential-global-navigation-satellite-dgnss-standards" 9989 target="_blank">https://rtcm.myshopify.com/collections/differential-global-navigation-satellite-dgnss-standards</a> 9990 9991 </p> 9992 <p> 9993 <h4 id="ntrip1">3.1.1 Ntrip Version 1</h4> 9994 </p> 9995 <p> 9996 'Networked Transport of RTCM via Internet Protocol' Version 1.0 (Ntrip) stands for an application-level protocol 9997 streaming 9998 Global Navigation Satellite System (GNSS) data over the Internet. Ntrip is a generic, stateless protocol based on 9999 the 10000 Hypertext Transfer Protocol HTTP/1.1. The HTTP objects are enhanced to GNSS data streams. 10001 </p> 10002 <p> 10003 Ntrip Version 1 is an RTCM standard designed for disseminating differential correction data (e.g. in the RTCM-104 10004 format) or 10005 other kinds of GNSS streaming data to stationary or mobile users over the Internet, allowing simultaneous PC, 10006 Laptop, PDA, 10007 or receiver connections to a broadcasting host. Ntrip supports wireless Internet access through Mobile IP Networks 10008 like GSM, GPRS, EDGE, or UMTS. 10009 </p> 10010 10011 <p> 10012 Ntrip is implemented in three system software components: Ntrip Clients, Ntrip Servers and Ntrip Broadcasters. 10013 The Ntrip Broadcaster is the actual HTTP server program whereas Ntrip Client and Ntrip Server are acting as HTTP 10014 clients. 10015 </p> 10016 <p> 10017 Ntrip is an open none-proprietary protocol. Major characteristics of Ntrip's dissemination technique are: 10018 <ul> 10019 <li>Based on the popular HTTP streaming standard; comparatively easy to implement when having limited client and 10020 server platform resources available;</li> 10021 <li>Application not limited to one particular plain or coded stream content; ability to distribute any kind of GNSS 10022 data;</li> 10023 <li>Potential to support mass usage; disseminating hundreds of streams simultaneously for thousands of users 10024 possible when applying modified Internet Radio broadcasting software;</li> 10025 <li>Considering security needs; stream providers and users do not necessarily get into contact, streams often not 10026 blocked by firewalls or proxy servers protecting Local Area Networks;</li> 10027 <li>Enables streaming over mobile IP networks because of using TCP/IP.</li> 10028 </ul> 10029 </p> 10030 <p> 10031 The Ntrip Broadcaster maintains a source-table containing information on available Ntrip streams, networks of Ntrip 10032 streams and Ntrip Broadcasters. 10033 See at <a href="https://software.rtcm-ntrip.org/wiki/Sourcetable" 10034 target="_blank">https://software.rtcm-ntrip.org/wiki/Sourcetable</a> for details. 10035 </p> 10036 <p> 10037 Source-table records are dedicated to one of the following: 10038 <ul> 10039 <li>Data Streams (record type STR, for details see at: <a href="https://software.rtcm-ntrip.org/wiki/STR" 10040 target="_blank">https://software.rtcm-ntrip.org/wiki/STR</a> </li> 10041 <li>Casters (record type CAS, for details see at: <a href="https://software.rtcm-ntrip.org/wiki/CAS" 10042 target="_blank">https://software.rtcm-ntrip.org/wiki/CAS</a> </li> 10043 <li>Networks of streams (record type NET, for details see at: <a href="https://software.rtcm-ntrip.org/wiki/NET" 10044 target="_blank">https://software.rtcm-ntrip.org/wiki/NET</a> </li> 10045 </ul> 10046 </p> 10047 The source-table is sent to an Ntrip Client on request. 10048 </p> 10049 <p> 10050 <h4 id="ntrip2">3.1.2 Ntrip Version 2</h4> 10051 </p> 10052 <p> 10053 The major changes of Ntrip Version 2 compared to Version 1.0 are: 10054 </p> 10055 <ul> 10056 <li>Cleared and fixed design problems and HTTP protocol violations;</li> 10057 <li>Replaced nonstandard directives;</li> 10058 <li>Chunked transfer encoding;</li> 10059 <li>Improvements in header records;</li> 10060 <li>Source-table filtering;</li> 10061 <li>RTSP communication.</li> 10062 </ul> 10063 <p> 10064 Ntrip Version 2 allows to communicate either in TCP/IP mode or in RTSP/RTP mode or in UDP mode whereas Version 1 is 10065 limited to TCP/IP only. 10066 </p> 10067 <p> 10068 It furthermore allows using the Transport Layer Security (TLS) for secure Ntrip communication over the Internet. 10069 </p> 10070 <p> 10071 <h4 id="rtcm2">3.1.3 RTCM Version 2</h4> 10072 </p> 10073 <p> 10074 Transmitting GNSS carrier phase data can be done through RTCM Version 2 messages. 10075 Please note that only RTCM Version 2.2 and 2.3 streams may include GLONASS data. Messages that may be of interest 10076 here are: 10077 </p> 10078 <ul> 10079 <li>Type 1 message is the range correction message and is the primary message in code-phase differential positioning 10080 (DGPS). 6564 10081 It is computed in the base receiver by computing the error in the range measurement for each tracked SV.</li> 6565 <li>Type 2 message is automatically generated when a new set of satellite ephemeris is downloaded to the base receiver. 10082 <li>Type 2 message is automatically generated when a new set of satellite ephemeris is downloaded to the base 10083 receiver. 6566 10084 It is the computed difference between the old ephemeris and the new ephemeris. 6567 10085 Type 2 messages are used when the base station is transmitting Type 1 messages.</li> 6568 <li>Type 3 and 22 messages are the base station position and the antenna offset. 10086 <li>Type 3 and 22 messages are the base station position and the antenna offset. 6569 10087 Type 3 and 22 are used in RTK processing to perform antenna reduction.</li> 6570 <li>Type 6 message is a null frame filler message that is provided for data links that require continuous transmission of data, 6571 even if there are no corrections to send. As many Type 6 messages are sent as required to fill in the gap between two correction messages (type 1). 10088 <li>Type 6 message is a null frame filler message that is provided for data links that require continuous 10089 transmission of data, 10090 even if there are no corrections to send. As many Type 6 messages are sent as required to fill in the gap between 10091 two correction messages (type 1). 6572 10092 Message 6 is not sent in burst mode.</li> 6573 <li>Type 9 message serves the same purpose as Type 1, but does not require a complete satellite set. 10093 <li>Type 9 message serves the same purpose as Type 1, but does not require a complete satellite set. 6574 10094 As a result, Type 9 messages require a more stable clock than a station transmitting Type 1 's, 6575 10095 because the satellite corrections have different time references.</li> 6576 <li>Type 16 message is simply a text message entered by the user that is transmitted from the base station to the rover. 10096 <li>Type 16 message is simply a text message entered by the user that is transmitted from the base station to the 10097 rover. 6577 10098 It is used with code-phase differential.</li> 6578 <li>Type 18 and 20 messages are RTK uncorrected carrier phase data and carrier phase corrections.</li> 6579 <li>Type 19 and 21 messages are the uncorrected pseudo-range measurements and pseudo-range corrections used in RTK.</li> 6580 <li>Type 23 message provides the information on the antenna type used on the reference station.</li> 6581 <li>Type 24 message carries the coordinates of the installed antenna's ARP in the GNSS coordinate system coordinates.</li> 6582 </ul> 6583 6584 <p><h4 id="rtcm3">3.1.4 RTCM Version 3</h4></p> 6585 <p> 6586 RTCM Version 3 has been developed as a more efficient alternative to RTCM Version 2. 6587 Service providers and vendors have asked for a standard that would be more efficient, easy to use, and more easily adaptable to new situations. 6588 The main complaint was that the Version 2 parity scheme was wasteful of bandwidth. Another complaint was that the parity is not independent 6589 from word to word. Still another was that even with so many bits devoted to parity, the actual integrity of the message was not as high 6590 as it should be. Plus, 30-bit words are awkward to handle. The Version 3 standard is intended to correct these weaknesses. 6591 </p> 6592 6593 <p> 6594 RTCM Version 3 defines a number of message types. Messages that may be of interest here are: 6595 <ul> 6596 <li>Type 1001, GPS L1 code and phase.</li> 6597 <li>Type 1002, GPS L1 code and phase and ambiguities and carrier-to-noise ratio.</li> 6598 <li>Type 1003, GPS L1 and L2 code and phase.</li> 6599 <li>Type 1004, GPS L1 and L2 code and phase and ambiguities and carrier-to-noise ratio.</li> 6600 <li>Type 1005, Station coordinates XYZ for antenna reference point.</li> 6601 <li>Type 1006, Station coordinates XYZ for antenna reference point and antenna height.</li> 6602 <li>Type 1007, Antenna descriptor and ID.</li> 6603 <li>Type 1008, Antenna serial number.</li> 6604 <li>Type 1009, GLONASS L1 code and phase.</li> 6605 <li>Type 1010, GLONASS L1 code and phase and ambiguities and carrier-to-noise ratio.</li> 6606 <li>Type 1011, GLONASS L1 and L2 code and phase.</li> 6607 <li>Type 1012, GLONASS L1 and L2 code and phase and ambiguities and carrier-to-noise ratio.</li> 6608 <li>Type 1013, Modified Julian Date, leap second, configured message types and interval.</li> 6609 <li>Type 1019, GPS ephemeris.</li> 6610 <li>Type 1020, GLONASS ephemeris.</li> 6611 <li>Type 1041 NavIC ephemeris.</li> 6612 <li>Type 1042, BDS/BeiDou ephemeris.</li> 6613 <li>Type 1043, SBAS ephemeris.</li> 6614 <li>Type 1044, QZSS ephemeris.</li> 6615 <li>Type 1045, Galileo F/NAV ephemeris.</li> 6616 <li>Type 1046, Galileo I/NAV ephemeris.</li> 6617 <li>Type 1300, Service CRS. </li> 6618 <li>Type 1301, Helmert transformation parameters. </li> 6619 <li>Type 1302, RTCM CRS. </li> 6620 <li>Type 4076, Proprietary messages of the International IGS Service.</li> 6621 </ul> 6622 </p> 6623 6624 <p> 6625 The following are so-called 'State Space Representation' (SSR) messages defined or proposed within RTCM SC-104: 6626 <ul> 6627 <li>Type 1057, GPS orbit corrections to Broadcast Ephemeris</li> 6628 <li>Type 1058, GPS clock corrections to Broadcast Ephemeris</li> 6629 <li>Type 1059, GPS code biases</li> 6630 <li>Type 1060, Combined orbit and clock corrections to GPS Broadcast Ephemeris</li> 6631 <li>Type 1061, GPS User Range Accuracy (URA)</li> 6632 <li>Type 1062, High-rate GPS clock corrections to Broadcast Ephemeris<br><br></li> 6633 6634 <li>Type 1063, GLONASS orbit corrections to Broadcast Ephemeris</li> 6635 <li>Type 1064, GLONASS clock corrections to Broadcast Ephemeris</li> 6636 <li>Type 1065, GLONASS code biases</li> 6637 <li>Type 1066, Combined orbit and clock corrections to GLONASS Broadcast Ephemeris</li> 6638 <li>Type 1067, GLONASS User Range Accuracy (URA)</li> 6639 <li>Type 1068, High-rate GLONASS clock corrections to Broadcast Ephemeris<br><br></li> 6640 6641 <li>Type 1240, Galileo orbit corrections to Broadcast Ephemeris</li> 6642 <li>Type 1241, Galileo clock corrections to Broadcast Ephemeris</li> 6643 <li>Type 1242, Galileo code biases</li> 6644 <li>Type 1243, Combined orbit and clock corrections to Galileo Broadcast Ephemeris</li> 6645 <li>Type 1244, Galileo User Range Accuracy (URA)</li> 6646 <li>Type 1245, High-rate Galileo clock corrections to Broadcast Ephemeris<br><br></li> 6647 6648 <li>Type 1246, QZSS orbit corrections to Broadcast Ephemeris</li> 6649 <li>Type 1247, QZSS clock corrections to Broadcast Ephemeris</li> 6650 <li>Type 1248, QZSS code biases</li> 6651 <li>Type 1249, Combined orbit and clock corrections to QZSS Broadcast Ephemeris</li> 6652 <li>Type 1250, QZSS User Range Accuracy (URA)</li> 6653 <li>Type 1251, High-rate QZSS clock corrections to Broadcast Ephemeris<br><br></li> 6654 6655 <li>Type 1252, SBAS orbit corrections to Broadcast Ephemeris</li> 6656 <li>Type 1253, SBAS clock corrections to Broadcast Ephemeris</li> 6657 <li>Type 1254, SBAS code biases</li> 6658 <li>Type 1255, Combined orbit and clock corrections to SBAS Broadcast Ephemeris</li> 6659 <li>Type 1256, SBAS User Range Accuracy (URA)</li> 6660 <li>Type 1257, High-rate SBAS clock corrections to Broadcast Ephemeris<br><br></li> 6661 6662 <li>Type 1258, BDS orbit corrections to Broadcast Ephemeris</li> 6663 <li>Type 1259, BDS clock corrections to Broadcast Ephemeris</li> 6664 <li>Type 1260, BDS code biases</li> 6665 <li>Type 1261, Combined orbit and clock corrections to BDS Broadcast Ephemeris</li> 6666 <li>Type 1262, BDS User Range Accuracy (URA)</li> 6667 <li>Type 1263, High-rate BDS clock corrections to Broadcast Ephemeris<br><br></li> 6668 6669 <li>Type 1264 SSR Ionosphere VTEC Spherical Harmonics</li> 6670 <li>Type 1265 SSR GPS Satellite Phase Bias</li> 6671 <li>Type 1266 SSR Satellite GLONASS Phase Bias</li> 6672 <li>Type 1267 SSR Satellite Galileo Phase Bias</li> 6673 <li>Type 1268 SSR Satellite QZSS Phase Bias</li> 6674 <li>Type 1269 SSR Satellite SBAS Phase Bias</li> 6675 <li>Type 1270 SSR Satellite BDS Phase Bias</li> 6676 </ul> 6677 </p> 6678 6679 <p> 6680 The following are so-called 'Multiple Signal Messages' (MSM) defined within RTCM SC-104: 6681 <ul> 6682 <li>Type 1071, Compact GPS pseudo-ranges</li> 6683 <li>Type 1072, Compact GPS carrier phases</li> 6684 <li>Type 1073, Compact GPS pseudo-ranges and carrier phases</li> 6685 <li>Type 1074, Full GPS pseudo-ranges and carrier phases plus signal strength</li> 6686 <li>Type 1075, Full GPS pseudo-ranges, carrier phases, Doppler and signal strength</li> 6687 <li>Type 1076, Full GPS pseudo-ranges and carrier phases plus signal strength (high resolution)</li> 6688 <li>Type 1077, Full GPS pseudo-ranges, carrier phases, Doppler and signal strength (high resolution)<br><br></li> 6689 6690 <li>Type 1081, Compact GLONASS pseudo-ranges</li> 6691 <li>Type 1082, Compact GLONASS carrier phases</li> 6692 <li>Type 1083, Compact GLONASS pseudo-ranges and carrier phases</li> 6693 <li>Type 1084, Full GLONASS pseudo-ranges and carrier phases plus signal strength</li> 6694 <li>Type 1085, Full GLONASS pseudo-ranges, carrier phases, Doppler and signal strength</li> 6695 <li>Type 1086, Full GLONASS pseudo-ranges and carrier phases plus signal strength (high resolution)</li> 6696 <li>Type 1087, Full GLONASS pseudo-ranges, carrier phases, Doppler and signal strength (high resolution)<br><br></li> 6697 6698 <li>Type 1091, Compact Galileo pseudo-ranges</li> 6699 <li>Type 1092, Compact Galileo carrier phases</li> 6700 <li>Type 1093, Compact Galileo pseudo-ranges and carrier phases</li> 6701 <li>Type 1094, Full Galileo pseudo-ranges and carrier phases plus signal strength</li> 6702 <li>Type 1095, Full Galileo pseudo-ranges, carrier phases, Doppler and signal strength</li> 6703 <li>Type 1096, Full Galileo pseudo-ranges and carrier phases plus signal strength (high resolution)</li> 6704 <li>Type 1097, Full Galileo pseudo-ranges, carrier phases, Doppler and signal strength (high resolution)<br><br></li> 6705 6706 <li>Type 1101, Compact SBAS pseudo-ranges</li> 6707 <li>Type 1102, Compact SBAS carrier phases</li> 6708 <li>Type 1103, Compact SBAS pseudo-ranges and carrier phases</li> 6709 <li>Type 1104, Full SBAS pseudo-ranges and carrier phases plus signal strength</li> 6710 <li>Type 1105, Full SBAS pseudo-ranges, carrier phases, Doppler and signal strength</li> 6711 <li>Type 1106, Full SBAS pseudo-ranges and carrier phases plus signal strength (high resolution)</li> 6712 <li>Type 1107, Full SBAS pseudo-ranges, carrier phases, Doppler and signal strength (high resolution)<br><br></li> 6713 6714 <li>Type 1121, Compact BeiDou pseudo-ranges</li> 6715 <li>Type 1122, Compact BeiDou carrier phases</li> 6716 <li>Type 1123, Compact BeiDou pseudo-ranges and carrier phases</li> 6717 <li>Type 1124, Full BeiDou pseudo-ranges and carrier phases plus signal strength</li> 6718 <li>Type 1125, Full BeiDou pseudo-ranges, carrier phases, Doppler and signal strength</li> 6719 <li>Type 1126, Full BeiDou pseudo-ranges and carrier phases plus signal strength (high resolution)</li> 6720 <li>Type 1127, Full BeiDou pseudo-ranges, carrier phases, Doppler and signal strength (high resolution)<br><br></li> 6721 6722 <li>Type 1111, Compact QZSS pseudo-ranges</li> 6723 <li>Type 1112, Compact QZSS carrier phases</li> 6724 <li>Type 1113, Compact QZSS pseudo-ranges and carrier phases</li> 6725 <li>Type 1114, Full QZSS pseudo-ranges and carrier phases plus signal strength</li> 6726 <li>Type 1115, Full QZSS pseudo-ranges, carrier phases, Doppler and signal strength</li> 6727 <li>Type 1116, Full QZSS pseudo-ranges and carrier phases plus signal strength (high resolution)</li> 6728 <li>Type 1117, Full QZSS pseudo-ranges, carrier phases, Doppler and signal strength (high resolution)<br><br></li> 6729 </ul> 6730 </p> 6731 6732 <p><h4 id="confList">3.2 Command Line Help</h3></p> 6733 <p> 6734 Command line option '--help' provides a complete list of all configuration parameters which can be specified via BNC's Command Line Interface (CLI). 6735 Note that command line options overrule configuration options specified in the configuration file. 6736 The following is the output produced when running BNC with command line option '--help': 6737 </p> 6738 6739 <pre><p style="font-family:Monospace"> 10099 <li>Type 18 and 20 messages are RTK uncorrected carrier phase data and carrier phase corrections.</li> 10100 <li>Type 19 and 21 messages are the uncorrected pseudo-range measurements and pseudo-range corrections used in RTK. 10101 </li> 10102 <li>Type 23 message provides the information on the antenna type used on the reference station.</li> 10103 <li>Type 24 message carries the coordinates of the installed antenna's ARP in the GNSS coordinate system 10104 coordinates.</li> 10105 </ul> 10106 10107 <p> 10108 <h4 id="rtcm3">3.1.4 RTCM Version 3</h4> 10109 </p> 10110 <p> 10111 RTCM Version 3 has been developed as a more efficient alternative to RTCM Version 2. 10112 Service providers and vendors have asked for a standard that would be more efficient, easy to use, and more easily 10113 adaptable to new situations. 10114 The main complaint was that the Version 2 parity scheme was wasteful of bandwidth. Another complaint was that the 10115 parity is not independent 10116 from word to word. Still another was that even with so many bits devoted to parity, the actual integrity of the 10117 message was not as high 10118 as it should be. Plus, 30-bit words are awkward to handle. The Version 3 standard is intended to correct these 10119 weaknesses. 10120 </p> 10121 10122 <p> 10123 RTCM Version 3 defines a number of message types. Messages that may be of interest here are: 10124 <ul> 10125 <li>Type 1001, GPS L1 code and phase.</li> 10126 <li>Type 1002, GPS L1 code and phase and ambiguities and carrier-to-noise ratio.</li> 10127 <li>Type 1003, GPS L1 and L2 code and phase.</li> 10128 <li>Type 1004, GPS L1 and L2 code and phase and ambiguities and carrier-to-noise ratio.</li> 10129 <li>Type 1005, Station coordinates XYZ for antenna reference point.</li> 10130 <li>Type 1006, Station coordinates XYZ for antenna reference point and antenna height.</li> 10131 <li>Type 1007, Antenna descriptor and ID.</li> 10132 <li>Type 1008, Antenna serial number.</li> 10133 <li>Type 1009, GLONASS L1 code and phase.</li> 10134 <li>Type 1010, GLONASS L1 code and phase and ambiguities and carrier-to-noise ratio.</li> 10135 <li>Type 1011, GLONASS L1 and L2 code and phase.</li> 10136 <li>Type 1012, GLONASS L1 and L2 code and phase and ambiguities and carrier-to-noise ratio.</li> 10137 <li>Type 1013, Modified Julian Date, leap second, configured message types and interval.</li> 10138 <li>Type 1019, GPS ephemeris.</li> 10139 <li>Type 1020, GLONASS ephemeris.</li> 10140 <li>Type 1041 NavIC ephemeris.</li> 10141 <li>Type 1042, BDS/BeiDou ephemeris.</li> 10142 <li>Type 1043, SBAS ephemeris.</li> 10143 <li>Type 1044, QZSS ephemeris.</li> 10144 <li>Type 1045, Galileo F/NAV ephemeris.</li> 10145 <li>Type 1046, Galileo I/NAV ephemeris.</li> 10146 <li>Type 1300, Service CRS. </li> 10147 <li>Type 1301, Helmert transformation parameters. </li> 10148 <li>Type 1302, RTCM CRS. </li> 10149 <li>Type 4076, Proprietary messages of the International IGS Service.</li> 10150 </ul> 10151 </p> 10152 10153 <p> 10154 The following are so-called 'State Space Representation' (SSR) messages defined or proposed within RTCM SC-104: 10155 <ul> 10156 <li>Type 1057, GPS orbit corrections to Broadcast Ephemeris</li> 10157 <li>Type 1058, GPS clock corrections to Broadcast Ephemeris</li> 10158 <li>Type 1059, GPS code biases</li> 10159 <li>Type 1060, Combined orbit and clock corrections to GPS Broadcast Ephemeris</li> 10160 <li>Type 1061, GPS User Range Accuracy (URA)</li> 10161 <li>Type 1062, High-rate GPS clock corrections to Broadcast Ephemeris<br><br></li> 10162 10163 <li>Type 1063, GLONASS orbit corrections to Broadcast Ephemeris</li> 10164 <li>Type 1064, GLONASS clock corrections to Broadcast Ephemeris</li> 10165 <li>Type 1065, GLONASS code biases</li> 10166 <li>Type 1066, Combined orbit and clock corrections to GLONASS Broadcast Ephemeris</li> 10167 <li>Type 1067, GLONASS User Range Accuracy (URA)</li> 10168 <li>Type 1068, High-rate GLONASS clock corrections to Broadcast Ephemeris<br><br></li> 10169 10170 <li>Type 1240, Galileo orbit corrections to Broadcast Ephemeris</li> 10171 <li>Type 1241, Galileo clock corrections to Broadcast Ephemeris</li> 10172 <li>Type 1242, Galileo code biases</li> 10173 <li>Type 1243, Combined orbit and clock corrections to Galileo Broadcast Ephemeris</li> 10174 <li>Type 1244, Galileo User Range Accuracy (URA)</li> 10175 <li>Type 1245, High-rate Galileo clock corrections to Broadcast Ephemeris<br><br></li> 10176 10177 <li>Type 1246, QZSS orbit corrections to Broadcast Ephemeris</li> 10178 <li>Type 1247, QZSS clock corrections to Broadcast Ephemeris</li> 10179 <li>Type 1248, QZSS code biases</li> 10180 <li>Type 1249, Combined orbit and clock corrections to QZSS Broadcast Ephemeris</li> 10181 <li>Type 1250, QZSS User Range Accuracy (URA)</li> 10182 <li>Type 1251, High-rate QZSS clock corrections to Broadcast Ephemeris<br><br></li> 10183 10184 <li>Type 1252, SBAS orbit corrections to Broadcast Ephemeris</li> 10185 <li>Type 1253, SBAS clock corrections to Broadcast Ephemeris</li> 10186 <li>Type 1254, SBAS code biases</li> 10187 <li>Type 1255, Combined orbit and clock corrections to SBAS Broadcast Ephemeris</li> 10188 <li>Type 1256, SBAS User Range Accuracy (URA)</li> 10189 <li>Type 1257, High-rate SBAS clock corrections to Broadcast Ephemeris<br><br></li> 10190 10191 <li>Type 1258, BDS orbit corrections to Broadcast Ephemeris</li> 10192 <li>Type 1259, BDS clock corrections to Broadcast Ephemeris</li> 10193 <li>Type 1260, BDS code biases</li> 10194 <li>Type 1261, Combined orbit and clock corrections to BDS Broadcast Ephemeris</li> 10195 <li>Type 1262, BDS User Range Accuracy (URA)</li> 10196 <li>Type 1263, High-rate BDS clock corrections to Broadcast Ephemeris<br><br></li> 10197 10198 <li>Type 1264 SSR Ionosphere VTEC Spherical Harmonics</li> 10199 <li>Type 1265 SSR GPS Satellite Phase Bias</li> 10200 <li>Type 1266 SSR Satellite GLONASS Phase Bias</li> 10201 <li>Type 1267 SSR Satellite Galileo Phase Bias</li> 10202 <li>Type 1268 SSR Satellite QZSS Phase Bias</li> 10203 <li>Type 1269 SSR Satellite SBAS Phase Bias</li> 10204 <li>Type 1270 SSR Satellite BDS Phase Bias</li> 10205 </ul> 10206 </p> 10207 10208 <p> 10209 The following are so-called 'Multiple Signal Messages' (MSM) defined within RTCM SC-104: 10210 <ul> 10211 <li>Type 1071, Compact GPS pseudo-ranges</li> 10212 <li>Type 1072, Compact GPS carrier phases</li> 10213 <li>Type 1073, Compact GPS pseudo-ranges and carrier phases</li> 10214 <li>Type 1074, Full GPS pseudo-ranges and carrier phases plus signal strength</li> 10215 <li>Type 1075, Full GPS pseudo-ranges, carrier phases, Doppler and signal strength</li> 10216 <li>Type 1076, Full GPS pseudo-ranges and carrier phases plus signal strength (high resolution)</li> 10217 <li>Type 1077, Full GPS pseudo-ranges, carrier phases, Doppler and signal strength (high resolution)<br><br></li> 10218 10219 <li>Type 1081, Compact GLONASS pseudo-ranges</li> 10220 <li>Type 1082, Compact GLONASS carrier phases</li> 10221 <li>Type 1083, Compact GLONASS pseudo-ranges and carrier phases</li> 10222 <li>Type 1084, Full GLONASS pseudo-ranges and carrier phases plus signal strength</li> 10223 <li>Type 1085, Full GLONASS pseudo-ranges, carrier phases, Doppler and signal strength</li> 10224 <li>Type 1086, Full GLONASS pseudo-ranges and carrier phases plus signal strength (high resolution)</li> 10225 <li>Type 1087, Full GLONASS pseudo-ranges, carrier phases, Doppler and signal strength (high resolution)<br><br> 10226 </li> 10227 10228 <li>Type 1091, Compact Galileo pseudo-ranges</li> 10229 <li>Type 1092, Compact Galileo carrier phases</li> 10230 <li>Type 1093, Compact Galileo pseudo-ranges and carrier phases</li> 10231 <li>Type 1094, Full Galileo pseudo-ranges and carrier phases plus signal strength</li> 10232 <li>Type 1095, Full Galileo pseudo-ranges, carrier phases, Doppler and signal strength</li> 10233 <li>Type 1096, Full Galileo pseudo-ranges and carrier phases plus signal strength (high resolution)</li> 10234 <li>Type 1097, Full Galileo pseudo-ranges, carrier phases, Doppler and signal strength (high resolution)<br><br> 10235 </li> 10236 10237 <li>Type 1101, Compact SBAS pseudo-ranges</li> 10238 <li>Type 1102, Compact SBAS carrier phases</li> 10239 <li>Type 1103, Compact SBAS pseudo-ranges and carrier phases</li> 10240 <li>Type 1104, Full SBAS pseudo-ranges and carrier phases plus signal strength</li> 10241 <li>Type 1105, Full SBAS pseudo-ranges, carrier phases, Doppler and signal strength</li> 10242 <li>Type 1106, Full SBAS pseudo-ranges and carrier phases plus signal strength (high resolution)</li> 10243 <li>Type 1107, Full SBAS pseudo-ranges, carrier phases, Doppler and signal strength (high resolution)<br><br></li> 10244 10245 <li>Type 1121, Compact BeiDou pseudo-ranges</li> 10246 <li>Type 1122, Compact BeiDou carrier phases</li> 10247 <li>Type 1123, Compact BeiDou pseudo-ranges and carrier phases</li> 10248 <li>Type 1124, Full BeiDou pseudo-ranges and carrier phases plus signal strength</li> 10249 <li>Type 1125, Full BeiDou pseudo-ranges, carrier phases, Doppler and signal strength</li> 10250 <li>Type 1126, Full BeiDou pseudo-ranges and carrier phases plus signal strength (high resolution)</li> 10251 <li>Type 1127, Full BeiDou pseudo-ranges, carrier phases, Doppler and signal strength (high resolution)<br><br></li> 10252 10253 <li>Type 1111, Compact QZSS pseudo-ranges</li> 10254 <li>Type 1112, Compact QZSS carrier phases</li> 10255 <li>Type 1113, Compact QZSS pseudo-ranges and carrier phases</li> 10256 <li>Type 1114, Full QZSS pseudo-ranges and carrier phases plus signal strength</li> 10257 <li>Type 1115, Full QZSS pseudo-ranges, carrier phases, Doppler and signal strength</li> 10258 <li>Type 1116, Full QZSS pseudo-ranges and carrier phases plus signal strength (high resolution)</li> 10259 <li>Type 1117, Full QZSS pseudo-ranges, carrier phases, Doppler and signal strength (high resolution)<br><br></li> 10260 </ul> 10261 </p> 10262 10263 <p> 10264 <h4 id="confList">3.2 Command Line Help</h3> 10265 </p> 10266 <p> 10267 Command line option '--help' provides a complete list of all configuration parameters which can be specified via 10268 BNC's Command Line Interface (CLI). 10269 Note that command line options overrule configuration options specified in the configuration file. 10270 The following is the output produced when running BNC with command line option '--help': 10271 </p> 10272 10273 <pre><p style="font-family:Monospace"> 6740 10274 Usage: 6741 10275 bnc --help (MS Windows: bnc.exe --help | more) … … 7003 10537 </p></pre> 7004 10538 7005 <p><h4 id="links">3.3 Further Reading</h3></p> 7006 7007 <b>Links:</b><br> 7008 <table> 7009 <tr><td>Ntrip </td><td><a href="https://igs.bkg.bund.de/ntrip/index" target="_blank">https://igs.bkg.bund.de/ntrip/index</a></td></tr> 7010 <tr><td>IGS Real-Rime Service (RTS) </td><td><a href="https://igs.org/rts/" target="_blank">https://igs.org/rts/</a></td></tr> 7011 <tr><td>Ntrip Broadcaster overview </td><td><a href="https://rtcm-ntrip.org/home" target="_blank">https://rtcm-ntrip.org/home</a></td></tr> 7012 <tr><td>Ntrip Open Source software code </td><td><a href="https://software.rtcm-ntrip.org" target="_blank">https://software.rtcm-ntrip.org</a></td></tr> 7013 <tr><td>Radio Technical Commission for Maritime Services </td><td><a href="https://www.rtcm.org/" target="_blank">https://www.rtcm.org/</a></td></tr> 7014 </table> 7015 <br> 7016 7017 <b>Publications:</b><br> 7018 <table border="1"> 7019 <tr><td>Caissy, M., L. Agrotis, G. Weber, M. Hernandez-Pajares and U. Hugentobler (2012)</td><td>The International GNSS Real-Time Service. GPS World, June 1, 2012.</td></tr> 7020 7021 <tr><td>Estey, L. H. and C. M. Meertens (1999)</td><td>TEQC: The Multi-Purpose Toolkit for GPS/GLONASS Data. GPS Solutions, Vol. 3, No. 1, pp. 42-49, 1999.</td></tr> 7022 7023 <tr><td>Huisman, L., P. Teunissen and C. Hu (2012)</td><td>GNSS Precise Point Positioning in Regional Reference Frames Using Real-time Broadcast Corrections. Journal of Applied Geodesy, Vol. 6, pp15-23, 2012.</td></tr> 7024 7025 <tr><td>Mervart, L., Z. Lukes, C. Rocken and T. Iwabuchi (2008)</td><td>Precise Point Positioning With Ambiguity Resolution in Real-Time. ION GNSS 2008.</td></tr> 7026 7027 <tr><td>RTCM SC-104 (2011)</td><td>Amendment 1 to RTCM Standard 10410.1 Networked Transport of RTCM via Internet Protocol (Ntrip) - Version 2.0. RTCM Papter 139-2011-SC104-STD, 2011.</td></tr> 7028 7029 <tr><td>Rupprecht, W. (2000)</td><td>DGPS-IP. <u>http://www.wsrcc.com/wolfgang/gps/dgps-ip.html</u>, 2000.</td></tr> 7030 7031 <tr><td>Stürze, A., L. Mervart, W. Söhne, G. Weber, G. Wübbena (2012)</td><td>Real-Time PPP using open CORS Networks and RTCM Standards. 3rd International Conference on Machine Control & Guidance, March 27-29, 2012 </td></tr> 7032 7033 <tr><td>Weber, G., D. Dettmering and H. Gebhard (2005a)</td><td>Networked Transport of RTCM via Internet Protocol (NTRIP). In: Sanso F. (Ed.): A Window on the Future, Proceedings of the IAG General Assembly, Sapporo, Japan, 2003, Springer Verlag, Symposia Series, Vol. 128, p. 60-64, 2005.</td></tr> 7034 7035 <tr><td>Weber, G., D. Dettmering, H. Gebhard and R. Kalafus (2005b)</td><td>Networked Transport of RTCM via Internet Protocol (Ntrip), IP-Streaming for Real-Time GNSS Applications. ION GNSS 2005.</td></tr> 7036 7037 <tr><td>Weber, G., and M. Honkala (2004)</td><td>The future is talking Ntrip. Newsletter, Trimble GmbH Raunheim, Germany, 2004.</td></tr> 7038 7039 <tr><td>Weber, G. and L. Mervart (2009)</td><td>The BKG Ntrip Client (BNC), Report on EUREF Symposium 2007 in London. Mitteilungen des Bundesamtes fuer Kartographie und Geodaesie, Band 42, Frankfurt, 2009.</td></tr> 7040 7041 <tr><td>Weber, G. and L. Mervart (2010)</td><td>Real-time Combination of GNSS Orbit and Clock Correction Streams Using a Kalman Filter Approach. ION GNSS 2010.</td></tr> 7042 7043 <tr><td>Weber, G, L. Mervart, Z. Lukes, C. Rocken and J. Dousa (2007)</td><td>Real-time Clock and Orbit Corrections for Improved Point Positioning via Ntrip. ION GNSS 2007.</td></tr> 7044 7045 <tr><td>Weber, G., L. Mervart, A. Stürze, A. Rülke and D. Stöcker (2016)</td><td>BKG Ntrip Client, Version 2.12. Mitteilungen des Bundesamtes für Kartographie und Geodäsie, Vol. 49, Frankfurt am Main, 2016.</td><tr> 7046 </table> 7047 7048 <p><h4 id="abbrev">3.4 Abbreviations</h3></p> 7049 <table> 7050 <tr><td>AC</td><td>Analysis Center</td></tr> 7051 <tr><td>AFREF</td><td>IAG Reference Frame Sub-Commission for Africa</td></tr> 7052 <tr><td>ANTEX</td><td>Antenna Exchange Format</td></tr> 7053 <tr><td>APC</td><td>Antenna Phase Center</td></tr> 7054 <tr><td>APREF</td><td>IAG Reference Frame Sub-Commission for Asia and Pacific</td></tr> 7055 <tr><td>ARP</td><td>Antenna Reference Point</td></tr> 7056 <tr><td>BKG</td><td>Bundesamt für Kartographie und Geodäsie</td></tr> 7057 <tr><td>BNC</td><td>BNK Ntrip Client</td></tr> 7058 <tr><td>BSW</td><td>Bernese GNSS Software</td></tr> 7059 <tr><td>CC</td><td>Combination Center</td></tr> 7060 <tr><td>CLI</td><td>Command Line Interface</td></tr> 7061 <tr><td>CoM</td><td>Center Of Mass</td></tr> 7062 <tr><td>DGNSS</td><td>Differential GNSS</td></tr> 7063 <tr><td>DGPS-IP</td><td>Differential GPS via Internet Protocol</td></tr> 7064 <tr><td>DMG</td><td>Disk Image, File</td></tr> 7065 <tr><td>DREF91</td><td>Geodetic Datum for Germany 1991</td></tr> 7066 <tr><td>ECEF</td><td>Earth-Centred-Earth-Fixed</td></tr> 7067 <tr><td>EDGE</td><td>Enhanced Data Rates for GSM Evolution</td></tr> 7068 <tr><td>ETRF2000</td><td>European Terrestrial Reference Frame 2000</td></tr> 7069 <tr><td>EUREF</td><td>IAG Reference Frame Sub-Commission for Europe</td></tr> 7070 <tr><td>EoE</td><td>End of Epoch</td></tr> 7071 <tr><td>FKP</td><td>Flächen-Korrektur-Parameter</td></tr> 7072 <tr><td>FTP</td><td>File Transfer Protocol</td></tr> 7073 <tr><td>GDA2020</td><td>Geodetic Datum Australia 2020</td></tr> 7074 <tr><td>GNSS</td><td>Global Navigation Satellite System</td></tr> 7075 <tr><td>GNU</td><td>GNU's Not Unix</td></tr> 7076 <tr><td>GPL</td><td>General Public License</td></tr> 7077 <tr><td>GPRS</td><td>General Packet Radio Service</td></tr> 7078 <tr><td>GPSWD</td><td>GPS Week and Day</td></tr> 7079 <tr><td>GSM</td><td>Global System for Mobile Communications</td></tr> 7080 <tr><td>GUI</td><td>Graphical User Interface</td></tr> 7081 <tr><td>HP MSM</td><td>High Precision Multiple Signal Messages</td></tr> 7082 <tr><td>HR URA</td><td>High Rate User Range Accuracy</td></tr> 7083 <tr><td>HTTP</td><td>Hypertext Transfer Protocol</td></tr> 7084 <tr><td>HTTPS</td><td>Hypertext Transfer Protocol Secure</td></tr> 7085 <tr><td>IAG</td><td>International Association of Geodesy</td></tr> 7086 <tr><td>ICECAST</td><td>Streaming Media Server</td></tr> 7087 <tr><td>IGS20</td><td>IGS Reference Frame 2020</td></tr> 7088 <tr><td>IGS</td><td>International GNSS Service</td></tr> 7089 <tr><td>IOD</td><td>Issue of Data</td></tr> 7090 <tr><td>IP</td><td>Internet Protocol</td></tr> 7091 <tr><td>ITRF2020</td><td>International Terrestrial Reference Frame 2020</td></tr> 7092 <tr><td>L3</td><td>Ionosphere-Free Linear Combination Of Phase Observations</td></tr> 7093 <tr><td>LAN</td><td>Local Area Network</td></tr> 7094 <tr><td>LC</td><td>Linea Combination</td></tr> 7095 <tr><td>M-GEX</td><td>Multi GNSS-Experiment</td></tr> 7096 <tr><td>MAC</td><td>Master Auxiliary Concept</td></tr> 7097 <tr><td>MJD</td><td>Modified Julian Date</td></tr> 7098 <tr><td>MSI</td><td>Microsoft Installer, File</td></tr> 7099 <tr><td>MSM</td><td>Multiple Signal Messages</td></tr> 7100 <tr><td>MW</td><td>Melbourne Wübbena Linear Combination</td></tr> 7101 <tr><td>NAD83</td><td>North American Datum 1983</td></tr> 7102 <tr><td>NAREF</td><td>IAG Reference Frame Sub-Commission for North America</td></tr> 7103 <tr><td>NMEA</td><td>National Marine Electronics Association Format</td></tr> 7104 <tr><td>Ntrip</td><td>Networked Transport of RTCM via Internet Protocol</td></tr> 7105 <tr><td>OSM</td><td>OpenStreetMap</td></tr> 7106 <tr><td>OSR</td><td>Observation Space Representation</td></tr> 7107 <tr><td>PDOP</td><td>Positional Dilution Of Precision</td></tr> 7108 <tr><td>PNG</td><td>Portable Network Graphics</td></tr> 7109 <tr><td>PPP</td><td>Precise Point Positioning</td></tr> 7110 <tr><td>Qt</td><td>Cross-Platform Application Framework</td></tr> 7111 <tr><td>REQC</td><td>RINEX Editing and Quality Checking</td></tr> 7112 <tr><td>RINEX</td><td>Receiver Independent Exchange Format</td></tr> 7113 <tr><td>RTCM SC-104</td><td>Radio Technical Commission for Maritime Services, Special Committee 104</td></tr> 7114 <tr><td>RTK</td><td>Real Time Kinematic</td></tr> 7115 <tr><td>RTKPLOT</td><td>View and Plot Positioning Solutions Software, Part of RTKLIB</td></tr> 7116 <tr><td>RTNET</td><td>Real-Time Network Format</td></tr> 7117 <tr><td>RTP</td><td>Real-Time Transport Protocol</td></tr> 7118 <tr><td>RTSP</td><td>Real-Time Streaming Protocol</td></tr> 7119 <tr><td>SBAS</td><td>Space Based Augmentation System</td></tr> 7120 <tr><td>SINEX TRO</td><td>Troposphere Solution Independent Exchange Format</td></tr> 7121 <tr><td>SINEX</td><td>Solution Independent Exchange Format</td></tr> 7122 <tr><td>SIRGAS2000</td><td>Geodetic Datum for Latin America and Caribbean 2000</td></tr> 7123 <tr><td>SIRGAS</td><td>IAG Reference Frame Sub-Commission for Latin America and Caribbean</td></tr> 7124 <tr><td>SP3</td><td>Standard Product # 3</td></tr> 7125 <tr><td>SPP</td><td>Single Point Positioning</td></tr> 7126 <tr><td>SSL</td><td>Secure Sockets Layer</td></tr> 7127 <tr><td>SSR</td><td>State Space Representation</td></tr> 7128 <tr><td>SVN</td><td>Subversion, Revision Control System</td></tr> 7129 <tr><td>TCP</td><td>Transmission Control Protocol</td></tr> 7130 <tr><td>TEQC</td><td>Translation, Editing and Quality Checking</td></tr> 7131 <tr><td>TLS</td><td>Transport Layer Security</td></tr> 7132 <tr><td>UDP</td><td>User Datagram Protocol</td></tr> 7133 <tr><td>UMTS</td><td>Universal Mobile Telecommunications System</td></tr> 7134 <tr><td>URA</td><td>User Range Accuracy</td></tr> 7135 <tr><td>VRS</td><td>Virtual Reference Station</td></tr> 7136 <tr><td>VTEC</td><td>Vertical Total Electron Content</td></tr> 7137 </table> 10539 <p> 10540 <h4 id="links">3.3 Further Reading</h3> 10541 </p> 10542 10543 <b>Links:</b><br> 10544 <table> 10545 <tr> 10546 <td>Ntrip </td> 10547 <td><a href="https://igs.bkg.bund.de/ntrip/index" target="_blank">https://igs.bkg.bund.de/ntrip/index</a></td> 10548 </tr> 10549 <tr> 10550 <td>IGS Real-Rime Service (RTS) </td> 10551 <td><a href="https://igs.org/rts/" target="_blank">https://igs.org/rts/</a></td> 10552 </tr> 10553 <tr> 10554 <td>Ntrip Broadcaster overview </td> 10555 <td><a href="https://rtcm-ntrip.org/home" target="_blank">https://rtcm-ntrip.org/home</a></td> 10556 </tr> 10557 <tr> 10558 <td>Ntrip Open Source software code </td> 10559 <td><a href="https://software.rtcm-ntrip.org" target="_blank">https://software.rtcm-ntrip.org</a></td> 10560 </tr> 10561 <tr> 10562 <td>Radio Technical Commission for Maritime Services </td> 10563 <td><a href="https://www.rtcm.org/" target="_blank">https://www.rtcm.org/</a></td> 10564 </tr> 10565 </table> 10566 <br> 10567 10568 <b>Publications:</b><br> 10569 <table border="1"> 10570 <tr> 10571 <td>Caissy, M., L. Agrotis, G. Weber, M. Hernandez-Pajares and U. Hugentobler (2012)</td> 10572 <td>The International GNSS Real-Time Service. GPS World, June 1, 2012.</td> 10573 </tr> 10574 10575 <tr> 10576 <td>Estey, L. H. and C. M. Meertens (1999)</td> 10577 <td>TEQC: The Multi-Purpose Toolkit for GPS/GLONASS Data. GPS Solutions, Vol. 3, No. 1, pp. 42-49, 1999.</td> 10578 </tr> 10579 10580 <tr> 10581 <td>Huisman, L., P. Teunissen and C. Hu (2012)</td> 10582 <td>GNSS Precise Point Positioning in Regional Reference Frames Using Real-time Broadcast Corrections. Journal 10583 of Applied Geodesy, Vol. 6, pp15-23, 2012.</td> 10584 </tr> 10585 10586 <tr> 10587 <td>Mervart, L., Z. Lukes, C. Rocken and T. Iwabuchi (2008)</td> 10588 <td>Precise Point Positioning With Ambiguity Resolution in Real-Time. ION GNSS 2008.</td> 10589 </tr> 10590 10591 <tr> 10592 <td>RTCM SC-104 (2011)</td> 10593 <td>Amendment 1 to RTCM Standard 10410.1 Networked Transport of RTCM via Internet Protocol (Ntrip) - Version 10594 2.0. RTCM Papter 139-2011-SC104-STD, 2011.</td> 10595 </tr> 10596 10597 <tr> 10598 <td>Rupprecht, W. (2000)</td> 10599 <td>DGPS-IP. <u>http://www.wsrcc.com/wolfgang/gps/dgps-ip.html</u>, 2000.</td> 10600 </tr> 10601 10602 <tr> 10603 <td>Stürze, A., L. Mervart, W. Söhne, G. Weber, G. Wübbena (2012)</td> 10604 <td>Real-Time PPP using open CORS Networks and RTCM Standards. 3rd International Conference on Machine Control 10605 & Guidance, March 27-29, 2012 </td> 10606 </tr> 10607 10608 <tr> 10609 <td>Weber, G., D. Dettmering and H. Gebhard (2005a)</td> 10610 <td>Networked Transport of RTCM via Internet Protocol (NTRIP). In: Sanso F. (Ed.): A Window on the Future, 10611 Proceedings of the IAG General Assembly, Sapporo, Japan, 2003, Springer Verlag, Symposia Series, Vol. 128, 10612 p. 60-64, 2005.</td> 10613 </tr> 10614 10615 <tr> 10616 <td>Weber, G., D. Dettmering, H. Gebhard and R. Kalafus (2005b)</td> 10617 <td>Networked Transport of RTCM via Internet Protocol (Ntrip), IP-Streaming for Real-Time GNSS Applications. 10618 ION GNSS 2005.</td> 10619 </tr> 10620 10621 <tr> 10622 <td>Weber, G., and M. Honkala (2004)</td> 10623 <td>The future is talking Ntrip. Newsletter, Trimble GmbH Raunheim, Germany, 2004.</td> 10624 </tr> 10625 10626 <tr> 10627 <td>Weber, G. and L. Mervart (2009)</td> 10628 <td>The BKG Ntrip Client (BNC), Report on EUREF Symposium 2007 in London. Mitteilungen des Bundesamtes fuer 10629 Kartographie und Geodaesie, Band 42, Frankfurt, 2009.</td> 10630 </tr> 10631 10632 <tr> 10633 <td>Weber, G. and L. Mervart (2010)</td> 10634 <td>Real-time Combination of GNSS Orbit and Clock Correction Streams Using a Kalman Filter Approach. ION GNSS 10635 2010.</td> 10636 </tr> 10637 10638 <tr> 10639 <td>Weber, G, L. Mervart, Z. Lukes, C. Rocken and J. Dousa (2007)</td> 10640 <td>Real-time Clock and Orbit Corrections for Improved Point Positioning via Ntrip. ION GNSS 2007.</td> 10641 </tr> 10642 10643 <tr> 10644 <td>Weber, G., L. Mervart, A. Stürze, A. Rülke and D. Stöcker (2016)</td> 10645 <td>BKG Ntrip Client, Version 2.12. Mitteilungen des Bundesamtes für Kartographie und Geodäsie, Vol. 10646 49, Frankfurt am Main, 2016.</td> 10647 <tr> 10648 </table> 10649 10650 <p> 10651 <h4 id="abbrev">3.4 Abbreviations</h3> 10652 </p> 10653 <table> 10654 <tr> 10655 <td>AC</td> 10656 <td>Analysis Center</td> 10657 </tr> 10658 <tr> 10659 <td>AFREF</td> 10660 <td>IAG Reference Frame Sub-Commission for Africa</td> 10661 </tr> 10662 <tr> 10663 <td>ANTEX</td> 10664 <td>Antenna Exchange Format</td> 10665 </tr> 10666 <tr> 10667 <td>APC</td> 10668 <td>Antenna Phase Center</td> 10669 </tr> 10670 <tr> 10671 <td>APREF</td> 10672 <td>IAG Reference Frame Sub-Commission for Asia and Pacific</td> 10673 </tr> 10674 <tr> 10675 <td>ARP</td> 10676 <td>Antenna Reference Point</td> 10677 </tr> 10678 <tr> 10679 <td>BKG</td> 10680 <td>Bundesamt für Kartographie und Geodäsie</td> 10681 </tr> 10682 <tr> 10683 <td>BNC</td> 10684 <td>BNK Ntrip Client</td> 10685 </tr> 10686 <tr> 10687 <td>BSW</td> 10688 <td>Bernese GNSS Software</td> 10689 </tr> 10690 <tr> 10691 <td>CC</td> 10692 <td>Combination Center</td> 10693 </tr> 10694 <tr> 10695 <td>CLI</td> 10696 <td>Command Line Interface</td> 10697 </tr> 10698 <tr> 10699 <td>CoM</td> 10700 <td>Center Of Mass</td> 10701 </tr> 10702 <tr> 10703 <td>DGNSS</td> 10704 <td>Differential GNSS</td> 10705 </tr> 10706 <tr> 10707 <td>DGPS-IP</td> 10708 <td>Differential GPS via Internet Protocol</td> 10709 </tr> 10710 <tr> 10711 <td>DMG</td> 10712 <td>Disk Image, File</td> 10713 </tr> 10714 <tr> 10715 <td>DREF91</td> 10716 <td>Geodetic Datum for Germany 1991</td> 10717 </tr> 10718 <tr> 10719 <td>ECEF</td> 10720 <td>Earth-Centred-Earth-Fixed</td> 10721 </tr> 10722 <tr> 10723 <td>EDGE</td> 10724 <td>Enhanced Data Rates for GSM Evolution</td> 10725 </tr> 10726 <tr> 10727 <td>ETRF2000</td> 10728 <td>European Terrestrial Reference Frame 2000</td> 10729 </tr> 10730 <tr> 10731 <td>EUREF</td> 10732 <td>IAG Reference Frame Sub-Commission for Europe</td> 10733 </tr> 10734 <tr> 10735 <td>EoE</td> 10736 <td>End of Epoch</td> 10737 </tr> 10738 <tr> 10739 <td>FKP</td> 10740 <td>Flächen-Korrektur-Parameter</td> 10741 </tr> 10742 <tr> 10743 <td>FTP</td> 10744 <td>File Transfer Protocol</td> 10745 </tr> 10746 <tr> 10747 <td>GDA2020</td> 10748 <td>Geodetic Datum Australia 2020</td> 10749 </tr> 10750 <tr> 10751 <td>GNSS</td> 10752 <td>Global Navigation Satellite System</td> 10753 </tr> 10754 <tr> 10755 <td>GNU</td> 10756 <td>GNU's Not Unix</td> 10757 </tr> 10758 <tr> 10759 <td>GPL</td> 10760 <td>General Public License</td> 10761 </tr> 10762 <tr> 10763 <td>GPRS</td> 10764 <td>General Packet Radio Service</td> 10765 </tr> 10766 <tr> 10767 <td>GPSWD</td> 10768 <td>GPS Week and Day</td> 10769 </tr> 10770 <tr> 10771 <td>GSM</td> 10772 <td>Global System for Mobile Communications</td> 10773 </tr> 10774 <tr> 10775 <td>GUI</td> 10776 <td>Graphical User Interface</td> 10777 </tr> 10778 <tr> 10779 <td>HP MSM</td> 10780 <td>High Precision Multiple Signal Messages</td> 10781 </tr> 10782 <tr> 10783 <td>HR URA</td> 10784 <td>High Rate User Range Accuracy</td> 10785 </tr> 10786 <tr> 10787 <td>HTTP</td> 10788 <td>Hypertext Transfer Protocol</td> 10789 </tr> 10790 <tr> 10791 <td>HTTPS</td> 10792 <td>Hypertext Transfer Protocol Secure</td> 10793 </tr> 10794 <tr> 10795 <td>IAG</td> 10796 <td>International Association of Geodesy</td> 10797 </tr> 10798 <tr> 10799 <td>ICECAST</td> 10800 <td>Streaming Media Server</td> 10801 </tr> 10802 <tr> 10803 <td>IGS20</td> 10804 <td>IGS Reference Frame 2020</td> 10805 </tr> 10806 <tr> 10807 <td>IGS</td> 10808 <td>International GNSS Service</td> 10809 </tr> 10810 <tr> 10811 <td>IOD</td> 10812 <td>Issue of Data</td> 10813 </tr> 10814 <tr> 10815 <td>IP</td> 10816 <td>Internet Protocol</td> 10817 </tr> 10818 <tr> 10819 <td>ITRF2020</td> 10820 <td>International Terrestrial Reference Frame 2020</td> 10821 </tr> 10822 <tr> 10823 <td>L3</td> 10824 <td>Ionosphere-Free Linear Combination Of Phase Observations</td> 10825 </tr> 10826 <tr> 10827 <td>LAN</td> 10828 <td>Local Area Network</td> 10829 </tr> 10830 <tr> 10831 <td>LC</td> 10832 <td>Linea Combination</td> 10833 </tr> 10834 <tr> 10835 <td>M-GEX</td> 10836 <td>Multi GNSS-Experiment</td> 10837 </tr> 10838 <tr> 10839 <td>MAC</td> 10840 <td>Master Auxiliary Concept</td> 10841 </tr> 10842 <tr> 10843 <td>MJD</td> 10844 <td>Modified Julian Date</td> 10845 </tr> 10846 <tr> 10847 <td>MSI</td> 10848 <td>Microsoft Installer, File</td> 10849 </tr> 10850 <tr> 10851 <td>MSM</td> 10852 <td>Multiple Signal Messages</td> 10853 </tr> 10854 <tr> 10855 <td>MW</td> 10856 <td>Melbourne Wübbena Linear Combination</td> 10857 </tr> 10858 <tr> 10859 <td>NAD83</td> 10860 <td>North American Datum 1983</td> 10861 </tr> 10862 <tr> 10863 <td>NAREF</td> 10864 <td>IAG Reference Frame Sub-Commission for North America</td> 10865 </tr> 10866 <tr> 10867 <td>NMEA</td> 10868 <td>National Marine Electronics Association Format</td> 10869 </tr> 10870 <tr> 10871 <td>Ntrip</td> 10872 <td>Networked Transport of RTCM via Internet Protocol</td> 10873 </tr> 10874 <tr> 10875 <td>OSM</td> 10876 <td>OpenStreetMap</td> 10877 </tr> 10878 <tr> 10879 <td>OSR</td> 10880 <td>Observation Space Representation</td> 10881 </tr> 10882 <tr> 10883 <td>PDOP</td> 10884 <td>Positional Dilution Of Precision</td> 10885 </tr> 10886 <tr> 10887 <td>PNG</td> 10888 <td>Portable Network Graphics</td> 10889 </tr> 10890 <tr> 10891 <td>PPP</td> 10892 <td>Precise Point Positioning</td> 10893 </tr> 10894 <tr> 10895 <td>Qt</td> 10896 <td>Cross-Platform Application Framework</td> 10897 </tr> 10898 <tr> 10899 <td>REQC</td> 10900 <td>RINEX Editing and Quality Checking</td> 10901 </tr> 10902 <tr> 10903 <td>RINEX</td> 10904 <td>Receiver Independent Exchange Format</td> 10905 </tr> 10906 <tr> 10907 <td>RTCM SC-104</td> 10908 <td>Radio Technical Commission for Maritime Services, Special Committee 104</td> 10909 </tr> 10910 <tr> 10911 <td>RTK</td> 10912 <td>Real Time Kinematic</td> 10913 </tr> 10914 <tr> 10915 <td>RTKPLOT</td> 10916 <td>View and Plot Positioning Solutions Software, Part of RTKLIB</td> 10917 </tr> 10918 <tr> 10919 <td>RTNET</td> 10920 <td>Real-Time Network Format</td> 10921 </tr> 10922 <tr> 10923 <td>RTP</td> 10924 <td>Real-Time Transport Protocol</td> 10925 </tr> 10926 <tr> 10927 <td>RTSP</td> 10928 <td>Real-Time Streaming Protocol</td> 10929 </tr> 10930 <tr> 10931 <td>SBAS</td> 10932 <td>Space Based Augmentation System</td> 10933 </tr> 10934 <tr> 10935 <td>SINEX TRO</td> 10936 <td>Troposphere Solution Independent Exchange Format</td> 10937 </tr> 10938 <tr> 10939 <td>SINEX</td> 10940 <td>Solution Independent Exchange Format</td> 10941 </tr> 10942 <tr> 10943 <td>SIRGAS2000</td> 10944 <td>Geodetic Datum for Latin America and Caribbean 2000</td> 10945 </tr> 10946 <tr> 10947 <td>SIRGAS</td> 10948 <td>IAG Reference Frame Sub-Commission for Latin America and Caribbean</td> 10949 </tr> 10950 <tr> 10951 <td>SP3</td> 10952 <td>Standard Product # 3</td> 10953 </tr> 10954 <tr> 10955 <td>SPP</td> 10956 <td>Single Point Positioning</td> 10957 </tr> 10958 <tr> 10959 <td>SSL</td> 10960 <td>Secure Sockets Layer</td> 10961 </tr> 10962 <tr> 10963 <td>SSR</td> 10964 <td>State Space Representation</td> 10965 </tr> 10966 <tr> 10967 <td>SVN</td> 10968 <td>Subversion, Revision Control System</td> 10969 </tr> 10970 <tr> 10971 <td>TCP</td> 10972 <td>Transmission Control Protocol</td> 10973 </tr> 10974 <tr> 10975 <td>TEQC</td> 10976 <td>Translation, Editing and Quality Checking</td> 10977 </tr> 10978 <tr> 10979 <td>TLS</td> 10980 <td>Transport Layer Security</td> 10981 </tr> 10982 <tr> 10983 <td>UDP</td> 10984 <td>User Datagram Protocol</td> 10985 </tr> 10986 <tr> 10987 <td>UMTS</td> 10988 <td>Universal Mobile Telecommunications System</td> 10989 </tr> 10990 <tr> 10991 <td>URA</td> 10992 <td>User Range Accuracy</td> 10993 </tr> 10994 <tr> 10995 <td>VRS</td> 10996 <td>Virtual Reference Station</td> 10997 </tr> 10998 <tr> 10999 <td>VTEC</td> 11000 <td>Vertical Total Electron Content</td> 11001 </tr> 11002 </table> 7138 11003 7139 11004 </body> 11005 7140 11006 </html> -
trunk/BNC/src/bncutils.cpp
r10791 r11019 203 203 // 204 204 //////////////////////////////////////////////////////////////////////////// 205 double decimalYear(const bncTime& time) { 206 207 unsigned int year, month, day; 208 time.civil_date(year, month, day); 209 210 bncTime jan1; 211 jan1.set(int(year), 1, 1, 0, 0, 0.0); 212 213 return year + (time.mjddec() - jan1.mjddec()) / 365.25; 214 } 215 216 // 217 //////////////////////////////////////////////////////////////////////////// 205 218 void currentGPSWeeks(int& week, double& sec) { 206 219 -
trunk/BNC/src/bncutils.h
r10791 r11019 71 71 72 72 void currentGPSWeeks(int& week, double& sec); 73 double decimalYear(const bncTime& time); 73 74 74 75 QDateTime currentDateAndTimeGPS(); -
trunk/BNC/src/pppCrdFile.cpp
r7850 r11019 40 40 * -----------------------------------------------------------------------*/ 41 41 42 #include <cstdlib> 42 43 #include <fstream> 43 44 #include <sstream> … … 82 83 in >> staInfo._xyz(1) >> staInfo._xyz(2) >> staInfo._xyz(3); 83 84 85 // Optional 'EPOCH:<decimalYear>' and 'VEL:<vx>,<vy>,<vz>' keyword tokens 86 // (ITRF reference epoch and velocity in m/year of the coordinate above), 87 // may appear in any order before the antenna eccentricity / name fields. 88 while (!in.eof()) { 89 streampos posBeforeToken = in.tellg(); 90 string token; 91 if (!(in >> token)) { 92 break; 93 } 94 if (token.compare(0, 6, "EPOCH:") == 0) { 95 staInfo._epoch = atof(token.substr(6).c_str()); 96 } 97 else if (token.compare(0, 4, "VEL:") == 0) { 98 string velStr = token.substr(4); 99 for (string::iterator it = velStr.begin(); it != velStr.end(); ++it) { 100 if (*it == ',') *it = ' '; 101 } 102 istringstream velIn(velStr); 103 velIn >> staInfo._velocity(1) >> staInfo._velocity(2) >> staInfo._velocity(3); 104 } 105 else { 106 in.seekg(posBeforeToken); 107 break; 108 } 109 } 110 84 111 if (!in.eof()) { 85 112 in >> staInfo._neuAnt(1) >> staInfo._neuAnt(2) >> staInfo._neuAnt(3); -
trunk/BNC/src/pppCrdFile.h
r7523 r11019 13 13 public: 14 14 t_staInfo() { 15 _xyz.ReSize(3); _xyz = 0.0; 16 _neuAnt.ReSize(3); _neuAnt = 0.0; 15 _xyz.ReSize(3); _xyz = 0.0; 16 _neuAnt.ReSize(3); _neuAnt = 0.0; 17 _velocity.ReSize(3); _velocity = 0.0; 18 _epoch = 0.0; 17 19 } 18 20 std::string _name; … … 21 23 ColumnVector _xyz; 22 24 ColumnVector _neuAnt; 25 ColumnVector _velocity; // ITRF velocity Vx, Vy, Vz [m/year], zero if unused 26 double _epoch; // reference (decimal year) epoch of _xyz, zero if unused 23 27 }; 24 28 -
trunk/BNC/src/pppMain.cpp
r10942 r11019 238 238 opt->_neuEccRover[1] = staInfo._neuAnt[1]; 239 239 opt->_neuEccRover[2] = staInfo._neuAnt[2]; 240 opt->_velRover[0] = staInfo._velocity[0]; 241 opt->_velRover[1] = staInfo._velocity[1]; 242 opt->_velRover[2] = staInfo._velocity[2]; 243 opt->_refEpochRover = staInfo._epoch; 240 244 opt->_antNameRover = staInfo._antenna; 241 245 opt->_recNameRover = staInfo._receiver; -
trunk/BNC/src/pppOptions.cpp
r10943 r11019 52 52 _xyzAprRover.ReSize(3); _xyzAprRover = 0.0; 53 53 _neuEccRover.ReSize(3); _neuEccRover = 0.0; 54 _velRover.ReSize(3); _velRover = 0.0; 55 _refEpochRover = 0.0; 54 56 _aprSigCrd.ReSize(3); _aprSigCrd = 0.0; 55 57 _noiseCrd.ReSize(3); _noiseCrd = 0.0; -
trunk/BNC/src/pppOptions.h
r10942 r11019 76 76 ColumnVector _xyzAprRover; 77 77 ColumnVector _neuEccRover; 78 ColumnVector _velRover; // ITRF velocity Vx,Vy,Vz [m/year] of _xyzAprRover, zero if unused 79 double _refEpochRover; // reference (decimal year) epoch of _xyzAprRover, zero if unused 78 80 std::string _recNameRover; 79 81 std::string _antNameRover;
Note:
See TracChangeset
for help on using the changeset viewer.
