1 | | |
2 | | |
3 | | <!doctype html> |
4 | | |
5 | | |
6 | | <html xmlns="http://www.w3.org/1999/xhtml"> |
7 | | <head> |
8 | | <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
9 | | |
10 | | <title>BNC 2.13 documentation</title> |
11 | | |
12 | | <link rel="stylesheet" href="_static/bizstyle.css" type="text/css" /> |
13 | | <link rel="stylesheet" href="_static/pygments.css" type="text/css" /> |
14 | | |
15 | | <script type="text/javascript"> |
16 | | var DOCUMENTATION_OPTIONS = { |
17 | | URL_ROOT: './', |
18 | | VERSION: '2.13', |
19 | | COLLAPSE_INDEX: false, |
20 | | FILE_SUFFIX: '.html', |
21 | | HAS_SOURCE: true |
22 | | }; |
23 | | </script> |
24 | | <script type="text/javascript" src="_static/jquery.js"></script> |
25 | | <script type="text/javascript" src="_static/underscore.js"></script> |
26 | | <script type="text/javascript" src="_static/doctools.js"></script> |
27 | | <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> |
28 | | <script type="text/javascript" src="_static/bizstyle.js"></script> |
29 | | <link rel="top" title="None" href="bnchelp.html#document-bnchelp" /> |
30 | | <meta name="viewport" content="width=device-width,initial-scale=1.0"> |
31 | | <!--[if lt IE 9]> |
32 | | <script type="text/javascript" src="_static/css3-mediaqueries.js"></script> |
33 | | <![endif]--> |
34 | | </head> |
35 | | <body role="document"> |
36 | | <div class="related" role="navigation" aria-label="related navigation"> |
37 | | <h3>Navigation</h3> |
38 | | <ul> |
39 | | <li class="nav-item nav-item-0"><a href="bnchelp.html#document-bnchelp">BNC 2.13 documentation</a> »</li> |
40 | | </ul> |
41 | | </div> |
42 | | <div class="sphinxsidebar" role="navigation" aria-label="main navigation"> |
43 | | <div class="sphinxsidebarwrapper"> |
44 | | <p class="logo"><a href="bnchelp.html#document-bnchelp"> |
45 | | <img class="logo" src="_static/bnc_logo.png" alt="Logo"/> |
46 | | </a></p> |
47 | | <h3><a href="bnchelp.html#document-bnchelp">Table Of Contents</a></h3> |
48 | | <p class="caption"><span class="caption-text">Table of Contents</span></p> |
49 | | <ul> |
50 | | <li class="toctree-l1"><a class="reference internal" href="bnchelp.html#document-abbreviations">Abbreviations</a></li> |
51 | | <li class="toctree-l1"><a class="reference internal" href="bnchelp.html#document-chapter1">Introduction</a><ul> |
52 | | <li class="toctree-l2"><a class="reference internal" href="bnchelp.html#purpose">Purpose</a></li> |
53 | | <li class="toctree-l2"><a class="reference internal" href="bnchelp.html#authors">Authors</a></li> |
54 | | <li class="toctree-l2"><a class="reference internal" href="bnchelp.html#documentation">Documentation</a></li> |
55 | | <li class="toctree-l2"><a class="reference internal" href="bnchelp.html#contact">Contact</a></li> |
56 | | <li class="toctree-l2"><a class="reference internal" href="bnchelp.html#acknowledgements">Acknowledgements</a></li> |
57 | | <li class="toctree-l2"><a class="reference internal" href="bnchelp.html#looking-back">Looking Back</a></li> |
58 | | </ul> |
| 1 | <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1"> |
| 2 | <p><img src="IMG/screenshot43.png"/></p> |
| 3 | |
| 4 | <h3>BKG Ntrip Client (BNC)<br> |
| 5 | Version 2.12.0</h3> |
| 6 | |
| 7 | <p> |
| 8 | Georg Weber<sup>(1)</sup>, Leoš Mervart<sup>(2)</sup>, Andrea Stürze<sup>(1)</sup>, Axel Rülke<sup>(1)</sup>, Dirk Stöcker<sup>(3)</sup> |
| 9 | <p> |
| 10 | <sup>(1) Federal Agency for Cartography and Geodesy (BKG), Frankfurt, Germany</sup><br> |
| 11 | <sup>(2) Czech Technical University (CTU), Department of Geomatics, Prague, Czech Republic</sup><br> |
| 12 | <sup>(3) Alberding GmbH, Wildau, Germany</sup> |
| 13 | <br><br> |
| 14 | <b>Copyright</b><br> |
| 15 | ©<sup> </sup> 2005-2016 Federal Agency for Cartography and Geodesy (BKG), Frankfurt, Germany |
| 16 | <br><br> |
| 17 | ISSN 1436-3445<br> |
| 18 | ISBN 978-3-86482-083-0<br><br> |
| 19 | <b>Citation<sup> </sup></b><br> |
| 20 | 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: |
| 21 | <br><br> |
| 22 | Weber, G., L. Mervart, A. Stürze, A. Rülke and D. Stöcker (2016):<br> |
| 23 | BKG Ntrip Client, Version 2.12. Mitteilungen des Bundesamtes<br> |
| 24 | für Kartographie und Geodäsie, Vol. 49, Frankfurt am Main, 2016. |
| 25 | <br><br> |
| 26 | |
| 27 | <b>Table of <a name="contents">Contents</b><br><br> |
| 28 | <b>1.</b> <a href=#genInstruction><b>General Information</b></a><br><br> |
| 29 | 1.1 <a href=#introPurpose>Purpose</a><br> |
| 30 | 1.2 <a href=#introSystem>Supported GNSS</a><br> |
| 31 | 1.3 <a href=#introFlow>Data Flow</a><br> |
| 32 | 1.4 <a href=#introHandling>Handling</a><br> |
| 33 | 1.5 <a href=#introInst>Installation</a><br> |
| 34 | 1.5.1 <a href=#introCompile>Compilation</a><br> |
| 35 | 1.6 <a href=#introConf>Configuration</a><br> |
| 36 | 1.6.1 <a href=#introExamples>Examples</a><br> |
| 37 | 1.7 <a href=#introLimit>Limitations</a><br> |
| 38 | 1.8 <a href=#introLBack>Looking Back</a><br><br> |
| 39 | <b>2.</b> <a href=#optsettings><b>Settings Details</b></a><br><br> |
| 40 | 2.1 <a href=#topmenu><b>Top Menu Bar</b></a><br> |
| 41 | 2.1.1 <a href=#file>File</a><br> |
| 42 | 2.1.2 <a href=#help>Help</a><br> |
| 43 | 2.2 <a href=#network><b>Network</b></a><br> |
| 44 | 2.2.1 <a href=#proxy>Proxy</a><br> |
| 45 | 2.2.2 <a href=#ssl>SSL</a><br> |
| 46 | 2.3 <a href=#general><b>General</b></a><br> |
| 47 | 2.3.1 <a href=#genlog>Logfile</a><br> |
| 48 | 2.3.2 <a href=#genapp>Append Files</a><br> |
| 49 | 2.3.3 <a href=#genconf>Reread Configuration</a><br> |
| 50 | 2.3.4 <a href=#genstart>Auto Start</a><br> |
| 51 | 2.3.5 <a href=#rawout>Raw Output File</a><br> |
| 52 | 2.4 <a href=#rinex><b>RINEX Observations</b></a><br> |
| 53 | 2.4.1 <a href=#rnxname>Filenames</a><br> |
| 54 | 2.4.2 <a href=#rnxdir>Directory</a><br> |
| 55 | 2.4.3 <a href=#rnxinterval>File Interval</a><br> |
| 56 | 2.4.4 <a href=#rnxsample>Sampling</a><br> |
| 57 | 2.4.5 <a href=#rnxskl>Skeleton Extension</a><br> |
| 58 | 2.4.6 <a href=#sklMandat>Skeleton Mandatory</a><br> |
| 59 | 2.4.7 <a href=#rnxscript>Script</a><br> |
| 60 | 2.4.8 <a href=#rnxvers2>Version 2</a><br> |
| 61 | 2.4.9 <a href=#rnxvers3>Version 3</a><br> |
| 62 | 2.4.10 <a href=#rnxvers3File>Version 3 Filenames</a><br> |
| 63 | 2.5 <a href=#ephemeris><b>RINEX Ephemeris</b></a><br> |
| 64 | 2.5.1 <a href=#ephdir>Directory</a><br> |
| 65 | 2.5.2 <a href=#ephint>Interval</a><br> |
| 66 | 2.5.3 <a href=#ephport>Port</a><br> |
| 67 | 2.5.4 <a href=#ephvers>Version</a><br> |
| 68 | 2.5.5 <a href=#ephversFile>Version 3 Filenames</a><br> |
| 69 | 2.6 <a href=#reqc><b>RINEX Editing & QC</b></a><br> |
| 70 | 2.6.1 <a href=#reqcact>Action</a><br> |
| 71 | 2.6.2 <a href=#reqcinp>Input Files</a><br> |
| 72 | 2.6.3 <a href=#reqcout>Output Files</a><br> |
| 73 | 2.6.4 <a href=#reqclog>Logfiles</a><br> |
| 74 | 2.6.5 <a href=#reqcplots>Plots for Signals</a><br> |
| 75 | 2.6.6 <a href=#reqcdir>Directory for Plots</a><br> |
| 76 | 2.6.7 <a href=#reqcedit>Set Edit Options</a><br> |
| 77 | 2.6.8 <a href=#reqccommand>Command Line, No Window</a><br> |
| 78 | 2.7 <a href=#sp3comp><b>SP3 Comparison</b></a><br> |
| 79 | 2.7.1 <a href=#sp3input>Input SP3 Files</a><br> |
| 80 | 2.7.2 <a href=#sp3exclude>Exclude Satellites</a><br> |
| 81 | 2.7.3 <a href=#sp3log>Logfile</a><br> |
| 82 | 2.8 <a href=#correct><b>Broadcast Corrections</b></a><br> |
| 83 | 2.8.1 <a href=#corrdir>Directory, ASCII</a><br> |
| 84 | 2.8.2 <a href=#corrint>Interval</a><br> |
| 85 | 2.8.3 <a href=#corrport>Port</a><br> |
| 86 | 2.8.4 <a href=#corrwait>Wait for Full Corr Epoch</a><br> |
| 87 | 2.9 <a href=#syncout><b>Feed Engine</b></a><br> |
| 88 | 2.9.1 <a href=#syncport>Port</a><br> |
| 89 | 2.9.2 <a href=#syncwait>Wait for Full Obs Epoch</a><br> |
| 90 | 2.9.3 <a href=#syncsample>Sampling</a><br> |
| 91 | 2.9.4 <a href=#syncfile>File</a><br> |
| 92 | 2.9.5 <a href=#syncuport>Port (unsynchronized)</a><br> |
| 93 | 2.10 <a href=#serial><b>Serial Output</b></a><br> |
| 94 | 2.10.1 <a href=#sermount>Mountpoint</a><br> |
| 95 | 2.10.2 <a href=#serport>Port Name</a><br> |
| 96 | 2.10.3 <a href=#serbaud>Baud Rate</a><br> |
| 97 | 2.10.4 <a href=#serflow>Flow Control</a><br> |
| 98 | 2.10.5 <a href=#serparity>Parity</a><br> |
| 99 | 2.10.6 <a href=#serdata>Data Bits</a><br> |
| 100 | 2.10.7 <a href=#serstop>Stop Bits</a><br> |
| 101 | 2.10.8 <a href=#serauto>NMEA</a><br> |
| 102 | 2.10.9 <a href=#serfile>File</a><br> |
| 103 | 2.10.10 <a href=#serheight>Height</a><br> |
| 104 | 2.10.11 <a href=#sersampl>Sampling</a><br> |
| 105 | 2.11 <a href=#advnote><b>Outages</b></a><br> |
| 106 | 2.11.1. <a href=#obsrate>Observation Rate</a><br> |
| 107 | 2.11.2. <a href=#advfail>Failure Threshold</a><br> |
| 108 | 2.11.3. <a href=#advreco>Recovery Threshold</a><br> |
| 109 | 2.11.4. <a href=#advscript>Script</a><br> |
| 110 | 2.12 <a href=#misc><b>Miscellaneous</b></a><br> |
| 111 | 2.12.1. <a href=#miscmount>Mountpoint</a><br> |
| 112 | 2.12.2. <a href=#miscperf>Log Latency</a><br> |
| 113 | 2.12.3. <a href=#miscscan>Scan RTCM</a><br> |
| 114 | 2.12.4. <a href=#miscport>Port</a><br> |
| 115 | 2.13 <a href=#pppclient><b>PPP Client</b></a><br> |
| 116 | 2.13.1 <a href=#pppInp><b>PPP (1): Input and Output</b></a><br> |
| 117 | 2.13.1.1 <a href=#pppdatasource>Data Source</a><br> |
| 118 | 2.13.1.2 <a href=#ppprnxobs>RINEX Observation File</a><br> |
| 119 | 2.13.1.3 <a href=#ppprnxnav>RINEX Navigation File</a><br> |
| 120 | 2.13.1.4 <a href=#pppcorrstream>Corrections Stream</a><br> |
| 121 | 2.13.1.5 <a href=#pppcorrfile>Corrections File</a><br> |
| 122 | 2.13.1.6 <a href=#pppantexfile>ANTEX File</a><br> |
| 123 | 2.13.1.7 <a href=#pppmarkcoor>Coordinates File</a><br> |
| 124 | 2.13.1.8 <a href=#pppv3filename>Version 3 Filenames</a><br> |
| 125 | 2.13.1.9 <a href=#ppplogfile>Logfile Directory</a><br> |
| 126 | 2.13.1.10 <a href=#pppnmeafile>NMEA Directory</a><br> |
| 127 | 2.13.1.11 <a href=#pppsnxtrofile>SNX TRO Directory</a><br> |
| 128 | 2.13.1.11.1 <a href=#pppsnxtrointr>Interval</a><br> |
| 129 | 2.13.1.11.2 <a href=#pppsnxtrosampl>Sampling</a><br> |
| 130 | 2.13.1.11.3 <a href=#pppsnxAc>Analysis Center</a><br> |
| 131 | 2.13.1.11.4 <a href=#pppsnxSol>Solution ID</a><br> |
| 132 | |
| 133 | 2.13.2 <a href=#pppStation><b>PPP (2): Processed Stations</b></a><br> |
| 134 | 2.13.2.1 <a href=#pppsite>Station</a><br> |
| 135 | 2.13.2.2 <a href=#pppnehsigma>Sigma North/East/Up</a><br> |
| 136 | 2.13.2.3 <a href=#pppnehnoise>Noise North/East/Up</a><br> |
| 137 | 2.13.2.4 <a href=#ppptropsigma>Tropo Sigma</a><br> |
| 138 | 2.13.2.5 <a href=#ppptropnoise>Tropo Noise</a><br> |
| 139 | 2.13.2.6 <a href=#pppnmeaport>NMEA Port</a><br> |
| 140 | 2.13.3 <a href=#pppOptions><b>PPP (3): Processing Options</b></a><br> |
| 141 | 2.13.3.1 <a href=#ppplinecombi>Linear Combinations</a><br> |
| 142 | 2.13.3.2 <a href=#pppcodeobs>Code Observations</a><br> |
| 143 | 2.13.3.3 <a href=#pppphaseobs>Phase Observations</a><br> |
| 144 | 2.13.3.4 <a href=#pppeleweight>Elevation Dependent Weighting</a><br> |
| 145 | 2.13.3.5 <a href=#pppminobs>Minimum Number of Observations</a><br> |
| 146 | 2.13.3.6 <a href=#pppmineleva>Minimum Elevation</a><br> |
| 147 | 2.13.3.7 <a href=#pppwaitclockcorr>Wait for Clock Corrections</a><br> |
| 148 | 2.13.3.8 <a href=#pppseeding>Seeding</a><br> |
| 149 | 2.13.4 <a href=#pppPlots><b>PPP (4): Plots</b></a><br> |
| 150 | 2.13.4.1 <a href=#ppptimeseries>PPP Plot</a><br> |
| 151 | 2.13.4.2 <a href=#pppaudioresp>Audio Response</a><br> |
| 152 | 2.13.4.3 <a href=#ppptrackmap>Track Map</a><br> |
| 153 | 2.13.4.3.1 <a href=#pppmaptype>Google/OSM</a><br> |
| 154 | 2.13.4.4 <a href=#pppdotprop>Dot-properties</a><br> |
| 155 | 2.13.4.4.1 <a href=#pppdotsize>Size</a><br> |
| 156 | 2.13.4.4.2 <a href=#pppdotcolor>Color</a><br> |
| 157 | 2.13.4.5 <a href=#pppspeed>Post Processing Speed</a><br> |
| 158 | 2.14 <a href=#combi><b>Combine Corrections</b></a><br> |
| 159 | 2.14.1 <a href=#combimounttab>Combine Corrections Table</a><br> |
| 160 | 2.14.1.1 <a href=#combiadd>Add Row, Delete</a><br> |
| 161 | 2.14.1.2 <a href=#combimethod>Method</a><br> |
| 162 | 2.14.1.3 <a href=#combimax>Maximal Residuum</a><br> |
| 163 | 2.14.1.4 <a href=#combismpl>Sampling</a><br> |
| 164 | 2.14.1.5 <a href=#combiGLO>Use GLONASS</a><br> |
| 165 | 2.15 <a href=#upclk><b>Upload Corrections</b></a><br> |
| 166 | 2.15.1 <a href=#upadd>Add, Delete Row</a><br> |
| 167 | 2.15.2 <a href=#uphost>Host, Port, Mountpoint, Password</a><br> |
| 168 | 2.15.3 <a href=#upsystem>System</a><br> |
| 169 | 2.15.4 <a href=#upcom>Center of Mass</a><br> |
| 170 | 2.15.5 <a href=#upsp3>SP3 File</a><br> |
| 171 | 2.15.6 <a href=#uprinex>RNX File</a><br> |
| 172 | 2.15.7 <a href=#pidsidiod>PID, SID, IOD</a><br> |
| 173 | |
| 174 | 2.15.8 <a href=#upinter>Interval</a><br> |
| 175 | 2.15.9 <a href=#upclksmpl>Sampling</a><br> |
| 176 | 2.15.9.1 <a href=#upclkorb>Orbits</a><br> |
| 177 | 2.15.9.2 <a href=#upclksp3>SP3</a><br> |
| 178 | 2.15.9.3 <a href=#upclkrnx>RINEX</a><br> |
| 179 | 2.15.10 <a href=#upcustom>Custom Trafo</a><br> |
| 180 | 2.15.11 <a href=#upantex>ANTEX File</a><br> |
| 181 | 2.16 <a href=#upeph><b>Upload Ephemeris</b></a><br> |
| 182 | 2.16.1 <a href=#brdcserver>Host & Port</a><br> |
| 183 | 2.16.2 <a href=#brdcmount>Mountpoint & Password</a><br> |
| 184 | 2.16.3 <a href=#brdcsmpl>Sampling</a><br> |
| 185 | 2.17 <a href=#streams><b>Streams Canvas</b></a><br> |
| 186 | 2.17.1 <a href=#streamedit>Edit Streams</a><br> |
| 187 | 2.17.2 <a href=#streamdelete>Delete Stream</a><br> |
| 188 | 2.17.3 <a href=#streamconf>Reconfigure Stream Selection On-the-fly</a><br> |
| 189 | 2.18 <a href=#logs><b>Logging Canvas</b></a><br> |
| 190 | 2.18.1 <a href=#logfile>Log</a><br> |
| 191 | 2.18.2 <a href=#throughput>Throughput</a><br> |
| 192 | 2.18.3 <a href=#latency>Latency</a><br> |
| 193 | 2.18.4 <a href=#ppptab>PPP Plot</a><br> |
| 194 | 2.19 <a href=#bottom><b>Bottom Menu Bar</b></a><br> |
| 195 | 2.19.1 <a href=#streamadd>Add Stream</a><br> |
| 196 | 2.19.1.1 <a href=#streamcaster>Add Stream - Coming from Caster</a><br> |
| 197 | 2.19.1.1.1 <a href=#streamhost>Caster Host and Port</a><br> |
| 198 | 2.19.1.1.2 <a href=#streamtable>Casters Table</a><br> |
| 199 | 2.19.1.1.3 <a href=#streamuser>User and Password</a><br> |
| 200 | 2.19.1.1.4 <a href=#gettable>Get Table</a><br> |
| 201 | 2.19.1.1.5 <a href=#ntripv>Ntrip Version</a><br> |
| 202 | 2.19.1.1.6 <a href=#castermap>Map</a><br> |
| 203 | 2.19.1.2 <a href=#streamip>Add Stream - Coming from TCP/IP Port</a><br> |
| 204 | 2.19.1.3 <a href=#streamudp>Add Stream - Coming from UDP Port</a><br> |
| 205 | 2.19.1.4 <a href=#streamser>Add Stream - Coming from Serial Port</a><br> |
| 206 | 2.19.2 <a href=#streamsdelete>Delete Stream</a><br> |
| 207 | 2.19.3 <a href=#streamsmap>Map</a><br> |
| 208 | 2.19.4 <a href=#start>Start</a><br> |
| 209 | 2.19.5 <a href=#stop>Stop</a><br> |
| 210 | 2.19.6 <a href=#contexthelp>Help? = Shift+F1</a><br> |
| 211 | 2.20 <a href=#cmd><b>Command Line Options</b></a><br> |
| 212 | 2.20.1 <a href=#cmdVersion>Version</a><br> |
| 213 | 2.20.2 <a href=#cmdDisplay>Display</a><br> |
| 214 | 2.20.3 <a href=#nw>No Window Mode</a><br> |
| 215 | 2.20.4 <a href=#post>File Mode</a><br> |
| 216 | 2.20.5 <a href=#conffile>Configuration File</a><br> |
| 217 | 2.20.6 <a href=#confopt>Configuration Options</a><br><br> |
| 218 | <b>3.</b> <a href=#annex><b>Annex</b></a><br><br> |
| 219 | 3.1 <a href=#history>Revision History</a><br> |
| 220 | 3.2 <a href=#rtcm>RTCM Standards</a><br> |
| 221 | 3.2.1 <a href=#ntrip1>Ntrip Version 1</a><br> |
| 222 | 3.2.2 <a href=#ntrip2>Ntrip Version 2</a><br> |
| 223 | 3.2.3 <a href=#rtcm2>RTCM Version 2</a><br> |
| 224 | 3.2.4 <a href=#rtcm3>RTCM Version 3</a><br> |
| 225 | 3.3 <a href=#confList>Command Line Help</a><br> |
| 226 | 3.4 <a href=#links>Further Reading</a><br> |
| 227 | 3.5 <a href=#abbrev>Abbreviations</a> |
| 228 | </p> |
| 229 | |
| 230 | |
| 231 | <p><b>List of Figures</b><br><br> |
| 232 | <table> |
| 233 | <tr><td><b>Fig. </b></td><td><b>Title</b></td><td><b>Chapter</b></td></tr> |
| 234 | <tr><td>1</td><td>Flowchart, BNC connected to a GNSS rover for Precise Point Positioning</b></td><td>1.3</td></tr> |
| 235 | <tr><td>2</td><td>Flowchart, BNC converting RTCM streams to RINEX batches</td><td>1.3</td></tr> |
| 236 | <tr><td>3</td><td>Flowchart, BNC feeding a real-time GNSS engine and uploading encoded Broadcast Corrections</td><td>1.3</td></tr> |
| 237 | <tr><td>4</td><td>Flowchart, BNC combining Broadcast Correction streams</td><td>1.3</td></tr> |
| 238 | <tr><td>5</td><td>Sections on BNC's main window</td><td>1.4</td></tr> |
| 239 | <tr><td>6</td><td>Management of configuration options in BNC</td><td>1.6</td></tr> |
| 240 | <tr><td>7</td><td>BNC's 'Network' panel configured to ignore eventually occurring SSL error messages</td><td>2.2.2</td></tr> |
| 241 | <tr><td>8</td><td>BNC translating incoming streams to 15 min RINEX Version 3 files</td><td>2.4</td></tr> |
| 242 | <tr><td>9</td><td>BNC converting Broadcast Ephemeris stream to RINEX Version 3 Navigation files</td><td>2.5.5</td></tr> |
| 243 | <tr><td>10</td><td>Example for BNC's 'RINEX Editing Options' window</td><td>2.6.7</td></tr> |
| 244 | <tr><td>11</td><td>Example for RINEX file concatenation with BNC</td><td>2.6.7</td></tr> |
| 245 | <tr><td>12</td><td>Example for creating RINEX quality check analysis graphics output with BNC</td><td>2.6.7</td></tr> |
| 246 | <tr><td>13</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.7</td></tr> |
| 247 | <tr><td>14</td><td>Sky plot examples for multipath, part of RINEX quality check analysis with BNC</td><td>2.6.7</td></tr> |
| 248 | <tr><td>15</td><td>Sky plot examples for signal-to-noise ratio, part of RINEX quality check analysis with BNC</td><td>2.6.7</td></tr> |
| 249 | <tr><td>16</td><td>Example for comparing two SP3 files with satellite orbit and clock data using BNC</td><td>2.7.3</td></tr> |
| 250 | <tr><td>17</td><td>Example for pulling, saving and output of Broadcast Corrections using BNC</td><td>2.8.3</td></tr> |
| 251 | <tr><td>18</td><td>Synchronized BNC output via IP port to feed a GNSS real-time engine</td><td>2.9</td></tr> |
| 252 | <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> |
| 253 | <tr><td>20</td><td>BNC pulling a VRS stream to feed a serially connected RTK rover</td><td>2.10</td></tr> |
| 254 | <tr><td>21</td><td>RTCM message numbers, latencies and observation types logged by BNC</td><td>2.12</td></tr> |
| 255 | <tr><td>22</td><td>Real-time Precise Point Positioning with BNC, PPP Panel 1</td><td>2.13.1</td></tr> |
| 256 | <tr><td>23</td><td>Precise Point Positioning with BNC, PPP Panel 2, using RTKPLOT for visualization</td><td>2.13.2</td></tr> |
| 257 | <tr><td>24</td><td>Precise Point Positioning with BNC, PPP Panel 3</td><td>2.13.3</td></tr> |
| 258 | <tr><td>25</td><td>Precise Point Positioning with BNC in 'Quick-Start' mode, PPP Panel 4</td><td>2.13.3.8</td></tr> |
| 259 | <tr><td>26</td><td>Track of positions from BNC with Google Maps in background</td><td>2.13.4.3</td></tr> |
| 260 | <tr><td>27</td><td>Example for background map from Google Maps and OpenStreetMap (OSM) resources</td><td>2.13.4.3.1</td></tr> |
| 261 | <tr><td>28</td><td>BNC combining Broadcast Correction streams</td><td>2.14</td></tr> |
| 262 | <tr><td>29</td><td>INTERNAL' PPP with BNC using a combination of Broadcast Corrections</td><td>2.14</td></tr> |
| 263 | <tr><td>30</td><td>Setting BNC's Custom Transformation Parameters window, example for 'ITRF2008->GDA94'</td><td>2.15.3</td></tr> |
| 264 | <tr><td>31</td><td>BNC producing Broadcast Corrections from incoming precise orbits and clocks and uploading them to an Ntrip Broadcaster</td><td>2.15.11</td></tr> |
| 265 | <tr><td>32</td><td>BNC uploading a combined Broadcast Correction stream</td><td>2.15.11</td></tr> |
| 266 | <tr><td>33</td><td>BNC producing Broadcast Ephemeris stream from globally distributed RTCM streams; upload in RTCM format to an Ntrip Broadcaster</td><td>2.16.3</td></tr> |
| 267 | <tr><td>34</td><td>Bandwidth consumption of RTCM streams received by BNC</td><td>2.18.2</td></tr> |
| 268 | <tr><td>35</td><td>Latency of RTCM streams received by BNC</td><td>2.18.3</td></tr> |
| 269 | <tr><td>36</td><td>Example for time series plot of displacements produced by BNC</td><td>2.18.4</td></tr> |
| 270 | <tr><td>37</td><td>Steam input communication links accepted by BNC</td><td>2.19</td></tr> |
| 271 | <tr><td>38</td><td>BNC's 'Select Broadcaster' table</td><td>2.19.1.1.2</td></tr> |
| 272 | <tr><td>39</td><td>Broadcaster source-table shown by BNC</td><td>2.19.1.1.4</td></tr> |
| 273 | <tr><td>40</td><td>Stream distribution map shown by BNC as derived from Ntrip Broadcaster source-table</td><td>2.19.1.1.6</td></tr> |
| 274 | <tr><td>41</td><td>BNC configuration for pulling a stream via serial port</td><td>2.19.1.4</td></tr> |
| 275 | </table> |
| 276 | </p> |
| 277 | |
| 278 | <p><b>List of Tables</b><br><br> |
| 279 | <table> |
| 280 | <tr><td><b>Tab. </b></td><td><b>Title</b></td><td><b>Chapter</b></td></tr> |
| 281 | <tr><td>1</td><td>Status of RTCM Version 3 message implementations in BNC supporting various GNSS systems</td><td>1.2</td></tr> |
| 282 | <tr><td>2</td><td>Contents and format of synchronized output of observations feeding a GNSS engine</td><td>2.9</td></tr> |
| 283 | </table> |
| 284 | </p> |
| 285 | |
| 286 | <p><h3>1. <a name="genInstruction">General Information</h3></p> |
| 287 | <p> |
| 288 | The BKG Ntrip Client (BNC) is a program for simultaneously retrieving, decoding, converting and processing or analyzing real-time GNSS data streams applying the 'Networked Transport of RTCM via Internet Protocol' (Ntrip) standard. It has been developed within the framework of the IAG sub-commission for Europe (EUREF) and the International GNSS Service (IGS). Although meant to be a real-time tool, it comes with some post processing functionality. It can be used for data coming from Ntrip Broadcasters like |
| 289 | <ul> |
| 290 | <li><u>http://www.euref-ip.net/home</u></li> |
| 291 | <li><u>http://www.igs-ip.net/home</u></li> |
| 292 | <li><u>http://products.igs-ip.net/home</u></li> |
| 293 | <li><u>http://mgex.igs-ip.net/home</u> </li> |
| 294 | </ul> |
| 295 | or similar caster installation. |
| 296 | </p> |
| 297 | |
| 298 | <p> |
| 299 | BNC has been written under GNU General Public License (GPL). Source code is available from Subversion software archive <u>http://software.rtcm-ntrip.org/svn/trunk/BNC</u>. Precompiled binaries of BNC are available for MS Windows, Linux, and Mac OS X systems. They can be downloaded from <u>http://igs.bkg.bund.de/ntrip/download</u>. |
| 300 | </p> |
| 301 | <p> |
| 302 | Feel free to send us comments, suggestions or bug reports. Any contribution would be appreciated. |
| 303 | </p> |
| 304 | |
| 305 | <p> |
| 306 | <b>Authors</b><br><br> |
| 307 | The BKG Ntrip Client (BNC) with a Qt Graphical User Interface (GUI) and a Command Line Interface (CLI) has been developed for |
| 308 | <pre> |
| 309 | Federal Agency for Cartography and Geodesy (BKG) |
| 310 | c/o Dr. Axel Rülke |
| 311 | Department of Geodesy, Section Satellite Navigation |
| 312 | Frankfurt, Germany |
| 313 | [axel.ruelke@bkg.bund.de] |
| 314 | </pre> |
| 315 | |
| 316 | The software has been written by |
| 317 | |
| 318 | <pre> |
| 319 | Prof. Dr. Leoš Mervart |
| 320 | Czech Technical University (CTU) |
| 321 | Department of Geomatics |
| 322 | Prague, Czech Republic |
| 323 | </pre> |
| 324 | </p> |
| 325 | |
| 326 | <p> |
| 327 | Prof. Mervart started working on BNC in 2005. His sole responsibility for writing the program code ended February 2015. In March 2015, Dipl.-Ing. Andrea Stürze took over the responsibility for maintaining and further developing BNC's source code. |
| 328 | </p> |
| 329 | |
| 330 | <p> |
| 331 | <b>Documentation</b><br><br> |
| 332 | BNC provides context-sensitive help (<i>What's This</i>) related to specific objects. It furthermore comes with the here presented documentation, available as part of the software and as a PDF file. Responsible for offline documentation as well as online documentation at <u>http://software.rtcm-ntrip.org/export/HEAD/ntrip/trunk/BNC/src/bnchelp.html</u> and the example configurations is Dr. Georg Weber. |
| 333 | </p> |
| 334 | |
| 335 | <p> |
| 336 | Note that some figures presented in this documentation may show screenshots from earlier versions of BNC. If so, there is either no relevant change compared to the current appearance of the program or no change at all. |
| 337 | </p> |
| 338 | |
| 339 | <p> |
| 340 | <b>Contact</b><br><br> |
| 341 | Feel free to send us comments, suggestions or bug reports. Any contribution would be appreciated. |
| 342 | <pre> |
| 343 | Federal Agency for Cartography and Geodesy (BKG) |
| 344 | Department of Geodesy, Section Satellite Navigation |
| 345 | Richard-Strauss-Allee 11 |
| 346 | 60598 Frankfurt am Main, Germany |
| 347 | email: igs-ip@bkg.bund.de |
| 348 | </pre> |
| 349 | </p> |
| 350 | |
| 351 | <p> |
| 352 | <b>Acknowledgements</b><br> |
| 353 | <ul> |
| 354 | <li> |
| 355 | Oliver Montenbruck, German Space Operations Center, DLR, Oberpfaffenhofen, Germany published a RTCM Version 2 decoder unter GNU GPL which has been integrated in BNC. |
110 | | </ul> |
111 | | |
112 | | </div> |
113 | | </div> |
114 | | |
115 | | <div class="document"> |
116 | | <div class="documentwrapper"> |
117 | | <div class="bodywrapper"> |
118 | | <div class="body" role="main"> |
119 | | |
120 | | <div class="section" id="welcome-to-bnc-s-documentation"> |
121 | | <h1>Welcome to BNC’s documentation!<a class="headerlink" href="#welcome-to-bnc-s-documentation" title="Permalink to this headline">¶</a></h1> |
122 | | <p>Contents:</p> |
123 | | <div class="toctree-wrapper compound" id="mastertoc"> |
124 | | <span id="document-abbreviations"></span><span class="target" id="index-0"></span><span class="target" id="index-1"></span><span class="target" id="index-2"></span><span class="target" id="index-3"></span><span class="target" id="index-4"></span><span class="target" id="index-5"></span><span class="target" id="index-6"></span><span class="target" id="index-7"></span><span class="target" id="index-8"></span><span class="target" id="index-9"></span><span class="target" id="index-10"></span><span class="target" id="index-11"></span><span class="target" id="index-12"></span><span class="target" id="index-13"></span><span class="target" id="index-14"></span><span class="target" id="index-15"></span><span class="target" id="index-16"></span><span class="target" id="index-17"></span><span class="target" id="index-18"></span><span class="target" id="index-19"></span><span class="target" id="index-20"></span><span class="target" id="index-21"></span><span class="target" id="index-22"></span><span class="target" id="index-23"></span><span class="target" id="index-24"></span><span class="target" id="index-25"></span><span class="target" id="index-26"></span><span class="target" id="index-27"></span><span class="target" id="index-28"></span><span class="target" id="index-29"></span><span class="target" id="index-30"></span><span class="target" id="index-31"></span><span class="target" id="index-32"></span><span class="target" id="index-33"></span><span class="target" id="index-34"></span><span class="target" id="index-35"></span><span class="target" id="index-36"></span><span class="target" id="index-37"></span><span class="target" id="index-38"></span><span class="target" id="index-39"></span><span class="target" id="index-40"></span><span class="target" id="index-41"></span><span class="target" id="index-42"></span><span class="target" id="index-43"></span><span class="target" id="index-44"></span><span class="target" id="index-45"></span><span class="target" id="index-46"></span><span class="target" id="index-47"></span><span class="target" id="index-48"></span><span class="target" id="index-49"></span><span class="target" id="index-50"></span><span class="target" id="index-51"></span><span class="target" id="index-52"></span><span class="target" id="index-53"></span><span class="target" id="index-54"></span><span class="target" id="index-55"></span><span class="target" id="index-56"></span><span class="target" id="index-57"></span><span class="target" id="index-58"></span><span class="target" id="index-59"></span><span class="target" id="index-60"></span><span class="target" id="index-61"></span><span class="target" id="index-62"></span><span class="target" id="index-63"></span><span class="target" id="index-64"></span><span class="target" id="index-65"></span><span class="target" id="index-66"></span><span class="target" id="index-67"></span><span class="target" id="index-68"></span><span class="target" id="index-69"></span><span class="target" id="index-70"></span><span class="target" id="index-71"></span><span class="target" id="index-72"></span><span class="target" id="index-73"></span><span class="target" id="index-74"></span><span class="target" id="index-75"></span><span class="target" id="index-76"></span><span class="target" id="index-77"></span><span class="target" id="index-78"></span><span class="target" id="index-79"></span><span class="target" id="index-80"></span><span class="target" id="index-81"></span><span class="target" id="index-82"></span><span class="target" id="index-83"></span><span class="target" id="index-84"></span><span class="target" id="index-85"></span><span class="target" id="index-86"></span><span class="target" id="index-87"></span><span class="target" id="index-88"></span><div class="section" id="abbreviations"> |
125 | | <span id="index-89"></span><h2>Abbreviations<a class="headerlink" href="#abbreviations" title="Permalink to this headline">¶</a></h2> |
126 | | <table border="1" class="docutils"> |
127 | | <colgroup> |
128 | | <col width="13%" /> |
129 | | <col width="87%" /> |
130 | | </colgroup> |
131 | | <tbody valign="top"> |
132 | | <tr class="row-odd"><td>AC</td> |
133 | | <td>Analysis Center</td> |
134 | | </tr> |
135 | | <tr class="row-even"><td>AFREF</td> |
136 | | <td>IAG Reference Frame Sub-Commission for Africa</td> |
137 | | </tr> |
138 | | <tr class="row-odd"><td>ANTEX</td> |
139 | | <td>Antenna Exchange Format</td> |
140 | | </tr> |
141 | | <tr class="row-even"><td>APC</td> |
142 | | <td>Antenna Phase Center</td> |
143 | | </tr> |
144 | | <tr class="row-odd"><td>APREF</td> |
145 | | <td>IAG Reference Frame Sub-Commission for Asia and Pacific</td> |
146 | | </tr> |
147 | | <tr class="row-even"><td>ARP</td> |
148 | | <td>Antenna Reference Point</td> |
149 | | </tr> |
150 | | <tr class="row-odd"><td>BKG</td> |
151 | | <td>Bundesamt für Kartographie und Geodäsie</td> |
152 | | </tr> |
153 | | <tr class="row-even"><td>BNC</td> |
154 | | <td>BNK Ntrip Client</td> |
155 | | </tr> |
156 | | <tr class="row-odd"><td>BSW</td> |
157 | | <td>Bernese GNSS Software</td> |
158 | | </tr> |
159 | | <tr class="row-even"><td>CC</td> |
160 | | <td>Combination Center</td> |
161 | | </tr> |
162 | | <tr class="row-odd"><td>CLI</td> |
163 | | <td>Command Line Interface</td> |
164 | | </tr> |
165 | | <tr class="row-even"><td>CoM</td> |
166 | | <td>Center Of Mass</td> |
167 | | </tr> |
168 | | <tr class="row-odd"><td>DGNSS</td> |
169 | | <td>Differential GNSS</td> |
170 | | </tr> |
171 | | <tr class="row-even"><td>DGPS-IP</td> |
172 | | <td>Differential GPS via Internet Protocol</td> |
173 | | </tr> |
174 | | <tr class="row-odd"><td>DMG</td> |
175 | | <td>Disk Image, File</td> |
176 | | </tr> |
177 | | <tr class="row-even"><td>DREF91</td> |
178 | | <td>Geodetic Datum for Germany 1991</td> |
179 | | </tr> |
180 | | <tr class="row-odd"><td>ECEF</td> |
181 | | <td>Earth-Centred-Earth-Fixed</td> |
182 | | </tr> |
183 | | <tr class="row-even"><td>EDGE</td> |
184 | | <td>Enhanced Data Rates for GSM Evolution</td> |
185 | | </tr> |
186 | | <tr class="row-odd"><td>ETRF2000</td> |
187 | | <td>European Terrestrial Reference Frame 2000</td> |
188 | | </tr> |
189 | | <tr class="row-even"><td>EUREF</td> |
190 | | <td>IAG Reference Frame Sub-Commission for Europe</td> |
191 | | </tr> |
192 | | <tr class="row-odd"><td>EoE</td> |
193 | | <td>End of Epoch</td> |
194 | | </tr> |
195 | | <tr class="row-even"><td>FKP</td> |
196 | | <td>Flächen-Korrektur-Parameter</td> |
197 | | </tr> |
198 | | <tr class="row-odd"><td>FTP</td> |
199 | | <td>File Transfer Protocol</td> |
200 | | </tr> |
201 | | <tr class="row-even"><td>GDA94</td> |
202 | | <td>Geodetic Datum Australia 1994</td> |
203 | | </tr> |
204 | | <tr class="row-odd"><td>GM</td> |
205 | | <td>Google Maps</td> |
206 | | </tr> |
207 | | <tr class="row-even"><td>GNSS</td> |
208 | | <td>Global Navigation Satellite System</td> |
209 | | </tr> |
210 | | <tr class="row-odd"><td>GNU</td> |
211 | | <td>GNU’s Not Unix</td> |
212 | | </tr> |
213 | | <tr class="row-even"><td>GPL</td> |
214 | | <td>General Public License</td> |
215 | | </tr> |
216 | | <tr class="row-odd"><td>GPRS</td> |
217 | | <td>General Packet Radio Service</td> |
218 | | </tr> |
219 | | <tr class="row-even"><td>GPSWD</td> |
220 | | <td>GPS Week and Day</td> |
221 | | </tr> |
222 | | <tr class="row-odd"><td>GSM</td> |
223 | | <td>Global System for Mobile Communications</td> |
224 | | </tr> |
225 | | <tr class="row-even"><td>GUI</td> |
226 | | <td>Graphical User Interface</td> |
227 | | </tr> |
228 | | <tr class="row-odd"><td>HP MSM</td> |
229 | | <td>High Precision Multiple Signal Messages</td> |
230 | | </tr> |
231 | | <tr class="row-even"><td>HR URA</td> |
232 | | <td>High Rate User Range Accuracy</td> |
233 | | </tr> |
234 | | <tr class="row-odd"><td>HTTP</td> |
235 | | <td>Hypertext Transfer Protocol</td> |
236 | | </tr> |
237 | | <tr class="row-even"><td>HTTPS</td> |
238 | | <td>Hypertext Transfer Protocol Secure</td> |
239 | | </tr> |
240 | | <tr class="row-odd"><td>IAG</td> |
241 | | <td>International Association of Geodesy</td> |
242 | | </tr> |
243 | | <tr class="row-even"><td>ICECAST</td> |
244 | | <td>Streaming Media Server</td> |
245 | | </tr> |
246 | | <tr class="row-odd"><td>IGS08</td> |
247 | | <td>IGS Reference Frame 2008</td> |
248 | | </tr> |
249 | | <tr class="row-even"><td>IGS</td> |
250 | | <td>International GNSS Service</td> |
251 | | </tr> |
252 | | <tr class="row-odd"><td>IOD</td> |
253 | | <td>Issue of Data</td> |
254 | | </tr> |
255 | | <tr class="row-even"><td>IP</td> |
256 | | <td>Internet Protocol</td> |
257 | | </tr> |
258 | | <tr class="row-odd"><td>ITRF2008</td> |
259 | | <td>International Terrestrial Reference Frame 2008</td> |
260 | | </tr> |
261 | | <tr class="row-even"><td>L3</td> |
262 | | <td>Ionosphere-Free Linear Combination Of Phase Observations</td> |
263 | | </tr> |
264 | | <tr class="row-odd"><td>LAN</td> |
265 | | <td>Local Area Network</td> |
266 | | </tr> |
267 | | <tr class="row-even"><td>LC</td> |
268 | | <td>Linea Combination</td> |
269 | | </tr> |
270 | | <tr class="row-odd"><td>M-GEX</td> |
271 | | <td>Multi GNSS-Experiment</td> |
272 | | </tr> |
273 | | <tr class="row-even"><td>MAC</td> |
274 | | <td>Master Auxiliary Concept</td> |
275 | | </tr> |
276 | | <tr class="row-odd"><td>MJD</td> |
277 | | <td>Modified Julian Date</td> |
278 | | </tr> |
279 | | <tr class="row-even"><td>MSI</td> |
280 | | <td>Microsoft Installer, File</td> |
281 | | </tr> |
282 | | <tr class="row-odd"><td>MSM</td> |
283 | | <td>Multiple Signal Messages</td> |
284 | | </tr> |
285 | | <tr class="row-even"><td>MW</td> |
286 | | <td>Melbourne W”ubbena Linear Combination</td> |
287 | | </tr> |
288 | | <tr class="row-odd"><td>NAD83</td> |
289 | | <td>North American Datum 1983</td> |
290 | | </tr> |
291 | | <tr class="row-even"><td>NAREF</td> |
292 | | <td>IAG Reference Frame Sub-Commission for North America</td> |
293 | | </tr> |
294 | | <tr class="row-odd"><td>NMEA</td> |
295 | | <td>National Marine Electronics Association Format</td> |
296 | | </tr> |
297 | | <tr class="row-even"><td>Ntrip</td> |
298 | | <td>Networked Transport of RTCM via Internet Protocol</td> |
299 | | </tr> |
300 | | <tr class="row-odd"><td>OSM</td> |
301 | | <td>OpenStreetMap</td> |
302 | | </tr> |
303 | | <tr class="row-even"><td>OSR</td> |
304 | | <td>Observation Space Representation</td> |
305 | | </tr> |
306 | | <tr class="row-odd"><td>P3</td> |
307 | | <td>Ionosphere-Free Linear Combination Of Code Observations</td> |
308 | | </tr> |
309 | | <tr class="row-even"><td>PDOP</td> |
310 | | <td>Positional Dilution Of Precision</td> |
311 | | </tr> |
312 | | <tr class="row-odd"><td>PNG</td> |
313 | | <td>Portable Network Graphics</td> |
314 | | </tr> |
315 | | <tr class="row-even"><td>PPP</td> |
316 | | <td>Precise Point Positioning</td> |
317 | | </tr> |
318 | | <tr class="row-odd"><td>Qt</td> |
319 | | <td>Cross-Platform Application Framework</td> |
320 | | </tr> |
321 | | <tr class="row-even"><td>REQC</td> |
322 | | <td>RINEX Editing and Quality Checking</td> |
323 | | </tr> |
324 | | <tr class="row-odd"><td>RINEX</td> |
325 | | <td>Receiver Independent Exchange Format</td> |
326 | | </tr> |
327 | | <tr class="row-even"><td>RTCM SC-104</td> |
328 | | <td>Radio Technical Commission for Maritime Services, Special Committee 104</td> |
329 | | </tr> |
330 | | <tr class="row-odd"><td>RTK</td> |
331 | | <td>Real Time Kinematic</td> |
332 | | </tr> |
333 | | <tr class="row-even"><td>RTKPLOT</td> |
334 | | <td>View and Plot Positioning Solutions Software, Part of RTKLIB</td> |
335 | | </tr> |
336 | | <tr class="row-odd"><td>RTNET</td> |
337 | | <td>Real-Time Network Format</td> |
338 | | </tr> |
339 | | <tr class="row-even"><td>RTP</td> |
340 | | <td>Real-Time Transport Protocol</td> |
341 | | </tr> |
342 | | <tr class="row-odd"><td>RTSP</td> |
343 | | <td>Real-Time Streaming Protocol</td> |
344 | | </tr> |
345 | | <tr class="row-even"><td>SBAS</td> |
346 | | <td>Space Based Augmentation System</td> |
347 | | </tr> |
348 | | <tr class="row-odd"><td>SINEX TRO</td> |
349 | | <td>Troposphere Solution Independent Exchange Format</td> |
350 | | </tr> |
351 | | <tr class="row-even"><td>SINEX</td> |
352 | | <td>Solution Independent Exchange Format</td> |
353 | | </tr> |
354 | | <tr class="row-odd"><td>SIRGAS2000</td> |
355 | | <td>Geodetic Datum for Latin America and Caribbean 2000</td> |
356 | | </tr> |
357 | | <tr class="row-even"><td>SIRGAS95</td> |
358 | | <td>Geodetic Datum for Latin America and Caribbean 1995</td> |
359 | | </tr> |
360 | | <tr class="row-odd"><td>SIRGAS</td> |
361 | | <td>IAG Reference Frame Sub-Commission for Latin America and Caribbean</td> |
362 | | </tr> |
363 | | <tr class="row-even"><td>SP3</td> |
364 | | <td>Standard Product # 3</td> |
365 | | </tr> |
366 | | <tr class="row-odd"><td>SPP</td> |
367 | | <td>Single Point Positioning</td> |
368 | | </tr> |
369 | | <tr class="row-even"><td>SSL</td> |
370 | | <td>Secure Sockets Layer</td> |
371 | | </tr> |
372 | | <tr class="row-odd"><td>SSR</td> |
373 | | <td>State Space Representation</td> |
374 | | </tr> |
375 | | <tr class="row-even"><td>SVN</td> |
376 | | <td>Subversion, Revision Control System</td> |
377 | | </tr> |
378 | | <tr class="row-odd"><td>TCP</td> |
379 | | <td>Transmission Control Protocol</td> |
380 | | </tr> |
381 | | <tr class="row-even"><td>TEQC</td> |
382 | | <td>Translation, Editing and Quality Checking</td> |
383 | | </tr> |
384 | | <tr class="row-odd"><td>TLS</td> |
385 | | <td>Transport Layer Security</td> |
386 | | </tr> |
387 | | <tr class="row-even"><td>UDP</td> |
388 | | <td>User Datagram Protocol</td> |
389 | | </tr> |
390 | | <tr class="row-odd"><td>UMTS</td> |
391 | | <td>Universal Mobile Telecommunications System</td> |
392 | | </tr> |
393 | | <tr class="row-even"><td>URA</td> |
394 | | <td>User Range Accuracy</td> |
395 | | </tr> |
396 | | <tr class="row-odd"><td>VRS</td> |
397 | | <td>Virtual Reference Station</td> |
398 | | </tr> |
399 | | <tr class="row-even"><td>VTEC</td> |
400 | | <td>Vertical Total Electron Content</td> |
401 | | </tr> |
402 | | </tbody> |
403 | | </table> |
404 | | </div> |
405 | | <span id="document-chapter1"></span><div class="section" id="introduction"> |
406 | | <h2>Introduction<a class="headerlink" href="#introduction" title="Permalink to this headline">¶</a></h2> |
407 | | <div class="section" id="purpose"> |
408 | | <h3>Purpose<a class="headerlink" href="#purpose" title="Permalink to this headline">¶</a></h3> |
409 | | <p>The BKG Ntrip Client (BNC) is a program for simultaneously retrieving, decoding, converting and processing or analyzing real-time GNSS data streams applying the ‘Networked Transport of RTCM via Internet Protocol’ (Ntrip) standard. It has been developed within the framework of the IAG sub-commission for Europe (EUREF) and the International GNSS Service (IGS). Although meant to be a real-time tool, it comes with some post processing functionality. It can be used for data coming from Ntrip Broadcasters like</p> |
410 | | <ul class="simple"> |
411 | | <li><a class="reference external" href="http://www.euref-ip.net/home">http://www.euref-ip.net/home</a></li> |
412 | | <li><a class="reference external" href="http://www.igs-ip.net/home">http://www.igs-ip.net/home</a></li> |
413 | | <li><a class="reference external" href="http://products.igs-ip.net/home">http://products.igs-ip.net/home</a></li> |
414 | | <li><a class="reference external" href="http://mgex.igs-ip.net/home">http://mgex.igs-ip.net/home</a></li> |
415 | | </ul> |
416 | | <p>or similar caster installation.</p> |
417 | | <p>BNC has been written under GNU General Public License (GPL). Source code is available from Subversion software archive <a class="reference external" href="http://software.rtcm-ntrip.org/svn/trunk/BNC">http://software.rtcm-ntrip.org/svn/trunk/BNC</a>. Precompiled binaries of BNC are available for MS Windows, Linux, and Mac OS X systems. They can be downloaded from <a class="reference external" href="http://igs.bkg.bund.de/ntrip/download">http://igs.bkg.bund.de/ntrip/download</a>.</p> |
418 | | <p>Promoting Open RTCM Standards for streaming GNSS data over the Internet has been a major aspect in developing BNC as Open Source real-time software. Basically, the tool enables the test, validation and further evolution of new RTCM messages for precise satellite navigation. With high-level source code at hand, it also allows university education to catch up with comprehensive state-of-the-art positioning and potentially contributes fresh ideas which are free from any licensing.</p> |
419 | | <p>BNC was designed to serve the following purposes</p> |
420 | | <ul class="simple"> |
| 371 | <li> |
| 372 | Jan Dousa, Geodetic Observatory Pecny, Czech Republic, helped with fixing bugs in version 2.5. |
| 373 | </li> |
| 374 | <li> |
| 375 | Denis Laurichesse, Centre National d'Etudes Spatiales (CNES), suggested synchronizing observations and clock corrections to reduce high frequency noise in PPP solutions. |
| 376 | </li> |
| 377 | <li> |
| 378 | Lennard Huisman, Kadaster Netherlands, and Rolf Dach, Astronomical Institute University of Bern, assisted in handling satellite clocks in transformations from ITRF to regional reference frames. |
| 379 | </li> |
| 380 | </ul> |
| 381 | </p> |
| 382 | |
| 383 | <p><h4>1.1 <a name="introPurpose">Purpose</h4></p> |
| 384 | |
| 385 | <p> |
| 386 | Promoting Open RTCM Standards for streaming GNSS data over the Internet has been a major aspect in developing BNC as Open Source real-time software. Basically, the tool enables the test, validation and further evolution of new RTCM messages for precise satellite navigation. With high-level source code at hand, it also allows university education to catch up with comprehensive state-of-the-art positioning and potentially contributes fresh ideas which are free from any licensing. |
| 387 | </p> |
| 388 | |
| 389 | <p> BNC was designed to serve the following purposes: |
| 390 | <ul> |
550 | | <p>It is indicated when a message implementation in BNC could so far only be based on a ‘RTCM Proposal’.</p> |
551 | | <table border="1" class="docutils" id="id2"> |
552 | | <span id="tab-bnc-rtcm"></span><caption><span class="caption-number">Table 1 </span><span class="caption-text">Status of RTCM Version 3 message implementations in BNC supporting various GNSS systems.</span><a class="headerlink" href="#id2" title="Permalink to this table">¶</a></caption> |
553 | | <colgroup> |
554 | | <col width="11%" /> |
555 | | <col width="17%" /> |
556 | | <col width="10%" /> |
557 | | <col width="9%" /> |
558 | | <col width="9%" /> |
559 | | <col width="10%" /> |
560 | | <col width="9%" /> |
561 | | <col width="9%" /> |
562 | | <col width="9%" /> |
563 | | <col width="9%" /> |
564 | | </colgroup> |
565 | | <thead valign="bottom"> |
566 | | <tr class="row-odd"><th class="head"><strong>Message #</strong></th> |
567 | | <th class="head"><strong>Description</strong></th> |
568 | | <th class="head"><strong>GNSS</strong></th> |
569 | | <th class="head"><strong>RTCM</strong> |
570 | | <strong>Proposal</strong></th> |
571 | | <th class="head"><strong>Decoding</strong></th> |
572 | | <th class="head"><strong>RINEX/SP3</strong></th> |
573 | | <th class="head"><strong>Encoding</strong></th> |
574 | | <th class="head"><strong>Upload</strong></th> |
575 | | <th class="head"><strong>PPP</strong></th> |
576 | | <th class="head"><strong>Combin.</strong></th> |
577 | | </tr> |
578 | | </thead> |
579 | | <tbody valign="top"> |
580 | | <tr class="row-even"><td colspan="10"><strong>General</strong></td> |
581 | | </tr> |
582 | | <tr class="row-odd"><td>1005,1006</td> |
583 | | <td>Station</td> |
584 | | <td> </td> |
585 | | <td> </td> |
586 | | <td>x</td> |
587 | | <td> </td> |
588 | | <td> </td> |
589 | | <td> </td> |
590 | | <td> </td> |
591 | | <td> </td> |
592 | | </tr> |
593 | | <tr class="row-even"><td>1007,1008</td> |
594 | | <td>Antenna</td> |
595 | | <td> </td> |
596 | | <td> </td> |
597 | | <td>x</td> |
598 | | <td> </td> |
599 | | <td> </td> |
600 | | <td> </td> |
601 | | <td> </td> |
602 | | <td> </td> |
603 | | </tr> |
604 | | <tr class="row-odd"><td>1033</td> |
605 | | <td>Receiver, Antenna</td> |
606 | | <td> </td> |
607 | | <td> </td> |
608 | | <td>x</td> |
609 | | <td> </td> |
610 | | <td> </td> |
611 | | <td> </td> |
612 | | <td> </td> |
613 | | <td> </td> |
614 | | </tr> |
615 | | <tr class="row-even"><td>1013</td> |
616 | | <td>System Parameters</td> |
617 | | <td> </td> |
618 | | <td> </td> |
619 | | <td>x</td> |
620 | | <td> </td> |
621 | | <td> </td> |
622 | | <td> </td> |
623 | | <td> </td> |
624 | | <td> </td> |
625 | | </tr> |
626 | | <tr class="row-odd"><td colspan="10"><strong>Navigation</strong></td> |
627 | | </tr> |
628 | | <tr class="row-even"><td>1019</td> |
629 | | <td>Ephemeris</td> |
630 | | <td>GPS</td> |
631 | | <td> </td> |
632 | | <td>x</td> |
633 | | <td>x</td> |
634 | | <td>x</td> |
635 | | <td>x</td> |
636 | | <td>x</td> |
637 | | <td>x</td> |
638 | | </tr> |
639 | | <tr class="row-odd"><td>1020</td> |
640 | | <td>Ephemeris</td> |
641 | | <td>GLONASS</td> |
642 | | <td> </td> |
643 | | <td>x</td> |
644 | | <td>x</td> |
645 | | <td>x</td> |
646 | | <td>x</td> |
647 | | <td>x</td> |
648 | | <td>x</td> |
649 | | </tr> |
650 | | <tr class="row-even"><td>1045</td> |
651 | | <td>Ephemeris</td> |
652 | | <td>Galileo F/Nav</td> |
653 | | <td> </td> |
654 | | <td>x</td> |
655 | | <td>x</td> |
656 | | <td>x</td> |
657 | | <td>x</td> |
658 | | <td> </td> |
659 | | <td> </td> |
660 | | </tr> |
661 | | <tr class="row-odd"><td>1046</td> |
662 | | <td>Ephemeris</td> |
663 | | <td>Galileo I/Nav</td> |
664 | | <td> </td> |
665 | | <td>x</td> |
666 | | <td>x</td> |
667 | | <td>x</td> |
668 | | <td>x</td> |
669 | | <td>x</td> |
670 | | <td> </td> |
671 | | </tr> |
672 | | <tr class="row-even"><td>1043</td> |
673 | | <td>Ephemeris</td> |
674 | | <td>SBAS</td> |
675 | | <td>x</td> |
676 | | <td>x</td> |
677 | | <td>x</td> |
678 | | <td>x</td> |
679 | | <td>x</td> |
680 | | <td> </td> |
681 | | <td> </td> |
682 | | </tr> |
683 | | <tr class="row-odd"><td>1044</td> |
684 | | <td>Ephemeris</td> |
685 | | <td>QZSS</td> |
686 | | <td> </td> |
687 | | <td>x</td> |
688 | | <td>x</td> |
689 | | <td>x</td> |
690 | | <td>x</td> |
691 | | <td> </td> |
692 | | <td> </td> |
693 | | </tr> |
694 | | <tr class="row-even"><td>63</td> |
695 | | <td>Ephemeris</td> |
696 | | <td>BDS</td> |
697 | | <td>x</td> |
698 | | <td>x</td> |
699 | | <td>x</td> |
700 | | <td>x</td> |
701 | | <td>x</td> |
702 | | <td>x</td> |
703 | | <td> </td> |
704 | | </tr> |
705 | | <tr class="row-odd"><td colspan="10"><strong>Observation</strong></td> |
706 | | </tr> |
707 | | <tr class="row-even"><td>1001-4</td> |
708 | | <td>Conventional Messages</td> |
709 | | <td>GPS</td> |
710 | | <td> </td> |
711 | | <td>x</td> |
712 | | <td>x</td> |
713 | | <td> </td> |
714 | | <td> </td> |
715 | | <td>x</td> |
716 | | <td> </td> |
717 | | </tr> |
718 | | <tr class="row-odd"><td>1009-12</td> |
719 | | <td>Conventional Messages</td> |
720 | | <td>GLONASS</td> |
721 | | <td> </td> |
722 | | <td>x</td> |
723 | | <td>x</td> |
724 | | <td> </td> |
725 | | <td> </td> |
726 | | <td>x</td> |
727 | | <td> </td> |
728 | | </tr> |
729 | | <tr class="row-even"><td colspan="10"><strong>Observation</strong></td> |
730 | | </tr> |
731 | | <tr class="row-odd"><td>1071-77</td> |
732 | | <td>Multiple Signal Message</td> |
733 | | <td>GPS</td> |
734 | | <td> </td> |
735 | | <td>x</td> |
736 | | <td>x</td> |
737 | | <td> </td> |
738 | | <td> </td> |
739 | | <td>x</td> |
740 | | <td> </td> |
741 | | </tr> |
742 | | <tr class="row-even"><td>1081-87</td> |
743 | | <td>Multiple Signal Message</td> |
744 | | <td>GLONASS</td> |
745 | | <td> </td> |
746 | | <td>x</td> |
747 | | <td>x</td> |
748 | | <td> </td> |
749 | | <td> </td> |
750 | | <td>x</td> |
751 | | <td> </td> |
752 | | </tr> |
753 | | <tr class="row-odd"><td>1091-97</td> |
754 | | <td>Multiple Signal Message</td> |
755 | | <td>Galileo</td> |
756 | | <td> </td> |
757 | | <td>x</td> |
758 | | <td>x</td> |
759 | | <td> </td> |
760 | | <td> </td> |
761 | | <td>x</td> |
762 | | <td> </td> |
763 | | </tr> |
764 | | <tr class="row-even"><td>1101-07</td> |
765 | | <td>Multiple Signal Message</td> |
766 | | <td>SBAS</td> |
767 | | <td>x</td> |
768 | | <td>x</td> |
769 | | <td>x</td> |
770 | | <td> </td> |
771 | | <td> </td> |
772 | | <td> </td> |
773 | | <td> </td> |
774 | | </tr> |
775 | | <tr class="row-odd"><td>1111-17</td> |
776 | | <td>Multiple Signal Message</td> |
777 | | <td>QZSS</td> |
778 | | <td> </td> |
779 | | <td>x</td> |
780 | | <td>x</td> |
781 | | <td> </td> |
782 | | <td> </td> |
783 | | <td> </td> |
784 | | <td> </td> |
785 | | </tr> |
786 | | <tr class="row-even"><td>1121-27</td> |
787 | | <td>Multiple Signal Message</td> |
788 | | <td>BDS</td> |
789 | | <td> </td> |
790 | | <td>x</td> |
791 | | <td>x</td> |
792 | | <td> </td> |
793 | | <td> </td> |
794 | | <td>x</td> |
795 | | <td> </td> |
796 | | </tr> |
797 | | <tr class="row-odd"><td colspan="10"><strong>SSR I</strong></td> |
798 | | </tr> |
799 | | <tr class="row-even"><td>1057</td> |
800 | | <td>Orbit Corrections</td> |
801 | | <td>GPS</td> |
802 | | <td> </td> |
803 | | <td>x</td> |
804 | | <td>x</td> |
805 | | <td>x</td> |
806 | | <td>x</td> |
807 | | <td>x</td> |
808 | | <td>x</td> |
809 | | </tr> |
810 | | <tr class="row-odd"><td>1063</td> |
811 | | <td>Orbit Corrections</td> |
812 | | <td>GLONASS</td> |
813 | | <td> </td> |
814 | | <td>x</td> |
815 | | <td>x</td> |
816 | | <td>x</td> |
817 | | <td>x</td> |
818 | | <td>x</td> |
819 | | <td>x</td> |
820 | | </tr> |
821 | | <tr class="row-even"><td>1240</td> |
822 | | <td>Orbit Corrections</td> |
823 | | <td>Galileo</td> |
824 | | <td>x</td> |
825 | | <td>x</td> |
826 | | <td>x</td> |
827 | | <td>x</td> |
828 | | <td>x</td> |
829 | | <td>x</td> |
830 | | <td> </td> |
831 | | </tr> |
832 | | <tr class="row-odd"><td>1246</td> |
833 | | <td>Orbit Corrections</td> |
834 | | <td>SBAS</td> |
835 | | <td>x</td> |
836 | | <td>x</td> |
837 | | <td>x</td> |
838 | | <td>x</td> |
839 | | <td>x</td> |
840 | | <td> </td> |
841 | | <td> </td> |
842 | | </tr> |
843 | | <tr class="row-even"><td>1252</td> |
844 | | <td>Orbit Corrections</td> |
845 | | <td>QZSS</td> |
846 | | <td>x</td> |
847 | | <td>x</td> |
848 | | <td>x</td> |
849 | | <td>x</td> |
850 | | <td>x</td> |
851 | | <td> </td> |
852 | | <td> </td> |
853 | | </tr> |
854 | | <tr class="row-odd"><td>1258</td> |
855 | | <td>Orbit Corrections</td> |
856 | | <td>BDS</td> |
857 | | <td>x</td> |
858 | | <td>x</td> |
859 | | <td>x</td> |
860 | | <td>x</td> |
861 | | <td>x</td> |
862 | | <td>x</td> |
863 | | <td> </td> |
864 | | </tr> |
865 | | <tr class="row-even"><td>1058</td> |
866 | | <td>Clock Corrections</td> |
867 | | <td>GPS</td> |
868 | | <td> </td> |
869 | | <td>x</td> |
870 | | <td>x</td> |
871 | | <td>x</td> |
872 | | <td>x</td> |
873 | | <td>x</td> |
874 | | <td>x</td> |
875 | | </tr> |
876 | | <tr class="row-odd"><td>1064</td> |
877 | | <td>Clock Corrections</td> |
878 | | <td>GLONASS</td> |
879 | | <td> </td> |
880 | | <td>x</td> |
881 | | <td>x</td> |
882 | | <td>x</td> |
883 | | <td>x</td> |
884 | | <td>x</td> |
885 | | <td>x</td> |
886 | | </tr> |
887 | | <tr class="row-even"><td>1241</td> |
888 | | <td>Clock Corrections</td> |
889 | | <td>Galileo</td> |
890 | | <td>x</td> |
891 | | <td>x</td> |
892 | | <td>x</td> |
893 | | <td>x</td> |
894 | | <td>x</td> |
895 | | <td>x</td> |
896 | | <td> </td> |
897 | | </tr> |
898 | | <tr class="row-odd"><td>1247</td> |
899 | | <td>Clock Corrections</td> |
900 | | <td>SBAS</td> |
901 | | <td>x</td> |
902 | | <td>x</td> |
903 | | <td>x</td> |
904 | | <td>x</td> |
905 | | <td>x</td> |
906 | | <td> </td> |
907 | | <td> </td> |
908 | | </tr> |
909 | | <tr class="row-even"><td>1253</td> |
910 | | <td>Clock Corrections</td> |
911 | | <td>QZSS</td> |
912 | | <td>x</td> |
913 | | <td>x</td> |
914 | | <td>x</td> |
915 | | <td>x</td> |
916 | | <td>x</td> |
917 | | <td> </td> |
918 | | <td> </td> |
919 | | </tr> |
920 | | <tr class="row-odd"><td>1259</td> |
921 | | <td>Clock Corrections</td> |
922 | | <td>BDS</td> |
923 | | <td>x</td> |
924 | | <td>x</td> |
925 | | <td>x</td> |
926 | | <td>x</td> |
927 | | <td>x</td> |
928 | | <td>x</td> |
929 | | <td> </td> |
930 | | </tr> |
931 | | <tr class="row-even"><td>1059</td> |
932 | | <td>Code Biases</td> |
933 | | <td>GPS</td> |
934 | | <td> </td> |
935 | | <td>x</td> |
936 | | <td>x</td> |
937 | | <td>x</td> |
938 | | <td>x</td> |
939 | | <td>x</td> |
940 | | <td> </td> |
941 | | </tr> |
942 | | <tr class="row-odd"><td>1065</td> |
943 | | <td>Code Biases</td> |
944 | | <td>GLONASS</td> |
945 | | <td> </td> |
946 | | <td>x</td> |
947 | | <td>x</td> |
948 | | <td>x</td> |
949 | | <td>x</td> |
950 | | <td>x</td> |
951 | | <td> </td> |
952 | | </tr> |
953 | | <tr class="row-even"><td>1242</td> |
954 | | <td>Code Biases</td> |
955 | | <td>Galileo</td> |
956 | | <td>x</td> |
957 | | <td>x</td> |
958 | | <td>x</td> |
959 | | <td>x</td> |
960 | | <td>x</td> |
961 | | <td>x</td> |
962 | | <td> </td> |
963 | | </tr> |
964 | | <tr class="row-odd"><td>1248</td> |
965 | | <td>Code Biases</td> |
966 | | <td>SBAS</td> |
967 | | <td>x</td> |
968 | | <td>x</td> |
969 | | <td>x</td> |
970 | | <td>x</td> |
971 | | <td>x</td> |
972 | | <td> </td> |
973 | | <td> </td> |
974 | | </tr> |
975 | | <tr class="row-even"><td>1254</td> |
976 | | <td>Code Biases</td> |
977 | | <td>QZSS</td> |
978 | | <td>x</td> |
979 | | <td>x</td> |
980 | | <td>x</td> |
981 | | <td>x</td> |
982 | | <td>x</td> |
983 | | <td> </td> |
984 | | <td> </td> |
985 | | </tr> |
986 | | <tr class="row-odd"><td>1260</td> |
987 | | <td>Code Biases</td> |
988 | | <td>BDS</td> |
989 | | <td>x</td> |
990 | | <td>x</td> |
991 | | <td>x</td> |
992 | | <td>x</td> |
993 | | <td>x</td> |
994 | | <td>x</td> |
995 | | <td> </td> |
996 | | </tr> |
997 | | <tr class="row-even"><td>1061, 1062</td> |
998 | | <td>User Range Accuracy, HR</td> |
999 | | <td>GPS</td> |
1000 | | <td> </td> |
1001 | | <td>x</td> |
1002 | | <td> </td> |
1003 | | <td> </td> |
1004 | | <td> </td> |
1005 | | <td> </td> |
1006 | | <td> </td> |
1007 | | </tr> |
1008 | | <tr class="row-odd"><td>1067, 1068</td> |
1009 | | <td>User Range Accuracy, HR</td> |
1010 | | <td>GLONASS</td> |
1011 | | <td> </td> |
1012 | | <td>x</td> |
1013 | | <td> </td> |
1014 | | <td> </td> |
1015 | | <td> </td> |
1016 | | <td> </td> |
1017 | | <td> </td> |
1018 | | </tr> |
1019 | | <tr class="row-even"><td>1244, 1245</td> |
1020 | | <td>User Range Accuracy, HR</td> |
1021 | | <td>Galileo</td> |
1022 | | <td>x</td> |
1023 | | <td>x</td> |
1024 | | <td> </td> |
1025 | | <td> </td> |
1026 | | <td> </td> |
1027 | | <td> </td> |
1028 | | <td> </td> |
1029 | | </tr> |
1030 | | <tr class="row-odd"><td>1250, 1251</td> |
1031 | | <td>User Range Accuracy, HR</td> |
1032 | | <td>SBAS</td> |
1033 | | <td>x</td> |
1034 | | <td>x</td> |
1035 | | <td> </td> |
1036 | | <td> </td> |
1037 | | <td> </td> |
1038 | | <td> </td> |
1039 | | <td> </td> |
1040 | | </tr> |
1041 | | <tr class="row-even"><td>1256, 1257</td> |
1042 | | <td>User Range Accuracy, HR</td> |
1043 | | <td>QZSS</td> |
1044 | | <td>x</td> |
1045 | | <td>x</td> |
1046 | | <td> </td> |
1047 | | <td> </td> |
1048 | | <td> </td> |
1049 | | <td> </td> |
1050 | | <td> </td> |
1051 | | </tr> |
1052 | | <tr class="row-odd"><td>1262, 1263</td> |
1053 | | <td>User Range Accuracy, HR</td> |
1054 | | <td>BDS</td> |
1055 | | <td>x</td> |
1056 | | <td>x</td> |
1057 | | <td> </td> |
1058 | | <td> </td> |
1059 | | <td> </td> |
1060 | | <td> </td> |
1061 | | <td> </td> |
1062 | | </tr> |
1063 | | <tr class="row-even"><td>1060</td> |
1064 | | <td>Comb. Orbits & Clocks</td> |
1065 | | <td>GPS</td> |
1066 | | <td> </td> |
1067 | | <td>x</td> |
1068 | | <td>x</td> |
1069 | | <td>x</td> |
1070 | | <td>x</td> |
1071 | | <td>x</td> |
1072 | | <td>x</td> |
1073 | | </tr> |
1074 | | <tr class="row-odd"><td>1066</td> |
1075 | | <td>Comb. Orbits & Clocks</td> |
1076 | | <td>GLONASS</td> |
1077 | | <td> </td> |
1078 | | <td>x</td> |
1079 | | <td>x</td> |
1080 | | <td>x</td> |
1081 | | <td>x</td> |
1082 | | <td>x</td> |
1083 | | <td>x</td> |
1084 | | </tr> |
1085 | | <tr class="row-even"><td>1243</td> |
1086 | | <td>Comb. Orbits & Clocks</td> |
1087 | | <td>Galileo</td> |
1088 | | <td>x</td> |
1089 | | <td>x</td> |
1090 | | <td>x</td> |
1091 | | <td>x</td> |
1092 | | <td>x</td> |
1093 | | <td>x</td> |
1094 | | <td> </td> |
1095 | | </tr> |
1096 | | <tr class="row-odd"><td>1249</td> |
1097 | | <td>Comb. Orbits & Clocks</td> |
1098 | | <td>SBAS</td> |
1099 | | <td>x</td> |
1100 | | <td>x</td> |
1101 | | <td>x</td> |
1102 | | <td>x</td> |
1103 | | <td>x</td> |
1104 | | <td> </td> |
1105 | | <td> </td> |
1106 | | </tr> |
1107 | | <tr class="row-even"><td>1255</td> |
1108 | | <td>Comb. Orbits & Clocks</td> |
1109 | | <td>QZSS</td> |
1110 | | <td>x</td> |
1111 | | <td>x</td> |
1112 | | <td>x</td> |
1113 | | <td>x</td> |
1114 | | <td>x</td> |
1115 | | <td> </td> |
1116 | | <td> </td> |
1117 | | </tr> |
1118 | | <tr class="row-odd"><td>1261</td> |
1119 | | <td>Comb. Orbits & Clocks</td> |
1120 | | <td>BDS</td> |
1121 | | <td>x</td> |
1122 | | <td>x</td> |
1123 | | <td>x</td> |
1124 | | <td>x</td> |
1125 | | <td>x</td> |
1126 | | <td>x</td> |
1127 | | <td> </td> |
1128 | | </tr> |
1129 | | <tr class="row-even"><td colspan="10"><strong>SSR II</strong></td> |
1130 | | </tr> |
1131 | | <tr class="row-odd"><td>1264</td> |
1132 | | <td>VTEC</td> |
1133 | | <td>GNSS</td> |
1134 | | <td>x</td> |
1135 | | <td>x</td> |
1136 | | <td>x</td> |
1137 | | <td>x</td> |
1138 | | <td>x</td> |
1139 | | <td> </td> |
1140 | | <td> </td> |
1141 | | </tr> |
1142 | | <tr class="row-even"><td>1265</td> |
1143 | | <td>Phase Biases</td> |
1144 | | <td>GPS</td> |
1145 | | <td>x</td> |
1146 | | <td>x</td> |
1147 | | <td>x</td> |
1148 | | <td>x</td> |
1149 | | <td>x</td> |
1150 | | <td> </td> |
1151 | | <td> </td> |
1152 | | </tr> |
1153 | | <tr class="row-odd"><td>1266</td> |
1154 | | <td>Phase Biases</td> |
1155 | | <td>GLONASS</td> |
1156 | | <td>x</td> |
1157 | | <td>x</td> |
1158 | | <td>x</td> |
1159 | | <td>x</td> |
1160 | | <td>x</td> |
1161 | | <td> </td> |
1162 | | <td> </td> |
1163 | | </tr> |
1164 | | <tr class="row-even"><td>1267</td> |
1165 | | <td>Phase Biases</td> |
1166 | | <td>Galileo</td> |
1167 | | <td>x</td> |
1168 | | <td>x</td> |
1169 | | <td>x</td> |
1170 | | <td>x</td> |
1171 | | <td>x</td> |
1172 | | <td> </td> |
1173 | | <td> </td> |
1174 | | </tr> |
1175 | | <tr class="row-odd"><td>1268</td> |
1176 | | <td>Phase Biases</td> |
1177 | | <td>SBAS</td> |
1178 | | <td>x</td> |
1179 | | <td>x</td> |
1180 | | <td>x</td> |
1181 | | <td>x</td> |
1182 | | <td>x</td> |
1183 | | <td> </td> |
1184 | | <td> </td> |
1185 | | </tr> |
1186 | | <tr class="row-even"><td>1269</td> |
1187 | | <td>Phase Biases</td> |
1188 | | <td>QZSS</td> |
1189 | | <td>x</td> |
1190 | | <td>x</td> |
1191 | | <td>x</td> |
1192 | | <td>x</td> |
1193 | | <td>x</td> |
1194 | | <td> </td> |
1195 | | <td> </td> |
1196 | | </tr> |
1197 | | <tr class="row-odd"><td>1270</td> |
1198 | | <td>Phase Biases</td> |
1199 | | <td>BDS</td> |
1200 | | <td>x</td> |
1201 | | <td>x</td> |
1202 | | <td>x</td> |
1203 | | <td>x</td> |
1204 | | <td>x</td> |
1205 | | <td> </td> |
1206 | | <td> </td> |
1207 | | </tr> |
1208 | | </tbody> |
| 471 | The table indicates if a message implementation in BNC could so far only be based on a 'RTCM Proposal'. |
| 472 | </p> |
| 473 | <p><u>Table 1:</u> Status of RTCM Version 3 message implementations in BNC supporting various GNSS systems</p> |
| 474 | <p></p> |
| 475 | <table border="1" rules="rows" frame="box" bgcolor="#FFF5EE" style="font-size:13"> |
| 476 | |
| 477 | <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> |
| 478 | |
| 479 | <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> |
| 480 | <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> |
| 481 | <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> |
| 482 | <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> |
| 483 | <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> |
| 484 | |
| 485 | <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> |
| 486 | <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> |
| 487 | <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> |
| 488 | <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> </td> </tr> |
| 489 | <tr align="center"> <td>1046</td> <td>Ephemeris</td> <td>Galileo I/Nav</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td> </td> </tr> |
| 490 | <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> </td> </tr> |
| 491 | <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> </td> </tr> |
| 492 | <tr align="center"> <td>63</td> <td>Ephemeris</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> |
| 493 | |
| 494 | <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> |
| 495 | <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> |
| 496 | <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> |
| 497 | |
| 498 | <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> |
| 499 | <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> |
| 500 | <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> |
| 501 | <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> |
| 502 | <tr align="center"> <td>1101-07</td> <td>Multiple Signal Message</td> <td>SBAS</td> <td>x</td> <td>x</td> <td>x</td> <td> </td> <td> </td> <td> </td> <td> </td> </tr> |
| 503 | <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> |
| 504 | <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> |
| 505 | |
| 506 | <tr align="center"> <td><b><br>SSR I</b></td> <td></td> <td></td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> </tr> |
| 507 | <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> |
| 508 | <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> |
| 509 | <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> </td> </tr> |
| 510 | <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> </td> </tr> |
| 511 | <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> </td> </tr> |
| 512 | <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> </td> </tr> |
| 513 | |
| 514 | <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> |
| 515 | <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> |
| 516 | <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> </td> </tr> |
| 517 | <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> </td> </tr> |
| 518 | <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> </td> </tr> |
| 519 | <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> </td> </tr> |
| 520 | |
| 521 | <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> </td> </tr> |
| 522 | <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> </td> </tr> |
| 523 | <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> </td> </tr> |
| 524 | <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> </td> </tr> |
| 525 | <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> </td> </tr> |
| 526 | <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> </td> </tr> |
| 527 | |
| 528 | <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> |
| 529 | <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> |
| 530 | <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> |
| 531 | <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> |
| 532 | <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> |
| 533 | <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> |
| 534 | |
| 535 | <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> |
| 536 | <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> |
| 537 | <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> </td> </tr> |
| 538 | <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> </td> </tr> |
| 539 | <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> </td> </tr> |
| 540 | <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> </td> </tr> |
| 541 | |
| 542 | <tr align="center"> <td><b><br>SSR II</b></td> <td></td> <td></td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> </tr> |
| 543 | <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> </td> <td> </td> </tr> |
| 544 | <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> </td> <td> </td> </tr> |
| 545 | <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> </td> <td> </td> </tr> |
| 546 | <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> </td> <td> </td> </tr> |
| 547 | <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> |
| 548 | <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> |
| 549 | <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> </td> <td> </td> </tr> |
| 550 | |
1246 | | <p>The main window of BNC shows a ‘Top menu bar’ section, a ‘Settings’ sections with panels to set processing options, a ‘Streams’ section, a section for ‘Log’ tabs, and a ‘Bottom menu bar’ section <a class="reference internal" href="#fig-5"><span class="std std-numref">(Fig. 5)</span></a>.</p> |
1247 | | <div class="figure" id="id7"> |
1248 | | <span id="fig-5"></span><a class="reference internal image-reference" href="_images/fig_5.png"><img alt="_images/fig_5.png" src="_images/fig_5.png" style="width: 969.0px; height: 644.0px;" /></a> |
1249 | | <p class="caption"><span class="caption-number">Fig. 5 </span><span class="caption-text">Sections on BNC’s main window.</span></p> |
1250 | | </div> |
1251 | | <p>Running BNC in interactive mode requires graphics support. This is also required in batch mode when producing plots. Windows and Mac OS X systems always support graphics. However, when using BNC in batch mode on Linux systems for producing plots, you need to make sure that at least a virtual X-Server like ‘Xvfb’ is installed and the ‘-display’ command line option is used.</p> |
1252 | | <p>The usual handling of BNC is that you first select a number of streams (‘Add Stream’). Any stream configured to BNC shows up on the ‘Streams’ canvas in the middle of BNC’s main window. You then go through BNC’s various configuration panels to set a combination of input, processing and output options before you start the program (‘Start’). Most configuration panels are dedicated to a certain function of BNC. If the first option field on such a configuration panel is empty, the affected functionality is deactivated.</p> |
1253 | | <p>Records of BNC’s activities are shown in the ‘Log’ tab which is part of the ‘Log’ canvas. The bandwidth consumption per stream, the latency of incoming observations, and a PPP time series for coordinate displacements are also part of that canvas and shown in the ‘Throughput’, ‘Latency’ and ‘PPP Plot’ tabs.</p> |
1254 | | <p>Configuration options are usually first set using BNC’s Graphical User Interface (GUI), then saved in a configuration file. For routine operations in batch mode all of BNC’s configuration options can be extracted from the configuration file and applied using the program’s Command Line Interface (CLI).</p> |
1255 | | </div> |
1256 | | <div class="section" id="limitations"> |
1257 | | <span id="index-6"></span><h3>Limitations<a class="headerlink" href="#limitations" title="Permalink to this headline">¶</a></h3> |
1258 | | <ul class="simple"> |
1259 | | <li>In Qt-based desktop environments (like KDE) on Unix/Linux platforms it may happen that you experience a crash of BNC at startup even when running the program in the background using the ‘-nw’ option. This is a known bug most likely resulting from an incompatibility of Qt libraries in the environment and in BNC. Entering the command <code class="docutils literal"><span class="pre">unset</span> <span class="pre">SESSION\MANAGER</span></code> before running BNC may help as a work-around.</li> |
1260 | | <li>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).</li> |
1261 | | <li>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).</li> |
1262 | | <li>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 <a class="reference external" href="http://host:port">http://host:port</a>. Data field number 8 in the NET records may provide information about where to register for an Ntrip Broadcaster account.</li> |
1263 | | <li>EUREF as well as IGS adhere to an Open Data policy. Streams are made available through Ntrip Broadcasters at www.euref-ip.net, www.igs-ip.net, products.igs-ip.net, and mgex.igs-ip.net 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.</li> |
1264 | | <li>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.</li> |
1265 | | <li>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.</li> |
1266 | | </ul> |
1267 | | <p class="rubric">Footnotes</p> |
1268 | | <table class="docutils footnote" frame="void" id="f-rtnet" rules="none"> |
1269 | | <colgroup><col class="label" /><col /></colgroup> |
1270 | | <tbody valign="top"> |
1271 | | <tr><td class="label"><a class="fn-backref" href="#id1">[1]</a></td><td>RTNet, GPS Solutions Inc., <a class="reference external" href="http://gps-solutions.com">http://gps-solutions.com</a></td></tr> |
1272 | | </tbody> |
1273 | | </table> |
1274 | | </div> |
1275 | | </div> |
1276 | | <span id="document-chapter3"></span><div class="section" id="installation"> |
1277 | | <h2>Installation<a class="headerlink" href="#installation" title="Permalink to this headline">¶</a></h2> |
1278 | | <div class="section" id="pre-compiled-builds"> |
1279 | | <h3>Pre-compiled builds<a class="headerlink" href="#pre-compiled-builds" title="Permalink to this headline">¶</a></h3> |
1280 | | <p>Precompiled builds of BNC are available for MS Windows, Linux, and Mac OS X systems. They can be downloaded for installation from <a class="reference external" href="http://igs.bkg.bund.de/ntrip/download">http://igs.bkg.bund.de/ntrip/download</a>. Please ensure that you always use the latest released version of the program.</p> |
1281 | | <p class="rubric">MS Windows Build</p> |
1282 | | <p>A dynamically compiled shared library build for Mircrosoft Windows systems is provided as Microsoft Installer (MSI) file. MSI files are used for installation, storage, and removal of programs. The BNC files are contained in a MSI package, which is used with the program’s client-side installer service, an .EXE file, to open and install the program. We used the MinGW Version 4.4.0 compiler to create BNC for Windows. After installation your <cite>bnc.exe</cite> file shows up e.g. under ‘All Programs’.</p> |
1283 | | <p class="rubric">Linux Build</p> |
1284 | | <p>Static library and shared library builds for BNC are provided for a selection of Linux distributions. Download the ZIP archive for a version which fits to your Linux system, unzip the archive and run the included BNC binary. A static build would be sufficient in case you do not want BNC to plot PPP results with Google Map (GM) or OpenStreetMap (OSM) maps in the background. GM/OSM usage requires BNC builds from shared libraries.</p> |
1285 | | <p class="rubric">Mac OS X Build</p> |
1286 | | <p>A shared library <code class="docutils literal"><span class="pre">Disk</span> <span class="pre">iMaGe</span></code> (DMG) file is provided for BNC on OS X systems; it also comes in a ZIP archive. The DMG file format is used in the Mac for distributing software. Mac install packages appear as a virtual disk drive. After download, when the DMG file icon is double clicked, the virtual drive is ‘mounted’ on the desktop. Install BNC by dragging the <code class="docutils literal"><span class="pre">bnc.app</span></code> icon to your <code class="docutils literal"><span class="pre">Applications</span></code> folder. To start BNC, double click on <code class="docutils literal"><span class="pre">Applications/bnc.app</span></code>. You could also start BNC via Command Line Interface (CLI) using command <code class="docutils literal"><span class="pre">Applications/bnc.app/Contents/MacOS/bnc</span></code>.</p> |
1287 | | </div> |
1288 | | <div class="section" id="compilation"> |
1289 | | <span id="index-0"></span><h3>Compilation<a class="headerlink" href="#compilation" title="Permalink to this headline">¶</a></h3> |
1290 | | <p>BNC has been written as Open Source and published under GNU General Public License (GPL). The latest source code can be checked out from Subversion repository <a class="reference external" href="http://software.rtcm-ntrip.org/svn/trunk/BNC">http://software.rtcm-ntrip.org/svn/trunk/BNC</a>. A ZIP archive available from <a class="reference external" href="http://igs.bkg.bund.de/ntrip/download">http://igs.bkg.bund.de/ntrip/download</a> provides the source code for BNC Version 2.12, developed using Qt Version 4.8.5.</p> |
1291 | | <p>The following describes how you can produce your own builds of BNC on MS Windows, Linux, and Mac systems. It is likely that BNC can also be compiled on other systems where a GNU compiler and Qt Version 4.8.5 or any later version is installed.</p> |
1292 | | <div class="section" id="static-versus-shared-libraries"> |
1293 | | <span id="index-1"></span><h4>Static versus Shared Libraries<a class="headerlink" href="#static-versus-shared-libraries" title="Permalink to this headline">¶</a></h4> |
1294 | | <p>You can produce static or shared library builds of BNC. Static builds are sufficient in case you do not want BNC to produce track maps on top of Google Map (GM) or OpenStreetMap (OSM). GM/OSM usage would require the QtWebKit library which can only be part of BNC builds from shared Qt libraries. Hence, having a shared library Qt installation available is a precondition for producing a shared library build of BNC.</p> |
1295 | | </div> |
1296 | | <div class="section" id="ms-windows-systems-shared-library"> |
1297 | | <span id="index-2"></span><h4>MS Windows Systems, Shared Library<a class="headerlink" href="#ms-windows-systems-shared-library" title="Permalink to this headline">¶</a></h4> |
1298 | | <p>This explains how to install a shared Qt 4.8.5 library on MS Windows systems to then create your own shared build of BNC.</p> |
1299 | | <p>Supposing that ‘Secure Socket Layer (SSL)’ is not available on you system, you should install OpenSSL libraries in <code class="docutils literal"><span class="pre">C:\OpenSSL-Win32</span></code>. They are available e.g. from <a class="reference external" href="http://igs.bkg.bund.de/root_ftp/NTRIP/software/Win32OpenSSL-1_0_1e.exe">http://igs.bkg.bund.de/root_ftp/NTRIP/software/Win32OpenSSL-1_0_1e.exe</a>. See <a class="reference external" href="http://slproweb.com/products/Win32OpenSSL.html">http://slproweb.com/products/Win32OpenSSL.html</a> for other SSL resources. Ignore possibly occurring comments about missing components during installation.</p> |
1300 | | <ol class="arabic simple"> |
1301 | | <li>Download MinGW compiler Version 4.4.0 e.g. from <a class="reference external" href="http://igs.bkg.bund.de/root_ftp/NTRIP/software/MinGW-gcc440_1.zip">http://igs.bkg.bund.de/root_ftp/NTRIP/software/MinGW-gcc440_1.zip</a>.</li> |
1302 | | <li>Unzip the ZIP archive and move its contents to a directory <code class="docutils literal"><span class="pre">C:\MinGW</span></code>. Now you can do either (4) or (5, 6, 8, 9, 10). Following (4) is suggested.</li> |
1303 | | <li>Download file <code class="docutils literal"><span class="pre">qt-win-opensource-4.8.5-mingw.exe</span></code> (317 MB) e.g. from <a class="reference external" href="https://download.qt.io/archive/qt/4.8/4.8.5/">https://download.qt.io/archive/qt/4.8/4.8.5/</a>.</li> |
1304 | | <li>Execute this file to install a pre-compiled shared Qt library.</li> |
1305 | | <li>Download file <code class="docutils literal"><span class="pre">qt-everywhere-opensource-src-4.8.5.zip</span></code> (269 MB) e.g. from <a class="reference external" href="https://download.qt.io/archive/qt/4.8/4.8.5/">https://download.qt.io/archive/qt/4.8/4.8.5/</a>.</li> |
1306 | | <li>Unzip the ZIP archive and move the contents of the contained directory into a directory <code class="docutils literal"><span class="pre">C:\Qt\4.8.5</span></code>.</li> |
1307 | | <li>Create somewhere a file <code class="docutils literal"><span class="pre">QtEnv.bat</span></code> with the following content</li> |
| 597 | </p> |
| 598 | |
| 599 | <p> |
| 600 | The main window of BNC shows a 'Top menu bar' section, a 'Settings' sections with panels to set processing options, a 'Streams' section, a section for 'Log' tabs, and a 'Bottom menu bar' section, see figure below. |
| 601 | </p> |
| 602 | <p><img src="IMG/screenshot09.png"/></p> |
| 603 | <p><u>Figure 5:</u> Sections on BNC's main window</p> |
| 604 | |
| 605 | <p> |
| 606 | Running BNC in interactive mode requires graphics support. This is also |
| 607 | required in batch mode when producing plots. Windows and Mac OS X systems always |
| 608 | support graphics. However, when using BNC in batch mode on Linux systems for |
| 609 | producing plots, you need to make sure that at least a virtual X-Server like |
| 610 | 'Xvfb' is installed and the '-display' command line option is used. |
| 611 | </p> |
| 612 | |
| 613 | <p> |
| 614 | The usual handling of BNC is that you first select a number of streams ('Add Stream'). Any stream configured to BNC shows up on the 'Streams' canvas in the middle of BNC's main window. You then go through BNC's various configuration panels to set a combination of input, processing and output options before you start the program ('Start'). Most configuration panels are dedicated to a certain function of BNC. If the first option field on such a configuration panel is empty, the affected functionality is deactivated. |
| 615 | </p> |
| 616 | |
| 617 | <p> |
| 618 | Records of BNC's activities are shown in the 'Log' tab which is part of the 'Log' canvas. The bandwidth consumption per stream, the latency of incoming observations, and a PPP time series for coordinate displacements are also part of that canvas and shown in the 'Throughput', 'Latency' and 'PPP Plot' tabs. |
| 619 | </p> |
| 620 | |
| 621 | <p> |
| 622 | Configuration options are usually first set using BNC's Graphical User Interface (GUI), then saved in a configuration file. For routine operations in batch mode all of BNC's configuration options can be extracted from the configuration file and applied using the program's Command Line Interface (CLI). |
| 623 | </p> |
| 624 | |
| 625 | <p><h4>1.5 <a name="introInst">Installation</h4></p> |
| 626 | <p> |
| 627 | Precompiled builds of BNC are available for MS Windows, Linux, and Mac OS X systems. They can be downloaded for installation from <u>http://igs.bkg.bund.de/ntrip/download</u>. Please ensure that you always use the latest released version of the program. |
| 628 | </p> |
| 629 | <p> |
| 630 | <u>MS Windows Build:</u> A dynamically compiled shared library build for Mircrosoft Windows systems is provided as Microsoft Installer (MSI) file. MSI files are used for installation, storage, and removal of programs. The BNC files are contained in a MSI package, which is used with the program's client-side installer service, an .EXE file, to open and install the program. We used the MinGW Version 4.4.0 compiler to create BNC for Windows. After installation your 'bnc.exe' file shows up e.g. under 'All Programs'. |
| 631 | </p> |
| 632 | |
| 633 | <p> |
| 634 | <u>Linux Build:</u> Static library and shared library builds for BNC are provided for a selection of Linux distributions. Download the ZIP archive for a version which fits to your Linux system, unzip the archive and run the included BNC binary. A static build would be sufficient in case you <u>do not want</u> BNC to plot PPP results with Google Map (GM) or OpenStreetMap (OSM) maps in the background. GM/OSM usage requires BNC builds from shared libraries. |
| 635 | </p> |
| 636 | |
| 637 | <p> |
| 638 | <u>Mac OS X Build:</u> |
| 639 | A shared library 'Disk iMaGe' (DMG) file is provided for BNC on OS X systems; it also comes in a ZIP archive. The DMG file format is used in the Mac for distributing software. Mac install packages appear as a virtual disk drive. After download, when the DMG file icon is double clicked, the virtual drive is 'mounted' on the desktop. Install BNC by dragging the 'bnc.app' icon to your '/Applications' folder. To start BNC, double click on '/Applications/bnc.app'. You could also start BNC via Command Line Interface (CLI) using command '/Applications/bnc.app/Contents/MacOS/bnc'. |
| 640 | </p> |
| 641 | |
| 642 | <p><h4>1.5.1 <a name="introCompile">Compilation</h4></p> |
| 643 | |
| 644 | <p> |
| 645 | BNC has been written as Open Source and published under GNU General Public License (GPL). The latest source code can be checked out from Subversion repository <u>http://software.rtcm-ntrip.org/svn/trunk/BNC</u>. A ZIP archive available from <u>http://igs.bkg.bund.de/ntrip/download</u> provides the source code for BNC Version 2.12.0, developed using Qt Version 4.8.5. |
| 646 | </p> |
| 647 | <p>The following describes how you can produce your own builds of BNC on MS Windows, Linux, and Mac systems. It is likely that BNC can also be compiled on other systems where a GNU compiler and Qt Version 4.8.5 or any later version is installed. |
| 648 | </p> |
| 649 | |
| 650 | <p><b>Static versus Shared Libraries</b><br> |
| 651 | You can produce static or shared library builds of BNC. <u>Static</u> builds are sufficient in case you do not want BNC to produce track maps on top of Google Map (GM) or OpenStreetMap (OSM). GM/OSM usage would require the QtWebKit library which can only be part of BNC builds from <u>shared</u> Qt libraries. Hence, having a shared library Qt installation available is a precondition for producing a shared library build of BNC. |
| 652 | </p> |
| 653 | |
| 654 | <p><b>MS Windows Systems, Shared Library</b><br> |
| 655 | This explains how to install a shared Qt 4.8.5 library on MS Windows systems to then create your own shared build of BNC. |
| 656 | </p> |
| 657 | |
| 658 | <ol type=f> |
| 659 | <li>Supposing that 'Secure Socket Layer (SSL)' is not available on you system, you should install OpenSSL libraries in C:\OpenSSL-Win32. They are available e.g. from <u>http://igs.bkg.bund.de/root_ftp/NTRIP/software/Win32OpenSSL-1_0_1e.exe</u>. See <u>http://slproweb.com/products/Win32OpenSSL.html</u> for other SSL resources. Ignore possibly occurring comments about missing components during installation.</li> |
| 660 | |
| 661 | <li>Download MinGW compiler Version 4.4.0 e.g. from <u>http://igs.bkg.bund.de/root_ftp/NTRIP/software/MinGW-gcc440_1.zip</u></li> |
| 662 | |
| 663 | <li>Unzip the ZIP archive and move its contents to a directory C:\MinGW. Now you can do either (4) or (5, 6, 8, 9, 10). Following (4) is suggested.</li> |
| 664 | |
| 665 | <li>Download file 'qt-win-opensource-4.8.5-mingw.exe' (317 MB) e.g. from <u>https://download.qt.io/archive/qt/4.8/4.8.5/</u>. Execute this file to install a pre-compiled shared Qt library.</li> |
| 666 | |
| 667 | <li>Download file 'qt-everywhere-opensource-src-4.8.5.zip' (269 MB) e.g. from <u>https://download.qt.io/archive/qt/4.8/4.8.5/</u></li> |
| 668 | |
| 669 | <li>Unzip the ZIP archive and move the contents of the contained directory into a directory C:\Qt\4.8.5.</li> |
| 670 | |
| 671 | <li>Create somewhere a file QtEnv.bat with the following content: |
| 672 | <pre> |
| 673 | set QTDIR=C:\Qt\4.8.5 |
| 674 | set PATH=%PATH%;C:\MinGW\bin;C:\Qt\4.8.5\bin |
| 675 | set QMAKESPEC=C:\Qt\4.8.5\mkspecs\win32-g++ |
| 676 | </pre></li> |
| 677 | |
| 678 | <li>Open a command line window and execute file QtEnv.bat</li> |
| 679 | |
| 680 | <li>Go to directory C:\Qt\4.8.5 and configure Qt using command |
| 681 | <pre> |
| 682 | configure -fast -webkit -release -nomake examples -nomake tutorial |
| 683 | -openssl -I C:\OpenSSL-Win32\include |
| 684 | </pre></li> |
| 685 | |
| 686 | <li>Compile Qt using command |
| 687 | <pre> |
| 688 | mingw32-make |
| 689 | </pre> |
| 690 | This may take quite a long time. Don't worry if the compilation process runs into a problem after some time. It is likely that the libraries you require are already generated at that time.<br> |
| 691 | Should you want to reconfiguring Qt following steps (8)-(10) you first need to clean the previous configuration using command 'mingw32-make confclean'. Run command 'mingw32-make clean' to delete previously compiled source code.</li> |
| 692 | |
| 693 | <li>Download latest BNC from SVN repository <u>http://software.rtcm-ntrip.org/svn/trunk/BNC.</u></li> |
| 694 | |
| 695 | <li>Open command line window and execute file QtEnv.bat, see (7)</li> |
| 696 | |
| 697 | <li>Go to directory BNC and enter command |
| 698 | <pre> |
| 699 | qmake bnc.pro |
| 700 | </pre></li> |
| 701 | |
| 702 | <li>Enter command |
| 703 | <pre> |
| 704 | mingw32-make |
| 705 | </pre></li> |
| 706 | |
| 707 | <li>Find binary file bnc.exe in directory named src.</li> |
| 708 | |
| 709 | <li>Extend the Windows environment variable PATH by C:\Qt\4.8.5\bin.</li> |
1309 | | <div class="highlight-console"><div class="highlight"><pre><span class="go">set QTDIR=C:\Qt\4.8.5</span> |
1310 | | <span class="go">set PATH=%PATH%;C:\MinGW\bin;C:\Qt\4.8.5\bin</span> |
1311 | | <span class="go">set QMAKESPEC=C:\Qt\4.8.5\mkspecs\win32-g++</span> |
1312 | | </pre></div> |
1313 | | </div> |
1314 | | <ol class="arabic simple" start="8"> |
1315 | | <li>Open a command line window and execute file <code class="docutils literal"><span class="pre">QtEnv.bat</span></code>.</li> |
1316 | | <li>Go to directory Qt directory and configure Qt using command</li> |
1317 | | </ol> |
1318 | | <div class="highlight-console"><div class="highlight"><pre><span class="go">cd Qt\4.8.5</span> |
1319 | | <span class="go">configure -fast -webkit -release -nomake examples -nomake tutorial</span> |
1320 | | <span class="go"> -openssl -I C:\OpenSSL-Win32\include</span> |
1321 | | </pre></div> |
1322 | | </div> |
1323 | | <ol class="arabic simple" start="10"> |
1324 | | <li>Compile Qt using command <code class="docutils literal"><span class="pre">mingw32-make</span></code>. This may take quite a long time. Don’t worry if the compilation process runs into a problem after some time. It is likely that the libraries you require are already generated at that time. Should you want to reconfiguring Qt following steps (8)-(10) you first need to clean the previous configuration using command <code class="docutils literal"><span class="pre">mingw32-make</span> <span class="pre">confclean</span></code>. Run command <code class="docutils literal"><span class="pre">mingw32-make</span> <span class="pre">clean</span></code> to delete previously compiled source code.</li> |
1325 | | <li>Download latest BNC from SVN repository <a class="reference external" href="http://software.rtcm-ntrip.org/svn/trunk/BNC">http://software.rtcm-ntrip.org/svn/trunk/BNC</a>.</li> |
1326 | | <li>Open command line window and execute file <code class="docutils literal"><span class="pre">QtEnv.bat</span></code>, see (7).</li> |
1327 | | <li>Go to directory BNC and enter command <code class="docutils literal"><span class="pre">qmake</span> <span class="pre">bnc.pro</span></code>.</li> |
1328 | | <li>Enter command <code class="docutils literal"><span class="pre">mingw32-make</span></code>.</li> |
1329 | | <li>Find binary file <code class="docutils literal"><span class="pre">bnc.exe</span></code> in directory named <code class="docutils literal"><span class="pre">src</span></code>.</li> |
1330 | | <li>Extend the Windows environment variable PATH by <code class="docutils literal"><span class="pre">C:\Qt\4.8.5\bin</span></code>.</li> |
1331 | | </ol> |
1332 | | <p>Steps (11)-(15) can be repeated whenever a BNC update becomes available. Running <code class="docutils literal"><span class="pre">bnc.exe</span></code> on a windows system requires (1) when using the NTRIP Version 2s option for stream transfer over TLS/SSL.</p> |
1333 | | </div> |
1334 | | <div class="section" id="linux-systems"> |
1335 | | <span id="index-3"></span><h4>Linux Systems<a class="headerlink" href="#linux-systems" title="Permalink to this headline">¶</a></h4> |
1336 | | <p>On Linux systems you may use the following procedure to install a shared Qt version 4.8.5 library:</p> |
1337 | | <p>Download file <code class="docutils literal"><span class="pre">qt-everywhere-opensource-src-4.8.5.tar.gz</span></code> (230 MB) available from <a class="reference external" href="https://download.qt.io/archive/qt/4.8/4.8.5/">https://download.qt.io/archive/qt/4.8/4.8.5/</a>. Unzip file, extract tar archive and change to directory <code class="docutils literal"><span class="pre">qt-everywhere-opensource-src-4.8.5</span></code>. Run commands</p> |
1338 | | <div class="highlight-console"><div class="highlight"><pre><span class="go">./configure -fast -webkit -nomake examples -nomake tutorial</span> |
1339 | | <span class="go"> -prefix /usr/local/Trolltech/Qt-4.8.5</span> |
1340 | | <span class="go">gmake</span> |
1341 | | <span class="go">gmake install</span> |
1342 | | </pre></div> |
1343 | | </div> |
1344 | | <p>Qt will be installed into directory <code class="docutils literal"><span class="pre">/usr/local/Trolltech/Qt-4.8.5</span></code>. To reconfigure, run <code class="docutils literal"><span class="pre">gmake</span> <span class="pre">confclean</span></code> and <code class="docutils literal"><span class="pre">configure</span></code>. Note that the <code class="docutils literal"><span class="pre">-prefix</span></code> option allows you to specify a directory for saving the Qt libraries. This ensures that you do not run into conflicts with other Qt installations on your host. Note further that the following two lines</p> |
1345 | | <div class="highlight-console"><div class="highlight"><pre><span class="go">export QTDIR="/usr/local/Trolltech/Qt-4.8.5"</span> |
1346 | | <span class="go">export PATH="$QTDIR/bin:$PATH"</span> |
1347 | | </pre></div> |
1348 | | </div> |
1349 | | <p>need to be added either to <code class="docutils literal"><span class="pre">$HOME/.bash/profile</span></code> or <code class="docutils literal"><span class="pre">$HOME/.bashrc</span></code>. Once that is done, logout/login and start using Qt 4.8.5.</p> |
1350 | | <p>To compile the BNC program, you first download the source code from SVN repository <a class="reference external" href="http://software.rtcm-ntrip.org/svn/trunk/BNC">http://software.rtcm-ntrip.org/svn/trunk/BNC</a>. Go to directory BNC and run the following commands:</p> |
1351 | | <div class="highlight-console"><div class="highlight"><pre><span class="go">qmake bnc.pro</span> |
1352 | | <span class="go">make</span> |
1353 | | </pre></div> |
1354 | | </div> |
1355 | | <p>You will find a build of BNC in directory BNC.</p> |
1356 | | </div> |
1357 | | <div class="section" id="mac-os-x-systems"> |
1358 | | <span id="index-4"></span><h4>Mac OS X Systems<a class="headerlink" href="#mac-os-x-systems" title="Permalink to this headline">¶</a></h4> |
1359 | | <div class="section" id="xcode-and-qt-installation"> |
1360 | | <h5>Xcode and Qt installation<a class="headerlink" href="#xcode-and-qt-installation" title="Permalink to this headline">¶</a></h5> |
1361 | | <p>Xcode and Qt are required to compile BNC on OS X. Both tools are freely available. Xcode can be downloaded from the App Store or the Apple Developer Connection website. Once installed, run Xcode, go to ‘Preferences->Downloads’ and install the Command Line Tools component. Qt can be downloaded from the Qt Project website. We suggest installing version 4.8.4 or higher. The Qt libraries for Mac can be downloaded from <a class="reference external" href="http://www.qt.io/download">http://www.qt.io/download</a>. Once downloaded, mount the disk image, run the Qt.mpkg package and follow instructions from the installation wizard.</p> |
1362 | | </div> |
1363 | | <div class="section" id="compilation-of-bnc"> |
1364 | | <h5>Compilation of bnc<a class="headerlink" href="#compilation-of-bnc" title="Permalink to this headline">¶</a></h5> |
1365 | | <p>The version of qmake supplied in the Qt binary package is configured to use the macx-xcode specification. This can be overridden with the <code class="docutils literal"><span class="pre">-spec</span> <span class="pre">macx-g++</span></code> option which makes it possible to use <code class="docutils literal"><span class="pre">qmake</span></code> to create a <code class="docutils literal"><span class="pre">Makefile</span></code> to be used by <code class="docutils literal"><span class="pre">make</span></code>.</p> |
1366 | | <p>From the directory where bnc.pro is located, run <code class="docutils literal"><span class="pre">qmake</span></code> to create the <code class="docutils literal"><span class="pre">Makefile</span></code> and then <code class="docutils literal"><span class="pre">make</span></code> to compile the binary:</p> |
1367 | | <div class="highlight-console"><div class="highlight"><pre><span class="go">qmake -spec macx-g++ bnc.pro</span> |
1368 | | <span class="go">make</span> |
1369 | | </pre></div> |
1370 | | </div> |
1371 | | <p>Refer to the following webpage for further information: <a class="reference external" href="http://doc.qt.io/qt-4.8/qmake-platform-notes.html">http://doc.qt.io/qt-4.8/qmake-platform-notes.html</a>.</p> |
1372 | | </div> |
1373 | | <div class="section" id="bundle-deployment"> |
1374 | | <h5>Bundle Deployment<a class="headerlink" href="#bundle-deployment" title="Permalink to this headline">¶</a></h5> |
1375 | | <p>When distributing BNC it is necessary to bundle in all related Qt resources in the package. The Mac Deployment Tool has been designed to automate the process of creating a deployable application bundle that contains the Qt libraries as private frameworks. To use it, issue the following commands where <code class="docutils literal"><span class="pre">bnc.app</span></code> is located.</p> |
1376 | | <div class="highlight-console"><div class="highlight"><pre><span class="go">macdeployqt bnc.app -dmg</span> |
1377 | | </pre></div> |
1378 | | </div> |
1379 | | <p>Refer to the following webpage for further information: <a class="reference external" href="http://doc.qt.io/qt-4.8/deployment-mac.html">http://doc.qt.io/qt-4.8/deployment-mac.html</a>.</p> |
1380 | | <p>Once a DMG file for BNC is created, you can double click it and install BNC by dragging the <code class="docutils literal"><span class="pre">bnc.app</span></code> icon to your <code class="docutils literal"><span class="pre">Applications</span></code> folder. To start BNC, double click on <code class="docutils literal"><span class="pre">Applications/bnc.app</span></code>.</p> |
1381 | | </div> |
1382 | | </div> |
1383 | | </div> |
1384 | | </div> |
1385 | | <span id="document-chapter4"></span><div class="section" id="configuration"> |
1386 | | <h2>Configuration<a class="headerlink" href="#configuration" title="Permalink to this headline">¶</a></h2> |
1387 | | <div class="section" id="general-procedure"> |
1388 | | <h3>General procedure<a class="headerlink" href="#general-procedure" title="Permalink to this headline">¶</a></h3> |
1389 | | <p>As a default, configuration files for running BNC on Unix/Linux/Mac OS X systems are saved in directory <code class="docutils literal"><span class="pre">$HOME/.config/BKG</span></code>. On Windows systems, they are typically saved in directory <code class="docutils literal"><span class="pre">C:/Documents</span> <span class="pre">and</span> <span class="pre">Settings/Username/.config/BKG</span></code>. The default configuration filename is <code class="docutils literal"><span class="pre">BNC.bnc</span></code>.</p> |
1390 | | <p>The default filename <code class="docutils literal"><span class="pre">BNC.bnc</span></code> can be changed and the file content can easily be edited. On Graphical User Interfaces (GUI) it is possible to Drag & Drop a configuration file icon to start BNC (not on Mac OS X systems). It is also possible to start and configure BNC via command line. Some configuration options can be changed on-the-fly. See annexed Command Line Help for a complete set of configuration options.</p> |
1391 | | <p>BNC maintains configuration options at three different levels:</p> |
1392 | | <ol class="arabic simple"> |
| 711 | |
| 712 | <p> |
| 713 | Steps (11)-(15) can be repeated whenever a BNC update becomes available. Running bnc.exe on a windows system requires (1) when using the NTRIP Version 2s option for stream transfer over TLS/SSL. |
| 714 | </p> |
| 715 | |
| 716 | <p> |
| 717 | <b>Linux Systems</b><br> |
| 718 | On Linux systems you may use the following procedure to install a shared Qt version 4.8.5 library: |
| 719 | </p> |
| 720 | |
| 721 | <p> |
| 722 | Download file 'qt-everywhere-opensource-src-4.8.5.tar.gz' (230 MB) available from <u>https://download.qt.io/archive/qt/4.8/4.8.5/</u>. Unzip file, extract tar archive and change to directory 'qt-everywhere-opensource-src-4.8.5'. Run commands |
| 723 | <pre> |
| 724 | ./configure -fast -webkit -nomake examples -nomake tutorial |
| 725 | -prefix /usr/local/Trolltech/Qt-4.8.5 |
| 726 | gmake |
| 727 | gmake install |
| 728 | </pre> |
| 729 | </p> |
| 730 | |
| 731 | <p> |
| 732 | Qt will be installed into directory /usr/local/Trolltech/Qt-4.8.5. To reconfigure, run 'gmake confclean' and 'configure'. Note that the '-prefix' option allows you to specify a directory for saving the Qt libraries. This ensures that you do not run into conflicts with other |
| 733 | Qt installations on your host. Note further that the following two lines<pre> |
| 734 | export QTDIR="/usr/local/Trolltech/Qt-4.8.5" |
| 735 | export PATH="$QTDIR/bin:$PATH"</pre> |
| 736 | |
| 737 | need to be added either to $HOME/.bash_profile or $HOME/.bashrc. Once that is done, logout/login and start using Qt 4.8.5. |
| 738 | </p> |
| 739 | <p> |
| 740 | To compile the BNC program, you first download the source code from SVN repository <u>http://software.rtcm-ntrip.org/svn/trunk/BNC</u>. Go to directory BNC and run the following commands: <pre> |
| 741 | qmake bnc.pro |
| 742 | make |
| 743 | </pre> |
| 744 | You will find a build of BNC in directory BNC. |
| 745 | </p> |
| 746 | <p> |
| 747 | <b>Mac OS X Systems</b><br> |
| 748 | |
| 749 | <u>Xcode and Qt Installation</u><br> |
| 750 | Xcode and Qt are required to compile BNC on OS X. Both tools are freely available. Xcode can be downloaded from the App Store or the Apple Developer Connection website. Once installed, run Xcode, go to 'Preferences->Downloads' and install the Command Line Tools component. Qt can be downloaded from the Qt Project website. We suggest installing version 4.8.4 or higher. The Qt libraries for Mac can be downloaded from <u>http://www.qt.io/download</u>. Once downloaded, mount the disk image, run the Qt.mpkg package and follow instructions from the installation wizard. |
| 751 | </p> |
| 752 | |
| 753 | <p> |
| 754 | <u>Compiling BNC</u><br> |
| 755 | The version of qmake supplied in the Qt binary package is configured to use the macx-xcode specification. This can be overridden with the '-spec macx-g++' option which makes it possible to use qmake to create a Makefile to be used by 'make'. |
| 756 | </p> |
| 757 | <p> |
| 758 | From the directory where bnc.pro is located, run 'qmake' to create the Makefile and then 'make' to compile the binary. |
| 759 | <pre> |
| 760 | qmake -spec macx-g++ bnc.pro |
| 761 | make |
| 762 | </pre> |
| 763 | Refer to the following webpage for further information: <u>http://doc.qt.io/qt-4.8/qmake-platform-notes.html</u>. |
| 764 | </p> |
| 765 | |
| 766 | <p> |
| 767 | <u>Bundle Deployment</u><br> |
| 768 | When distributing BNC it is necessary to bundle in all related Qt resources in the package. The Mac Deployment Tool has been designed to automate the process of creating a deployable application bundle that contains the Qt libraries as private frameworks. To use it, issue the following commands where bnc.app is located. |
| 769 | <pre> |
| 770 | macdeployqt bnc.app -dmg |
| 771 | </pre> |
| 772 | Refer to the following webpage for further information: <u>http://doc.qt.io/qt-4.8/deployment-mac.html</u>. |
| 773 | </p> |
| 774 | <p> |
| 775 | Once a DMG file for BNC is created, you can double click it and install BNC by dragging the 'bnc.app' icon to your 'Applications' folder. To start BNC, double click on '/Aplications/bnc.app'. |
| 776 | </p> |
| 777 | |
| 778 | <p><h4>1.6 <a name="introConf">Configuration</h4></p> |
| 779 | <p> |
| 780 | As a default, configuration files for running BNC on Unix/Linux/Mac OS X systems are saved in directory '${HOME}/.config/BKG'. On Windows systems, they are typically saved in directory 'C:/Documents and Settings/Username/.config/BKG'. The default configuration filename is 'BNC.bnc'.</p> |
| 781 | <p> |
| 782 | The default filename 'BNC.bnc' can be changed and the file content can easily be edited. On graphical user interfaces it is possible to Drag & Drop a configuration file icon to start BNC (not on Mac OS X systems). It is also possible to start and configure BNC via command line. Some configuration options can be changed on-the-fly. See annexed 'Command Line Help' for a complete set of configuration options. |
| 783 | </p> |
| 784 | |
| 785 | <p> |
| 786 | BNC maintains configuration options at three different levels: |
| 787 | </p> |
| 788 | |
| 789 | <ol type=b> |
1449 | | <p>Some of the presented example configurations contain a user ID ‘Example’ with a password ‘Configs’ for accessing a few GNSS streams from public Ntrip Broadcasters. This free generic account is arranged for convenience reasons only. Please be so kind as to replace the generic account details as well as the place holder’s ‘User’ and ‘Pass’ by the personal user ID and password you receive following an online registration through <a class="reference external" href="http://register.rtcm-ntrip.org">http://register.rtcm-ntrip.org</a>.</p> |
1450 | | <p>Note that the account for an Ntrip Broadcaster is usually limited to pulling a specified maximum number of streams at the same time. 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.</p> |
1451 | | <p>Make also sure that sub-directories ‘Input’ and ‘Output’ which are part of the example configurations exist on your system or adjust the affected example configuration options according to your needs.</p> |
1452 | | <p>Some BNC options require Antenna Phase Center variations as made available from IGS through so-called ANTEX files at <a class="reference external" href="ftp://igs.org/pub/station/general">ftp://igs.org/pub/station/general</a>. An example ANTEX file <code class="docutils literal"><span class="pre">igs08.atx</span></code> is part of the BNC package for convenience.</p> |
1453 | | <p>The example configurations assume that no proxy protects your BNC host. Should a proxy be operated in front of BNC then you need to introduce its name or IP and port number in the ‘Network’ panel.</p> |
1454 | | </div> |
1455 | | <div class="section" id="list-of-example-configuration-files"> |
1456 | | <h3>List of example configuration files<a class="headerlink" href="#list-of-example-configuration-files" title="Permalink to this headline">¶</a></h3> |
1457 | | <p>You should be able to run all configuration file examples without changing contained options. However, configuration ‘Upload.bnc’ is an exception because it requires an input stream from a connected network engine.</p> |
1458 | | <ol class="arabic simple"> |
1459 | | <li>Configuration File <code class="docutils literal"><span class="pre">RinexObs.bnc</span></code></li> |
| 851 | |
| 852 | <p> |
| 853 | Some of the presented example configurations contain a user ID 'Example' with a password 'Configs' for accessing a few GNSS streams from public Ntrip Broadcasters. This free generic account is arranged for convenience reasons only. Please be so kind as to replace the generic account details as well as the place holder's 'User' and 'Pass' by the personal user ID and password you receive following an online registration through <u>http://register.rtcm-ntrip.org</u>. |
| 854 | </p> |
| 855 | |
| 856 | <p> |
| 857 | Note that the account for an Ntrip Broadcaster is usually limited to pulling a specified maximum number of streams at the same time. 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. |
| 858 | </p> |
| 859 | |
| 860 | <p> |
| 861 | Make also sure that sub-directories 'Input' and 'Output' which are part of the example configurations exist on your system or adjust the affected example configuration options according to your needs. |
| 862 | </p> |
| 863 | |
| 864 | <p> |
| 865 | Some BNC options require Antenna Phase Center variations as made available from IGS through so-called ANTEX files at <u>ftp://igs.org/pub/station/general</u>. An example ANTEX file 'igs08.atx' is part of the BNC package for convenience. |
| 866 | </p> |
| 867 | |
| 868 | <p> |
| 869 | The example configurations assume that no proxy protects your BNC host. Should a proxy be operated in front of BNC then you need to introduce its name or IP and port number in the 'Network' panel. |
| 870 | </p> |
| 871 | |
| 872 | <p> |
| 873 | <b>(A) Working with Configuration Files</b><br><br> |
| 874 | You should be able to run all configuration file examples without changing contained options. However, configuration 'Upload.bnc' is an exception because it requires an input stream from a connected network engine. |
| 875 | </p> |
| 876 | <ol type=b> |
| 877 | |
| 878 | <li>Configuration File 'RinexObs.bnc'<br> |
| 879 | Purpose: Convert RTCM streams to |
| 880 | RINEX Observation files. The configuration pulls streams from Ntrip |
| 881 | Broadcasters using Ntrip Version 1 to generate 15min 1Hz RINEX Version 3 |
| 882 | Observation files. See <u>http://igs.bkg.bund.de/ntrip/observations</u> for observation |
| 883 | stream resources. |
| 884 | </li><br> |
| 885 | |
| 886 | <li>Configuration File 'RinexEph.bnc'<br> |
| 887 | Purpose: Convert a RTCM stream |
| 888 | with navigation messages to RINEX Navigation files. The configuration |
| 889 | pulls a RTCM Version 3 stream with Broadcast Ephemeris coming from the |
| 890 | real-time EUREF and IGS networks and saves hourly RINEX Version 3 Navigation |
| 891 | files. See <u>http://igs.bkg.bund.de/ntrip/ephemeris</u> for further real-time |
| 892 | Broadcast Ephemeris resources. |
| 893 | </li><br> |
| 894 | |
| 895 | <li>Configuration File 'BrdcCorr.bnc'<br> |
| 896 | Purpose: Save Broadcast Corrections from RTCM |
| 897 | SSR messages in hourly plain ASCII files. See |
| 898 | <u>http://igs.bkg.bund.de/ntrip/orbits</u> for various real-time IGS or EUREF |
| 899 | orbit/clock correction products. |
| 900 | </li><br> |
| 901 | |
| 902 | <li>Configuration File 'RinexConcat.bnc'<br> |
| 903 | Purpose: Concatenate several RINEX Version 3 files to |
| 904 | produce one compiled file and edit the marker name in the file header. The |
| 905 | sampling interval is set to 30 seconds. See section 'RINEX Editing & QC' in the |
| 906 | documentation for examples on how to call BNC from command line in 'no window' |
| 907 | mode for RINEX file editing, concatenation and quality check. |
| 908 | </li><br> |
| 909 | |
| 910 | <li>Configuration File 'RinexQC.bnc'<br> |
| 911 | Purpose: Check the quality of a RINEX Version 3 |
| 912 | file by means of a multipath analysis. Results are saved on disk in terms of a |
| 913 | plot in PNG format. See section 'RINEX Editing & QC' in the documentation for |
| 914 | examples on how to call BNC from command line in 'no window' mode for RINEX |
| 915 | file editing, concatenation and quality check. |
| 916 | </li><br> |
| 917 | |
| 918 | <li>Configuration File 'RTK.bnc'<br> |
| 919 | Purpose: Feed a serially connected receiver with |
| 920 | observations from a nearby reference station for conventional RTK. The stream is |
| 921 | scanned for RTCM messages. Message type numbers and latencies of incoming |
| 922 | observations are reported in BNC's logfile. |
| 923 | </li><br> |
| 924 | |
| 925 | <li>Configuration File 'FeedEngine.bnc'<br> |
| 926 | Purpose: Feed a real-time GNSS engine with |
| 927 | observations from remote reference stations. The configuration pulls a single |
| 928 | stream from an Ntrip Broadcaster. You could also pull |
| 929 | several streams from different casters. Incoming observations are decoded, |
| 930 | synchronized, output through a local IP port and also saved into a file. Failure |
| 931 | and recovery thresholds are specified to inform about outages. |
| 932 | </li><br> |
| 933 | |
| 934 | <li>Configuration File 'PPP.bnc'<br> |
| 935 | Purpose: Precise Point Positioning from |
| 936 | observations of a rover receiver. The configuration reads RTCM Version 3 |
| 937 | observations, a Broadcast Ephemeris stream and a stream with Broadcast |
| 938 | Corrections. Positions are saved in the logfile. |
| 939 | </li><br> |
| 940 | |
| 941 | <li>Configuration File 'PPPNet.bnc'<br> |
| 942 | Purpose: Precise |
| 943 | Point Positioning for several rovers or receivers from an entire network of |
| 944 | reference stations in one BNC job. The possible maximum number of PPP solutions |
| 945 | per job depends on the processing power of the hosting computer. This example |
| 946 | configuration reads two RTCM Version 3 observation streams, a Broadcast |
| 947 | Ephemeris stream and a stream with Broadcast Corrections. PPP Results for the |
| 948 | two stations are saved in PPP logfiles. |
| 949 | </li><br> |
| 950 | |
| 951 | <li>Configuration File 'PPPQuickStart.bnc'<br> |
| 952 | Purpose: Precise Point Positioning in Quick-Start |
| 953 | mode from observations of a static receiver with precisely known position. The |
| 954 | configuration reads RTCM Version 3 observations, Broadcast Corrections and a |
| 955 | Broadcast Ephemeris stream. Positions are saved in NMEA format on disc. |
| 956 | They are also output through IP port for real-time visualization with tools |
| 957 | like RTKPLOT. Positions are saved in the logfile. |
| 958 | </li><br> |
| 959 | |
| 960 | <li>Configuration File 'PPPPostProc.bnc'<br> |
| 961 | Purpose: Precise Point Positioning in post |
| 962 | processing mode. BNC reads RINEX Version 3 Observation and Navigation files |
| 963 | and a Broadcast Correction file. PPP processing options are set to support |
| 964 | the Quick-Start mode. The output is saved in a specific post processing |
| 965 | logfile and contains coordinates derived over time following the |
| 966 | implemented PPP filter algorithm. |
| 967 | </li><br> |
| 968 | |
| 969 | <li>Configuration File 'PPPGoogleMaps.bnc'<br> |
| 970 | Purpose: Track BNC's point positioning |
| 971 | solutions using Google Maps or OpenStreetMap as background. BNC reads a |
| 972 | RINEX Observation file and a RINEX Navigation file to carry out a |
| 973 | 'Standard Point Positioning' solution in post processing mode. Although |
| 974 | this is not a real-time application, it requires the BNC host to be connected |
| 975 | to the Internet. Specify a computation speed, then hit button 'Open Map' |
| 976 | to open the track map, then hit 'Start' to visualize receiver positions |
| 977 | on top of GM/OSM maps. |
| 978 | </li><br> |
| 979 | |
| 980 | <li>Configuration File 'SPPQuickStartGal.bnc'<br> |
| 981 | Purpose: Single Point Positioning in Quick-Start mode from observations of a static |
| 982 | receiver with quite precisely known position. |
| 983 | The configuration uses GPS, GLONASS and Galileo observations and a Broadcast |
| 984 | Ephemeris stream. |
| 985 | </li><br> |
| 986 | |
| 987 | <li>Configuration File 'SaveSp3.bnc'<br> |
| 988 | Purpose: Produces SP3 files from a Broadcast |
| 989 | Ephemeris stream and a Broadcast Correction stream. The Broadcast Correction |
| 990 | stream is formally introduced in BNC's 'Combine Corrections' table. Note that |
| 991 | producing SP3 requires an ANTEX file because SP3 file content should be |
| 992 | referred to CoM. |
| 993 | </li><br> |
| 994 | |
| 995 | <li>Configuration File 'Sp3ETRF2000PPP.bnc'<br> |
| 996 | Purpose: Produce SP3 files from a Broadcast |
| 997 | Ephemeris stream and a stream carrying ETRF2000 Broadcast Corrections. The |
| 998 | Broadcast Correction stream is formally introduced in BNC's 'Combine |
| 999 | Corrections' table. The configuration leads to a SP3 file containing orbits also referred |
| 1000 | to ETRF2000. Pulling in addition observations from a reference station at |
| 1001 | precisely known ETRF2000 position allows comparing an 'INTERNAL' PPP solution |
| 1002 | with a known ETRF2000 reference coordinate. |
| 1003 | </li><br> |
| 1004 | |
| 1005 | <li>Configuration File 'Upload.bnc'<br> |
| 1006 | Purpose: Upload orbits and clocks from a |
| 1007 | real-time GNSS engine to an Ntrip Broadcaster. For that the configuration reads |
| 1008 | precise orbits and clocks in RTNET format. It also reads a stream carrying |
| 1009 | Broadcast Ephemeris. BNC converts the orbits and clocks into Broadcast |
| 1010 | Corrections and encodes them to RTCM Version 3 SSR messages to finally upload them to |
| 1011 | an Ntrip Broadcaster. The Broadcast Correction stream is referred to satellite |
| 1012 | Antenna Phase Center (APC) and reference system IGS08. Orbits are saved on disk |
| 1013 | in SP3 format and clocks are saved in Clock RINEX format. |
| 1014 | </li><br> |
| 1015 | |
| 1016 | <li>Configuration File 'Combi.bnc'<br> |
| 1017 | Purpose: Pull several streams carrying Broadcast |
| 1018 | Corrections and a Broadcast Ephemeris stream from an Ntrip Broadcaster to |
| 1019 | produce a combined Broadcast Correction stream. BNC encodes the combination |
| 1020 | product in RTCM Version 3 SSR messages and uploads that to an Ntrip |
| 1021 | Broadcaster. The Broadcast Correction stream is referred to satellite Antenna Phase Center (APC) and not to satellite |
| 1022 | Center of Mass (CoM). Its reference system is IGS08. Orbits are saved in SP3 |
| 1023 | format (referred to CoM) and clocks in Clock RINEX format. |
| 1024 | </li><br> |
| 1025 | |
| 1026 | <li>Configuration File 'CombiPPP.bnc'<br> |
| 1027 | Purpose: This configuration equals the 'Combi.bnc' configuration. However, the combined |
| 1028 | Broadcast Corrections are in addition used for an 'INTERNAL' PPP solution |
| 1029 | based on observations from a static reference station with known precise |
| 1030 | coordinates. This allows a continuous quality check of the combination product |
| 1031 | through observing coordinate displacements. |
| 1032 | </li><br> |
| 1033 | |
| 1034 | <li>Configuration File 'UploadEph.bnc'<br> |
| 1035 | Purpose: Pull a number of streams from reference |
| 1036 | stations to get hold of contained Broadcast Ephemeris messages. They are |
| 1037 | encoded to RTCM Version 3 format and uploaded for the purpose of providing |
| 1038 | a Broadcast Ephemeris stream with an update rate of 5 seconds. |
| 1039 | </li><br> |
| 1040 | |
| 1041 | <li>Configuration File 'CompareSp3.bnc'<br> |
| 1042 | Purpose: Compare two SP3 files to calculate |
| 1043 | RMS values for orbit and clock differences. GPS satellite G05 and GLONASS |
| 1044 | satellite R18 are excluded from this comparison. Comparison results are saved |
| 1045 | in a logfile. |
| 1046 | </li><br> |
| 1047 | |
| 1048 | <li>Configuration File 'Empty.bnc'<br> |
| 1049 | Purpose: Provide an empty example configuration file for |
| 1050 | BNC which only contains default settings. |
| 1051 | </li> |
| 1052 | |
1471 | | <blockquote> |
1472 | | <div>Purpose: Save Broadcast Corrections from RTCM SSR messages in hourly plain ASCII files. See <a class="reference external" href="http://igs.bkg.bund.de/ntrip/orbits">http://igs.bkg.bund.de/ntrip/orbits</a> for various real-time IGS or EUREF orbit/clock correction products.</div></blockquote> |
1473 | | <ol class="arabic simple" start="4"> |
1474 | | <li>Configuration File <code class="docutils literal"><span class="pre">RinexConcat.bnc</span></code></li> |
| 1106 | |
| 1107 | </p> |
| 1108 | |
| 1109 | <p><h4>1.7 <a name="introLimit">Limitations</h4></p> |
| 1110 | <ul> |
| 1111 | <li> |
| 1112 | In Qt-based desktop environments (like KDE) on Unix/Linux platforms it may happen that you experience a crash of BNC at startup even when running the program in the background using the '-nw' option. This is a known bug most likely resulting from an incompatibility of Qt libraries in the environment and in BNC. Entering the command 'unset SESSION_MANAGER' before running BNC may help as a work-around. |
| 1113 | </li> |
| 1114 | |
| 1115 | <li> |
| 1116 | 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). |
| 1117 | </li> |
| 1118 | <li> |
| 1119 | 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). |
| 1120 | </li> |
| 1121 | <li> |
| 1122 | 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. |
| 1123 | </li> |
| 1124 | <li> |
| 1125 | EUREF as well as IGS adhere to an open data policy. Streams are made available through Ntrip Broadcasters at <u>www.euref-ip.net</u>, <u>www.igs-ip.net</u>, <u>products.igs-ip.net</u>, and <u>mgex.igs-ip.net</u> 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. |
| 1126 | </li> |
| 1127 | <li> |
| 1128 | 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. |
| 1129 | </li> |
| 1130 | <li> |
| 1131 | 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. |
| 1132 | </li> |
| 1133 | </ul> |
| 1134 | |
| 1135 | <p><h4>1.8 <a name="introLBack">Looking Back</h4></p> |
| 1136 | <p> |
| 1137 | A basic function of BNC is streaming GNSS data over the open Internet using the Ntrip transport protocol. Employing IP streaming for satellite positioning goes back to the beginning of our century. Wolfgang Rupprecht has been the first person who developed TCP/IP server software under the acronym of DGPS-IP (Rupprecht 2000) and published it under GNU General Public License (GPL). While connecting marine beacon receivers to PCs with permanent access to the Internet he transmitted DGPS corrections in an RTCM format to support Differential GPS positioning over North America. With approximately 200 bits/sec the bandwidth requirement for disseminating beacon data was comparatively small. Each stream was transmitted over a unique combination of IP address and port. Websites informed about existing streams and corresponding receiver positions. |
| 1138 | </p> |
| 1139 | <p> |
| 1140 | To cope with an increasing number of transmitting GNSS reference stations, the Federal Agency for Cartography and Geodesy (BKG) together with the Informatik Centrum Dortmund (ICD) in Germany developed a streaming protocol for satellite navigation data called 'Networked Transport of RTCM via Internet Protocol' (Ntrip). The protocol was built on top of the HTTP standard and included the provision of meta data describing the stream content. Any stream could now be globally transmitted over just one IP port: HTTP port 80. Stream availability and content details became part of the transport protocol. The concept was first published in 2003 (Weber and Honkala 2004, Weber et al. 2005a) and was based on three software components, namely an NtripServer pushing data from a reference station to an NtripCaster and an NtripClient pulling data from the stream splitting caster to support a rover receiver. (Note that from a socket-programmers perspective NtripServer and NtripClient both act as clients; only the NtripCaster operates as socket-server.) Ntrip could essentially benefit from Internet Radio developments. It was the ICECAST multimedia server, which provided the bases for BKG's 'Professional Ntrip Broadcaster' with software published first in 2003 and of course again as Open Source under GPL. |
| 1141 | </p> |
| 1142 | <p> |
| 1143 | For BKG as a governmental agency, making Ntrip an Open Industry Standard has been an objective from the very beginning. The 'Radio Technical Commission for Maritime Services' (RTCM) accepted 'Ntrip Version 1' in 2004 as 'RTCM Recommended Standard' (Weber et al. 2005b). Nowadays there is almost no geodetic GNSS receiver which does not come with integrated NtripClient and NtripServer functionality as part of the firmware. Hundreds of NtripCaster implementations are operated world-wide for highly accurate satellite navigation through RTK networks. Thousands of reference stations upload observations via NtripServer to central computing facilities for any kind of NtripClient application. In 2011 'Ntrip Version 2' was released (RTCM SC-104 2011) which cleared and fixed some design problems and HTTP protocol violations. It also supports TCP/IP via SSL and adds optional communication over RTSP/RTP and UDP. |
| 1144 | </p> |
| 1145 | <p> |
| 1146 | With the advent of Ntrip as an open streaming standard, BKG's interest turned towards taking advantage from free real-time access to GNSS observations. International Associations such as the IAG Reference Frame Sub Commissions for Africa (AFREF), Asia & Pacific (APREF), Europe (EUREF), North America (NAREF) Latin America & Caribbean (SIRGAS), and the International GNSS Service (IGS) maintain continental or even global GNSS networks with the majority of modern receivers supporting Ntrip stream upload. Through operating BKG's NtripCaster software, these networks became extremely valuable sources of real-time GNSS information. In 2005, this was the starting point for developing the 'BKG Ntrip Client' (BNC) as a multi-stream Open Source NtripClient that allows pulling hundreds of streams simultaneously from any number of NtripCaster installations world-wide. Decoding incoming RTCM streams and output observations epoch by epoch via IP port to feed a real-time GNSS network engine became BNC's first and foremost ability (Weber and Mervart 2009). Converting decoded streams to short high-rate RINEX files to assist near real-time applications became a welcome by-product right from the start of this development. |
| 1147 | </p> |
| 1148 | <p> |
| 1149 | Adding real-time Precise Point Positioning (PPP) support to BNC began in 2010 as an important completion in view of developing an Open RTCM Standard for that. According to the State Space Representation (SSR) model, new Version 3 messages are proposed to provide e.g. satellite orbit and clock corrections and ionospheric corrections as well as biases for code and phase data. The ultimate goal for SSR standardization is to reach centimeter level accuracy within seconds as an alternative to Network RTK methods such as VRS, FKP, and MAC. Because of interoperability aspects, an Open Standard in this area is of particular interest for clients. Regarding stand-alone PPP in BNC, it is worth mentioning that the program is not and can never be in competition with a receiver manufacturer's proprietary solution. Only software or services that are part of a receiver firmware could have the potential of becoming a thread for commercial interests. However, implementing or not implementing an Open PPP approach in a firmware is and will always remain a manufacturer's decision. |
| 1150 | </p> |
| 1151 | <p> |
| 1152 | Implementing some post processing capability is essential for debugging real-time software in case of problems. So certain real-time options in BNC were complemented to work offline through reading data from files. Moreover, beginning in 2012, the software was extended to support Galileo, BeiDou, and QZSS besides GPS and GLONASS. With that, the Open Source tool BNC could be used for RINEX Version 3 file editing, concatenation and quality checks, a post processing functionality demanded by the IGS Multi-GNSS Experiment and not really covered at that time by UNAVCO's famous TEQC program with its limitation on GPS. |
| 1153 | </p> |
| 1154 | |
| 1155 | <p> |
| 1156 | Over the years, the BNC Subversion (SVN) software archive received over seven thousand commits made by 11 contributors representing about one hundred thirty thousand lines of code. The well-established, mature codebase is mostly written in C++ language. Its publication under GNU GPL is thought to be well-suited for test, validation and demonstration of new approaches in precise real-time satellite navigation when IP streaming is involved. Commissioned by a German governmental agency, the overall intention has been to push the development of RTCM Recommended Standards to the benefit of IAG institutions and services such as IGS and the interested public in general. |
| 1157 | </p> |
| 1158 | <p> |
| 1159 | In February 2014 the overall responsibility at BKG for the concept and realization of BNC was handed over from Georg Weber to Axel Rülke. He is in charge now for guiding the application and further evolution of the software in view of appearing new satellite navigation systems and services. |
| 1160 | </p> |
| 1161 | |
| 1162 | <p><h3>2. <a name="optsettings">Settings Details</h3></p> |
| 1163 | <p> |
| 1164 | The general documentation approach is to create a separate chapter for each processing option in a sequence which follows the layout of BNC's Graphical User Interface (GUI). The advantage is that searching for help by means of the document's Table of Contents (TOC) is quite convenient. A rather comprehensive number of TOC entries is the accepted downside of this approach. |
| 1165 | </p> |
| 1166 | <p> |
| 1167 | The following chapters describe how to set BNC program options. They explain the 'Top Menu Bar', the 'Settings Canvas' with the processing options, the content of the 'Streams Canvas' and 'Logging Canvas', and the 'Bottom Menu Bar'. |
| 1168 | </p> |
| 1169 | |
| 1170 | <p><h4>2.1 <a name="topmenu">Top Menu Bar</h4></p> |
| 1171 | <p> |
| 1172 | The top menu bar allows selecting a font for the BNC windows, save configured options, or quit the program execution. It also provides access to the program's documentation. |
| 1173 | </p> |
| 1174 | |
| 1175 | <p><h4>2.1.1 <a name="file">File</h4></p> |
| 1176 | |
| 1177 | <p> |
| 1178 | The 'File' button lets you |
| 1179 | <ul> |
| 1180 | <li> Select an appropriate font.<br> |
| 1181 | Use smaller font size if the BNC main window exceeds the size of your screen. |
| 1182 | </li> |
| 1183 | <li> Reread and save selected options in configuration file.<br> |
| 1184 | When using 'Reread & Save Configuration' while BNC is already processing data, some configuration options become immediately effective on-the-fly without interrupting uninvolved threads while all of them are saved on disk. See section 'Reread Configuration' for a list of on-the-fly changeable configuration options. |
| 1185 | </li> |
| 1186 | <li> Quit the BNC program. |
| 1187 | </li> |
| 1188 | </ul> |
| 1189 | </p> |
| 1190 | |
| 1191 | <p><h4>2.1.2 <a name="help">Help</h4></p> |
| 1192 | |
| 1193 | <p> |
| 1194 | The 'Help' button provides access to |
| 1195 | <ul> |
| 1196 | <li> |
| 1197 | Help contents.<br> |
| 1198 | You may keep the 'Help Contents' window open while configuring BNC. |
| 1199 | </li> |
| 1200 | <li> |
| 1201 | A 'Flow Chart' showing BNC linked to a real-time GNSS network engine such as RTNET. |
| 1202 | </li> |
| 1203 | <li> |
| 1204 | General information about BNC.<br> |
| 1205 | Close the 'About BNC' window to continue working with BNC. |
| 1206 | </li> |
| 1207 | </ul> |
| 1208 | </p> |
| 1209 | |
| 1210 | <p><h4>2.2 <a name="network">Network</h4></p> |
| 1211 | <p> |
| 1212 | 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, Secure Sockets Layer (SSL) cryptographic protocols for secure Ntrip communication over the Internet. |
| 1213 | </p> |
| 1214 | <p><h4>2.2.1 <a name="proxy">Proxy - Usage in a protected LAN</h4></p> |
| 1215 | <p> |
| 1216 | If you are running BNC within a protected Local Area Network (LAN), you might need to use a proxy server to access the Internet. Enter your proxy server IP and port number in case one is operated in front of BNC. 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.</p> |
| 1217 | <p> |
| 1218 | 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 of the local security policy or for the installation of a TCP relay to the Ntrip Broadcaster you need to access. If this is not possible, you might need to run BNC outside your LAN on a host that has unobstructed connection to the Internet. |
| 1219 | </p> |
| 1220 | |
| 1221 | <p><h4>2.2.2 <a name="ssl">SSL - Transport Layer Security</h4></p> |
| 1222 | <p>Communication with an Ntrip Broadcaster over Secure Sockets Layer (SSL) as well as the download of RINEX skeleton files when available from HTTPS websites requires the exchange of client and/or server certificates. Specify the path to a directory where you save certificates on your system. You may like to check out <u>http://software.rtcm-ntrip.org/wiki/Certificates</u> for a list of known Ntrip Server certificates. You may also just try communication via SSL to check out whether this is supported by the involved Ntrip Broadcaster. </p> |
| 1223 | <p>SSL communication may involve queries coming from the Ntrip Broadcaster or from a HTTPS website hosting RINEX skeletons. Such a query could show up under BNC's 'Log' tab especially when self-signed SSL certificates are used. Example: |
| 1224 | <pre> |
| 1225 | SSL Error |
| 1226 | Server Certificate Issued by: |
| 1227 | GNSS Data Center |
| 1228 | BKG (Bundesamt für Geodäsie und Kartographie) |
| 1229 | Cannot be verified |
| 1230 | |
| 1231 | The issuer certificate of a locally looked up certificate could not be found |
| 1232 | The root CA certificate is not trusted for this purpose |
| 1233 | No certificates could be verified |
| 1234 | </pre> |
| 1235 | Queries should not be received by a client when a server uses official SSL certificates. |
| 1236 | </p> |
| 1237 | <p> |
| 1238 | Tick 'Ignore SSL authorization errors' if you generally trust the server and do not want to be bothered with this. Note that SSL communication is usually done over port 443. |
| 1239 | </p> |
| 1240 | |
| 1241 | <p><img src="IMG/screenshot40.png"/></p> |
| 1242 | <p><u>Figure 7:</u> BNC's 'Network' panel configured to ignore eventually occurring SSL error messages</p> |
| 1243 | |
| 1244 | <p><h4>2.3 <a name="general">General</h4></p> |
| 1245 | <p> |
| 1246 | The following defines general settings for BNC's logfile, file handling, reconfiguration on-the-fly, and auto-start. |
| 1247 | </p> |
| 1248 | |
| 1249 | <p><h4>2.3.1 <a name="genlog">Logfile - optional</h4></p> |
| 1250 | <p> |
| 1251 | Records of BNC's activities are shown in the 'Log' tab on the bottom of the main window. These logs can be saved into a file when a valid path is specified in the 'Logfile (full path)' field. The logfile name will automatically be extended by a string '_YYMMDD' for the current date. This leads to series of daily logfiles when running BNC continuously. Message logs cover the communication status between BNC and the Ntrip Broadcaster as well as problems that may occur in the communication link, stream availability, stream delay, stream conversion etc. All times are given in UTC. The default value for 'Logfile (full path)' is an empty option field, meaning that BNC logs will not be saved into a file. |
| 1252 | </p> |
| 1253 | <p> |
| 1254 | The following is an example for the content of a logfile written by BNC when operated in Single Point Positioning (SPP) mode: |
| 1255 | </p> |
| 1256 | <pre> |
| 1257 | 15-06-30 11:40:17 ========== Start BNC v2.12 (MAC) ========== |
| 1258 | 15-06-30 11:40:17 Panel 'PPP' active |
| 1259 | 15-06-30 11:40:17 CUT07: Get data in RTCM 3.x format |
| 1260 | 15-06-30 11:40:17 RTCM3EPH: Get data in RTCM 3.x format |
| 1261 | 15-06-30 11:40:17 Configuration read: PPP.conf, 2 stream(s) |
| 1262 | |
| 1263 | 15-06-30 11:40:21 2015-06-30_11:40:19.000 CUT07 X = -2364337.6814 Y = 4870283.8110 Z = -3360808.3085 NEU: -0.0000 -0.0000 -0.0000 TRP: +2.4026 -0.0001 |
| 1264 | 15-06-30 11:40:22 2015-06-30_11:40:20.000 CUT07 X = -2364337.6853 Y = 4870283.8130 Z = -3360808.3082 NEU: +1.1639 +0.6988 -2.1178 TRP: +2.4018 +0.0003 |
| 1265 | 15-06-30 11:40:23 2015-06-30_11:40:21.000 CUT07 X = -2364337.6862 Y = 4870283.8155 Z = -3360808.3107 NEU: +0.1317 -0.4655 -4.4614 TRP: +2.4009 +0.0009 |
| 1266 | 15-06-30 11:40:24 2015-06-30_11:40:22.000 CUT07 X = -2364337.6864 Y = 4870283.8106 Z = -3360808.3099 NEU: +0.1543 +0.2121 -1.0190 TRP: +2.4022 +0.0009 |
| 1267 | 15-06-30 11:40:25 2015-06-30_11:40:23.000 CUT07 X = -2364337.6861 Y = 4870283.8111 Z = -3360808.3105 NEU: -0.9782 +0.0916 -2.3544 TRP: +2.4017 +0.0013 |
| 1268 | 15-06-30 11:40:26 2015-06-30_11:40:24.000 CUT07 X = -2364337.6884 Y = 4870283.8123 Z = -3360808.3103 NEU: -0.5606 -0.0938 -1.9498 TRP: +2.4018 +0.0016 |
| 1269 | 15-06-30 11:40:27 2015-06-30_11:40:25.000 CUT07 X = -2364337.6913 Y = 4870283.8133 Z = -3360808.3122 NEU: -0.1799 -0.1525 -4.8142 TRP: +2.4007 +0.0025 |
| 1270 | 15-06-30 11:40:28 2015-06-30_11:40:26.000 CUT07 X = -2364337.6919 Y = 4870283.8171 Z = -3360808.3184 NEU: +0.7497 +0.7994 -2.0363 TRP: +2.4018 +0.0032 |
| 1271 | 15-06-30 11:40:29 2015-06-30_11:40:27.000 CUT07 X = -2364337.6923 Y = 4870283.8196 Z = -3360808.3230 NEU: +0.8099 +0.5592 -2.8552 TRP: +2.4015 +0.0039 |
| 1272 | 15-06-30 11:40:30 2015-06-30_11:40:28.000 CUT07 X = -2364337.6960 Y = 4870283.8219 Z = -3360808.3222 NEU: -0.2952 +1.9737 -4.5565 TRP: +2.4008 +0.0047 |
| 1273 | 15-06-30 11:40:31 2015-06-30_11:40:29.000 CUT07 X = -2364337.6982 Y = 4870283.8209 Z = -3360808.3209 NEU: +0.3563 +2.1067 -5.5327 TRP: +2.4005 +0.0057 |
| 1274 | ... |
| 1275 | </pre> |
| 1276 | |
| 1277 | <p><h4>2.3.2 <a name="genapp">Append Files - optional</h4></p> |
| 1278 | <p> |
| 1279 | 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. |
| 1280 | </p> |
| 1281 | |
| 1282 | <p><h4>2.3.3 <a name="genconf">Reread Configuration - optional</h4></p> |
| 1283 | <p> |
| 1284 | 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. |
| 1285 | </p> |
| 1286 | |
| 1287 | <p> |
| 1288 | Note that following configuration options saved on disk can be changed/edited on-the-fly while BNC is already processing data: |
| 1289 | </p> |
| 1290 | <p> |
| 1291 | <ul> |
| 1292 | <li>'mountPoints' to change the selection of streams to be processed, see section 'Streams';</li> |
| 1293 | <li>'outWait' to change the 'Wait for full obs epoch' option, see section 'Feed Engine';</li> |
| 1294 | <li>'outSampl' to change the 'Sampling' option, see section 'Feed Engine';</li> |
| 1295 | <li>'outFile' to change the 'File' name where synchronized observations are saved in plain ASCII format.</li> |
| 1296 | </ul> |
| 1297 | </p> |
| 1298 | <p> |
| 1299 | </p> |
| 1300 | |
| 1301 | <p><h4>2.3.4 <a name="genstart">Auto Start - optional</h4></p> |
| 1302 | <p> |
| 1303 | 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). |
| 1304 | </p> |
| 1305 | <p> |
| 1306 | See BNC's command line option '-nw' for an auto-start of BNC in 'no window' mode. |
| 1307 | </p> |
| 1308 | |
| 1309 | <p><h4>2.3.5 <a name="rawout">Raw Output File - optional</h4></p> |
| 1310 | <p> |
| 1311 | 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. |
| 1312 | </p> |
| 1313 | <p> |
| 1314 | Data will be saved in blocks in the received format separated by ASCII time stamps like (example): |
| 1315 | <pre> |
| 1316 | 2010-08-03T18:05:28 RTCM3EPH RTCM_3 67 |
| 1317 | </pre> |
| 1318 | </p> |
| 1319 | <p> |
| 1320 | This example block header tells you that 67 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 RTCM3EPH and was received at 18:05:28 UTC on 2010-08-03. BNC adds its own time stamps in order to allow the reconstruction of a recorded real-time situation. |
| 1321 | </p> |
| 1322 | <p> |
| 1323 | 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. |
| 1324 | </p> |
| 1325 | |
| 1326 | <p><h4>2.4 <a name="rinex">RINEX Observations</h4></p> |
| 1327 | <p> |
| 1328 | Observations will be converted to RINEX if they come in either RTCM Version 2 or RTCM Version 3 format. Depending on the RINEX version and incoming RTCM message types, files generated by BNC may contain data from GPS, GLONASS, Galileo, SBAS, QZSS, and/or BDS (BeiDou). In case an observation type is listed in the RINEX header but the corresponding observation is unavailable, its value is set to zero '0.000' or left blank. Note that the 'RINEX TYPE' field in the RINEX Version 3 Observation file header is always set to 'M(MIXED)' or 'Mixed' even if the file only contains data from one system. |
| 1329 | </p> |
| 1330 | <p> |
| 1331 | It is important to understand that converting RTCM streams to RINEX files requires a priori information on observation types for specifying a complete RINEX header. Regarding the RINEX Version 2 file header, BNC simply introduces all observation types defined in the Version 2 standard and later reports "0.000" for observations which are not received. However, following this approach is not possible for RINEX Version 3 files from RTCM Version 3 MSM streams because of the huge number of observation types, which might in principle show up. The solution implemented in BNC is to start with RINEX Version 3 observation type records from skeleton files (see section 'Skeleton Extension' and 'Skeleton Mandatory') and switch to a default selection of observation types when such file is not available or does not contain the required information. The following is the default selection of observation types specified for a RINEX Version 3 file: |
| 1332 | </p> |
| 1333 | <pre> |
| 1334 | C 9 C2I L2I S2I C6I L6I S6I C7I L7I S7I SYS / # / OBS TYPES |
| 1335 | E 12 C1X L1X SX1 C5X L5X SX5 C7X L7X SX7 C8X L8X SX8 SYS / # / OBS TYPES |
| 1336 | G 15 C1C L1C S1C C1W L1W S1W C2X L2X S2X C2W L2W S2W C5X SYS / # / OBS TYPES |
| 1337 | L5X S5X SYS / # / OBS TYPES |
| 1338 | J 24 C1C L1C S1C C1S L1S S1S C1L L1L S1L C1X L1X S1X C2S SYS / # / OBS TYPES |
| 1339 | L2S S2S C2L L2L S2L C2X L2X S2X C5X L5X S5X SYS / # / OBS TYPES |
| 1340 | R 12 C1C L1C S1C C1P L1P S1P C2C L2C S2C C2P L2P S2P SYS / # / OBS TYPES |
| 1341 | S 9 C1C L1C S1C C5I L5I S5I C5Q L5Q S5Q SYS / # / OBS TYPES |
| 1342 | </pre> |
| 1343 | |
| 1344 | <p> |
| 1345 | Please note that RTCM Version 3 messages 1084 for GLONASS observations do not contain the GLONASS channel numbers. These observation messages can only be converted to RINEX when you add messages which include the channel numbers. This could be done by means of an additional stream carrying 1087 GLONASS observation messages or an additional stream carrying 1020 GLONASS ephemeris messages. You could also consider setting up a stream which contains both, the 1084 and the 1020 messages. |
| 1346 | </p> |
| 1347 | <p> |
| 1348 | The screenshot below shows an example setup of BNC when converting streams to RINEX. Streams are coming from various Ntrip Broadcasters as well as from a serial communication link. Specifying a decoder string 'ZERO' would mean to not convert the affected stream but save its content as received. The 'SSL Error' recorded in the 'Log' tab is caused by the fact that observation stream downloads from IGS and MGEX Broadcasters initiate the download of RINEX skeleton files from a HTTPS (TLS/SSL) website and BNC has been configured in this example to ignore SSL errors as shown in the preceding 'Network' panel screenshot. |
| 1349 | </p> |
| 1350 | |
| 1351 | <p><img src="IMG/screenshot16.png"/></p> |
| 1352 | <p><u>Figure 8:</u> BNC translating incoming observation streams to 15 min RINEX Version 3 Observation files</p> |
| 1353 | |
| 1354 | <p><h4>2.4.1 <a name="rnxname">RINEX Filenames</h4></p> |
| 1355 | <p> |
| 1356 | The default for RINEX filenames in BNC follows the convention of RINEX Version 2. However, the software provides options to alternatively follow the filename convention of RINEX Version 3. RINEX Version 2 filenames are derived by BNC from the first 4 characters of the corresponding stream's mountpoint (4-Char Station ID). For example, data from mountpoints FRANKFURT and WETTZELL will have hourly RINEX Observation files named</p> |
| 1357 | |
| 1358 | <pre> |
| 1359 | FRAN{ddd}{h}.{yy}O |
| 1360 | WETT{ddd}{h}.{yy}O |
| 1361 | </pre> |
| 1362 | <p> |
| 1363 | where 'ddd' is the day of year, 'h' is a letter which corresponds to an hour long UTC time block and 'yy' is the year. |
| 1364 | </p> |
| 1365 | <p> |
| 1366 | If there is more than one stream with identical 4-Char Station ID (same first 4 characters for their mountpoints), the mountpoint strings are split into two sub-strings and both become part of the RINEX filename. For example, when simultaneously retrieving data from mountpoints FRANKFURT and FRANCE, their hourly RINEX Version 2 Observation files are named as</p> |
| 1367 | <pre> |
| 1368 | FRAN{ddd}{h}_KFURT.{yy}O |
| 1369 | FRAN{ddd}{h}_CE.{yy}O |
| 1370 | </pre> |
| 1371 | <p> |
| 1372 | If several streams show up with exactly the same mountpoint name (example: BRUS0 from <u>www.euref-ip.net</u> and BRUS0 from <u>www.igs-ip.net</u>), BNC adds an integer number to the filename, leading e.g. to hourly RINEX Version 2 Observation files like</p> |
| 1373 | <pre> |
| 1374 | BRUS{ddd}{h}_0.{yy}O |
| 1375 | BRUS{ddd}{h}_1.{yy}O |
| 1376 | </pre> |
| 1377 | <p> |
| 1378 | Note that RINEX Version 2 filenames for all intervals less than 1 hour follow the filename convention for 15 minutes RINEX Version 2 Observation files e.g.</p> |
| 1379 | <pre> |
| 1380 | FRAN{ddd}{h}{mm}.{yy}O |
| 1381 | </pre> |
| 1382 | <p> |
| 1383 | where 'mm' is the starting minute within the hour. |
| 1384 | </p> |
| 1385 | |
| 1386 | <p> |
| 1387 | In case of RINEX Version 3 filenames, the following convention holds: |
| 1388 | |
| 1389 | <p> |
| 1390 | <table> |
| 1391 | <tr><td><b>Filename Parameter </b></td><td><b> # Char.</b></td><td><b> Meaning</b></td></tr> |
| 1392 | <tr><td>Name</td><td> 9</td><td> Site, station and country code</td></tr> |
| 1393 | <tr><td>S</td><td> 1</td><td> Data source</td></tr> |
| 1394 | <tr><td>Start Time</td><td> 11</td><td> YYYYDDDHHMM</td></tr> |
| 1395 | <tr><td>Period</td><td> 3</td><td> File period</td></tr> |
| 1396 | <tr><td>Obs. Freq.</td><td> 3</td><td> Observation frequency</td></tr> |
| 1397 | <tr><td>Content</td><td> 2</td><td> Content type</td></tr> |
| 1398 | <tr><td>Format</td><td> 3</td><td> File format</td></tr> |
| 1399 | <tr><td>Compression</td><td> 2-3</td><td> Compression method (optional)</td></tr> |
| 1400 | </table> |
| 1401 | </p> |
| 1402 | <p> |
| 1403 | Example for Mixed RINEX Version 3 GNSS observation filename, file containing 1 hour of data, one observation every second, 'MO' standing for 'Mixed Observations': |
| 1404 | <pre> |
| 1405 | ALGO00CAN_R_20121601000_01H_01S_MO.rnx |
| 1406 | </pre> |
| 1407 | </p> |
| 1408 | <p> |
| 1409 | 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. |
| 1410 | </p> |
| 1411 | |
| 1412 | <p><h4>2.4.2 <a name="rnxdir">Directory - optional</h4></p> |
| 1413 | <p> |
| 1414 | Here you can specify the path to where the RINEX Observation files will be stored. If the specified directory does not exist, BNC will not create RINEX Observation files. Default value for 'Directory' is an empty option field, meaning that no RINEX Observation files will be written. |
| 1415 | </p> |
| 1416 | |
| 1417 | <p><h4>2.4.3 <a name="rnxinterval">File Interval - mandatory if 'Directory' is set</h4></p> |
| 1418 | <p> |
| 1419 | Select the length of the RINEX Observation file to be generated. The default value is 15 minutes. |
| 1420 | </p> |
| 1421 | |
| 1422 | <p><h4>2.4.4 <a name="rnxsample">Sampling - mandatory if 'Directory' is set </h4></p> |
| 1423 | <p> |
| 1424 | 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. |
| 1425 | </p> |
| 1426 | |
| 1427 | <p><h4>2.4.5 <a name="rnxskl">Skeleton Extension - optional</h4></p> |
| 1428 | <p> |
| 1429 | Whenever BNC starts to generate RINEX Observation files (and then once every day at midnight), it first tries to retrieve information needed for RINEX headers from so-called public RINEX header skeleton files which are derived from sitelogs. An HTTP or HTTPS link to a directory containing these skeleton files may be available through data field number 7 of the affected NET record in the source-table. See <u>http://www.epncb.oma.be:80/stations/log/skl/brus.skl</u> for an example of a public RINEX header skeleton file for EPN station Brussels. Note that the download of RINEX skeleton files from HTTPS websites requires the exchange of client and/or server certificates. Clarify 'SSL' options offered through panel 'Network' for details. |
| 1430 | </p> |
| 1431 | <p> |
| 1432 | Sometimes public RINEX header skeleton files are not available, their content is not up to date, or you need to put additional/optional records in the RINEX header. For that, BNC allows using personal skeleton files that contain the header records you would like to include. You can derive a personal RINEX header skeleton file from the information given in an up to date sitelog. A file in the RINEX Observations 'Directory' with a 'Skeleton extension' suffix is interpreted by BNC as a personal RINEX header skeleton file for the corresponding stream. |
| 1433 | </p> |
| 1434 | <p> |
| 1435 | When producing RINEX Observation files from mountpoints (examples) 'BRUS0', 'FRANKFURT', and 'WETTZELL', the following skeleton filenames would be accepted |
| 1436 | </p> |
| 1437 | <pre> |
| 1438 | BRUS.skl |
| 1439 | FRAN.skl |
| 1440 | WETT.skl |
| 1441 | </pre> |
| 1442 | <p> |
| 1443 | if 'Skeleton extension' is set to 'skl'. |
| 1444 | </p> |
| 1445 | <p> |
| 1446 | Note the following regulations regarding personal RINEX header skeleton files: |
| 1447 | <ul> |
| 1448 | <li>If such a file exists in the 'RINEX directory', the corresponding public RINEX header skeleton file is ignored. The RINEX header is generated solely from the content of the personal skeleton.</li> |
| 1449 | <li>Personal skeletons should contain a complete first header record of type |
| 1450 | <br>- RINEX VERSION / TYPE<br></li> |
| 1451 | <li>They should then contain an empty header record of type |
| 1452 | <br>- PGM / RUN BY / DATE<br> |
| 1453 | BNC will complete this line and include it in the RINEX file header.</li> |
| 1454 | <li>They should further contain complete header records of type |
| 1455 | <br>- MARKER NAME |
| 1456 | <br>- OBSERVER / AGENCY |
| 1457 | <br>- REC # / TYPE / VERS |
| 1458 | <br>- ANT # / TYPE |
| 1459 | <br>- APPROX POSITION XYZ |
| 1460 | <br>- ANTENNA: DELTA H/E/N |
| 1461 | <br>- WAVELENGTH FACT L1/2 (RINEX Version 2) |
| 1462 | <br>- SYS / # / OBS TYPES (for RINEX Version 3 files, will be ignored in Version 2 files)</li> |
| 1463 | <li>They may contain any other optional complete header record as defined in the RINEX documentation.</li> |
| 1464 | <li>They should also contain an empty header record of type |
| 1465 | <br>- # / TYPES OF OBSERV (only RINEX Version 2, will be ignored when in Version 3 files) |
| 1466 | <br>BNC will include these lines in the final RINEX file header together with an additional |
| 1467 | <br>- COMMENT |
| 1468 | <br>line describing the source of the stream.</li> |
| 1469 | <li>They should finally contain an empty last header record of type |
| 1470 | <br>- END OF HEADER</li> |
| 1471 | |
| 1472 | <li>They must not contain a header record of type |
| 1473 | <br>- TIME OF FIRST OBS</li> |
| 1474 | |
| 1475 | </ul> |
| 1476 | <p> |
| 1477 | If neither a public nor a personal RINEX header skeleton file is available for BNC, a default header will be used. |
| 1478 | </p> |
| 1479 | <p> |
| 1480 | The following is a skeleton example for a RINEX file: |
| 1481 | </p> |
| 1482 | <p> |
| 1483 | <pre> |
| 1484 | OBSERVATION DATA M (MIXED) RINEX VERSION / TYPE |
| 1485 | PGM / RUN BY / DATE |
| 1486 | CUT0 MARKER NAME |
| 1487 | 59945M001 MARKER NUMBER |
| 1488 | 5023K67889 TRIMBLE NETR9 5.01 REC # / TYPE / VERS |
| 1489 | 4928353386 TRM59800.00 SCIS ANT # / TYPE |
| 1490 | -2364337.2699 4870285.5624 -3360809.8398 APPROX POSITION XYZ |
| 1491 | 0.0000 0.0000 0.0000 ANTENNA: DELTA H/E/N |
| 1492 | gnss@curtin.edu.au CUT OBSERVER / AGENCY |
| 1493 | C 10 C1I L1I D1I S1I C6I L6I S6I C7I L7I S7I SYS / # / OBS TYPES |
| 1494 | E 13 C1X L1X D1X S1X C5X L5X S5X C7X L7X S7X C8X L8X S8X SYS / # / OBS TYPES |
| 1495 | G 13 C1C L1C D1C S1C C2W L2W S2W C2X L2X S2X C5X L5X S5X SYS / # / OBS TYPES |
| 1496 | J 19 C1C L1C D1C S1C C1X L1X S1X C1Z L1Z S1Z C2X L2X S2X SYS / # / OBS TYPES |
| 1497 | C5X L5X S5X C6L L6L S6L SYS / # / OBS TYPES |
| 1498 | R 13 C1C L1C D1C S1C C1P L1P S1P C2C L2C S2C C2P L2P S2P SYS / # / OBS TYPES |
| 1499 | S 7 C1C L1C D1C S1C C5I L5I S5I SYS / # / OBS TYPES |
| 1500 | PORTIONS OF THIS HEADER GENERATED BY THE IGS CB FROM COMMENT |
| 1501 | SITELOG cut0_20150507.log COMMENT |
| 1502 | END OF HEADER |
| 1503 | </pre> |
| 1504 | <p> |
| 1505 | |
| 1506 | <p><h4>2.4.6 <a name="sklMandat">Skeleton Mandatory - optional</h4></p> |
| 1507 | <p> |
| 1508 | 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. |
| 1509 | </p> |
| 1510 | <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. |
| 1511 | </p> |
| 1512 | |
| 1513 | <p><h4>2.4.7 <a name="rnxscript">Script - optional</h4></p> |
| 1514 | <p> |
| 1515 | 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). |
| 1516 | </p> |
| 1517 | <p> |
| 1518 | 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. |
| 1519 | </p> |
| 1520 | <p> |
| 1521 | 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'. |
| 1522 | </p> |
| 1523 | |
| 1524 | <p><h4>2.4.8 <a name="rnxvers2">Version 2 - optional</h4></p> |
| 1525 | <p> |
| 1526 | GNSS observation data are generally hold available within BNC according to attributes as defined in RINEX Version 3. These attributes describe the tracking mode or channel when generating the observation signals. Capital letters specifying signal generation attributes are A, B, C, D, I, L, M, N, P, Q, S, W, X, Y, and Z, see RINEX Version 3 documentation. Although RINEX Version 3 with its signal generation attributes is the internal default processing format for BNC, there are two applications where the program is explicitly required to produce data files in RINEX Version 2 format: |
| 1527 | <ol type=1> |
| 1528 | <li>When saving the content of incoming observation streams in RINEX Version 2 files as described in this section.</li> |
| 1529 | <li>When editing or concatenating RINEX 3 files to save them in Version 2 format, see section on 'RINEX Editing & QC'.</li> |
1476 | | <blockquote> |
1477 | | <div>Purpose: Concatenate several RINEX Version 3 files to produce one compiled file and edit the marker name in the file header. The sampling interval is set to 30 seconds. See section ‘RINEX Editing & QC’ in the documentation for examples on how to call BNC from command line in ‘no window’ mode for RINEX file editing, concatenation and quality check.</div></blockquote> |
1478 | | <ol class="arabic simple" start="5"> |
1479 | | <li>Configuration File <code class="docutils literal"><span class="pre">RinexQC.bnc</span></code></li> |
1480 | | </ol> |
1481 | | <blockquote> |
1482 | | <div>Purpose: Check the quality of a RINEX Version 3 file by means of a multipath analysis. Results are saved on disk in terms of a plot in PNG format. See section ‘RINEX Editing & QC’ in the documentation for examples on how to call BNC from command line in ‘no window’ mode for RINEX file editing, concatenation and quality check.</div></blockquote> |
1483 | | <ol class="arabic simple" start="6"> |
1484 | | <li>Configuration File <code class="docutils literal"><span class="pre">RTK.bnc</span></code></li> |
1485 | | </ol> |
1486 | | <blockquote> |
1487 | | <div>Purpose: Feed a serially connected receiver with observations from a nearby reference station for conventional RTK. The stream is scanned for RTCM messages. Message type numbers and latencies of incoming observations are reported in BNC’s logfile.</div></blockquote> |
1488 | | <ol class="arabic simple" start="7"> |
1489 | | <li>Configuration File <code class="docutils literal"><span class="pre">FeedEngine.bnc</span></code></li> |
1490 | | </ol> |
1491 | | <blockquote> |
1492 | | <div>Purpose: Feed a real-time GNSS engine with observations from remote reference stations. The configuration pulls a single stream from an Ntrip Broadcaster. You could also pull several streams from different casters. Incoming observations are decoded, synchronized, output through a local IP port and also saved into a file. Failure and recovery thresholds are specified to inform about outages.</div></blockquote> |
1493 | | <ol class="arabic simple" start="8"> |
1494 | | <li>Configuration File <code class="docutils literal"><span class="pre">PPP.bnc</span></code></li> |
1495 | | </ol> |
1496 | | <blockquote> |
1497 | | <div>Purpose: Precise Point Positioning from observations of a rover receiver. The configuration reads RTCM Version 3 observations, a Broadcast Ephemeris stream and a stream with Broadcast Corrections. Positions are saved in the logfile.</div></blockquote> |
1498 | | <ol class="arabic simple" start="9"> |
1499 | | <li>Configuration File <code class="docutils literal"><span class="pre">PPPNet.bnc</span></code></li> |
1500 | | </ol> |
1501 | | <blockquote> |
1502 | | <div>Purpose: Precise Point Positioning for several rovers or receivers from an entire network of reference stations in one BNC job. The possible maximum number of PPP solutions per job depends on the processing power of the hosting computer. This example configuration reads two RTCM Version 3 observation streams, a Broadcast Ephemeris stream and a stream with Broadcast Corrections. PPP Results for the two stations are saved in PPP logfiles.</div></blockquote> |
1503 | | <ol class="arabic simple" start="10"> |
1504 | | <li>Configuration File <code class="docutils literal"><span class="pre">PPPQuickStart.bnc</span></code></li> |
1505 | | </ol> |
1506 | | <blockquote> |
1507 | | <div>Purpose: Precise Point Positioning in Quick-Start mode from observations of a static receiver with precisely known position. The configuration reads RTCM Version 3 observations, Broadcast Corrections and a Broadcast Ephemeris stream. Positions are saved in NMEA format on disc. They are also output through IP port for real-time visualization with tools like RTKPLOT. Positions are saved in the logfile.</div></blockquote> |
1508 | | <ol class="arabic simple" start="11"> |
1509 | | <li>Configuration File <code class="docutils literal"><span class="pre">PPPPostProc.bnc</span></code></li> |
1510 | | </ol> |
1511 | | <blockquote> |
1512 | | <div>Purpose: Precise Point Positioning in post processing mode. BNC reads RINEX Version 3 Observation and Navigation files and a Broadcast Correction file. PPP processing options are set to support the Quick-Start mode. The output is saved in a specific post processing logfile and contains coordinates derived over time following the implemented PPP filter algorithm.</div></blockquote> |
1513 | | <ol class="arabic simple" start="12"> |
1514 | | <li>Configuration File <code class="docutils literal"><span class="pre">PPPGoogleMaps.bnc</span></code></li> |
1515 | | </ol> |
1516 | | <blockquote> |
1517 | | <div>Purpose: Track BNC’s point positioning solutions using Google Maps or OpenStreetMap as background. BNC reads a RINEX Observation file and a RINEX Navigation file to carry out a ‘Standard Point Positioning’ solution in post processing mode. Although this is not a real-time application, it requires the BNC host to be connected to the Internet. Specify a computation speed, then hit button ‘Open Map’ to open the track map, then hit ‘Start’ to visualize receiver positions on top of GM/OSM maps.</div></blockquote> |
1518 | | <ol class="arabic simple" start="13"> |
1519 | | <li>Configuration File <code class="docutils literal"><span class="pre">SPPQuickStartGal.bnc</span></code></li> |
1520 | | </ol> |
1521 | | <blockquote> |
1522 | | <div>Purpose: Single Point Positioning in Quick-Start mode from observations of a static receiver with quite precisely known position. The configuration uses GPS, GLONASS and Galileo observations and a Broadcast Ephemeris stream.</div></blockquote> |
1523 | | <ol class="arabic simple" start="14"> |
1524 | | <li>Configuration File <code class="docutils literal"><span class="pre">SaveSp3.bnc</span></code></li> |
1525 | | </ol> |
1526 | | <blockquote> |
1527 | | <div>Purpose: Produces SP3 files from a Broadcast Ephemeris stream and a Broadcast Correction stream. The Broadcast Correction stream is formally introduced in BNC’s ‘Combine Corrections’ table. Note that producing SP3 requires an ANTEX file because SP3 file content should be referred to CoM.</div></blockquote> |
1528 | | <ol class="arabic simple" start="15"> |
1529 | | <li>Configuration File <code class="docutils literal"><span class="pre">Sp3ETRF2000PPP.bnc</span></code></li> |
1530 | | </ol> |
1531 | | <blockquote> |
1532 | | <div>Purpose: Produce SP3 files from a Broadcast Ephemeris stream and a stream carrying ETRF2000 Broadcast Corrections. The Broadcast Correction stream is formally introduced in BNC’s ‘Combine Corrections’ table. The configuration leads to a SP3 file containing orbits also referred to ETRF2000. Pulling in addition observations from a reference station at precisely known ETRF2000 position allows comparing an ‘INTERNAL’ PPP solution with a known ETRF2000 reference coordinate.</div></blockquote> |
1533 | | <ol class="arabic simple" start="16"> |
1534 | | <li>Configuration File <code class="docutils literal"><span class="pre">Upload.bnc</span></code></li> |
1535 | | </ol> |
1536 | | <blockquote> |
1537 | | <div>Purpose: Upload orbits and clocks from a real-time GNSS engine to an Ntrip Broadcaster. For that the configuration reads precise orbits and clocks in RTNET format. It also reads a stream carrying Broadcast Ephemeris. BNC converts the orbits and clocks into Broadcast Corrections and encodes them to RTCM Version 3 SSR messages to finally upload them to an Ntrip Broadcaster. The Broadcast Correction stream is referred to satellite Antenna Phase Center (APC) and reference system IGS08. Orbits are saved on disk in SP3 format and clocks are saved in Clock RINEX format.</div></blockquote> |
1538 | | <ol class="arabic simple" start="17"> |
1539 | | <li>Configuration File <code class="docutils literal"><span class="pre">Combi.bnc</span></code></li> |
1540 | | </ol> |
1541 | | <blockquote> |
1542 | | <div>Purpose: Pull several streams carrying Broadcast Corrections and a Broadcast Ephemeris stream from an Ntrip Broadcaster to produce a combined Broadcast Correction stream. BNC encodes the combination product in RTCM Version 3 SSR messages and uploads that to an Ntrip Broadcaster. The Broadcast Correction stream is referred to satellite Antenna Phase Center (APC) and not to satellite Center of Mass (CoM). Its reference system is IGS08. Orbits are saved in SP3 format (referred to CoM) and clocks in Clock RINEX format.</div></blockquote> |
1543 | | <ol class="arabic simple" start="18"> |
1544 | | <li>Configuration File <code class="docutils literal"><span class="pre">CombiPPP.bnc</span></code></li> |
1545 | | </ol> |
1546 | | <blockquote> |
1547 | | <div>Purpose: This configuration equals the ‘Combi.bnc’ configuration. However, the combined Broadcast Corrections are in addition used for an ‘INTERNAL’ PPP solution based on observations from a static reference station with known precise coordinates. This allows a continuous quality check of the combination product through observing coordinate displacements.</div></blockquote> |
1548 | | <ol class="arabic simple" start="19"> |
1549 | | <li>Configuration File <code class="docutils literal"><span class="pre">UploadEph.bnc</span></code></li> |
1550 | | </ol> |
1551 | | <blockquote> |
1552 | | <div>Purpose: Pull a number of streams from reference stations to get hold of contained Broadcast Ephemeris messages. They are encoded to RTCM Version 3 format and uploaded for the purpose of providing a Broadcast Ephemeris stream with an update rate of 5 seconds.</div></blockquote> |
1553 | | <ol class="arabic simple" start="20"> |
1554 | | <li>Configuration File <code class="docutils literal"><span class="pre">CompareSp3.bnc</span></code></li> |
1555 | | </ol> |
1556 | | <blockquote> |
1557 | | <div>Purpose: Compare two SP3 files to calculate RMS values for orbit and clock differences. GPS satellite G05 and GLONASS satellite R18 are excluded from this comparison. Comparison results are saved in a logfile.</div></blockquote> |
1558 | | <ol class="arabic simple" start="21"> |
1559 | | <li>Configuration File <code class="docutils literal"><span class="pre">Empty.bnc</span></code></li> |
1560 | | </ol> |
1561 | | <blockquote> |
1562 | | <div>Purpose: Provide an empty example configuration file for BNC which only contains default settings.</div></blockquote> |
1563 | | </div> |
1564 | | <div class="section" id="command-line-configuration-options"> |
1565 | | <h3>Command Line configuration options<a class="headerlink" href="#command-line-configuration-options" title="Permalink to this headline">¶</a></h3> |
1566 | | <p>The following configuration examples make use of BNC’s ‘Command Line Interface’ (CLI). Configuration options are exclusively specified via command line. No configuration file is used. Examples are provided as shell scripts for a Linux system. They call BNC in ‘no window’ batch mode (command line option <code class="docutils literal"><span class="pre">-nw</span></code>). The scripts expect ‘Example_Configs’ to be the current working directory.</p> |
1567 | | <ol class="arabic simple"> |
1568 | | <li>Shell Script <code class="docutils literal"><span class="pre">RinexQC.sh</span></code></li> |
1569 | | </ol> |
1570 | | <blockquote> |
1571 | | <div>Purpose: Equals configuration file example <code class="docutils literal"><span class="pre">RinexQC.bnc</span></code>, checks the quality of a RINEX Version 3 file by means of a multipath analysis. Virtual X-Server ‘Xvfb’ is operated while producing plot files in PNG format. BNC is offline. All results are saved on disk.</div></blockquote> |
1572 | | <ol class="arabic simple" start="2"> |
1573 | | <li>Shell Script <code class="docutils literal"><span class="pre">RinexConcat.sh</span></code></li> |
1574 | | </ol> |
1575 | | <blockquote> |
1576 | | <div>Purpose: Equals configuration file example <code class="docutils literal"><span class="pre">RinexConcat.bnc</span></code>, concatenates several RINEX Version 3 files to produce one compiled file and edit the marker name in the file header. The sampling interval is set to 30 seconds.</div></blockquote> |
1577 | | <ol class="arabic simple" start="3"> |
1578 | | <li>Shell Script <code class="docutils literal"><span class="pre">RinexEph.sh</span></code></li> |
1579 | | </ol> |
1580 | | <blockquote> |
1581 | | <div>Purpose: Equals configuration file example <code class="docutils literal"><span class="pre">RinexEph.bnc</span></code>, converts a RTCM stream with navigation messages to RINEX Navigation files. The configuration pulls a RTCM Version 3 stream with Broadcast Ephemeris coming from the real-time EUREF and IGS networks and saves hourly RINEX Version 3 Navigation files. BNC runs online until it’s terminated after 10 seconds. See <a class="reference external" href="http://igs.bkg.bund.de/ntrip/ephemeris">http://igs.bkg.bund.de/ntrip/ephemeris</a> for further real-time Broadcast Ephemeris resources.</div></blockquote> |
1582 | | <ol class="arabic simple" start="4"> |
1583 | | <li>Shell Script <code class="docutils literal"><span class="pre">ScanLate.sh</span></code></li> |
1584 | | </ol> |
1585 | | <blockquote> |
1586 | | <div>Purpose: Scan an observation stream for contained RTCM message types, print observation latencies. The output is saved in a logfile. Latencies are reported every 10 seconds. BNC runs online until it’s terminated after 20 seconds.</div></blockquote> |
1587 | | <ol class="arabic simple" start="5"> |
1588 | | <li>Shell Script <code class="docutils literal"><span class="pre">RinexObs.sh</span></code></li> |
1589 | | </ol> |
1590 | | <blockquote> |
1591 | | <div>Purpose: Equals configuration file example <code class="docutils literal"><span class="pre">RinexObs.bnc</span></code>, converts RTCM streams to RINEX Observation files. The configuration pulls streams from two Ntrip Broadcasters using Ntrip Version 1 to generate 15min 1Hz RINEX Version 3 Observation files. See <a class="reference external" href="http://igs.bkg.bund.de/ntrip/observations">http://igs.bkg.bund.de/ntrip/observations</a> for observation stream resources. BNC runs online until it’s terminated after 30 seconds.</div></blockquote> |
1592 | | </div> |
1593 | | <div class="section" id="command-line-configuration-options-overwriting-configuration-file-options"> |
1594 | | <h3>Command Line configuration options overwriting Configuration File options<a class="headerlink" href="#command-line-configuration-options-overwriting-configuration-file-options" title="Permalink to this headline">¶</a></h3> |
1595 | | <p>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:</p> |
1596 | | <p>Shell script <code class="docutils literal"><span class="pre">CompareSp3.sh</span></code>.</p> |
1597 | | <p>Purpose: Equals configuration file example <code class="docutils literal"><span class="pre">CompareSp3.bnc</span></code>, compares two SP3 files to calculate RMS values for orbit and clock differences. However, instead of excluding GPS satellite G05 and GLONASS satellite R18 from the comparison as specified in <code class="docutils literal"><span class="pre">CompareSp3.bnc</span></code>, GPS satellite G06 and all GLONASS satellites are excluded via command line option. BNC runs offline. Comparison results are saved in a logfile.</p> |
1598 | | </div> |
1599 | | </div> |
1600 | | <span id="document-chapter5"></span><span class="target" id="index-0"></span><div class="section" id="bnc-software-settings"> |
1601 | | <h2>BNC software settings<a class="headerlink" href="#bnc-software-settings" title="Permalink to this headline">¶</a></h2> |
1602 | | <p>The general documentation approach is to create a separate chapter for each processing option in a sequence which follows the layout of BNC’s Graphical User Interface (GUI). The advantage is that searching for help by means of the document’s Table of Contents (TOC) is quite convenient.</p> |
1603 | | <p>The following chapters describe how to set BNC program options. They explain the ‘Top Menu Bar’, the ‘Settings Canvas’ with the processing options, the content of the ‘Streams Canvas’ and ‘Logging Canvas’, and the ‘Bottom Menu Bar’.</p> |
1604 | | <div class="section" id="top-menu-bar"> |
1605 | | <span id="index-1"></span><h3>Top Menu Bar<a class="headerlink" href="#top-menu-bar" title="Permalink to this headline">¶</a></h3> |
1606 | | <p>The top menu bar allows selecting a font for the BNC windows, save configured options, or quit the program execution. It also provides access to the program’s documentation.</p> |
1607 | | <div class="section" id="file"> |
1608 | | <h4>File<a class="headerlink" href="#file" title="Permalink to this headline">¶</a></h4> |
1609 | | <p>The ‘File’ button lets you</p> |
1610 | | <ul class="simple"> |
1611 | | <li>Select an appropriate font. Use smaller font size if the BNC main window exceeds the size of your screen.</li> |
1612 | | <li>Reread and save selected options in configuration file. When using ‘Reread & Save Configuration’ while BNC is already processing data, some configuration options become immediately effective on-the-fly without interrupting uninvolved threads while all of them are saved on disk. See section ‘Reread Configuration’ for a list of on-the-fly changeable configuration options.</li> |
1613 | | <li>Quit the BNC program.</li> |
1614 | | </ul> |
1615 | | </div> |
1616 | | <div class="section" id="help"> |
1617 | | <h4>Help<a class="headerlink" href="#help" title="Permalink to this headline">¶</a></h4> |
1618 | | <p>The ‘Help’ button provides access to</p> |
1619 | | <ul class="simple"> |
1620 | | <li>Help contents. You may keep the ‘Help Contents’ window open while configuring BNC.</li> |
1621 | | <li>A ‘Flow Chart’ showing BNC linked to a real-time GNSS network engine such as RTNET.</li> |
1622 | | <li>General information about BNC. Close the ‘About BNC’ window to continue working with BNC.</li> |
1623 | | </ul> |
1624 | | </div> |
1625 | | </div> |
1626 | | <div class="section" id="network"> |
1627 | | <span id="index-2"></span><h3>Network<a class="headerlink" href="#network" title="Permalink to this headline">¶</a></h3> |
1628 | | <p>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, Secure Sockets Layer (SSL) cryptographic protocols for secure Ntrip communication over the Internet.</p> |
1629 | | <div class="section" id="proxy-usage-in-a-protected-lan"> |
1630 | | <span id="index-3"></span><h4>Proxy - Usage in a protected LAN<a class="headerlink" href="#proxy-usage-in-a-protected-lan" title="Permalink to this headline">¶</a></h4> |
1631 | | <p>If you are running BNC within a protected Local Area Network (LAN), you might need to use a proxy server to access the Internet. Enter your proxy server IP and port number in case one is operated in front of BNC. 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.</p> |
1632 | | <p>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 of the local security policy or for the installation of a TCP relay to the Ntrip Broadcaster you need to access. 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> |
1633 | | </div> |
1634 | | <div class="section" id="ssl-transport-layer-security"> |
1635 | | <span id="index-4"></span><h4>SSL - Transport Layer Security<a class="headerlink" href="#ssl-transport-layer-security" title="Permalink to this headline">¶</a></h4> |
1636 | | <p>Communication with an Ntrip Broadcaster over Secure Sockets Layer (SSL) as well as the download of RINEX skeleton files when available from HTTPS websites requires the exchange of client and/or server certificates. Specify the path to a directory where you save certificates on your system. You may like to check out <a class="reference external" href="http://software.rtcm-ntrip.org/wiki/Certificates">http://software.rtcm-ntrip.org/wiki/Certificates</a> for a list of known Ntrip Server certificates. You may also just try communication via SSL to check out whether this is supported by the involved Ntrip Broadcaster.</p> |
1637 | | <p>SSL communication may involve queries coming from the Ntrip Broadcaster or from a HTTPS website hosting RINEX skeletons. Such a query could show up under BNC’s ‘Log’ tab especially when self-signed SSL certificates are used. Example:</p> |
1638 | | <div class="highlight-default"><div class="highlight"><pre><span class="n">SSL</span> <span class="n">Error</span> |
1639 | | <span class="n">Server</span> <span class="n">Certificate</span> <span class="n">Issued</span> <span class="n">by</span><span class="p">:</span> |
1640 | | <span class="n">GNSS</span> <span class="n">Data</span> <span class="n">Center</span> |
1641 | | <span class="n">BKG</span> <span class="p">(</span><span class="n">Bundesamt</span> <span class="n">für</span> <span class="n">Geodäsie</span> <span class="n">und</span> <span class="n">Kartographie</span><span class="p">)</span> |
1642 | | <span class="n">Cannot</span> <span class="n">be</span> <span class="n">verified</span> |
1643 | | |
1644 | | <span class="n">The</span> <span class="n">issuer</span> <span class="n">certificate</span> <span class="n">of</span> <span class="n">a</span> <span class="n">locally</span> <span class="n">looked</span> <span class="n">up</span> <span class="n">certificate</span> <span class="n">could</span> <span class="ow">not</span> <span class="n">be</span> <span class="n">found</span> |
1645 | | <span class="n">The</span> <span class="n">root</span> <span class="n">CA</span> <span class="n">certificate</span> <span class="ow">is</span> <span class="ow">not</span> <span class="n">trusted</span> <span class="k">for</span> <span class="n">this</span> <span class="n">purpose</span> |
1646 | | <span class="n">No</span> <span class="n">certificates</span> <span class="n">could</span> <span class="n">be</span> <span class="n">verified</span> |
1647 | | |
1648 | | <span class="n">Queries</span> <span class="n">should</span> <span class="ow">not</span> <span class="n">be</span> <span class="n">received</span> <span class="n">by</span> <span class="n">a</span> <span class="n">client</span> <span class="n">when</span> <span class="n">a</span> <span class="n">server</span> <span class="n">uses</span> <span class="n">official</span> <span class="n">SSL</span> <span class="n">certificates</span><span class="o">.</span> |
1649 | | </pre></div> |
1650 | | </div> |
1651 | | <p>Tick ‘Ignore SSL authorization errors’ if you generally trust the server and do not want to be bothered with this. Note that SSL communication is usually done over port 443 <a class="reference internal" href="#fig-7"><span class="std std-numref">(Fig. 7)</span></a>.</p> |
1652 | | <div class="figure" id="id22"> |
1653 | | <span id="fig-7"></span><a class="reference internal image-reference" href="_images/fig_7.png"><img alt="_images/fig_7.png" src="_images/fig_7.png" style="width: 768.0px; height: 287.0px;" /></a> |
1654 | | <p class="caption"><span class="caption-number">Fig. 7 </span><span class="caption-text">BNC’s ‘Network’ panel configured to ignore eventually occurring SSL error messages.</span></p> |
1655 | | </div> |
1656 | | </div> |
1657 | | </div> |
1658 | | <div class="section" id="general"> |
1659 | | <span id="index-5"></span><h3>General<a class="headerlink" href="#general" title="Permalink to this headline">¶</a></h3> |
1660 | | <p>The following defines general settings for BNC’s logfile, file handling, reconfiguration on-the-fly, and auto-start <a class="reference internal" href="#fig-7b"><span class="std std-numref">(Fig. 8)</span></a>.</p> |
1661 | | <div class="figure" id="id23"> |
1662 | | <span id="fig-7b"></span><a class="reference internal image-reference" href="_images/fig_7b.png"><img alt="_images/fig_7b.png" src="_images/fig_7b.png" style="width: 1018.0px; height: 745.0px;" /></a> |
1663 | | <p class="caption"><span class="caption-number">Fig. 8 </span><span class="caption-text">General BNC options</span></p> |
1664 | | </div> |
1665 | | <div class="section" id="logfile-optional"> |
1666 | | <span id="index-6"></span><h4>Logfile - optional<a class="headerlink" href="#logfile-optional" title="Permalink to this headline">¶</a></h4> |
1667 | | <p>Records of BNC’s activities are shown in the ‘Log’ tab on the bottom of the main window. These logs can be saved into a file when a valid path is specified in the ‘Logfile (full path)’ field. The logfile name will automatically be extended by a string ‘_YYMMDD’ for the current date. This leads to series of daily logfiles when running BNC continuously. Message logs cover the communication status between BNC and the Ntrip Broadcaster as well as problems that may occur in the communication link, stream availability, stream delay, stream conversion etc. All times are given in UTC. The default value for ‘Logfile (full path)’ is an empty option field, meaning that BNC logs will not be saved into a file.</p> |
1668 | | <p>The following is an example for the content of a logfile written by BNC when operated in Single Point Positioning (SPP) mode:</p> |
1669 | | <div class="highlight-console"><div class="highlight"><pre><span class="go">15-06-30 11:40:17 ========== Start BNC v2.12 (MAC) ==========</span> |
1670 | | <span class="go">15-06-30 11:40:17 Panel 'PPP' active</span> |
1671 | | <span class="go">15-06-30 11:40:17 CUT07: Get data in RTCM 3.x format</span> |
1672 | | <span class="go">15-06-30 11:40:17 RTCM3EPH: Get data in RTCM 3.x format</span> |
1673 | | <span class="go">15-06-30 11:40:17 Configuration read: PPP.conf, 2 stream(s)</span> |
1674 | | |
1675 | | <span class="go">15-06-30 11:40:21 2015-06-30_11:40:19.000 CUT07 X = -2364337.6814 Y = 4870283.8110 Z = -3360808.3085 NEU: -0.0000 -0.0000 -0.0000 TRP: +2.4026 -0.0001</span> |
1676 | | <span class="go">15-06-30 11:40:22 2015-06-30_11:40:20.000 CUT07 X = -2364337.6853 Y = 4870283.8130 Z = -3360808.3082 NEU: +1.1639 +0.6988 -2.1178 TRP: +2.4018 +0.0003</span> |
1677 | | <span class="go">15-06-30 11:40:23 2015-06-30_11:40:21.000 CUT07 X = -2364337.6862 Y = 4870283.8155 Z = -3360808.3107 NEU: +0.1317 -0.4655 -4.4614 TRP: +2.4009 +0.0009</span> |
1678 | | <span class="go">15-06-30 11:40:24 2015-06-30_11:40:22.000 CUT07 X = -2364337.6864 Y = 4870283.8106 Z = -3360808.3099 NEU: +0.1543 +0.2121 -1.0190 TRP: +2.4022 +0.0009</span> |
1679 | | <span class="go">15-06-30 11:40:25 2015-06-30_11:40:23.000 CUT07 X = -2364337.6861 Y = 4870283.8111 Z = -3360808.3105 NEU: -0.9782 +0.0916 -2.3544 TRP: +2.4017 +0.0013</span> |
1680 | | <span class="go">15-06-30 11:40:26 2015-06-30_11:40:24.000 CUT07 X = -2364337.6884 Y = 4870283.8123 Z = -3360808.3103 NEU: -0.5606 -0.0938 -1.9498 TRP: +2.4018 +0.0016</span> |
1681 | | <span class="go">15-06-30 11:40:27 2015-06-30_11:40:25.000 CUT07 X = -2364337.6913 Y = 4870283.8133 Z = -3360808.3122 NEU: -0.1799 -0.1525 -4.8142 TRP: +2.4007 +0.0025</span> |
1682 | | <span class="go">15-06-30 11:40:28 2015-06-30_11:40:26.000 CUT07 X = -2364337.6919 Y = 4870283.8171 Z = -3360808.3184 NEU: +0.7497 +0.7994 -2.0363 TRP: +2.4018 +0.0032</span> |
1683 | | <span class="go">15-06-30 11:40:29 2015-06-30_11:40:27.000 CUT07 X = -2364337.6923 Y = 4870283.8196 Z = -3360808.3230 NEU: +0.8099 +0.5592 -2.8552 TRP: +2.4015 +0.0039</span> |
1684 | | <span class="go">15-06-30 11:40:30 2015-06-30_11:40:28.000 CUT07 X = -2364337.6960 Y = 4870283.8219 Z = -3360808.3222 NEU: -0.2952 +1.9737 -4.5565 TRP: +2.4008 +0.0047</span> |
1685 | | <span class="go">15-06-30 11:40:31 2015-06-30_11:40:29.000 CUT07 X = -2364337.6982 Y = 4870283.8209 Z = -3360808.3209 NEU: +0.3563 +2.1067 -5.5327 TRP: +2.4005 +0.0057</span> |
1686 | | <span class="go">...</span> |
1687 | | </pre></div> |
1688 | | </div> |
1689 | | </div> |
1690 | | <div class="section" id="append-files-optional"> |
1691 | | <h4>Append Files - optional<a class="headerlink" href="#append-files-optional" title="Permalink to this headline">¶</a></h4> |
1692 | | <p>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.</p> |
1693 | | </div> |
1694 | | <div class="section" id="reread-configuration-optional"> |
1695 | | <h4>Reread Configuration - optional<a class="headerlink" href="#reread-configuration-optional" title="Permalink to this headline">¶</a></h4> |
1696 | | <p>When operating BNC online in ‘no window’ mode (command line option <code class="docutils literal"><span class="pre">-nw</span></code>), 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.</p> |
1697 | | <p>Note that following configuration options saved on disk can be changed/edited on-the-fly while BNC is already processing data:</p> |
1698 | | <ul class="simple"> |
1699 | | <li>‘mountPoints’ to change the selection of streams to be processed, see section ‘Streams Canvas’;</li> |
1700 | | <li>‘outWait’ to change the ‘Wait for full obs epoch’ option, see section ‘Feed Engine’;</li> |
1701 | | <li>‘outSampl’ to change the ‘Sampling’ option, see section ‘Feed Engine’;</li> |
1702 | | <li>‘outFile’ to change the ‘File’ name where synchronized observations are saved in plain ASCII format, see section ‘Feed Engine’.</li> |
1703 | | </ul> |
1704 | | </div> |
1705 | | <div class="section" id="auto-start-optional"> |
1706 | | <span id="index-7"></span><h4>Auto Start - optional<a class="headerlink" href="#auto-start-optional" title="Permalink to this headline">¶</a></h4> |
1707 | | <p>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 <code class="docutils literal"><span class="pre">/etc/init.d</span></code> (Unix/Linux/Mac OS X systems).</p> |
1708 | | <p>See BNC’s command line option <code class="docutils literal"><span class="pre">-nw</span></code> for an auto-start of BNC in ‘no window’ mode.</p> |
1709 | | </div> |
1710 | | <div class="section" id="raw-output-file-optional"> |
1711 | | <span id="index-8"></span><h4>Raw Output File - optional<a class="headerlink" href="#raw-output-file-optional" title="Permalink to this headline">¶</a></h4> |
1712 | | <p>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.</p> |
1713 | | <p>Data will be saved in blocks in the received format separated by ASCII time stamps like (example):</p> |
1714 | | <div class="highlight-console"><div class="highlight"><pre><span class="go">2010-08-03T18:05:28 RTCM3EPH RTCM_3 67</span> |
1715 | | </pre></div> |
1716 | | </div> |
1717 | | <p>This example block header tells you that 67 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 RTCM3EPH and was received at 18:05:28 UTC on 2010-08-03. BNC adds its own time stamps in order to allow the reconstruction of a recorded real-time situation.</p> |
1718 | | <p>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.</p> |
1719 | | </div> |
1720 | | </div> |
1721 | | <div class="section" id="rinex-observations"> |
1722 | | <span id="index-9"></span><h3>RINEX Observations<a class="headerlink" href="#rinex-observations" title="Permalink to this headline">¶</a></h3> |
1723 | | <p>Observations will be converted to RINEX if they come in either RTCM Version 2 or RTCM Version 3 format. Depending on the RINEX version and incoming RTCM message types, files generated by BNC may contain data from GPS, GLONASS, Galileo, SBAS, QZSS, and/or BDS (BeiDou). In case an observation type is listed in the RINEX header but the corresponding observation is unavailable, its value is set to zero ‘0.000’ or left blank. Note that the ‘RINEX TYPE’ field in the RINEX Version 3 Observation file header is always set to ‘M(MIXED)’ or ‘Mixed’ even if the file only contains data from one system.</p> |
1724 | | <p>It is important to understand that converting RTCM streams to RINEX files requires a priori information on observation types for specifying a complete RINEX header. Regarding the RINEX Version 2 file header, BNC simply introduces all observation types defined in the Version 2 standard and later reports ‘0.000’ for observations which are not received. However, following this approach is not possible for RINEX Version 3 files from RTCM Version 3 MSM streams because of the huge number of observation types, which might in principle show up. The solution implemented in BNC is to start with RINEX Version 3 observation type records from skeleton files (see section ‘Skeleton Extension’ and ‘Skeleton Mandatory’) and switch to a default selection of observation types when such file is not available or does not contain the required information. The following is the default selection of observation types specified for a RINEX Version 3 file:</p> |
1725 | | <div class="highlight-console"><div class="highlight"><pre><span class="go">C 9 C2I L2I S2I C6I L6I S6I C7I L7I S7I SYS / # / OBS TYPES</span> |
1726 | | <span class="go">E 12 C1X L1X SX1 C5X L5X SX5 C7X L7X SX7 C8X L8X SX8 SYS / # / OBS TYPES</span> |
1727 | | <span class="go">G 15 C1C L1C S1C C1W L1W S1W C2X L2X S2X C2W L2W S2W C5X SYS / # / OBS TYPES</span> |
1728 | | <span class="go"> L5X S5X SYS / # / OBS TYPES</span> |
1729 | | <span class="go">J 24 C1C L1C S1C C1S L1S S1S C1L L1L S1L C1X L1X S1X C2S SYS / # / OBS TYPES</span> |
1730 | | <span class="go"> L2S S2S C2L L2L S2L C2X L2X S2X C5X L5X S5X SYS / # / OBS TYPES</span> |
1731 | | <span class="go">R 12 C1C L1C S1C C1P L1P S1P C2C L2C S2C C2P L2P S2P SYS / # / OBS TYPES</span> |
1732 | | <span class="go">S 9 C1C L1C S1C C5I L5I S5I C5Q L5Q S5Q SYS / # / OBS TYPES</span> |
1733 | | </pre></div> |
1734 | | </div> |
1735 | | <p>Please note that RTCM Version 3 messages 1084 for GLONASS observations do not contain the GLONASS channel numbers. These observation messages can only be converted to RINEX when you add messages which include the channel numbers. This could be done by means of an additional stream carrying 1087 GLONASS observation messages or an additional stream carrying 1020 GLONASS ephemeris messages. You could also consider setting up a stream which contains both, the 1084 and the 1020 messages.</p> |
1736 | | <p>The screenshot below shows an example setup of BNC when converting streams to RINEX. Streams are coming from various Ntrip Broadcasters as well as from a serial communication link. Specifying a decoder string ‘ZERO’ would mean to not convert the affected stream but save its content as received. The ‘SSL Error’ recorded in the ‘Log’ tab is caused by the fact that observation stream downloads from IGS and MGEX Broadcasters initiate the download of RINEX skeleton files from a HTTPS (TLS/SSL) website and BNC has been configured in this example to ignore SSL errors as shown in the preceding ‘Network’ panel screenshot <a class="reference internal" href="#fig-8"><span class="std std-numref">(Fig. 9)</span></a>.</p> |
1737 | | <div class="figure" id="id24"> |
1738 | | <span id="fig-8"></span><a class="reference internal image-reference" href="_images/fig_8.png"><img alt="_images/fig_8.png" src="_images/fig_8.png" style="width: 900.0px; height: 729.0px;" /></a> |
1739 | | <p class="caption"><span class="caption-number">Fig. 9 </span><span class="caption-text">BNC translating incoming observation streams to 15 min RINEX Version 3 Observation files.</span></p> |
1740 | | </div> |
1741 | | <div class="section" id="rinex-filenames"> |
1742 | | <span id="index-10"></span><h4>RINEX Filenames<a class="headerlink" href="#rinex-filenames" title="Permalink to this headline">¶</a></h4> |
1743 | | <p>The default for RINEX filenames in BNC follows the convention of RINEX Version 2. However, the software provides options to alternatively follow the filename convention of RINEX Version 3. RINEX Version 2 filenames are derived by BNC from the first 4 characters of the corresponding stream’s mountpoint (4-character Station ID). For example, data from mountpoints FRANKFURT and WETTZELL will have hourly RINEX Observation files named:</p> |
1744 | | <div class="highlight-default"><div class="highlight"><pre><span class="n">FRAN</span><span class="p">{</span><span class="n">ddd</span><span class="p">}{</span><span class="n">h</span><span class="p">}</span><span class="o">.</span><span class="p">{</span><span class="n">yy</span><span class="p">}</span><span class="n">O</span> |
1745 | | <span class="n">WETT</span><span class="p">{</span><span class="n">ddd</span><span class="p">}{</span><span class="n">h</span><span class="p">}</span><span class="o">.</span><span class="p">{</span><span class="n">yy</span><span class="p">}</span><span class="n">O</span> |
1746 | | </pre></div> |
1747 | | </div> |
1748 | | <p>where ‘ddd’ is the day of year, ‘h’ is a letter which corresponds to an hour long UTC time block and ‘yy’ is the year.</p> |
1749 | | <p>If there is more than one stream with identical 4-character Station ID (same first 4 characters for their mountpoints), the mountpoint strings are split into two sub-strings and both become part of the RINEX filename. For example, when simultaneously retrieving data from mountpoints FRANKFURT and FRANCE, their hourly RINEX Version 2 Observation files are named as:</p> |
1750 | | <div class="highlight-default"><div class="highlight"><pre><span class="n">FRAN</span><span class="p">{</span><span class="n">ddd</span><span class="p">}{</span><span class="n">h</span><span class="p">}</span><span class="n">_KFURT</span><span class="o">.</span><span class="p">{</span><span class="n">yy</span><span class="p">}</span><span class="n">O</span> |
1751 | | <span class="n">FRAN</span><span class="p">{</span><span class="n">ddd</span><span class="p">}{</span><span class="n">h</span><span class="p">}</span><span class="n">_CE</span><span class="o">.</span><span class="p">{</span><span class="n">yy</span><span class="p">}</span><span class="n">O</span> |
1752 | | </pre></div> |
1753 | | </div> |
1754 | | <p>If several streams show up with exactly the same mountpoint name (example: BRUS0 from www.euref-ip.net and BRUS0 from www.igs-ip.net), BNC adds an integer number to the filename, leading e.g. to hourly RINEX Version 2 Observation files like:</p> |
1755 | | <div class="highlight-default"><div class="highlight"><pre><span class="n">BRUS</span><span class="p">{</span><span class="n">ddd</span><span class="p">}{</span><span class="n">h</span><span class="p">}</span><span class="n">_0</span><span class="o">.</span><span class="p">{</span><span class="n">yy</span><span class="p">}</span><span class="n">O</span> |
1756 | | <span class="n">BRUS</span><span class="p">{</span><span class="n">ddd</span><span class="p">}{</span><span class="n">h</span><span class="p">}</span><span class="n">_1</span><span class="o">.</span><span class="p">{</span><span class="n">yy</span><span class="p">}</span><span class="n">O</span> |
1757 | | </pre></div> |
1758 | | </div> |
1759 | | <p>Note that RINEX Version 2 filenames for all intervals less than 1 hour follow the filename convention for 15 minutes RINEX Version 2 Observation files e.g.:</p> |
1760 | | <div class="highlight-default"><div class="highlight"><pre><span class="n">FRAN</span><span class="p">{</span><span class="n">ddd</span><span class="p">}{</span><span class="n">h</span><span class="p">}{</span><span class="n">mm</span><span class="p">}</span><span class="o">.</span><span class="p">{</span><span class="n">yy</span><span class="p">}</span><span class="n">O</span> |
1761 | | </pre></div> |
1762 | | </div> |
1763 | | <p>where ‘mm’ is the starting minute within the hour.</p> |
1764 | | <p>In case of RINEX Version 3 filenames, the conventions are summarized in <a class="reference internal" href="#tab-rinex-fn-conv"><span class="std std-numref">Table 2</span></a>.</p> |
1765 | | <table border="1" class="docutils" id="id25"> |
1766 | | <span id="tab-rinex-fn-conv"></span><caption><span class="caption-number">Table 2 </span><span class="caption-text">Conventions of RINEX 3 file names.</span><a class="headerlink" href="#id25" title="Permalink to this table">¶</a></caption> |
1767 | | <colgroup> |
1768 | | <col width="32%" /> |
1769 | | <col width="23%" /> |
1770 | | <col width="45%" /> |
1771 | | </colgroup> |
1772 | | <thead valign="bottom"> |
1773 | | <tr class="row-odd"><th class="head"><strong>Filename Parameter</strong></th> |
1774 | | <th class="head"><strong># Characters</strong></th> |
1775 | | <th class="head"><strong>Meaning</strong></th> |
1776 | | </tr> |
1777 | | </thead> |
1778 | | <tbody valign="top"> |
1779 | | <tr class="row-even"><td>Name</td> |
1780 | | <td>9</td> |
1781 | | <td>Site, station and country code</td> |
1782 | | </tr> |
1783 | | <tr class="row-odd"><td>S</td> |
1784 | | <td>1</td> |
1785 | | <td>Data source</td> |
1786 | | </tr> |
1787 | | <tr class="row-even"><td>Start Time</td> |
1788 | | <td>11</td> |
1789 | | <td>YYYYDDDHHMM</td> |
1790 | | </tr> |
1791 | | <tr class="row-odd"><td>Period</td> |
1792 | | <td>3</td> |
1793 | | <td>File period</td> |
1794 | | </tr> |
1795 | | <tr class="row-even"><td>Obs. Freq.</td> |
1796 | | <td>3</td> |
1797 | | <td>Observation frequency</td> |
1798 | | </tr> |
1799 | | <tr class="row-odd"><td>Content</td> |
1800 | | <td>2</td> |
1801 | | <td>Content type</td> |
1802 | | </tr> |
1803 | | <tr class="row-even"><td>Format</td> |
1804 | | <td>3</td> |
1805 | | <td>File format</td> |
1806 | | </tr> |
1807 | | <tr class="row-odd"><td>Compression</td> |
1808 | | <td>2-3</td> |
1809 | | <td>Compression method (optional)</td> |
1810 | | </tr> |
1811 | | </tbody> |
1812 | | </table> |
1813 | | <p>Example for Mixed RINEX Version 3 GNSS observation filename, file containing 1 hour of data, one observation every second, ‘MO’ standing for ‘Mixed Observations’:</p> |
1814 | | <div class="highlight-default"><div class="highlight"><pre><span class="n">ALGO00CAN_R_20121601000_01H_01S_MO</span><span class="o">.</span><span class="n">rnx</span> |
1815 | | </pre></div> |
1816 | | </div> |
1817 | | <p>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.</p> |
1818 | | </div> |
1819 | | <div class="section" id="directory-optional"> |
1820 | | <span id="index-11"></span><h4>Directory - optional<a class="headerlink" href="#directory-optional" title="Permalink to this headline">¶</a></h4> |
1821 | | <p>Here you can specify the path to where the RINEX Observation files will be stored. If the specified directory does not exist, BNC will not create RINEX Observation files. Default value for ‘Directory’ is an empty option field, meaning that no RINEX Observation files will be written.</p> |
1822 | | </div> |
1823 | | <div class="section" id="file-interval-mandatory-if-directory-is-set"> |
1824 | | <span id="index-12"></span><h4>File Interval - mandatory if ‘Directory’ is set<a class="headerlink" href="#file-interval-mandatory-if-directory-is-set" title="Permalink to this headline">¶</a></h4> |
1825 | | <p>Select the length of the RINEX Observation file to be generated. The default value is 15 minutes.</p> |
1826 | | </div> |
1827 | | <div class="section" id="sampling-mandatory-if-directory-is-set"> |
1828 | | <span id="index-13"></span><h4>Sampling - mandatory if ‘Directory’ is set<a class="headerlink" href="#sampling-mandatory-if-directory-is-set" title="Permalink to this headline">¶</a></h4> |
1829 | | <p>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.</p> |
1830 | | </div> |
1831 | | <div class="section" id="skeleton-extension-optional"> |
1832 | | <span id="index-14"></span><h4>Skeleton Extension - optional<a class="headerlink" href="#skeleton-extension-optional" title="Permalink to this headline">¶</a></h4> |
1833 | | <p>Whenever BNC starts to generate RINEX Observation files (and then once every day at midnight), it first tries to retrieve information needed for RINEX headers from so-called fully machine-readable public RINEX header skeleton files which are derived from sitelogs. An HTTP or HTTPS link to a directory containing these skeleton files may be available through data field number 7 of the affected NET record in the source-table. See <a class="reference external" href="http://www.epncb.oma.be:80/stations/log/skl/brus.skl">http://www.epncb.oma.be:80/stations/log/skl/brus.skl</a> for an example of a public RINEX header skeleton file for EPN station Brussels. Note that the download of RINEX skeleton files from HTTPS websites requires the exchange of client and/or server certificates. Clarify ‘SSL’ options offered through panel ‘Network’ for details.</p> |
1834 | | <p>Sometimes public RINEX header skeleton files are not available, their content is not up to date, or you need to put additional/optional records in the RINEX header. For that, BNC allows using personal skeleton files that contain the header records you would like to include. You can derive a personal RINEX header skeleton file from the information given in an up to date sitelog. A file in the RINEX Observations ‘Directory’ with a ‘Skeleton extension’ suffix is interpreted by BNC as a personal RINEX header skeleton file for the corresponding stream.</p> |
1835 | | <p>When producing RINEX Observation files from mountpoints (examples) ‘BRUS0’, ‘FRANKFURT’, and ‘WETTZELL’, the following skeleton filenames would be accepted:</p> |
1836 | | <div class="highlight-console"><div class="highlight"><pre><span class="go">brus.skl</span> |
1837 | | <span class="go">fran.skl</span> |
1838 | | <span class="go">wett.skl</span> |
1839 | | </pre></div> |
1840 | | </div> |
1841 | | <p>if ‘Skeleton extension’ is set to ‘skl’.</p> |
1842 | | <p>Note the following regulations regarding personal RINEX header skeleton files:</p> |
1843 | | <ul class="simple"> |
1844 | | <li>If such a file exists in the ‘RINEX directory’, the corresponding public RINEX header skeleton file is ignored. The RINEX header is generated solely from the content of the personal skeleton.</li> |
1845 | | <li>Personal skeletons should contain a complete first header record of type:</li> |
1846 | | </ul> |
1847 | | <div class="highlight-console"><div class="highlight"><pre><span class="go">RINEX VERSION / TYPE</span> |
1848 | | </pre></div> |
1849 | | </div> |
1850 | | <p>They should then contain an empty header record of type:</p> |
1851 | | <div class="highlight-console"><div class="highlight"><pre><span class="go">PGM / RUN BY / DATE</span> |
1852 | | </pre></div> |
1853 | | </div> |
1854 | | <p>BNC will complete this line and include it in the RINEX file header.</p> |
1855 | | <ul class="simple"> |
1856 | | <li>They should further contain complete header records of type:</li> |
1857 | | </ul> |
1858 | | <div class="highlight-console"><div class="highlight"><pre><span class="go">MARKER NAME</span> |
1859 | | <span class="go">OBSERVER / AGENCY</span> |
1860 | | <span class="go">REC # / TYPE / VERS</span> |
1861 | | <span class="go">ANT # / TYPE</span> |
1862 | | <span class="go">APPROX POSITION XYZ</span> |
1863 | | <span class="go">ANTENNA: DELTA H/E/N</span> |
1864 | | <span class="go">WAVELENGTH FACT L1/2 (RINEX Version 2)</span> |
1865 | | <span class="go">SYS / # / OBS TYPES (for RINEX Version 3 files, will be ignored in Version 2 files)</span> |
1866 | | </pre></div> |
1867 | | </div> |
1868 | | <ul> |
1869 | | <li><p class="first">They may contain any other optional complete header record as defined in the RINEX documentation.</p> |
1870 | | </li> |
1871 | | <li><p class="first">They should also contain an empty header record of type:</p> |
1872 | | <div class="highlight-none"><div class="highlight"><pre>#/ TYPES OF OBSERV (only RINEX Version 2, will be ignored when in Version 3 files) |
1873 | | </pre></div> |
1874 | | </div> |
1875 | | </li> |
1876 | | <li><p class="first">BNC will include these lines in the final RINEX file header together with an additional</p> |
1877 | | <div class="highlight-console"><div class="highlight"><pre><span class="go">COMMENT</span> |
1878 | | </pre></div> |
1879 | | </div> |
1880 | | <p>line describing the source of the stream.</p> |
1881 | | </li> |
1882 | | <li><p class="first">They should finally contain an empty last header record of type:</p> |
1883 | | <div class="highlight-console"><div class="highlight"><pre><span class="go">END OF HEADER</span> |
1884 | | </pre></div> |
1885 | | </div> |
1886 | | </li> |
1887 | | <li><p class="first">They must not contain a header record of type:</p> |
1888 | | <div class="highlight-console"><div class="highlight"><pre><span class="go">TIME OF FIRST OBS</span> |
1889 | | </pre></div> |
1890 | | </div> |
1891 | | </li> |
1892 | | </ul> |
1893 | | <p>If neither a public nor a personal RINEX header skeleton file is available for BNC, a default header will be used. The following is a skeleton example for a RINEX file:</p> |
1894 | | <div class="highlight-console"><div class="highlight"><pre><span class="go"> OBSERVATION DATA M (MIXED) RINEX VERSION / TYPE</span> |
1895 | | <span class="go"> PGM / RUN BY / DATE</span> |
1896 | | <span class="go">CUT0 MARKER NAME</span> |
1897 | | <span class="go">59945M001 MARKER NUMBER</span> |
1898 | | <span class="go">5023K67889 TRIMBLE NETR9 5.01 REC # / TYPE / VERS</span> |
1899 | | <span class="go">4928353386 TRM59800.00 SCIS ANT # / TYPE</span> |
1900 | | <span class="go"> -2364337.2699 4870285.5624 -3360809.8398 APPROX POSITION XYZ</span> |
1901 | | <span class="go"> 0.0000 0.0000 0.0000 ANTENNA: DELTA H/E/N</span> |
1902 | | <span class="go">gnss@curtin.edu.au CUT OBSERVER / AGENCY</span> |
1903 | | <span class="go">C 10 C1I L1I D1I S1I C6I L6I S6I C7I L7I S7I SYS / # / OBS TYPES</span> |
1904 | | <span class="go">E 13 C1X L1X D1X S1X C5X L5X S5X C7X L7X S7X C8X L8X S8X SYS / # / OBS TYPES</span> |
1905 | | <span class="go">G 13 C1C L1C D1C S1C C2W L2W S2W C2X L2X S2X C5X L5X S5X SYS / # / OBS TYPES</span> |
1906 | | <span class="go">J 19 C1C L1C D1C S1C C1X L1X S1X C1Z L1Z S1Z C2X L2X S2X SYS / # / OBS TYPES</span> |
1907 | | <span class="go"> C5X L5X S5X C6L L6L S6L SYS / # / OBS TYPES</span> |
1908 | | <span class="go">R 13 C1C L1C D1C S1C C1P L1P S1P C2C L2C S2C C2P L2P S2P SYS / # / OBS TYPES</span> |
1909 | | <span class="go">S 7 C1C L1C D1C S1C C5I L5I S5I SYS / # / OBS TYPES</span> |
1910 | | <span class="go">PORTIONS OF THIS HEADER GENERATED BY THE IGS CB FROM COMMENT</span> |
1911 | | <span class="go">SITELOG cut0_20150507.log COMMENT</span> |
1912 | | <span class="go"> END OF HEADER</span> |
1913 | | </pre></div> |
1914 | | </div> |
1915 | | </div> |
1916 | | <div class="section" id="skeleton-mandatory-optional"> |
1917 | | <span id="index-15"></span><h4>Skeleton Mandatory - optional<a class="headerlink" href="#skeleton-mandatory-optional" title="Permalink to this headline">¶</a></h4> |
1918 | | <p>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.</p> |
1919 | | <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.</p> |
1920 | | </div> |
1921 | | <div class="section" id="script-optional"> |
1922 | | <h4>Script - optional<a class="headerlink" href="#script-optional" title="Permalink to this headline">¶</a></h4> |
1923 | | <p>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).</p> |
1924 | | <p>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.</p> |
1925 | | <p>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’.</p> |
1926 | | </div> |
1927 | | <div class="section" id="version-2-optional"> |
1928 | | <h4>Version 2 - optional<a class="headerlink" href="#version-2-optional" title="Permalink to this headline">¶</a></h4> |
1929 | | <p>GNSS observation data are generally hold available within BNC according to attributes as defined in RINEX Version 3. These attributes describe the tracking mode or channel when generating the observation signals. Capital letters specifying signal generation attributes are A, B, C, D, I, L, M, N, P, Q, S, W, X, Y, and Z, see RINEX Version 3 documentation. Although RINEX Version 3 with its signal generation attributes is the internal default processing format for BNC, there are two applications where the program is explicitly required to produce data files in RINEX Version 2 format:</p> |
1930 | | <ol class="arabic simple"> |
1931 | | <li>When saving the content of incoming observation streams in RINEX Version 2 files as described in this section.</li> |
1932 | | <li>When editing or concatenating RINEX 3 files to save them in Version 2 format, see section on ‘RINEX Editing & QC’.</li> |
1933 | | </ol> |
1934 | | <p>As the Version 2 format ignores signal generation attributes, BNC is forced to somehow map RINEX Version 3 to RINEX Version 2 although this cannot be done in one-to-one correspondence. Hence we introduce a ‘Signal priority’ list of attributes (characters, forming a string) for mapping Version 3 to Version 2.</p> |
1935 | | <p>Signal priorities can be specified as equal for all systems, as system specific or as system and frequency specific. For example:</p> |
1936 | | <ul class="simple"> |
1937 | | <li>‘<a href="#id72"><span class="problematic" id="id73">CWPX_</span></a>?’ (General signal priorities valid for all GNSS)</li> |
1938 | | <li>‘C:IQX I:ABCX’ (System specific signal priorities for BDS and IRNSS)</li> |
1939 | | <li>‘G:12&PWCSLXYN G:5&IQX R:12&PC R:3&IQX’ (System and frequency specific signal priorities)</li> |
1940 | | </ul> |
1941 | | <p>The default ‘Signal priority’ list is defined as follows: ‘G:12&PWCSLXYN G:5&IQX R:12&PC R:3&IQX E:16&BCX E:578&IQX J:1&SLXCZ J:26&SLX J:5&IQX C:IQX I:ABCX S:1&C S:5&IQX’</p> |
1942 | | <p>As an example the ‘Signal priority’ of ‘<a href="#id74"><span class="problematic" id="id75">CWPX_</span></a>?’ is explained in more detail:</p> |
1943 | | <ul class="simple"> |
1944 | | <li>Signals with attribute ‘C’ enjoy the highest priority. If such a Version 3 observation becomes available, 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> |
1945 | | <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 and ignores all observations with other attributes. The same applies mutatis mutandis to observations with P and X attributes.</li> |
1946 | | <li>If no signal with ‘C’, ‘W’, ‘P’, or ‘X’ attribute is available but a signal with undefined generation attribute (underscore character, ‘_’) exists, BNC presents that one as RINEX Version 2 observation. Note that observation attributes should actually always be available in RINEX Version 3. Hence the underscore character makes only sense in a few very special cases.</li> |
1947 | | <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 appearing signal as RINEX Version 2 observation.</li> |
1948 | | </ul> |
1949 | | <p>You may like to specify your own ‘Signal priority’ string(s) for producing RINEX Version 2 files. If you neither convert observation streams to RINEX Version 2 nor concatenate RINEX Version 3 to Version 2 files, then the ‘Version 2’ option is meaningless.</p> |
1950 | | </div> |
1951 | | <div class="section" id="version-3-optional"> |
1952 | | <h4>Version 3 - optional<a class="headerlink" href="#version-3-optional" title="Permalink to this headline">¶</a></h4> |
1953 | | <p>The default format for RINEX Observation files is RINEX Version 2.11. Select RINEX ‘Version 3’ if you would like to save RTCM Version 3 observation streams in RINEX Version 3.03 format. Note that it is possible to force an RTCM Version 2 stream to be saved in RINEX Version 3 file format. However, this is not recommended because such stream cannot be precisely mapped to RINEX Version 3 as the required information on tracking modes (observation attributes) is not part of RTCM Version 2.</p> |
1954 | | </div> |
1955 | | <div class="section" id="version-3-filenames-optional"> |
1956 | | <h4>Version 3 Filenames - optional<a class="headerlink" href="#version-3-filenames-optional" title="Permalink to this headline">¶</a></h4> |
1957 | | <p>Tick check box ‘Version 3 filenames’ to let BNC create so-called extended filenames following the RINEX Version 3 standard. Default is an empty check box, meaning to still use filenames following the RINEX Version 2 standard although the file content is saved in RINEX Version 3 format.</p> |
1958 | | </div> |
1959 | | </div> |
1960 | | <div class="section" id="rinex-ephemeris"> |
1961 | | <span id="index-16"></span><h3>RINEX Ephemeris<a class="headerlink" href="#rinex-ephemeris" title="Permalink to this headline">¶</a></h3> |
1962 | | <p>Broadcast Ephemeris can be saved in RINEX Navigation files when received e.g. via RTCM Version 3 message types 1019 (GPS) or 1020 (GLONASS) or 1044 (QZSS) or 1043 (SBAS) or 1045 and 1046 (Galileo) or 63 (BDS/BeiDou, tentative message number). The filename convention follows the details given in section ‘RINEX Filenames’ except that the first four characters are ‘BRDC’. For RINEX Version 2 Navigation files the last character is ‘N’ or ‘G’ for GPS or GLONASS ephemeris in two separate files. Regarding RINEX Version 3 you will find all ephemeris data for GPS, GLONASS, Galileo, SBAS, QZSS, and BDS gathered in one Navigation file.</p> |
1963 | | <p>The following is an example for a RINEX Version 3 Navigation filename. The file contains one day’s data. ‘MN’ stands for ‘Multi Constellation Navigation’ data.</p> |
1964 | | <div class="highlight-console"><div class="highlight"><pre><span class="go">BRDC00DEU_S_20121600000_01D_MN.rnx</span> |
1965 | | </pre></div> |
1966 | | </div> |
1967 | | <p>Note that streams dedicated to carry Broadcast Ephemeris messages in RTCM Version 3 format in high repetition rates are listed on <a class="reference external" href="http://igs.bkg.bund.de/ntrip/ephemeris">http://igs.bkg.bund.de/ntrip/ephemeris</a>. Note further that BNC will ignore incorrect or outdated Broadcast Ephemeris data when necessary, leaving a note ‘WRONG EPHEMERIS’ or ‘OUTDATED EPHEMERIS’ in the logfile.</p> |
1968 | | <div class="section" id="id1"> |
1969 | | <h4>Directory - optional<a class="headerlink" href="#id1" title="Permalink to this headline">¶</a></h4> |
1970 | | <p>Specify a path for saving Broadcast Ephemeris data in RINEX Navigation files. If the specified directory does not exist, BNC will not create RINEX Navigation files. Default value for Ephemeris ‘Directory’ is an empty option field, meaning that no RINEX Navigation files will be created.</p> |
1971 | | </div> |
1972 | | <div class="section" id="interval-mandatory-if-directory-is-set"> |
1973 | | <h4>Interval - mandatory if ‘Directory’ is set<a class="headerlink" href="#interval-mandatory-if-directory-is-set" title="Permalink to this headline">¶</a></h4> |
1974 | | <p>Select the length of RINEX Navigation files. The default value is ‘1 day’.</p> |
1975 | | </div> |
1976 | | <div class="section" id="port-optional"> |
1977 | | <h4>Port - optional<a class="headerlink" href="#port-optional" title="Permalink to this headline">¶</a></h4> |
1978 | | <p>BNC can output Broadcast Ephemeris in RINEX Version 3 format on your local host (IP 127.0.0.1) through an IP ‘Port’. 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.</p> |
1979 | | <p>The source code for BNC comes with an example Perl script <code class="docutils literal"><span class="pre">test_tcpip_client.pl</span></code> that allows you to read BNC’s ephemeris ASCII output from the IP port.</p> |
1980 | | </div> |
1981 | | <div class="section" id="version-optional"> |
1982 | | <h4>Version - optional<a class="headerlink" href="#version-optional" title="Permalink to this headline">¶</a></h4> |
1983 | | <p>Default format for RINEX Navigation files containing Broadcast Ephemeris is RINEX Version 2.11. Select ‘Version 3’ if you want to save the ephemeris data in RINEX Version 3.03 format. Note that this does not concern the Broadcast Ephemeris output through IP port, which is always in RINEX Version 3.03 format.</p> |
1984 | | </div> |
1985 | | <div class="section" id="id2"> |
1986 | | <h4>Version 3 Filenames - optional<a class="headerlink" href="#id2" title="Permalink to this headline">¶</a></h4> |
1987 | | <p>Tick check box ‘Version 3 filenames’ to let BNC create so-called extended filenames following the RINEX Version 3 standard. Default is an empty check box, meaning to still use filenames following the RINEX Version 2 standard although the file content is saved in RINEX Version 3 format <a class="reference internal" href="#fig-9"><span class="std std-numref">(Fig. 10)</span></a>.</p> |
1988 | | <div class="figure" id="id26"> |
1989 | | <span id="fig-9"></span><a class="reference internal image-reference" href="_images/fig_9.png"><img alt="_images/fig_9.png" src="_images/fig_9.png" style="width: 859.0px; height: 510.0px;" /></a> |
1990 | | <p class="caption"><span class="caption-number">Fig. 10 </span><span class="caption-text">BNC converting Broadcast Ephemeris stream to RINEX Version 3 Navigation files</span></p> |
1991 | | </div> |
1992 | | </div> |
1993 | | </div> |
1994 | | <div class="section" id="rinex-editing-qc"> |
1995 | | <span id="index-17"></span><h3>RINEX Editing & QC<a class="headerlink" href="#rinex-editing-qc" title="Permalink to this headline">¶</a></h3> |
1996 | | <p>Besides stream conversion from RTCM to RINEX, BNC allows editing RINEX files or concatenate their content. RINEX Observation and Navigation files can be handled. BNC can also carry out a RINEX file Quality Check. In summary and besides Stream <strong>T</strong>ranslation, this functionality in BNC covers</p> |
1997 | | <ul class="simple"> |
1998 | | <li>File <strong>E</strong>diting and concatenation</li> |
1999 | | <li>File <strong>Q</strong>uality <strong>C</strong>heck<ul> |
| 1531 | As the Version 2 format ignores signal generation attributes, BNC is forced to somehow map RINEX Version 3 to RINEX Version 2 although this cannot be done in one-to-one correspondence. Hence we introduce a 'Signal priority' list of attributes (characters, forming a string) for mapping Version 3 to Version 2. |
| 1532 | </p> |
| 1533 | <p> |
| 1534 | Signal priorities can be specified as equal for all systems, as system specific or as system and frequency specific. For example:</li> |
| 1535 | <ul> |
| 1536 | <li>'CWPX_?' (General signal priorities valid for all GNSS)</li> |
| 1537 | <li>'C:IQX I:ABCX' (System specific signal priorities for BDS and IRNSS)</li> |
| 1538 | <li>'G:12&PWCSLXYN G:5&IQX R:12&PC R:3&IQX' (System and frequency specific signal priorities)</li> |
| 1539 | </ul> |
| 1540 | </p> |
| 1541 | <p> |
| 1542 | The default 'Signal priority' list is defined as follows: |
| 1543 | <ul> |
| 1544 | <li>'G:12&PWCSLXYN G:5&IQX R:12&PC R:3&IQX E:16&BCX E:578&IQX J:1&SLXCZ J:26&SLX J:5&IQX C:IQX I:ABCX S:1&C S:5&IQX'</li> |
| 1545 | </ul> |
| 1546 | |
| 1547 | As an example the 'Signal priority' of 'CWPX_?' is explained in more detail: |
| 1548 | <ul> |
| 1549 | <li>Signals with attribute 'C' enjoy the highest priority. If such a Version 3 observation becomes available, 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> |
| 1550 | <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 and ignores all observations with other attributes. The same applies mutatis mutandis to observations with P and X attributes.</li> |
| 1551 | <li>If no signal with 'C', 'W', 'P', or 'X' attribute is available but a signal with undefined generation attribute (underscore character, '_') exists, BNC presents that one as RINEX Version 2 observation. Note that observation attributes should actually always be available in RINEX Version 3. Hence the underscore character makes only sense in a few very special cases.</li> |
| 1552 | <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 appearing signal as RINEX Version 2 observation.</li> |
| 1553 | </ul> |
| 1554 | </p> |
| 1555 | |
| 1556 | <p> |
| 1557 | You may like to specify your own 'Signal priority' string(s) for producing RINEX Version 2 files. If you neither convert observation streams to RINEX Version 2 nor concatenate RINEX Version 3 to Version 2 files, then the 'Version 2' option is meaningless. |
| 1558 | </p> |
| 1559 | |
| 1560 | <p><h4>2.4.9 <a name="rnxvers3">Version 3 - optional</h4></p> |
| 1561 | <p> |
| 1562 | The default format for RINEX Observation files is RINEX Version 2.11. Select RINEX 'Version 3' if you would like to save RTCM Version 3 observation streams in RINEX Version 3.03 format. |
| 1563 | </p> |
| 1564 | |
| 1565 | <p> |
| 1566 | Note that it is possible to force an RTCM Version 2 stream to be saved in RINEX Version 3 file format. However, this is not recommended because such stream cannot be precisely mapped to RINEX Version 3 as the required information on tracking modes (observation attributes) is not part of RTCM Version 2. |
| 1567 | </p> |
| 1568 | |
| 1569 | <p><h4>2.4.10 <a name="rnxvers3File">Version 3 Filenames - optional</h4></p> |
| 1570 | <p> |
| 1571 | Tick check box 'Version 3 filenames' to let BNC create so-called extended filenames following the RINEX Version 3 standard. |
| 1572 | </p> |
| 1573 | <p>Default is an empty check box, meaning to still use filenames following the RINEX Version 2 standard although the file content is saved in RINEX Version 3 format. |
| 1574 | </p> |
| 1575 | |
| 1576 | <p><h4>2.5 <a name="ephemeris">RINEX Ephemeris</h4></p> |
| 1577 | <p> |
| 1578 | Broadcast Ephemeris can be saved in RINEX Navigation files when received e.g. via RTCM Version 3 message types 1019 (GPS) or 1020 (GLONASS) or 1044 (QZSS) or 1043 (SBAS) or 1045 and 1046 (Galileo) or 63 (BDS/BeiDou, tentative message number). The filename convention follows the details given in section 'RINEX Filenames' except that the first four characters are 'BRDC'. |
| 1579 | </p> |
| 1580 | <p> |
| 1581 | For RINEX Version 2 Navigation files the last character is 'N' or 'G' for GPS or GLONASS ephemeris in two separate files. |
| 1582 | </p> |
| 1583 | <p> |
| 1584 | Regarding RINEX Version 3 you will find all ephemeris data for GPS, GLONASS, Galileo, SBAS, QZSS, and BDS gathered in one Navigation file. |
| 1585 | </p> |
| 1586 | <p> |
| 1587 | The following is an example for a RINEX Version 3 Navigation filename. The file contains one day's data. 'MN' stands for 'Multi Constellation Navigation' data. |
| 1588 | <pre> |
| 1589 | BRDC00DEU_S_20121600000_01D_MN.rnx |
| 1590 | </pre> |
| 1591 | </p> |
| 1592 | |
| 1593 | <p> |
| 1594 | Note that streams dedicated to carry Broadcast Ephemeris messages in RTCM Version 3 format in high repetition rates are listed on <u>http://igs.bkg.bund.de/ntrip/ephemeris</u>. |
| 1595 | </p> |
| 1596 | |
| 1597 | <p> |
| 1598 | Note further that BNC will ignore incorrect or outdated Broadcast Ephemeris data when necessary, leaving a note 'WRONG EPHEMERIS' or 'OUTDATED EPHEMERIS' in the logfile. |
| 1599 | </p> |
| 1600 | |
| 1601 | <p><h4>2.5.1 <a name="ephdir">Directory - optional</h4></p> |
| 1602 | <p> |
| 1603 | Specify a path for saving Broadcast Ephemeris data in RINEX Navigation files. If the specified directory does not exist, BNC will not create RINEX Navigation files. Default value for Ephemeris 'Directory' is an empty option field, meaning that no RINEX Navigation files will be created. |
| 1604 | </p> |
| 1605 | |
| 1606 | <p><h4>2.5.2 <a name="ephint">Interval - mandatory if 'Directory' is set</h4></p> |
| 1607 | <p> |
| 1608 | Select the length of RINEX Navigation files. The default value is '1 day'. |
| 1609 | </p> |
| 1610 | |
| 1611 | <p><h4>2.5.3 <a name="ephport">Port - optional</h4></p> |
| 1612 | <p> |
| 1613 | BNC can output Broadcast Ephemeris in RINEX Version 3 format on your local host (IP 127.0.0.1) through an IP 'Port'. 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. |
| 1614 | </p> |
| 1615 | <p> |
| 1616 | 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. |
| 1617 | </p> |
| 1618 | |
| 1619 | <p><h4>2.5.4 <a name="ephvers">Version - optional</h4></p> |
| 1620 | <p> |
| 1621 | Default format for RINEX Navigation files containing Broadcast Ephemeris is RINEX Version 2.11. Select 'Version 3' if you want to save the ephemeris data in RINEX Version 3.03 format. |
| 1622 | </p> |
| 1623 | <p> |
| 1624 | Note that this does not concern the Broadcast Ephemeris output through IP port, which is always in RINEX Version 3.03 format. |
| 1625 | </p> |
| 1626 | |
| 1627 | <p><h4>2.5.5 <a name="ephversFile">Version 3 Filenames - optional</h4></p> |
| 1628 | <p> |
| 1629 | Tick check box 'Version 3 filenames' to let BNC create so-called extended filenames following the RINEX Version 3 standard. |
| 1630 | </p> |
| 1631 | <p>Default is an empty check box, meaning to still use filenames following the RINEX Version 2 standard although the file content is saved in RINEX Version 3 format. |
| 1632 | </p> |
| 1633 | |
| 1634 | <p><img src="IMG/screenshot42.png"/></p> |
| 1635 | <p><u>Figure 9:</u> BNC converting Broadcast Ephemeris stream to RINEX Version 3 Navigation files</p> |
| 1636 | |
| 1637 | <p><h4>2.6 <a name="reqc">RINEX Editing & QC</h4></p> |
| 1638 | <p> |
| 1639 | Besides stream conversion from RTCM to RINEX, BNC allows editing RINEX files or concatenate their content. RINEX Observation and Navigation files can be handled. BNC can also carry out a RINEX file Quality Check. In summary and besides Stream <u><b>T</b></u>ranslation, this functionality in BNC covers |
| 1640 | <ul> |
| 1641 | <li>File <u><b>E</b></u>diting and concatenation</li> |
| 1642 | <li>File <u><b>Q</b></u>uality <u><b>C</b></u>heck</li> |
| 1643 | <ul> |
2006 | | </li> |
2007 | | </ul> |
2008 | | <p>and hence follows UNAVCO’s famous teqc program (see <a class="reference internal" href="bnchelp.html#estey1999a" id="id3">[7]</a>). The remarkable thing about BNC in this context is that it supports RINEX Version 3 under GNU General Public License with full GUI support and graphics output.</p> |
2009 | | <div class="section" id="action-optional"> |
2010 | | <h4>Action - optional<a class="headerlink" href="#action-optional" title="Permalink to this headline">¶</a></h4> |
2011 | | <p>Select an action. Options are ‘Edit/Concatenate’ and ‘Analyze’.</p> |
2012 | | <ul class="simple"> |
2013 | | <li>Select ‘Edit/Concatenate’ if you want to edit RINEX file content according to options specified under ‘Set Edit Options’ or if you want to concatenate several RINEX files.</li> |
2014 | | <li>Select ‘Analyze’ if you are interested in a quality check of your RINEX file content.</li> |
2015 | | </ul> |
2016 | | </div> |
2017 | | <div class="section" id="input-files-mandatory"> |
2018 | | <h4>Input Files - mandatory<a class="headerlink" href="#input-files-mandatory" title="Permalink to this headline">¶</a></h4> |
2019 | | <p>Specify full path to input RINEX Observation file(s), and specify full path to input RINEX Navigation file(s). When specifying several input files, BNC will concatenate their contents. In case of RINEX Observation input files with different observation type header records, BNC will output only one set of adjusted observation type records in the RINEX header which fits to the whole file content. Note that you may specify several RINEX Version 2 Navigation files for GPS and GLONASS.</p> |
2020 | | </div> |
2021 | | <div class="section" id="output-files-optional-if-action-is-set-to-edit-concatenate"> |
2022 | | <h4>Output Files - optional if ‘Action’ is set to ‘Edit/Concatenate’<a class="headerlink" href="#output-files-optional-if-action-is-set-to-edit-concatenate" title="Permalink to this headline">¶</a></h4> |
2023 | | <p>If ‘Edit/Concatenate’ is selected, specifying the full path to output RINEX Observation file(s) and specifying the full path to output RINEX Navigation file(s) is optional. Default are empty option fields, meaning that no RINEX files will be saved on disk.</p> |
2024 | | </div> |
2025 | | <div class="section" id="id4"> |
2026 | | <h4>Logfile - optional<a class="headerlink" href="#id4" title="Permalink to this headline">¶</a></h4> |
2027 | | <p>Specify the name of a logfile to save information on RINEX file Editing/Concatenation or Analysis. Default is an empty option field, meaning that no logfile will be saved. Note that logfiles from analyzing RINEX files may become quite large. Hence, BNC provides an option ‘Summary only’ to limit logfile content to some essential information in case ‘Action’ is set to ‘Analyze’. The following is an example for a RINEX quality check analysis logfile:</p> |
2028 | | <div class="highlight-console"><div class="highlight"><pre><span class="go">QC Format Version : 1.1</span> |
2029 | | |
2030 | | <span class="go">Navigation File(s) : BRDC2520.15P</span> |
2031 | | <span class="go">Ephemeris : 2985 OK 0 BAD</span> |
2032 | | |
2033 | | <span class="go">Observation File : CUT02520.15O</span> |
2034 | | <span class="go">RINEX Version : 3.03</span> |
2035 | | <span class="go">Marker Name : CUT0</span> |
2036 | | <span class="go">Marker Number : 59945M001</span> |
2037 | | <span class="go">Receiver : TRIMBLE NETR9</span> |
2038 | | <span class="go">Antenna : TRM59800.00 SCIS</span> |
2039 | | <span class="go">Position XYZ : -2364337.2699 4870285.5624 -3360809.8398</span> |
2040 | | <span class="go">Antenna dH/dE/dN : 0.0000 0.0000 0.0000</span> |
2041 | | <span class="go">Start Time : 2015-09-09 13.04.50.0</span> |
2042 | | <span class="go">End Time : 2015-09-09 23.59.58.0</span> |
2043 | | <span class="go">Interval : 1</span> |
2044 | | <span class="go">Navigation Systems : 6 C E G J R S</span> |
2045 | | <span class="go">Observation Types C: C2I L2I D2I S2I C6I L6I S6I C7I L7I S7I</span> |
2046 | | <span class="go">Observation Types E: C1X L1X D1X S1X C5X L5X S5X C7X L7X S7X C8X L8X S8X</span> |
2047 | | <span class="go">Observation Types G: C1C L1C D1C S1C C2W L2W S2W C2X L2X S2X C5X L5X S5X</span> |
2048 | | <span class="go">Observation Types J: C1C L1C D1C S1C C1X L1X S1X C1Z L1Z S1Z C2X L2X S2X C5X L5X S5X C6L L6L S6L</span> |
2049 | | <span class="go">Observation Types R: C1C L1C D1C S1C C1P L1P S1P C2C L2C S2C C2P L2P S2P</span> |
2050 | | <span class="go">Observation Types S: C1C L1C D1C S1C C5I L5I S5I</span> |
2051 | | |
2052 | | <span class="go"> C: Satellites: 13</span> |
2053 | | <span class="go"> C: Signals : 3 2I 6I 7I</span> |
2054 | | |
2055 | | <span class="go"> C: 2I: Observations : 396567 ( 511017) 77.60 %</span> |
2056 | | <span class="go"> C: 2I: Slips (file+found): 0 + 0</span> |
2057 | | <span class="go"> C: 2I: Gaps : 8676</span> |
2058 | | <span class="go"> C: 2I: Mean SNR : 41.7</span> |
2059 | | <span class="go"> C: 2I: Mean Multipath : 0.42</span> |
2060 | | |
2061 | | <span class="go"> C: 6I: Observations : 396233 ( 511017) 77.54 %</span> |
2062 | | <span class="go"> C: 6I: Slips (file+found): 0 + 0</span> |
2063 | | <span class="go"> C: 6I: Gaps : 8761</span> |
2064 | | <span class="go"> C: 6I: Mean SNR : 44.4</span> |
2065 | | <span class="go"> C: 6I: Mean Multipath : 0.00</span> |
2066 | | |
2067 | | <span class="go"> C: 7I: Observations : 396233 ( 511017) 77.54 %</span> |
2068 | | <span class="go"> C: 7I: Slips (file+found): 0 + 0</span> |
2069 | | <span class="go"> C: 7I: Gaps : 8761</span> |
2070 | | <span class="go"> C: 7I: Mean SNR : 43.6</span> |
2071 | | <span class="go"> C: 7I: Mean Multipath : 0.30</span> |
2072 | | |
2073 | | <span class="go"> E: Satellites: 5</span> |
2074 | | <span class="go"> E: Signals : 4 1X 5X 7X 8X</span> |
2075 | | |
2076 | | <span class="go"> E: 1X: Observations : 74468 ( 196545) 37.89 %</span> |
2077 | | <span class="go"> E: 1X: Slips (file+found): 0 + 2</span> |
2078 | | <span class="go"> E: 1X: Gaps : 2758</span> |
2079 | | <span class="go"> E: 1X: Mean SNR : 45.1</span> |
2080 | | <span class="go"> E: 1X: Mean Multipath : 0.37</span> |
2081 | | |
2082 | | <span class="go"> E: 5X: Observations : 74422 ( 196545) 37.87 %</span> |
2083 | | <span class="go"> E: 5X: Slips (file+found): 0 + 2</span> |
2084 | | <span class="go"> E: 5X: Gaps : 2785</span> |
2085 | | <span class="go"> E: 5X: Mean SNR : 45.2</span> |
2086 | | <span class="go"> E: 5X: Mean Multipath : 0.32</span> |
2087 | | |
2088 | | <span class="go"> E: 7X: Observations : 74422 ( 196545) 37.87 %</span> |
2089 | | <span class="go"> E: 7X: Slips (file+found): 0 + 0</span> |
2090 | | <span class="go"> E: 7X: Gaps : 2785</span> |
2091 | | <span class="go"> E: 7X: Mean SNR : 44.2</span> |
2092 | | <span class="go"> E: 7X: Mean Multipath : 0.00</span> |
2093 | | |
2094 | | <span class="go"> E: 8X: Observations : 74429 ( 196545) 37.87 %</span> |
2095 | | <span class="go"> E: 8X: Slips (file+found): 0 + 0</span> |
2096 | | <span class="go"> E: 8X: Gaps : 2784</span> |
2097 | | <span class="go"> E: 8X: Mean SNR : 49.9</span> |
2098 | | <span class="go"> E: 8X: Mean Multipath : 0.00</span> |
2099 | | |
2100 | | <span class="go"> G: Satellites: 28</span> |
2101 | | <span class="go"> G: Signals : 4 1C 2W 2X 5X</span> |
2102 | | |
2103 | | <span class="go"> G: 1C: Observations : 439952 ( 1100652) 39.97 %</span> |
2104 | | <span class="go"> G: 1C: Slips (file+found): 0 + 21</span> |
2105 | | <span class="go"> G: 1C: Gaps : 10901</span> |
2106 | | <span class="go"> G: 1C: Mean SNR : 44.0</span> |
2107 | | <span class="go"> G: 1C: Mean Multipath : 0.63</span> |
2108 | | |
2109 | | <span class="go"> G: 2W: Observations : 422560 ( 1100652) 38.39 %</span> |
2110 | | <span class="go"> G: 2W: Slips (file+found): 0 + 19</span> |
2111 | | <span class="go"> G: 2W: Gaps : 11133</span> |
2112 | | <span class="go"> G: 2W: Mean SNR : 31.1</span> |
2113 | | <span class="go"> G: 2W: Mean Multipath : 0.42</span> |
2114 | | |
2115 | | <span class="go"> G: 2X: Observations : 205305 ( 1100652) 18.65 %</span> |
2116 | | <span class="go"> G: 2X: Slips (file+found): 0 + 10</span> |
2117 | | <span class="go"> G: 2X: Gaps : 7269</span> |
2118 | | <span class="go"> G: 2X: Mean SNR : 43.3</span> |
2119 | | <span class="go"> G: 2X: Mean Multipath : 0.47</span> |
2120 | | |
2121 | | <span class="go"> G: 5X: Observations : 120638 ( 1100652) 10.96 %</span> |
2122 | | <span class="go"> G: 5X: Slips (file+found): 0 + 0</span> |
2123 | | <span class="go"> G: 5X: Gaps : 3330</span> |
2124 | | <span class="go"> G: 5X: Mean SNR : 49.9</span> |
2125 | | <span class="go"> G: 5X: Mean Multipath : 0.00</span> |
2126 | | |
2127 | | <span class="go"> J: Satellites: 1</span> |
2128 | | <span class="go"> J: Signals : 6 1C 1X 1Z 2X 5X 6L</span> |
2129 | | |
2130 | | <span class="go"> J: 1C: Observations : 38040 ( 39309) 96.77 %</span> |
2131 | | <span class="go"> J: 1C: Slips (file+found): 0 + 0</span> |
2132 | | <span class="go"> J: 1C: Gaps : 1003</span> |
2133 | | <span class="go"> J: 1C: Mean SNR : 49.0</span> |
2134 | | <span class="go"> J: 1C: Mean Multipath : 0.33</span> |
2135 | | |
2136 | | <span class="go"> J: 1X: Observations : 38040 ( 39309) 96.77 %</span> |
2137 | | <span class="go"> J: 1X: Slips (file+found): 0 + 0</span> |
2138 | | <span class="go"> J: 1X: Gaps : 1003</span> |
2139 | | <span class="go"> J: 1X: Mean SNR : 51.5</span> |
2140 | | <span class="go"> J: 1X: Mean Multipath : 0.32</span> |
2141 | | |
2142 | | <span class="go"> J: 1Z: Observations : 38040 ( 39309) 96.77 %</span> |
2143 | | <span class="go"> J: 1Z: Slips (file+found): 0 + 0</span> |
2144 | | <span class="go"> J: 1Z: Gaps : 1003</span> |
2145 | | <span class="go"> J: 1Z: Mean SNR : 48.4</span> |
2146 | | <span class="go"> J: 1Z: Mean Multipath : 0.40</span> |
2147 | | |
2148 | | <span class="go"> J: 2X: Observations : 38040 ( 39309) 96.77 %</span> |
2149 | | <span class="go"> J: 2X: Slips (file+found): 0 + 0</span> |
2150 | | <span class="go"> J: 2X: Gaps : 1003</span> |
2151 | | <span class="go"> J: 2X: Mean SNR : 48.7</span> |
2152 | | <span class="go"> J: 2X: Mean Multipath : 0.31</span> |
2153 | | |
2154 | | <span class="go"> J: 5X: Observations : 38040 ( 39309) 96.77 %</span> |
2155 | | <span class="go"> J: 5X: Slips (file+found): 0 + 0</span> |
2156 | | <span class="go"> J: 5X: Gaps : 1003</span> |
2157 | | <span class="go"> J: 5X: Mean SNR : 53.0</span> |
2158 | | <span class="go"> J: 5X: Mean Multipath : 0.00</span> |
2159 | | |
2160 | | <span class="go"> J: 6L: Observations : 38040 ( 39309) 96.77 %</span> |
2161 | | <span class="go"> J: 6L: Slips (file+found): 0 + 0</span> |
2162 | | <span class="go"> J: 6L: Gaps : 1003</span> |
2163 | | <span class="go"> J: 6L: Mean SNR : 50.6</span> |
2164 | | <span class="go"> J: 6L: Mean Multipath : 0.00</span> |
2165 | | |
2166 | | <span class="go"> R: Satellites: 23</span> |
2167 | | <span class="go"> R: Signals : 4 1C 1P 2C 2P</span> |
2168 | | |
2169 | | <span class="go"> R: 1C: Observations : 323918 ( 904107) 35.83 %</span> |
2170 | | <span class="go"> R: 1C: Slips (file+found): 0 + 44</span> |
2171 | | <span class="go"> R: 1C: Gaps : 7295</span> |
2172 | | <span class="go"> R: 1C: Mean SNR : 44.9</span> |
2173 | | <span class="go"> R: 1C: Mean Multipath : 0.77</span> |
2174 | | |
2175 | | <span class="go"> R: 1P: Observations : 323761 ( 904107) 35.81 %</span> |
2176 | | <span class="go"> R: 1P: Slips (file+found): 0 + 44</span> |
2177 | | <span class="go"> R: 1P: Gaps : 7305</span> |
2178 | | <span class="go"> R: 1P: Mean SNR : 43.4</span> |
2179 | | <span class="go"> R: 1P: Mean Multipath : 0.58</span> |
2180 | | |
2181 | | <span class="go"> R: 2C: Observations : 323521 ( 904107) 35.78 %</span> |
2182 | | <span class="go"> R: 2C: Slips (file+found): 0 + 44</span> |
2183 | | <span class="go"> R: 2C: Gaps : 7305</span> |
2184 | | <span class="go"> R: 2C: Mean SNR : 40.8</span> |
2185 | | <span class="go"> R: 2C: Mean Multipath : 0.56</span> |
2186 | | |
2187 | | <span class="go"> R: 2P: Observations : 321751 ( 904107) 35.59 %</span> |
2188 | | <span class="go"> R: 2P: Slips (file+found): 0 + 37</span> |
2189 | | <span class="go"> R: 2P: Gaps : 7317</span> |
2190 | | <span class="go"> R: 2P: Mean SNR : 40.3</span> |
2191 | | <span class="go"> R: 2P: Mean Multipath : 0.49</span> |
2192 | | |
2193 | | <span class="go"> S: Satellites: 4</span> |
2194 | | <span class="go"> S: Signals : 2 1C 5I</span> |
2195 | | |
2196 | | <span class="go"> S: 1C: Observations : 152158 ( 157236) 96.77 %</span> |
2197 | | <span class="go"> S: 1C: Slips (file+found): 0 + 1</span> |
2198 | | <span class="go"> S: 1C: Gaps : 4013</span> |
2199 | | <span class="go"> S: 1C: Mean SNR : 40.4</span> |
2200 | | <span class="go"> S: 1C: Mean Multipath : 0.75</span> |
2201 | | |
2202 | | <span class="go"> S: 5I: Observations : 76078 ( 157236) 48.38 %</span> |
2203 | | <span class="go"> S: 5I: Slips (file+found): 0 + 1</span> |
2204 | | <span class="go"> S: 5I: Gaps : 2007</span> |
2205 | | <span class="go"> S: 5I: Mean SNR : 44.1</span> |
2206 | | <span class="go"> S: 5I: Mean Multipath : 0.47</span> |
2207 | | |
2208 | | <span class="gp">></span> <span class="m">2015</span> <span class="m">09</span> <span class="m">09</span> <span class="m">13</span> <span class="m">04</span> 50.0000000 <span class="m">23</span> 1.2 |
2209 | | <span class="go">R09 1.46 36.90 8 L1C s. 34.3 C1C . 0.00 L1P s. 33.2 C1P . 0.00 L2C s. 26.4 C2C . 0.00 L2P s. 22.1 C2P . 0.00</span> |
2210 | | <span class="go">R10 49.67 46.84 8 L1C .. 52.3 C1C . 0.62 L1P .. 51.2 C1P . 0.52 L2C .. 42.9 C2C . 0.51 L2P .. 42.4 C2P . 0.40</span> |
2211 | | <span class="go">R11 68.25 -168.71 8 L1C .. 52.1 C1C . 0.32 L1P .. 50.2 C1P . 0.38 L2C .. 44.6 C2C . 0.40 L2P .. 43.4 C2P . 0.36</span> |
2212 | | <span class="go">R12 15.62 -148.75 8 L1C .. 40.6 C1C . 0.94 L1P .. 38.9 C1P . 0.51 L2C .. 41.1 C2C . 0.61 L2P .. 40.7 C2P . 0.45</span> |
2213 | | <span class="go">R20 26.26 150.44 8 L1C .. 40.2 C1C . 0.90 L1P .. 38.8 C1P . 0.63 L2C .. 44.8 C2C . 0.57 L2P .. 44.4 C2P . 0.46</span> |
2214 | | <span class="go">R21 71.53 -163.80 8 L1C .. 53.3 C1C . 0.32 L1P .. 51.6 C1P . 0.40 L2C .. 50.3 C2C . 0.43 L2P .. 49.3 C2P . 0.39</span> |
2215 | | <span class="go">R22 40.38 -54.63 8 L1C .. 50.0 C1C . 0.44 L1P .. 48.7 C1P . 0.46 L2C .. 47.1 C2C . 0.49 L2P .. 46.7 C2P . 0.44</span> |
2216 | | <span class="go">E11 68.80 -54.74 8 L1X .. 49.9 C1X . 0.22 L5X .. 49.8 C5X . 0.19 L7X .. 49.1 C7X . 0.00 L8X .. 55.3 C8X . 0.00</span> |
2217 | | <span class="go">E12 58.84 141.76 8 L1X .. 50.0 C1X . 0.14 L5X .. 49.4 C5X . 0.21 L7X .. 48.2 C7X . 0.00 L8X .. 55.1 C8X . 0.00</span> |
2218 | | <span class="go">E18 0.00 0.00 8 L1X .. 53.5 C1X . 0.11 L5X .. 51.0 C5X . 0.15 L7X .. 50.1 C7X . 0.00 L8X .. 56.5 C8X . 0.00</span> |
2219 | | <span class="go">J01 21.34 23.40 12 L1C .. 41.2 C1C . 0.59 L1X .. 43.2 C1X . 0.38 L1Z .. 41.3 C1Z . 0.58 L2X .. 40.0 C2X . 0.47 L5X .. 44.7 C5X . 0.00 L6L .. 41.6 C6L . 0.00</span> |
2220 | | <span class="go">S27 16.04 -73.53 4 L1C .. 37.8 C1C . 0.81 L5I .. 39.9 C5I . 0.41</span> |
2221 | | <span class="go">S28 38.63 -50.63 4 L1C .. 45.5 C1C . 0.49 L5I .. 47.4 C5I . 0.48</span> |
2222 | | <span class="go">S29 41.28 46.44 2 L1C .. 43.2 C1C . 0.00</span> |
2223 | | <span class="go">S37 41.28 46.44 2 L1C .. 42.1 C1C . 0.00</span> |
2224 | | <span class="go">C01 45.38 41.07 6 L2I .. 42.1 C2I . 0.20 L6I .. 45.1 C6I . 0.00 L7I .. 46.0 C7I . 0.22</span> |
2225 | | <span class="go">C02 36.53 -53.83 6 L2I .. 37.1 C2I . 0.31 L6I .. 42.6 C6I . 0.00 L7I .. 41.3 C7I . 0.24</span> |
2226 | | <span class="go">C03 53.80 -10.40 6 L2I .. 42.8 C2I . 0.19 L6I .. 47.3 C6I . 0.00 L7I .. 46.0 C7I . 0.21</span> |
2227 | | <span class="go">C04 30.52 62.20 6 L2I .. 37.3 C2I . 0.33 L6I .. 42.4 C6I . 0.00 L7I .. 41.3 C7I . 0.25</span> |
2228 | | <span class="go">C05 19.48 -71.66 6 L2I .. 36.6 C2I . 0.40 L6I .. 40.0 C6I . 0.00 L7I .. 38.5 C7I . 0.37</span> |
2229 | | <span class="go">C07 63.30 26.64 6 L2I .. 48.5 C2I . 0.41 L6I .. 49.3 C6I . 0.00 L7I .. 48.1 C7I . 0.25</span> |
2230 | | <span class="go">C08 76.83 -113.07 6 L2I .. 48.9 C2I . 0.22 L6I .. 50.5 C6I . 0.00 L7I .. 48.7 C7I . 0.24</span> |
2231 | | <span class="go">C10 83.00 -66.65 6 L2I .. 48.8 C2I . 0.20 L6I .. 50.0 C6I . 0.00 L7I .. 48.1 C7I . 0.23</span> |
2232 | | <span class="gp">></span> <span class="m">2015</span> <span class="m">09</span> <span class="m">09</span> <span class="m">13</span> <span class="m">04</span> 52.0000000 <span class="m">33</span> 0.9 |
2233 | | <span class="go">...</span> |
2234 | | </pre></div> |
2235 | | </div> |
2236 | | <p>Note that in addition to cycle slips recorded in the RINEX ‘file’, cycle slips identified by BNC are reported as ‘found’.</p> |
2237 | | </div> |
2238 | | <div class="section" id="plots-for-signals-mandatory-if-action-is-set-to-analyze"> |
2239 | | <h4>Plots for Signals - mandatory if ‘Action’ is set to ‘Analyze’<a class="headerlink" href="#plots-for-signals-mandatory-if-action-is-set-to-analyze" title="Permalink to this headline">¶</a></h4> |
2240 | | <p>Multipath and signal-to-noise sky plots as well as plots for satellite availability, elevation and PDOP are produced <a class="reference internal" href="#fig-13"><span class="std std-numref">(Fig. 11</span></a>, <a class="reference internal" href="#fig-14"><span class="std std-numref">12</span></a>, <a class="reference internal" href="#fig-15"><span class="std std-numref">13)</span></a> per GNSS system and frequency with the multipath analysis based on CnC observation types (n = band / frequency). The ‘Plots for signals’ option lets you exactly specify the observation signals to be used for that and also enables the plot production. You can specify the navigation system (C = BDS, E = Galileo, G = GPS, J = QZSS, R = GLONASS, S = SBAS), the frequency, and the tracking mode or channel as defined in RINEX Version 3. Specifications for frequency and tracking mode or channel must be separated by ampersand character ‘&’. Specifications for each navigation systems must be separated by blank character ‘ ‘. The following string is an example for option field ‘Plots of signals’:</p> |
2241 | | <div class="highlight-console"><div class="highlight"><pre><span class="go">C:2&7 E:1&5 G:1&2 J:1&2 R:1&2 S:1&5</span> |
2242 | | </pre></div> |
2243 | | </div> |
2244 | | <p>This default configuration will present:</p> |
2245 | | <ul class="simple"> |
| 1650 | </ul> |
| 1651 | 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 under GNU General Public License with full GUI support and graphics output. |
| 1652 | </p> |
| 1653 | |
| 1654 | <p><h4>2.6.1 <a name="reqcact">Action - optional</h4></p> |
| 1655 | <p>Select an action. Options are 'Edit/Concatenate' and 'Analyze'. |
| 1656 | <ul> |
| 1657 | <li>Select 'Edit/Concatenate' if you want to edit RINEX file content according to options specified under 'Set Edit Options' or if you want to concatenate several RINEX files.</li> |
| 1658 | <li>Select 'Analyze' if you are interested in a quality check of your RINEX file content.</li> |
| 1659 | </ul> |
| 1660 | </p> |
| 1661 | |
| 1662 | <p><h4>2.6.2 <a name="reqcinp">Input Files - mandatory</h4></p> |
| 1663 | <p> |
| 1664 | Specify full path to input RINEX Observation file(s), and<br> |
| 1665 | specify full path to input RINEX Navigation file(s). |
| 1666 | </p> |
| 1667 | <p> |
| 1668 | When specifying several input files, BNC will concatenate their contents. In case of RINEX Observation input files with different observation type header records, BNC will output only one set of adjusted observation type records in the RINEX header which fits to the whole file content. |
| 1669 | </p> |
| 1670 | <p> |
| 1671 | Note that you may specify several RINEX Version 2 Navigation files for GPS and GLONASS. |
| 1672 | </p> |
| 1673 | |
| 1674 | <p><h4>2.6.3 <a name="reqcout">Output Files - optional if 'Action' is set to 'Edit/Concatenate'</h4></p> |
| 1675 | <p> |
| 1676 | If 'Edit/Concatenate' is selected, specifying the full path to output RINEX Observation file(s) and specifying the full path to output RINEX Navigation file(s) is optional. Default are empty option fields, meaning that no RINEX files will be saved on disk. |
| 1677 | </p> |
| 1678 | |
| 1679 | <p><h4>2.6.4 <a name="reqclog">Logfile - optional</h4></p> |
| 1680 | <p> |
| 1681 | Specify the name of a logfile to save information on RINEX file Editing/Concatenation or Analysis. Default is an empty option field, meaning that no logfile will be saved. |
| 1682 | </p> |
| 1683 | |
| 1684 | <p> |
| 1685 | Note that logfiles from analyzing RINEX files may become quite large. Hence, BNC provides an option 'Summary only' to limit logfile content to some essential information in case 'Action' is set to 'Analyze'. The following is an example for a RINEX quality check analysis logfile: |
| 1686 | <pre> |
| 1687 | QC Format Version : 1.1 |
| 1688 | |
| 1689 | Navigation File(s) : BRDC2520.15P |
| 1690 | Ephemeris : 2985 OK 0 BAD |
| 1691 | |
| 1692 | Observation File : CUT02520.15O |
| 1693 | RINEX Version : 3.03 |
| 1694 | Marker Name : CUT0 |
| 1695 | Marker Number : 59945M001 |
| 1696 | Receiver : TRIMBLE NETR9 |
| 1697 | Antenna : TRM59800.00 SCIS |
| 1698 | Position XYZ : -2364337.2699 4870285.5624 -3360809.8398 |
| 1699 | Antenna dH/dE/dN : 0.0000 0.0000 0.0000 |
| 1700 | Start Time : 2015-09-09 13.04.50.0 |
| 1701 | End Time : 2015-09-09 23.59.58.0 |
| 1702 | Interval : 1 |
| 1703 | Navigation Systems : 6 C E G J R S |
| 1704 | Observation Types C: C2I L2I D2I S2I C6I L6I S6I C7I L7I S7I |
| 1705 | Observation Types E: C1X L1X D1X S1X C5X L5X S5X C7X L7X S7X C8X L8X S8X |
| 1706 | Observation Types G: C1C L1C D1C S1C C2W L2W S2W C2X L2X S2X C5X L5X S5X |
| 1707 | Observation Types J: C1C L1C D1C S1C C1X L1X S1X C1Z L1Z S1Z C2X L2X S2X C5X L5X S5X C6L L6L S6L |
| 1708 | Observation Types R: C1C L1C D1C S1C C1P L1P S1P C2C L2C S2C C2P L2P S2P |
| 1709 | Observation Types S: C1C L1C D1C S1C C5I L5I S5I |
| 1710 | |
| 1711 | C: Satellites: 13 |
| 1712 | C: Signals : 3 2I 6I 7I |
| 1713 | |
| 1714 | C: 2I: Observations : 396567 ( 511017) 77.60 % |
| 1715 | C: 2I: Slips (file+found): 0 + 0 |
| 1716 | C: 2I: Gaps : 8676 |
| 1717 | C: 2I: Mean SNR : 41.7 |
| 1718 | C: 2I: Mean Multipath : 0.42 |
| 1719 | |
| 1720 | C: 6I: Observations : 396233 ( 511017) 77.54 % |
| 1721 | C: 6I: Slips (file+found): 0 + 0 |
| 1722 | C: 6I: Gaps : 8761 |
| 1723 | C: 6I: Mean SNR : 44.4 |
| 1724 | C: 6I: Mean Multipath : 0.00 |
| 1725 | |
| 1726 | C: 7I: Observations : 396233 ( 511017) 77.54 % |
| 1727 | C: 7I: Slips (file+found): 0 + 0 |
| 1728 | C: 7I: Gaps : 8761 |
| 1729 | C: 7I: Mean SNR : 43.6 |
| 1730 | C: 7I: Mean Multipath : 0.30 |
| 1731 | |
| 1732 | E: Satellites: 5 |
| 1733 | E: Signals : 4 1X 5X 7X 8X |
| 1734 | |
| 1735 | E: 1X: Observations : 74468 ( 196545) 37.89 % |
| 1736 | E: 1X: Slips (file+found): 0 + 2 |
| 1737 | E: 1X: Gaps : 2758 |
| 1738 | E: 1X: Mean SNR : 45.1 |
| 1739 | E: 1X: Mean Multipath : 0.37 |
| 1740 | |
| 1741 | E: 5X: Observations : 74422 ( 196545) 37.87 % |
| 1742 | E: 5X: Slips (file+found): 0 + 2 |
| 1743 | E: 5X: Gaps : 2785 |
| 1744 | E: 5X: Mean SNR : 45.2 |
| 1745 | E: 5X: Mean Multipath : 0.32 |
| 1746 | |
| 1747 | E: 7X: Observations : 74422 ( 196545) 37.87 % |
| 1748 | E: 7X: Slips (file+found): 0 + 0 |
| 1749 | E: 7X: Gaps : 2785 |
| 1750 | E: 7X: Mean SNR : 44.2 |
| 1751 | E: 7X: Mean Multipath : 0.00 |
| 1752 | |
| 1753 | E: 8X: Observations : 74429 ( 196545) 37.87 % |
| 1754 | E: 8X: Slips (file+found): 0 + 0 |
| 1755 | E: 8X: Gaps : 2784 |
| 1756 | E: 8X: Mean SNR : 49.9 |
| 1757 | E: 8X: Mean Multipath : 0.00 |
| 1758 | |
| 1759 | G: Satellites: 28 |
| 1760 | G: Signals : 4 1C 2W 2X 5X |
| 1761 | |
| 1762 | G: 1C: Observations : 439952 ( 1100652) 39.97 % |
| 1763 | G: 1C: Slips (file+found): 0 + 21 |
| 1764 | G: 1C: Gaps : 10901 |
| 1765 | G: 1C: Mean SNR : 44.0 |
| 1766 | G: 1C: Mean Multipath : 0.63 |
| 1767 | |
| 1768 | G: 2W: Observations : 422560 ( 1100652) 38.39 % |
| 1769 | G: 2W: Slips (file+found): 0 + 19 |
| 1770 | G: 2W: Gaps : 11133 |
| 1771 | G: 2W: Mean SNR : 31.1 |
| 1772 | G: 2W: Mean Multipath : 0.42 |
| 1773 | |
| 1774 | G: 2X: Observations : 205305 ( 1100652) 18.65 % |
| 1775 | G: 2X: Slips (file+found): 0 + 10 |
| 1776 | G: 2X: Gaps : 7269 |
| 1777 | G: 2X: Mean SNR : 43.3 |
| 1778 | G: 2X: Mean Multipath : 0.47 |
| 1779 | |
| 1780 | G: 5X: Observations : 120638 ( 1100652) 10.96 % |
| 1781 | G: 5X: Slips (file+found): 0 + 0 |
| 1782 | G: 5X: Gaps : 3330 |
| 1783 | G: 5X: Mean SNR : 49.9 |
| 1784 | G: 5X: Mean Multipath : 0.00 |
| 1785 | |
| 1786 | J: Satellites: 1 |
| 1787 | J: Signals : 6 1C 1X 1Z 2X 5X 6L |
| 1788 | |
| 1789 | J: 1C: Observations : 38040 ( 39309) 96.77 % |
| 1790 | J: 1C: Slips (file+found): 0 + 0 |
| 1791 | J: 1C: Gaps : 1003 |
| 1792 | J: 1C: Mean SNR : 49.0 |
| 1793 | J: 1C: Mean Multipath : 0.33 |
| 1794 | |
| 1795 | J: 1X: Observations : 38040 ( 39309) 96.77 % |
| 1796 | J: 1X: Slips (file+found): 0 + 0 |
| 1797 | J: 1X: Gaps : 1003 |
| 1798 | J: 1X: Mean SNR : 51.5 |
| 1799 | J: 1X: Mean Multipath : 0.32 |
| 1800 | |
| 1801 | J: 1Z: Observations : 38040 ( 39309) 96.77 % |
| 1802 | J: 1Z: Slips (file+found): 0 + 0 |
| 1803 | J: 1Z: Gaps : 1003 |
| 1804 | J: 1Z: Mean SNR : 48.4 |
| 1805 | J: 1Z: Mean Multipath : 0.40 |
| 1806 | |
| 1807 | J: 2X: Observations : 38040 ( 39309) 96.77 % |
| 1808 | J: 2X: Slips (file+found): 0 + 0 |
| 1809 | J: 2X: Gaps : 1003 |
| 1810 | J: 2X: Mean SNR : 48.7 |
| 1811 | J: 2X: Mean Multipath : 0.31 |
| 1812 | |
| 1813 | J: 5X: Observations : 38040 ( 39309) 96.77 % |
| 1814 | J: 5X: Slips (file+found): 0 + 0 |
| 1815 | J: 5X: Gaps : 1003 |
| 1816 | J: 5X: Mean SNR : 53.0 |
| 1817 | J: 5X: Mean Multipath : 0.00 |
| 1818 | |
| 1819 | J: 6L: Observations : 38040 ( 39309) 96.77 % |
| 1820 | J: 6L: Slips (file+found): 0 + 0 |
| 1821 | J: 6L: Gaps : 1003 |
| 1822 | J: 6L: Mean SNR : 50.6 |
| 1823 | J: 6L: Mean Multipath : 0.00 |
| 1824 | |
| 1825 | R: Satellites: 23 |
| 1826 | R: Signals : 4 1C 1P 2C 2P |
| 1827 | |
| 1828 | R: 1C: Observations : 323918 ( 904107) 35.83 % |
| 1829 | R: 1C: Slips (file+found): 0 + 44 |
| 1830 | R: 1C: Gaps : 7295 |
| 1831 | R: 1C: Mean SNR : 44.9 |
| 1832 | R: 1C: Mean Multipath : 0.77 |
| 1833 | |
| 1834 | R: 1P: Observations : 323761 ( 904107) 35.81 % |
| 1835 | R: 1P: Slips (file+found): 0 + 44 |
| 1836 | R: 1P: Gaps : 7305 |
| 1837 | R: 1P: Mean SNR : 43.4 |
| 1838 | R: 1P: Mean Multipath : 0.58 |
| 1839 | |
| 1840 | R: 2C: Observations : 323521 ( 904107) 35.78 % |
| 1841 | R: 2C: Slips (file+found): 0 + 44 |
| 1842 | R: 2C: Gaps : 7305 |
| 1843 | R: 2C: Mean SNR : 40.8 |
| 1844 | R: 2C: Mean Multipath : 0.56 |
| 1845 | |
| 1846 | R: 2P: Observations : 321751 ( 904107) 35.59 % |
| 1847 | R: 2P: Slips (file+found): 0 + 37 |
| 1848 | R: 2P: Gaps : 7317 |
| 1849 | R: 2P: Mean SNR : 40.3 |
| 1850 | R: 2P: Mean Multipath : 0.49 |
| 1851 | |
| 1852 | S: Satellites: 4 |
| 1853 | S: Signals : 2 1C 5I |
| 1854 | |
| 1855 | S: 1C: Observations : 152158 ( 157236) 96.77 % |
| 1856 | S: 1C: Slips (file+found): 0 + 1 |
| 1857 | S: 1C: Gaps : 4013 |
| 1858 | S: 1C: Mean SNR : 40.4 |
| 1859 | S: 1C: Mean Multipath : 0.75 |
| 1860 | |
| 1861 | S: 5I: Observations : 76078 ( 157236) 48.38 % |
| 1862 | S: 5I: Slips (file+found): 0 + 1 |
| 1863 | S: 5I: Gaps : 2007 |
| 1864 | S: 5I: Mean SNR : 44.1 |
| 1865 | S: 5I: Mean Multipath : 0.47 |
| 1866 | |
| 1867 | > 2015 09 09 13 04 50.0000000 23 1.2 |
| 1868 | R09 1.46 36.90 8 L1C s. 34.3 C1C . 0.00 L1P s. 33.2 C1P . 0.00 L2C s. 26.4 C2C . 0.00 L2P s. 22.1 C2P . 0.00 |
| 1869 | R10 49.67 46.84 8 L1C .. 52.3 C1C . 0.62 L1P .. 51.2 C1P . 0.52 L2C .. 42.9 C2C . 0.51 L2P .. 42.4 C2P . 0.40 |
| 1870 | R11 68.25 -168.71 8 L1C .. 52.1 C1C . 0.32 L1P .. 50.2 C1P . 0.38 L2C .. 44.6 C2C . 0.40 L2P .. 43.4 C2P . 0.36 |
| 1871 | R12 15.62 -148.75 8 L1C .. 40.6 C1C . 0.94 L1P .. 38.9 C1P . 0.51 L2C .. 41.1 C2C . 0.61 L2P .. 40.7 C2P . 0.45 |
| 1872 | R20 26.26 150.44 8 L1C .. 40.2 C1C . 0.90 L1P .. 38.8 C1P . 0.63 L2C .. 44.8 C2C . 0.57 L2P .. 44.4 C2P . 0.46 |
| 1873 | R21 71.53 -163.80 8 L1C .. 53.3 C1C . 0.32 L1P .. 51.6 C1P . 0.40 L2C .. 50.3 C2C . 0.43 L2P .. 49.3 C2P . 0.39 |
| 1874 | R22 40.38 -54.63 8 L1C .. 50.0 C1C . 0.44 L1P .. 48.7 C1P . 0.46 L2C .. 47.1 C2C . 0.49 L2P .. 46.7 C2P . 0.44 |
| 1875 | E11 68.80 -54.74 8 L1X .. 49.9 C1X . 0.22 L5X .. 49.8 C5X . 0.19 L7X .. 49.1 C7X . 0.00 L8X .. 55.3 C8X . 0.00 |
| 1876 | E12 58.84 141.76 8 L1X .. 50.0 C1X . 0.14 L5X .. 49.4 C5X . 0.21 L7X .. 48.2 C7X . 0.00 L8X .. 55.1 C8X . 0.00 |
| 1877 | E18 0.00 0.00 8 L1X .. 53.5 C1X . 0.11 L5X .. 51.0 C5X . 0.15 L7X .. 50.1 C7X . 0.00 L8X .. 56.5 C8X . 0.00 |
| 1878 | J01 21.34 23.40 12 L1C .. 41.2 C1C . 0.59 L1X .. 43.2 C1X . 0.38 L1Z .. 41.3 C1Z . 0.58 L2X .. 40.0 C2X . 0.47 L5X .. 44.7 C5X . 0.00 L6L .. 41.6 C6L . 0.00 |
| 1879 | S27 16.04 -73.53 4 L1C .. 37.8 C1C . 0.81 L5I .. 39.9 C5I . 0.41 |
| 1880 | S28 38.63 -50.63 4 L1C .. 45.5 C1C . 0.49 L5I .. 47.4 C5I . 0.48 |
| 1881 | S29 41.28 46.44 2 L1C .. 43.2 C1C . 0.00 |
| 1882 | S37 41.28 46.44 2 L1C .. 42.1 C1C . 0.00 |
| 1883 | C01 45.38 41.07 6 L2I .. 42.1 C2I . 0.20 L6I .. 45.1 C6I . 0.00 L7I .. 46.0 C7I . 0.22 |
| 1884 | C02 36.53 -53.83 6 L2I .. 37.1 C2I . 0.31 L6I .. 42.6 C6I . 0.00 L7I .. 41.3 C7I . 0.24 |
| 1885 | C03 53.80 -10.40 6 L2I .. 42.8 C2I . 0.19 L6I .. 47.3 C6I . 0.00 L7I .. 46.0 C7I . 0.21 |
| 1886 | C04 30.52 62.20 6 L2I .. 37.3 C2I . 0.33 L6I .. 42.4 C6I . 0.00 L7I .. 41.3 C7I . 0.25 |
| 1887 | C05 19.48 -71.66 6 L2I .. 36.6 C2I . 0.40 L6I .. 40.0 C6I . 0.00 L7I .. 38.5 C7I . 0.37 |
| 1888 | C07 63.30 26.64 6 L2I .. 48.5 C2I . 0.41 L6I .. 49.3 C6I . 0.00 L7I .. 48.1 C7I . 0.25 |
| 1889 | C08 76.83 -113.07 6 L2I .. 48.9 C2I . 0.22 L6I .. 50.5 C6I . 0.00 L7I .. 48.7 C7I . 0.24 |
| 1890 | C10 83.00 -66.65 6 L2I .. 48.8 C2I . 0.20 L6I .. 50.0 C6I . 0.00 L7I .. 48.1 C7I . 0.23 |
| 1891 | > 2015 09 09 13 04 52.0000000 33 0.9 |
| 1892 | ... |
| 1893 | </pre> |
| 1894 | </p> |
| 1895 | <p> |
| 1896 | Note that in addition to cycle slips recorded in the RINEX 'file', cycle slips identified by BNC are reported as 'found'. |
| 1897 | </p> |
| 1898 | |
| 1899 | <p><h4>2.6.5 <a name="reqcplots">Plots for Signals - mandatory if 'Action' is set to 'Analyze'</h4></p> |
| 1900 | <p> |
| 1901 | Multipath and signal-to-noise sky plots as well as plots for satellite availability, elevation and PDOP are produced per GNSS system and frequency with the multipath analysis based on CnC observation types (n = band / frequency). The 'Plots for signals' option lets you exactly specify the observation signals to be used for that and also enables the plot production. You can specify the navigation system (C = BDS, E = Galileo, G = GPS, J = QZSS, R = GLONASS, S = SBAS), the frequency, and the tracking mode or channel as defined in RINEX Version 3. Specifications for frequency and tracking mode or channel must be separated by ampersand character '&'. Specifications for each navigation systems must be separated by blank character ' '. The following string is an example for option field 'Plots of signals': |
| 1902 | <br> |
| 1903 | <pre> |
| 1904 | C:2&7 E:1&5 G:1&2 J:1&2 R:1&2 S:1&5 |
| 1905 | </pre> |
| 1906 | This default configuration will present: |
| 1907 | <ul> |
2253 | | </div> |
2254 | | <div class="section" id="directory-for-plots-optional-if-action-is-set-to-analyze"> |
2255 | | <h4>Directory for Plots - optional if ‘Action’ is set to ‘Analyze’<a class="headerlink" href="#directory-for-plots-optional-if-action-is-set-to-analyze" title="Permalink to this headline">¶</a></h4> |
2256 | | <p>If ‘Analyze’ <a class="reference internal" href="#fig-12"><span class="std std-numref">(see Fig. 16)</span></a> is selected, specifying the path to a directory where plot files will be saved is optional. Filenames will be composed from the RINEX input filename(s) plus suffix ‘PNG’ to indicate the plot file format in use. Default is an empty option field, meaning that plots will not be saved on disk.</p> |
2257 | | </div> |
2258 | | <div class="section" id="set-edit-options-mandatory-if-action-is-set-to-edit-concatenate"> |
2259 | | <h4>Set Edit Options - mandatory if ‘Action’ is set to ‘Edit/Concatenate’<a class="headerlink" href="#set-edit-options-mandatory-if-action-is-set-to-edit-concatenate" title="Permalink to this headline">¶</a></h4> |
2260 | | <p>Once the ‘Edit/Concatenate’ action is selected, you have to ‘Set Edit Options’ <a class="reference internal" href="#fig-10"><span class="std std-numref">(see Fig. 14)</span></a>. BNC lets you specify the RINEX version, a signal priority list when mapping RINEX Version 3 to Version 2, the sampling interval, begin and end of file, operator, observation types, comment lines, and marker, antenna, receiver details. Note that some of the specifications for editing and concatenation <a class="reference internal" href="#fig-11"><span class="std std-numref">(see Fig. 15)</span></a> are only meaningful for RINEX Observation files but not for RINEX Navigation files.</p> |
2261 | | <p>A note on converting RINEX Version 3 to RINEX Version 2 and vice versa:</p> |
2262 | | <ul> |
2263 | | <li><p class="first">The RINEX Version 2 format ignores signal generation attributes. Therefore, when converting RINEX Version 3 to Version 2 Observation files, BNC is forced to somehow map signals with attributes to signals without attributes although this cannot be done in one-to-one correspondence. Hence we introduce a ‘Version 2 Signal Priority’ list of attributes (characters, forming a string) for mapping Version 3 to Version 2, see details in section ‘RINEX Observations/Version 2’. Signal priorities can be specified as equal for all systems, as system specific or as system and frequency specific. For example:</p> |
2264 | | <ul class="simple"> |
2265 | | <li>‘<a href="#id76"><span class="problematic" id="id77">CWPX_</span></a>?’ (General signal priorities valid for all GNSS)</li> |
2266 | | <li>‘C:IQX I:ABCX’ (System specific signal priorities for BDS and IRNSS)</li> |
2267 | | <li>‘G:12&PWCSLXYN G:5&IQX R:12&PC R:3&IQX’ (System and frequency specific signal priorities)</li> |
2268 | | </ul> |
2269 | | <p>The default ‘Signal priority’ list is defined as follows: ‘G:12&PWCSLXYN G:5&IQX R:12&PC R:3&IQX E:16&BCX E:578&IQX J:1&SLXCZ J:26&SLX J:5&IQX C:IQX I:ABCX S:1&C S:5&IQX’</p> |
2270 | | </li> |
2271 | | <li><p class="first">When converting RINEX Version 2 to Version 3 Observation files, the tracking mode or channel information in the (last character out of the 3-character) observation code is left blank if unknown. This is a compromise, knowing that it is not in accordance with the RINEX Version 3 documentation.</p> |
2272 | | </li> |
2273 | | </ul> |
2274 | | <p>Optionally you may specify a ‘RUN BY’ string to be included in the emerging new RINEX file header. Default is an empty option field, meaning the operator’s ID is automatically used as ‘RUN BY’ string.</p> |
2275 | | <p>You can specify a list of observation codes in field ‘Use Obs. Types’ to limit the output file content to specific observation codes. GNSS system characters in that list are followed by a colon and a 2- or 3-character observation code. A 2-character observation code would mean that all available tracking modes of the affected observation type and frequency will be accepted as part of the RINEX output file. Observation codes are separated by a blank character. Default is an empty option field, meaning that any input observation code will become part of the RINEX output file.</p> |
2276 | | <p>Specifying comment line text to be added to the emerging new RINEX file header is another option. Any introduction of a newline through ‘\n’ in this enforces the beginning of a further comment line. Comment lines will be added to the header immediately after the ‘PGM / RUN BY / DATE’ record. Default is an empty option field, meaning that no additional comment line will be added to the RINEX header.</p> |
2277 | | <p>If you specify a ‘New’ but no ‘Old’ marker/antenna/receiver name, the corresponding data field in the emerging new RINEX Observation file will be filled accordingly. If you in addition specify an ‘Old’ marker/antenna/receiver name, the corresponding data field in the emerging new RINEX Observation file will only be filled accordingly where ‘Old’ specifications match existing file content.</p> |
2278 | | <div class="figure" id="id27"> |
2279 | | <span id="fig-13"></span><a class="reference internal image-reference" href="_images/fig_13.png"><img alt="_images/fig_13.png" src="_images/fig_13.png" style="width: 961.2px; height: 629.1px;" /></a> |
2280 | | <p class="caption"><span class="caption-number">Fig. 11 </span><span class="caption-text">Example for satellite availability, elevation and PDOP plots as a result of a RINEX Quality Check analysis with BNC</span></p> |
2281 | | </div> |
2282 | | <div class="figure" id="id28"> |
2283 | | <span id="fig-14"></span><a class="reference internal image-reference" href="_images/fig_14.png"><img alt="_images/fig_14.png" src="_images/fig_14.png" style="width: 920.7px; height: 593.1px;" /></a> |
2284 | | <p class="caption"><span class="caption-number">Fig. 12 </span><span class="caption-text">Sky plot examples for multipath, part of RINEX quality check analysis with BNC</span></p> |
2285 | | </div> |
2286 | | <div class="figure" id="id29"> |
2287 | | <span id="fig-15"></span><a class="reference internal image-reference" href="_images/fig_15.png"><img alt="_images/fig_15.png" src="_images/fig_15.png" style="width: 918.0px; height: 589.5px;" /></a> |
2288 | | <p class="caption"><span class="caption-number">Fig. 13 </span><span class="caption-text">Sky plot examples for signal-to-noise ratio, part of RINEX quality check analysis with BNC</span></p> |
2289 | | </div> |
2290 | | <div class="figure" id="id30"> |
2291 | | <span id="fig-10"></span><a class="reference internal image-reference" href="_images/fig_10.png"><img alt="_images/fig_10.png" src="_images/fig_10.png" style="width: 680.4px; height: 522.0px;" /></a> |
2292 | | <p class="caption"><span class="caption-number">Fig. 14 </span><span class="caption-text">Example for BNC’s ‘RINEX Editing Options’ window</span></p> |
2293 | | </div> |
2294 | | <div class="figure" id="id31"> |
2295 | | <span id="fig-11"></span><a class="reference internal image-reference" href="_images/fig_11.png"><img alt="_images/fig_11.png" src="_images/fig_11.png" style="width: 900.9px; height: 648.9px;" /></a> |
2296 | | <p class="caption"><span class="caption-number">Fig. 15 </span><span class="caption-text">Example for RINEX file concatenation with BNC</span></p> |
2297 | | </div> |
2298 | | <div class="figure" id="id32"> |
2299 | | <span id="fig-12"></span><a class="reference internal image-reference" href="_images/fig_12.png"><img alt="_images/fig_12.png" src="_images/fig_12.png" style="width: 900.0px; height: 649.8000000000001px;" /></a> |
2300 | | <p class="caption"><span class="caption-number">Fig. 16 </span><span class="caption-text">Example for creating RINEX quality check analysis graphics output with BNC</span></p> |
2301 | | </div> |
2302 | | </div> |
2303 | | <div class="section" id="command-line-no-window-optional"> |
2304 | | <span id="index-18"></span><h4>Command Line, No Window - optional<a class="headerlink" href="#command-line-no-window-optional" title="Permalink to this headline">¶</a></h4> |
2305 | | <p>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, see section on ‘Command Line Options’. Note the following syntax for Command Line Interface (CLI) options:</p> |
2306 | | <div class="highlight-console"><div class="highlight"><pre><span class="go">--key <keyName> <keyValue></span> |
2307 | | </pre></div> |
2308 | | </div> |
2309 | | <p>Parameter <keyName> stands for the name of an option contained in the configuration file and <keyValue> stands for the value you want to assign to it. This functionality may be helpful in the ‘RINEX Editing & QC’ context when running BNC on a routine basis for maintaining a RINEX file archive. The following example for a Linux platform calls BNC in ‘no window’ mode with a local configuration file ‘rnx.conf’ for concatenating four 15min RINEX files from station TLSE residing in the working directory to produce an hourly RINEX Version 3 file with 30 seconds sampling interval:</p> |
2310 | | <div class="highlight-console"><div class="highlight"><pre><span class="go">./bnc --nw --conf rnx.conf --key reqcAction Edit/Concatenate --key reqcObsFile "tlse119b00.12o,tlse119b15.12o,tlse119b30.12o,tlse119b45.12o" --key reqcOutObsFile tlse119b.12o --key reqcRnxVersion 3 --key reqcSampling 30</span> |
2311 | | </pre></div> |
2312 | | </div> |
2313 | | <p>You may use asterisk ‘*’ and/or question mark ‘?’ wildcard characters as shown with the following globbing command line option to specify a selection of files in the working directory:</p> |
2314 | | <div class="highlight-console"><div class="highlight"><pre><span class="go">--key reqcObsFile "tlse*"</span> |
2315 | | </pre></div> |
2316 | | </div> |
2317 | | <p>or</p> |
2318 | | <div class="highlight-console"><div class="highlight"><pre><span class="go">--key reqcObsFile tlse\*</span> |
2319 | | </pre></div> |
2320 | | </div> |
2321 | | <p>The following Linux command line produces RINEX QC plots (see Estey and Meertens 1999) offline in ‘no window’ mode and saves them in directory <code class="docutils literal"><span class="pre">/home/user</span></code>. Introducing a dummy configuration file <code class="docutils literal"><span class="pre">/dev/null</span></code> makes sure that no configuration options previously saved on disc are used:</p> |
2322 | | <div class="highlight-console"><div class="highlight"><pre><span class="go">/home/user/bnc --conf /dev/null --key reqcAction Analyze --key reqcObsFile CUT02070.12O --key reqcNavFile BRDC2070.12P --key reqcOutLogFile CUT0.txt --key reqcPlotDir /home/user --nw</span> |
2323 | | </pre></div> |
2324 | | </div> |
2325 | | <p>The following Linux command line produces the same RINEX QC plots in interactive autoStart mode:</p> |
2326 | | <div class="highlight-console"><div class="highlight"><pre><span class="go">/home/user/bnc --conf /dev/null --key reqcAction Analyze --key reqcObsFile CUT02070.12O --key reqcNavFile BRDC2070.12P --key reqcOutLogFile CUT0.txt --key startTab 4 --key autoStart 2</span> |
2327 | | </pre></div> |
2328 | | </div> |
2329 | | <p><a class="reference internal" href="#tab-rinex-ed-qc-opt"><span class="std std-numref">Table 3</span></a> gives a list of available key names for ‘RINEX Editing & QC’ (short: REQC, pronounced ‘rek’) options and their meaning, cf. section ‘Configuration Examples’.</p> |
2330 | | <table border="1" class="docutils" id="id33"> |
2331 | | <span id="tab-rinex-ed-qc-opt"></span><caption><span class="caption-number">Table 3 </span><span class="caption-text">Key names for ‘RINEX Editing & QC’ options and their meaning.</span><a class="headerlink" href="#id33" title="Permalink to this table">¶</a></caption> |
2332 | | <colgroup> |
2333 | | <col width="32%" /> |
2334 | | <col width="68%" /> |
2335 | | </colgroup> |
2336 | | <thead valign="bottom"> |
2337 | | <tr class="row-odd"><th class="head"><strong>Keyname</strong></th> |
2338 | | <th class="head"><strong>Meaning</strong></th> |
2339 | | </tr> |
2340 | | </thead> |
2341 | | <tbody valign="top"> |
2342 | | <tr class="row-even"><td>reqcAction</td> |
2343 | | <td>RINEX Editing & QC action</td> |
2344 | | </tr> |
2345 | | <tr class="row-odd"><td>reqcObsFile</td> |
2346 | | <td>RINEX Observation input file(s)</td> |
2347 | | </tr> |
2348 | | <tr class="row-even"><td>reqcNavFile</td> |
2349 | | <td>RINEX Navigation input files(s)</td> |
2350 | | </tr> |
2351 | | <tr class="row-odd"><td>reqcOutObsFile</td> |
2352 | | <td>RINEX Observation output file</td> |
2353 | | </tr> |
2354 | | <tr class="row-even"><td>reqcOutNavFile</td> |
2355 | | <td>RINEX Navigation output file</td> |
2356 | | </tr> |
2357 | | <tr class="row-odd"><td>reqcOutLogFile</td> |
2358 | | <td>Logfile</td> |
2359 | | </tr> |
2360 | | <tr class="row-even"><td>reqcLogSummaryOnly</td> |
2361 | | <td>Summary of Logfile</td> |
2362 | | </tr> |
2363 | | <tr class="row-odd"><td>reqcSkyPlotSignals</td> |
2364 | | <td>Plots for signals</td> |
2365 | | </tr> |
2366 | | <tr class="row-even"><td>reqcPlotDir</td> |
2367 | | <td>RINEX QC plot directory</td> |
2368 | | </tr> |
2369 | | <tr class="row-odd"><td>reqcRnxVersion</td> |
2370 | | <td>RINEX version of emerging new file</td> |
2371 | | </tr> |
2372 | | <tr class="row-even"><td>reqcSampling</td> |
2373 | | <td>Sampling interval of emerging new RINEX file</td> |
2374 | | </tr> |
2375 | | <tr class="row-odd"><td>reqcV2Priority</td> |
2376 | | <td>Version 2 Signal Priority</td> |
2377 | | </tr> |
2378 | | <tr class="row-even"><td>reqcStartDateTime</td> |
2379 | | <td>Begin of emerging new RINEX file</td> |
2380 | | </tr> |
2381 | | <tr class="row-odd"><td>reqcEndDateTime</td> |
2382 | | <td>End of emerging new RINEX file</td> |
2383 | | </tr> |
2384 | | <tr class="row-even"><td>reqcRunBy</td> |
2385 | | <td>Operator name</td> |
2386 | | </tr> |
2387 | | <tr class="row-odd"><td>reqcUseObsTypes</td> |
2388 | | <td>GNSS systems and observation types</td> |
2389 | | </tr> |
2390 | | <tr class="row-even"><td>reqcComment</td> |
2391 | | <td>Additional comment lines</td> |
2392 | | </tr> |
2393 | | <tr class="row-odd"><td>reqcOldMarkerName</td> |
2394 | | <td>Old marker name</td> |
2395 | | </tr> |
2396 | | <tr class="row-even"><td>reqcNewMarkerName</td> |
2397 | | <td>New marker name</td> |
2398 | | </tr> |
2399 | | <tr class="row-odd"><td>reqcOldAntennaName</td> |
2400 | | <td>Old antenna name</td> |
2401 | | </tr> |
2402 | | <tr class="row-even"><td>reqcNewAntennaName</td> |
2403 | | <td>New antenna name</td> |
2404 | | </tr> |
2405 | | <tr class="row-odd"><td>reqcOldAntennaNumber</td> |
2406 | | <td>Old antenna number</td> |
2407 | | </tr> |
2408 | | <tr class="row-even"><td>reqcNewAntennaNumber</td> |
2409 | | <td>New antenna number</td> |
2410 | | </tr> |
2411 | | <tr class="row-odd"><td>reqcOldAntennadN</td> |
2412 | | <td>Old component of north eccentricity</td> |
2413 | | </tr> |
2414 | | <tr class="row-even"><td>reqcOldAntennadE</td> |
2415 | | <td>Old component of east eccentricity</td> |
2416 | | </tr> |
2417 | | <tr class="row-odd"><td>reqcOldAntennadU</td> |
2418 | | <td>Old component of up eccentricity</td> |
2419 | | </tr> |
2420 | | <tr class="row-even"><td>reqcNewAntennadN</td> |
2421 | | <td>New component of north eccentricity</td> |
2422 | | </tr> |
2423 | | <tr class="row-odd"><td>reqcNewAntennadE</td> |
2424 | | <td>New component of east eccentricity</td> |
2425 | | </tr> |
2426 | | <tr class="row-even"><td>reqcNewAntennadU</td> |
2427 | | <td>New component of up eccentricity</td> |
2428 | | </tr> |
2429 | | <tr class="row-odd"><td>reqcOldReceiverName</td> |
2430 | | <td>Old receiver name</td> |
2431 | | </tr> |
2432 | | <tr class="row-even"><td>reqcNewReceiverName</td> |
2433 | | <td>New receiver name</td> |
2434 | | </tr> |
2435 | | <tr class="row-odd"><td>reqcOldReceiverNumber</td> |
2436 | | <td>Old receiver number</td> |
2437 | | </tr> |
2438 | | <tr class="row-even"><td>reqcNewReceiverNumber</td> |
2439 | | <td>New receiver number</td> |
2440 | | </tr> |
2441 | | </tbody> |
| 1915 | </p> |
| 1916 | |
| 1917 | <p><h4>2.6.6 <a name="reqcdir">Directory for Plots - optional if 'Action' is set to 'Analyze'</h4></p> |
| 1918 | <p> |
| 1919 | If 'Analyze' is selected, specifying the path to a directory where plot files will be saved is optional. Filenames will be composed from the RINEX input filename(s) plus suffix 'PNG' to indicate the plot file format in use. Default is an empty option field, meaning that plots will not be saved on disk. |
| 1920 | </p> |
| 1921 | |
| 1922 | <p><h4>2.6.7 <a name="reqcedit">Set Edit Options - mandatory if 'Action' is set to 'Edit/Concatenate'</h4></p> |
| 1923 | <p>Once the 'Edit/Concatenate' action is selected, you have to 'Set Edit Options'. BNC lets you specify the RINEX version, a signal priority list when mapping RINEX Version 3 to Version 2, the sampling interval, begin and end of file, operator, observation types, comment lines, and marker, antenna, receiver details. Note that some of the specifications for editing and concatenation are only meaningful for RINEX Observation files but not for RINEX Navigation files. |
| 1924 | </p> |
| 1925 | |
| 1926 | <p> |
| 1927 | A note on converting RINEX Version 3 to RINEX Version 2 and vice versa: |
| 1928 | </p> |
| 1929 | |
| 1930 | <p> |
| 1931 | <ul> |
| 1932 | <li>The RINEX Version 2 format ignores signal generation attributes. Therefore, when converting <u>RINEX Version 3 to Version 2</u> Observation files, BNC is forced to somehow map signals with attributes to signals without attributes although this cannot be done in one-to-one correspondence. Hence we introduce a 'Version 2 Signal Priority' list of attributes (characters, forming a string) for mapping Version 3 to Version 2, see details in section 'RINEX Observations/Version 2'. Signal priorities can be specified as equal for all systems, as system specific or as system and frequency specific. For example:</li> |
| 1933 | <ul> |
| 1934 | <li>'CWPX_?' (General signal priorities valid for all GNSS)</li> |
| 1935 | <li>'C:IQX I:ABCX' (System specific signal priorities for BDS and IRNSS)</li> |
| 1936 | <li>'G:12&PWCSLXYN G:5&IQX R:12&PC R:3&IQX' (System and frequency specific signal priorities)</li> |
| 1937 | </ul> |
| 1938 | </p> |
| 1939 | <p> |
| 1940 | The default 'Signal priority' list is defined as follows: |
| 1941 | <ul> |
| 1942 | <li>'G:12&PWCSLXYN G:5&IQX R:12&PC R:3&IQX E:16&BCX E:578&IQX J:1&SLXCZ J:26&SLX J:5&IQX C:IQX I:ABCX S:1&C S:5&IQX'</li> |
| 1943 | </ul> |
| 1944 | </p> |
| 1945 | <p> |
| 1946 | <li>When converting <u>RINEX Version 2 to Version 3</u> Observation files, the tracking mode or channel information in the (last character out of the 3-character) observation code is left blank if unknown. This is a compromise, knowing that it is not in accordance with the RINEX Version 3 documentation.</li> |
| 1947 | </ul> |
| 1948 | </p> |
| 1949 | |
| 1950 | <p> |
| 1951 | Optionally you may specify a 'RUN BY' string to be included in the emerging new RINEX file header. Default is an empty option field, meaning the operator's ID is automatically used as 'RUN BY' string. |
| 1952 | </p> |
| 1953 | |
| 1954 | <p> |
| 1955 | You can specify a list of observation codes in field 'Use Obs. Types' to limit the output file content to specific observation codes. GNSS system characters in that list are followed by a colon and a 2- or 3-Character observation code. A 2-Character observation code would mean that all available tracking modes of the affected observation type and frequency will be accepted as part of the RINEX output file. Observation codes are separated by a blank character. Default is an empty option field, meaning that any input observation code will become part of the RINEX output file. |
| 1956 | </p> |
| 1957 | |
| 1958 | <p> |
| 1959 | Specifying comment line text to be added to the emerging new RINEX file header is another option. Any introduction of a newline through '\n' in this enforces the beginning of a further comment line. Comment lines will be added to the header immediately after the 'PGM / RUN BY / DATE' record. Default is an empty option field, meaning that no additional comment line will be added to the RINEX header. |
| 1960 | </p> |
| 1961 | |
| 1962 | <p> |
| 1963 | If you specify a 'New' but no 'Old' marker/antenna/receiver name, the corresponding data field in the emerging new RINEX Observation file will be filled accordingly. If you in addition specify an 'Old' marker/antenna/receiver name, the corresponding data field in the emerging new RINEX Observation file will only be filled accordingly where 'Old' specifications match existing file content. |
| 1964 | </p> |
| 1965 | |
| 1966 | <p><img src="IMG/screenshot27.png"/></p> |
| 1967 | <p><u>Figure 10:</u> Example for BNC's 'RINEX Editing Options' window</p> |
| 1968 | |
| 1969 | <p><img src="IMG/screenshot25.png"/></p> |
| 1970 | <p><u>Figure 11:</u> Example for RINEX file concatenation with BNC</p> |
| 1971 | |
| 1972 | <p><img src="IMG/screenshot29.png"/></p> |
| 1973 | <p><u>Figure 12:</u> Example for creating RINEX quality check analysis graphics output with BNC</p> |
| 1974 | |
| 1975 | <p><img src="IMG/screenshot30.png"/></p> |
| 1976 | <p><u>Figure 13:</u> Example for satellite availability, elevation and PDOP plots as a result of a RINEX quality check analysis with BNC</p> |
| 1977 | |
| 1978 | <p><img src="IMG/screenshot33.png"/></p> |
| 1979 | <p><u>Figure 14:</u> Sky plot examples for multipath, part of RINEX quality check analysis with BNC</p> |
| 1980 | |
| 1981 | <p><img src="IMG/screenshot34.png"/></p> |
| 1982 | <p><u>Figure 15:</u> Sky plot examples for signal-to-noise ratio, part of RINEX quality check analysis with BNC</p> |
| 1983 | |
| 1984 | <p><h4>2.6.8 <a name="reqccommand">Command Line, No Window - optional</h4></p> |
| 1985 | <p> |
| 1986 | 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, see section on 'Command Line Options'. Note the following syntax for Command Line Interface (CLI) options: |
| 1987 | </p> |
| 1988 | <pre> |
| 1989 | --key <keyName> <keyValue> |
| 1990 | </pre> |
| 1991 | <p> |
| 1992 | Parameter <keyName> stands for the name of an option contained in the configuration file and <keyValue> stands for the value you want to assign to it. This functionality may be helpful in the 'RINEX Editing & QC' context when running BNC on a routine basis for maintaining a RINEX file archive. |
| 1993 | </p> |
| 1994 | The following example for a Linux platform calls BNC in 'no window' mode with a local configuration file 'rnx.conf' for concatenating four 15min RINEX files from station TLSE residing in the working directory to produce an hourly RINEX Version 3 file with 30 seconds sampling interval: |
| 1995 | </p> |
| 1996 | <pre> |
| 1997 | ./bnc --nw --conf rnx.conf --key reqcAction Edit/Concatenate --key reqcObsFile |
| 1998 | "tlse119b00.12o,tlse119b15.12o,tlse119b30.12o,tlse119b45.12o" --key |
| 1999 | reqcOutObsFile tlse119b.12o --key reqcRnxVersion 3 --key reqcSampling 30 |
| 2000 | </pre> |
| 2001 | <p> |
| 2002 | You may use asterisk '*' and/or question mark '?' wildcard characters as shown with the following globbing command line option to specify a selection of files in the working directory: |
| 2003 | <pre> |
| 2004 | --key reqcObsFile "tlse*" |
| 2005 | or: |
| 2006 | --key reqcObsFile tlse\* |
| 2007 | </pre> |
| 2008 | </p> |
| 2009 | |
| 2010 | <p>The following Linux command line produces RINEX QC plots (see Estey and Meertens 1999) offline in 'no window' mode and saves them in directory '/home/user'. Introducing a dummy configuration file /dev/null makes sure that no configuration options previously saved on disc are used:</p> |
| 2011 | <pre> |
| 2012 | /home/user/bnc --conf /dev/null --key reqcAction Analyze --key reqcObsFile |
| 2013 | CUT02070.12O --key reqcNavFile BRDC2070.12P --key reqcOutLogFile CUT0.txt --key |
| 2014 | reqcPlotDir /home/user --nw |
| 2015 | </pre> |
| 2016 | </p> |
| 2017 | <p>The following Linux command line produces the same RINEX QC plots in interactive autoStart mode: |
| 2018 | </p> |
| 2019 | <pre> |
| 2020 | /home/user/bnc --conf /dev/null --key reqcAction Analyze --key reqcObsFile |
| 2021 | CUT02070.12O --key reqcNavFile BRDC2070.12P --key reqcOutLogFile CUT0.txt --key |
| 2022 | --key startTab 4 --key autoStart 2 |
| 2023 | </pre> |
| 2024 | </p> |
| 2025 | |
| 2026 | <p> |
| 2027 | 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 and their meaning, cf. section 'Configuration Examples': |
| 2028 | </p> |
| 2029 | <table> |
| 2030 | <tr></tr> |
| 2031 | <tr><td><b>Keyname</b></td><td><b>Meaning</b></td></tr> |
| 2032 | <tr><td>reqcAction</td><td>RINEX Editing & QC action</td></tr> |
| 2033 | <tr><td>reqcObsFile</td><td>RINEX Observation input file(s)</td></tr> |
| 2034 | <tr><td>reqcNavFile</td><td>RINEX Navigation input files(s)</td></tr> |
| 2035 | <tr><td>reqcOutObsFile</td><td>RINEX Observation output file</td></tr> |
| 2036 | <tr><td>reqcOutNavFile</td><td>RINEX Navigation output file</td></tr> |
| 2037 | <tr><td>reqcOutLogFile</td><td>Logfile</td></tr> |
| 2038 | <tr><td>reqcLogSummaryOnly</td><td>Summary of Logfile</td></tr> |
| 2039 | <tr><td>reqcSkyPlotSignals</td><td>Plots for signals</td></tr> |
| 2040 | <tr><td>reqcPlotDir</td><td>RINEX QC plot directory</td></tr> |
| 2041 | <tr><td>reqcRnxVersion</td><td>RINEX version of emerging new file</td></tr> |
| 2042 | <tr><td>reqcSampling</td><td>Sampling interval of emerging new RINEX file</td></tr> |
| 2043 | <tr><td>reqcV2Priority</td><td>Version 2 Signal Priority</td></tr> |
| 2044 | <tr><td>reqcStartDateTime</td><td>Begin of emerging new RINEX file</td></tr> |
| 2045 | <tr><td>reqcEndDateTime</td><td>End of emerging new RINEX file</td></tr> |
| 2046 | <tr><td>reqcRunBy</td><td>Operator name</td></tr> |
| 2047 | <tr><td>reqcUseObsTypes</td><td>GNSS systems and observation types</td></tr> |
| 2048 | <tr><td>reqcComment</td><td>Additional comment lines</td></tr> |
| 2049 | <tr><td>reqcOldMarkerName</td><td>Old marker name</td></tr> |
| 2050 | <tr><td>reqcNewMarkerName</td><td>New marker name</td></tr> |
| 2051 | <tr><td>reqcOldAntennaName</td><td>Old antenna name</td></tr> |
| 2052 | <tr><td>reqcNewAntennaName</td><td>New antenna name</td></tr> |
| 2053 | <tr><td>reqcOldAntennaNumber</td><td>Old antenna number</td></tr> |
| 2054 | <tr><td>reqcNewAntennaNumber</td><td>New antenna number</td></tr> |
| 2055 | <tr><td>reqcOldAntennadN</td><td>Old component of north eccentricity</td></tr> |
| 2056 | <tr><td>reqcOldAntennadE</td><td>Old component of east eccentricity</td></tr> |
| 2057 | <tr><td>reqcOldAntennadU</td><td>Old component of up eccentricity</td></tr> |
| 2058 | <tr><td>reqcNewAntennadN</td><td>New component of north eccentricity</td></tr> |
| 2059 | <tr><td>reqcNewAntennadE</td><td>New component of east eccentricity</td></tr> |
| 2060 | <tr><td>reqcNewAntennadU</td><td>New component of up eccentricity</td></tr> |
| 2061 | <tr><td>reqcOldReceiverName</td><td>Old receiver name</td></tr> |
| 2062 | <tr><td>reqcNewReceiverName</td><td>New receiver name</td></tr> |
| 2063 | <tr><td>reqcOldReceiverNumber</td><td>Old receiver number</td></tr> |
| 2064 | <tr><td>reqcNewReceiverNumber</td><td>New receiver number</td></tr> |
2821 | | </div> |
2822 | | </div> |
2823 | | <div class="section" id="directory-ascii-optional"> |
2824 | | <h4>Directory, ASCII - optional<a class="headerlink" href="#directory-ascii-optional" title="Permalink to this headline">¶</a></h4> |
2825 | | <p>Specify a directory for saving Broadcast Corrections in files. If the specified directory does not exist, BNC will not create Broadcast Correction files. Default value for Broadcast Correction ‘Directory’ is an empty option field, meaning that no Broadcast Correction files will be created.</p> |
2826 | | </div> |
2827 | | <div class="section" id="interval-mandatory-if-directory-ascii-is-set"> |
2828 | | <h4>Interval - mandatory if ‘Directory, ASCII’ is set<a class="headerlink" href="#interval-mandatory-if-directory-ascii-is-set" title="Permalink to this headline">¶</a></h4> |
2829 | | <p>Select the length of the Broadcast Correction files. The default value is ‘1 day’.</p> |
2830 | | </div> |
2831 | | <div class="section" id="id5"> |
2832 | | <h4>Port - optional<a class="headerlink" href="#id5" title="Permalink to this headline">¶</a></h4> |
2833 | | <p>BNC can output epoch by epoch synchronized Broadcast Corrections in ASCII format on your local host (IP 127.0.0.1) through an IP ‘Port’. Specify an IP port number to activate this function. The default is an empty option field, meaning that no Broadcast Correction output via IP port is generated.</p> |
2834 | | <p>The output format is similar to the format used for saving Broadcast Corrections in a file.</p> |
2835 | | <p>The following is an example output for the stream from mountpoint CLK93:</p> |
2836 | | <div class="highlight-console"><div class="highlight"><pre><span class="gp">></span> ORBIT <span class="m">2015</span> <span class="m">06</span> <span class="m">19</span> <span class="m">16</span> <span class="m">41</span> 00.0 <span class="m">2</span> <span class="m">53</span> CLK93 |
2837 | | <span class="go">G01 85 0.5891 -0.5124 -0.0216 -0.0001 -0.0002 0.0000</span> |
2838 | | <span class="go">G02 25 -150.1820 11.4676 84.5216 0.4130 -0.6932 1.0159</span> |
2839 | | <span class="go">G03 79 15.1999 141.9932 -156.4244 0.6782 -0.8607 -0.8211</span> |
2840 | | <span class="go">...</span> |
2841 | | <span class="go">G32 39 1.8454 0.4888 -0.3876 -0.0001 -0.0001 0.0001</span> |
2842 | | <span class="go">R01 79 -0.0506 1.9024 -0.0120 0.0004 0.0002 -0.0000</span> |
2843 | | <span class="go">R02 79 0.1623 0.9012 0.3984 0.0001 0.0001 0.0002</span> |
2844 | | <span class="go">R03 79 0.3247 -2.6704 -0.0240 0.0005 -0.0002 0.0002</span> |
2845 | | <span class="go">...</span> |
2846 | | <span class="go">R24 79 0.7046 -0.5088 -0.0160 -0.0000 0.0000 -0.0002</span> |
2847 | | <span class="gp">></span> CLOCK <span class="m">2015</span> <span class="m">06</span> <span class="m">19</span> <span class="m">16</span> <span class="m">41</span> 00.0 <span class="m">2</span> <span class="m">53</span> CLK93 |
2848 | | <span class="go">G01 85 -116.9441 0.0000 0.0000</span> |
2849 | | <span class="go">G02 25 -110.4472 0.0000 0.0000</span> |
2850 | | <span class="go">G03 79 -96.8299 0.0000 0.0000</span> |
2851 | | <span class="go">...</span> |
2852 | | <span class="go">G32 39 -119.2757 0.0000 0.0000</span> |
2853 | | <span class="go">R01 79 1.5703 0.0000 0.0000</span> |
2854 | | <span class="go">R02 79 -1.4181 0.0000 0.0000</span> |
2855 | | <span class="go">R03 79 0.2072 0.0000 0.0000</span> |
2856 | | <span class="go">...</span> |
2857 | | <span class="go">R24 79 1.1292 0.0000 0.0000</span> |
2858 | | <span class="gp">></span> CODE_BIAS <span class="m">2015</span> <span class="m">06</span> <span class="m">19</span> <span class="m">16</span> <span class="m">41</span> 00.0 <span class="m">0</span> <span class="m">56</span> CLK93 |
2859 | | <span class="go">E11 3 1B 1.3800 5Q 2.4800 7Q 2.5000</span> |
2860 | | <span class="go">E12 3 1B 0.3900 5Q 0.6900 7Q 0.5300</span> |
2861 | | <span class="go">E19 3 1B -1.7800 5Q -3.1900 7Q -3.0700</span> |
2862 | | <span class="go">G01 5 1C -3.3100 1W -3.7500 2W -6.1900 2X -5.7800 5I -5.4200</span> |
2863 | | <span class="go">G02 5 1C 3.6000 1W 3.9300 2W 6.4800 2X 0.0000 5I 0.0000</span> |
2864 | | <span class="go">G03 5 1C -2.1600 1W -2.6500 2W -4.3600 2X -4.4800 5I -5.3400</span> |
2865 | | <span class="go">...</span> |
2866 | | <span class="go">G32 5 1C -1.5800 1W -1.1000 2W -1.8200 2X 0.0000 5I 0.0000</span> |
2867 | | <span class="go">R01 4 1C -2.4900 1P -2.4900 2C -3.1500 2P -4.1200</span> |
2868 | | <span class="go">R02 4 1C 0.3900 1P 0.2100 2C 0.4000 2P 0.3400</span> |
2869 | | <span class="go">R03 4 1C 2.4800 1P 2.2800 2C 3.7800 2P 3.7700</span> |
2870 | | <span class="go">...</span> |
2871 | | <span class="go">R24 4 1C 2.7000 1P 2.7800 2C 3.9800 2P 4.6000</span> |
2872 | | <span class="gp">></span> PHASE_BIAS <span class="m">2015</span> <span class="m">06</span> <span class="m">19</span> <span class="m">16</span> <span class="m">41</span> 00.0 <span class="m">2</span> <span class="m">31</span> CLK93 |
2873 | | <span class="go"> 0 1</span> |
2874 | | <span class="go">G01 309.37500000 0.00000000 3 1C 3.9922 1 2 6 2W 6.3568 1 2 6 5I 6.8726 1 2 6</span> |
2875 | | <span class="go">G02 263.67187500 0.00000000 3 1C -4.0317 1 2 7 2W -6.6295 1 2 7 5I 0.0000 1 2 7</span> |
2876 | | <span class="go">G03 267.89062500 0.00000000 3 1C 3.1267 1 2 4 2W 4.9126 1 2 4 5I 5.6478 1 2 4</span> |
2877 | | <span class="go">...</span> |
2878 | | <span class="go">G32 255.93750000 0.00000000 3 1C 1.3194 1 2 5 2W 2.1448 1 2 5 5I 0.0000 1 2 5</span> |
2879 | | <span class="gp">></span> VTEC <span class="m">2015</span> <span class="m">06</span> <span class="m">19</span> <span class="m">16</span> <span class="m">41</span> 00.0 <span class="m">6</span> <span class="m">1</span> CLK93 |
2880 | | <span class="go"> 1 6 6 450000.0</span> |
2881 | | <span class="go"> 16.7450 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000</span> |
2882 | | <span class="go"> 4.9300 8.1600 0.0000 0.0000 0.0000 0.0000 0.0000</span> |
2883 | | <span class="go"> -4.4900 0.2550 1.0950 0.0000 0.0000 0.0000 0.0000</span> |
2884 | | <span class="go"> -2.2450 -1.9500 -0.7950 -0.4700 0.0000 0.0000 0.0000</span> |
2885 | | <span class="go"> 1.0250 -0.9000 -0.0900 0.1050 0.1450 0.0000 0.0000</span> |
2886 | | <span class="go"> 1.5500 0.9750 -0.8150 0.3600 0.0350 -0.0900 0.0000</span> |
2887 | | <span class="go"> -0.4050 0.8300 0.0800 -0.0650 0.2200 0.0150 -0.1600</span> |
2888 | | <span class="go"> 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000</span> |
2889 | | <span class="go"> 0.0000 -0.1250 0.0000 0.0000 0.0000 0.0000 0.0000</span> |
2890 | | <span class="go"> 0.0000 1.0050 -0.7750 0.0000 0.0000 0.0000 0.0000</span> |
2891 | | <span class="go"> 0.0000 -0.2300 0.7150 0.7550 0.0000 0.0000 0.0000</span> |
2892 | | <span class="go"> 0.0000 -0.4100 -0.1250 0.2400 0.2700 0.0000 0.0000</span> |
2893 | | <span class="go"> 0.0000 0.0850 -0.3400 -0.0500 -0.2200 -0.0750 0.0000</span> |
2894 | | <span class="go"> 0.0000 0.2000 -0.2850 -0.0150 -0.0250 0.0900 0.0650</span> |
2895 | | </pre></div> |
2896 | | </div> |
2897 | | <p>The source code for BNC comes with an example Perl script ‘test_tcpip_client.pl’ that allows to read BNC’s Broadcast Corrections from the IP port for verification.</p> |
2898 | | <div class="figure" id="id37"> |
2899 | | <span id="fig-17"></span><a class="reference internal image-reference" href="_images/fig_17.png"><img alt="_images/fig_17.png" src="_images/fig_17.png" style="width: 1120.0px; height: 722.0px;" /></a> |
2900 | | <p class="caption"><span class="caption-number">Fig. 18 </span><span class="caption-text">Example for pulling, saving and output of Broadcast Corrections using BNC</span></p> |
2901 | | </div> |
2902 | | </div> |
2903 | | </div> |
2904 | | <div class="section" id="feed-engine"> |
2905 | | <span id="index-20"></span><h3>Feed Engine<a class="headerlink" href="#feed-engine" title="Permalink to this headline">¶</a></h3> |
2906 | | <p>BNC can produce synchronized or unsynchronized observations epoch by epoch from all stations and satellites to feed a real-time GNSS network engine. Observations can be streamed out through an IP port and/or saved in a file. The output is always in the same plain ASCII format and sorted per incoming stream.</p> |
2907 | | <p>Each epoch in the synchronized output begins with a line containing the GPS Week Number and the seconds within the GPS Week. Following lines begin with the mountpoint string of the stream which provides the observations followed by a satellite number. Specifications for satellite number, code, phase, Doppler and signal strength data follow definitions presented in the RINEX Version 3 documentation. In case of phase observations, a ‘Lock Time Indicator’ is added. The end of an epoch is indicated by an empty line.</p> |
2908 | | <p>A valid ‘Lock Time Indicator’ is only presented for observations from RTCM Version 3 streams. The parameter provides a measure of the amount of time that has elapsed during which the receiver has maintained continuous lock on that satellite signal. If a cycle slip occurs during the previous measurement cycle, the lock indicator will be reset to Zero. In case of observations from RTCM Version 2 streams, the ‘Lock Time Indicator’ is always set to ‘-1’.</p> |
2909 | | <p><a class="reference internal" href="#tab-feed-engine"><span class="std std-numref">Table 6</span></a> describes the format of BNC’s synchronized output of GNSS observations which consists of ‘Epoch Records’ and ‘Observation Records’. Each Epoch Record is followed by one or more Observation Records. The Observation Record is repeated for each satellite having been observed in the current epoch. The length of an Observation Record is given by the number of observation types for this satellite.</p> |
2910 | | <table border="1" class="docutils" id="id38"> |
2911 | | <span id="tab-feed-engine"></span><caption><span class="caption-number">Table 6 </span><span class="caption-text">Contents and format of synchronized output of observations feeding a GNSS engine</span><a class="headerlink" href="#id38" title="Permalink to this table">¶</a></caption> |
2912 | | <colgroup> |
2913 | | <col width="42%" /> |
2914 | | <col width="25%" /> |
2915 | | <col width="32%" /> |
2916 | | </colgroup> |
2917 | | <thead valign="bottom"> |
2918 | | <tr class="row-odd"><th class="head"><strong>Identifier</strong></th> |
2919 | | <th class="head"><strong>Example</strong></th> |
2920 | | <th class="head"><strong>Format</strong></th> |
2921 | | </tr> |
2922 | | </thead> |
2923 | | <tbody valign="top"> |
2924 | | <tr class="row-even"><td><em>Epoch Record</em></td> |
2925 | | <td> </td> |
2926 | | <td> </td> |
2927 | | </tr> |
2928 | | <tr class="row-odd"><td>Record Identifier</td> |
2929 | | <td>></td> |
2930 | | <td>A1</td> |
2931 | | </tr> |
2932 | | <tr class="row-even"><td>GPS Week Number</td> |
2933 | | <td>1850</td> |
2934 | | <td>1X,I4</td> |
2935 | | </tr> |
2936 | | <tr class="row-odd"><td>GPS Seconds of Week</td> |
2937 | | <td>120556.0000000</td> |
2938 | | <td>1X,F14.7</td> |
2939 | | </tr> |
2940 | | <tr class="row-even"><td><em>Observation Record</em></td> |
2941 | | <td> </td> |
2942 | | <td> </td> |
2943 | | </tr> |
2944 | | <tr class="row-odd"><td>Mountpoint</td> |
2945 | | <td>WTZR0</td> |
2946 | | <td>A</td> |
2947 | | </tr> |
2948 | | <tr class="row-even"><td>Satellite Number</td> |
2949 | | <td>G01</td> |
2950 | | <td>1X,A3</td> |
2951 | | </tr> |
2952 | | <tr class="row-odd"><td><em>Pseudo-Range Data</em></td> |
2953 | | <td> </td> |
2954 | | <td> </td> |
2955 | | </tr> |
2956 | | <tr class="row-even"><td>Observation Code</td> |
2957 | | <td>C1C</td> |
2958 | | <td>1X,A3</td> |
2959 | | </tr> |
2960 | | <tr class="row-odd"><td>Pseudo-Range Observation</td> |
2961 | | <td>25394034.112</td> |
2962 | | <td>1X,F14.3</td> |
2963 | | </tr> |
2964 | | <tr class="row-even"><td><em>Carrier Phase Data</em></td> |
2965 | | <td> </td> |
2966 | | <td> </td> |
2967 | | </tr> |
2968 | | <tr class="row-odd"><td>Observation Code</td> |
2969 | | <td>L1C</td> |
2970 | | <td>1X,A3</td> |
2971 | | </tr> |
2972 | | <tr class="row-even"><td>Carrier Phase Observation</td> |
2973 | | <td>133446552.870</td> |
2974 | | <td>1X,F14.3</td> |
2975 | | </tr> |
2976 | | <tr class="row-odd"><td>Lock Time Indicator</td> |
2977 | | <td>11</td> |
2978 | | <td>1X,I4</td> |
2979 | | </tr> |
2980 | | <tr class="row-even"><td><em>Doppler Data</em></td> |
2981 | | <td> </td> |
2982 | | <td> </td> |
2983 | | </tr> |
2984 | | <tr class="row-odd"><td>Observation Code</td> |
2985 | | <td>D1C</td> |
2986 | | <td>1X,A3</td> |
2987 | | </tr> |
2988 | | <tr class="row-even"><td>Doppler Observation</td> |
2989 | | <td>-87.977</td> |
2990 | | <td>1X,F14.3</td> |
2991 | | </tr> |
2992 | | <tr class="row-odd"><td><em>Signal Strength</em></td> |
2993 | | <td> </td> |
2994 | | <td> </td> |
2995 | | </tr> |
2996 | | <tr class="row-even"><td>Observation Code</td> |
2997 | | <td>S2W</td> |
2998 | | <td>1X,A3</td> |
2999 | | </tr> |
3000 | | <tr class="row-odd"><td>Observed Signal Strength</td> |
3001 | | <td>34.750</td> |
3002 | | <td>1X,F8.3</td> |
3003 | | </tr> |
3004 | | </tbody> |
| 2454 | </p> |
| 2455 | |
| 2456 | <p><h4>2.8.1 <a name="corrdir">Directory, ASCII - optional</h4></p> |
| 2457 | <p> |
| 2458 | Specify a directory for saving Broadcast Corrections in files. If the specified directory does not exist, BNC will not create Broadcast Correction files. Default value for Broadcast Correction 'Directory' is an empty option field, meaning that no Broadcast Correction files will be created. |
| 2459 | </p> |
| 2460 | |
| 2461 | <p><h4>2.8.2 <a name="corrint">Interval - mandatory if 'Directory, ASCII' is set</h4></p> |
| 2462 | <p> |
| 2463 | Select the length of the Broadcast Correction files. The default value is '1 day'. |
| 2464 | </p> |
| 2465 | |
| 2466 | <p><h4>2.8.3 <a name="corrport">Port - optional</h4></p> |
| 2467 | <p> |
| 2468 | BNC can output epoch by epoch synchronized Broadcast Corrections in ASCII format on your local host (IP 127.0.0.1) through an IP 'Port'. Specify an IP port number to activate this function. The default is an empty option field, meaning that no Broadcast Correction output via IP port is generated. |
| 2469 | </p> |
| 2470 | <p> |
| 2471 | The output format is similar to the format used for saving Broadcast Corrections in a file. |
| 2472 | </p> |
| 2473 | <p> |
| 2474 | The following is an example output for the stream from mountpoint CLK93: |
| 2475 | <pre> |
| 2476 | > ORBIT 2015 06 19 16 41 00.0 2 53 CLK93 |
| 2477 | G01 85 0.5891 -0.5124 -0.0216 -0.0001 -0.0002 0.0000 |
| 2478 | G02 25 -150.1820 11.4676 84.5216 0.4130 -0.6932 1.0159 |
| 2479 | G03 79 15.1999 141.9932 -156.4244 0.6782 -0.8607 -0.8211 |
| 2480 | ... |
| 2481 | G32 39 1.8454 0.4888 -0.3876 -0.0001 -0.0001 0.0001 |
| 2482 | R01 79 -0.0506 1.9024 -0.0120 0.0004 0.0002 -0.0000 |
| 2483 | R02 79 0.1623 0.9012 0.3984 0.0001 0.0001 0.0002 |
| 2484 | R03 79 0.3247 -2.6704 -0.0240 0.0005 -0.0002 0.0002 |
| 2485 | ... |
| 2486 | R24 79 0.7046 -0.5088 -0.0160 -0.0000 0.0000 -0.0002 |
| 2487 | > CLOCK 2015 06 19 16 41 00.0 2 53 CLK93 |
| 2488 | G01 85 -116.9441 0.0000 0.0000 |
| 2489 | G02 25 -110.4472 0.0000 0.0000 |
| 2490 | G03 79 -96.8299 0.0000 0.0000 |
| 2491 | ... |
| 2492 | G32 39 -119.2757 0.0000 0.0000 |
| 2493 | R01 79 1.5703 0.0000 0.0000 |
| 2494 | R02 79 -1.4181 0.0000 0.0000 |
| 2495 | R03 79 0.2072 0.0000 0.0000 |
| 2496 | ... |
| 2497 | R24 79 1.1292 0.0000 0.0000 |
| 2498 | > CODE_BIAS 2015 06 19 16 41 00.0 0 56 CLK93 |
| 2499 | E11 3 1B 1.3800 5Q 2.4800 7Q 2.5000 |
| 2500 | E12 3 1B 0.3900 5Q 0.6900 7Q 0.5300 |
| 2501 | E19 3 1B -1.7800 5Q -3.1900 7Q -3.0700 |
| 2502 | G01 5 1C -3.3100 1W -3.7500 2W -6.1900 2X -5.7800 5I -5.4200 |
| 2503 | G02 5 1C 3.6000 1W 3.9300 2W 6.4800 2X 0.0000 5I 0.0000 |
| 2504 | G03 5 1C -2.1600 1W -2.6500 2W -4.3600 2X -4.4800 5I -5.3400 |
| 2505 | ... |
| 2506 | G32 5 1C -1.5800 1W -1.1000 2W -1.8200 2X 0.0000 5I 0.0000 |
| 2507 | R01 4 1C -2.4900 1P -2.4900 2C -3.1500 2P -4.1200 |
| 2508 | R02 4 1C 0.3900 1P 0.2100 2C 0.4000 2P 0.3400 |
| 2509 | R03 4 1C 2.4800 1P 2.2800 2C 3.7800 2P 3.7700 |
| 2510 | ... |
| 2511 | R24 4 1C 2.7000 1P 2.7800 2C 3.9800 2P 4.6000 |
| 2512 | > PHASE_BIAS 2015 06 19 16 41 00.0 2 31 CLK93 |
| 2513 | 0 1 |
| 2514 | G01 309.37500000 0.00000000 3 1C 3.9922 1 2 6 2W 6.3568 1 2 6 5I 6.8726 1 2 6 |
| 2515 | G02 263.67187500 0.00000000 3 1C -4.0317 1 2 7 2W -6.6295 1 2 7 5I 0.0000 1 2 7 |
| 2516 | G03 267.89062500 0.00000000 3 1C 3.1267 1 2 4 2W 4.9126 1 2 4 5I 5.6478 1 2 4 |
| 2517 | ... |
| 2518 | G32 255.93750000 0.00000000 3 1C 1.3194 1 2 5 2W 2.1448 1 2 5 5I 0.0000 1 2 5 |
| 2519 | > VTEC 2015 06 19 16 41 00.0 6 1 CLK93 |
| 2520 | 1 6 6 450000.0 |
| 2521 | 16.7450 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 |
| 2522 | 4.9300 8.1600 0.0000 0.0000 0.0000 0.0000 0.0000 |
| 2523 | -4.4900 0.2550 1.0950 0.0000 0.0000 0.0000 0.0000 |
| 2524 | -2.2450 -1.9500 -0.7950 -0.4700 0.0000 0.0000 0.0000 |
| 2525 | 1.0250 -0.9000 -0.0900 0.1050 0.1450 0.0000 0.0000 |
| 2526 | 1.5500 0.9750 -0.8150 0.3600 0.0350 -0.0900 0.0000 |
| 2527 | -0.4050 0.8300 0.0800 -0.0650 0.2200 0.0150 -0.1600 |
| 2528 | 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 |
| 2529 | 0.0000 -0.1250 0.0000 0.0000 0.0000 0.0000 0.0000 |
| 2530 | 0.0000 1.0050 -0.7750 0.0000 0.0000 0.0000 0.0000 |
| 2531 | 0.0000 -0.2300 0.7150 0.7550 0.0000 0.0000 0.0000 |
| 2532 | 0.0000 -0.4100 -0.1250 0.2400 0.2700 0.0000 0.0000 |
| 2533 | 0.0000 0.0850 -0.3400 -0.0500 -0.2200 -0.0750 0.0000 |
| 2534 | 0.0000 0.2000 -0.2850 -0.0150 -0.0250 0.0900 0.0650 |
| 2535 | </pre> |
| 2536 | </p> |
| 2537 | <p> |
| 2538 | The source code for BNC comes with an example Perl script 'test_tcpip_client.pl' that allows to read BNC's Broadcast Corrections from the IP port for verification. |
| 2539 | </p> |
| 2540 | |
| 2541 | <p><img src="IMG/screenshot37.png"/></p> |
| 2542 | <p><u>Figure 17:</u> Example for pulling, saving and output of Broadcast Corrections using BNC</p> |
| 2543 | |
| 2544 | <p><h4>2.9 <a name="syncout">Feed Engine</h4></p> |
| 2545 | |
| 2546 | <p> |
| 2547 | BNC can produce synchronized or unsynchronized observations epoch by epoch from all stations and satellites to feed a real-time GNSS network engine. Observations can be streamed out through an IP port and/or saved in a local file. The output is always in the same plain ASCII format and sorted per incoming stream. |
| 2548 | </p> |
| 2549 | |
| 2550 | <p> |
| 2551 | Each epoch in the synchronized output begins with a line containing the GPS Week Number and the seconds within the GPS Week. Following lines begin with the mountpoint string of the stream which provides the observations followed by a satellite number. Specifications for satellite number, code, phase, Doppler and signal strength data follow definitions presented in the RINEX Version 3 documentation. In case of phase observations, a 'Lock Time Indicator' is added. The end of an epoch is indicated by an empty line. |
| 2552 | </p> |
| 2553 | |
| 2554 | <p> |
| 2555 | A valid 'Lock Time Indicator' is only presented for observations from RTCM Version 3 streams. The parameter provides a measure of the amount of time that has elapsed during which the receiver has maintained continuous lock on that satellite signal. If a cycle slip occurs during the previous measurement cycle, the lock indicator will be reset to Zero. In case of observations from RTCM Version 2 streams, the 'Lock Time Indicator' is always set to '-1'. |
| 2556 | </p> |
| 2557 | |
| 2558 | <p> |
| 2559 | The following table describes the format of BNC's synchronized output of GNSS observations which consists of 'Epoch Records' and 'Observation Records'. Each Epoch Record is followed by one or more Observation Records. The Observation Record is repeated for each satellite having been observed in the current epoch. The length of an Observation Record is given by the number of observation types for this satellite. |
| 2560 | </p> |
| 2561 | |
| 2562 | <p><u>Table 2:</u> Contents and format of synchronized output of observations feeding a GNSS engine</p> |
| 2563 | <p> |
| 2564 | <table> |
| 2565 | <tr><td></td><td><b>Example</b></td><td><b>Format</b></td></tr> |
| 2566 | |
| 2567 | <tr><td><b>Epoch Record</b></td><td></td><td></td></tr> |
| 2568 | <tr><td>Record Identifier</td><td>></td><td>A1</td></tr> |
| 2569 | <tr><td>GPS Week Number</td><td>1850</td><td>1X,I4</td></tr> |
| 2570 | <tr><td>GPS Seconds of Week</td><td>120556.0000000 </td><td>1X,F14.7</td></tr> |
| 2571 | |
| 2572 | <tr><td> </td><td> </td><td> </td></tr> |
| 2573 | <tr><td><b>Observation Record</b></td><td></td><td></td></tr> |
| 2574 | <tr><td>Mountpoint</td><td>WTZR0</td><td>A</td></tr> |
| 2575 | <tr><td>Satellite Number</td><td>G01</td><td>1X,A3</td></tr> |
| 2576 | |
| 2577 | <tr><td> </td><td> </td><td> </td></tr> |
| 2578 | |
| 2579 | <tr><td><u>Pseudo-Range Data</u></td><td></td><td></td></tr> |
| 2580 | <tr><td>Observation Code</td><td><b>C</b>1C</td><td>1X,A3</td></tr> |
| 2581 | <tr><td>Pseudo-Range Observation</td><td>25394034.112</td><td>1X,F14.3</td></tr> |
| 2582 | |
| 2583 | <tr><td> </td><td> </td><td> </td></tr> |
| 2584 | |
| 2585 | <tr><td><u>Carrier Phase Data</u></td><td></td><td></td></tr> |
| 2586 | <tr><td>Observation Code</td><td><b>L</b>1C</td><td>1X,A3</td></tr> |
| 2587 | <tr><td>Carrier Phase Observation</td><td>133446552.870</td><td>1X,F14.3</td></tr> |
| 2588 | <tr><td>Lock Time Indicator</td><td>11</td><td>1X,I4</td></tr> |
| 2589 | |
| 2590 | <tr><td> </td><td> </td><td> </td></tr> |
| 2591 | |
| 2592 | <tr><td><u>Doppler Data</u></td><td></td><td></td></tr> |
| 2593 | <tr><td>Observation Code</td><td><b>D</b>1C</td><td>1X,A3</td></tr> |
| 2594 | <tr><td>Doppler Observation</td><td>-87.977</td><td>1X,F14.3</td></tr> |
| 2595 | |
| 2596 | <tr><td> </td><td> </td><td> </td></tr> |
| 2597 | |
| 2598 | <tr><td><u>Signal Strength</u></td><td></td><td></td></tr> |
| 2599 | <tr><td>Observation Code</td><td><b>S</b>2W</td><td>1X,A3</td></tr> |
| 2600 | <tr><td>Observed Signal Strength </td><td>34.750</td><td>1X,F8.3</td></tr> |
| 2601 | |