Changeset 262 in ntrip for trunk/BNC/bnchelp.html
- Timestamp:
- Oct 23, 2006, 11:00:58 AM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/BNC/bnchelp.html
r261 r262 2 2 3 3 <p> 4 The BKG Ntrip Client (BNC) is a program for simultaneously retrieving real-time GNSS data streams from NTRIP broadcasters like <u>http://www.euref-ip.net/home</u> or <u>http://www.igs-ip.net/home</u>.5 </p> 6 <p> 7 BNC has been developed for the Federal Agency for Cartography and Geodesy (BKG) within the framework of the EUREF-IP Pilot Project (EUREF-IP ) and the Real-Time IGS Working Group (RTIGS).8 </p> 9 <p> 10 BNC is written under GNU General Public License (GPL). Binaries for BNC are available for Windows, Linux, and Solaris systems. It is likely that BNC can be compiled on other systems where a GNU compiler and Qt Version 4.0.1 are available.4 The BKG Ntrip Client (BNC) is a program for simultaneously retrieving, decoding and converting real-time GNSS data streams from NTRIP broadcasters like <u>http://www.euref-ip.net/home</u> or <u>http://www.igs-ip.net/home</u>. 5 </p> 6 <p> 7 BNC has been developed for the Federal Agency for Cartography and Geodesy (BKG) within the framework of the EUREF-IP Pilot Project (EUREF-IP, IP for Internet Protocol) and the Real-Time IGS Working Group (RTIGS WG). 8 </p> 9 <p> 10 BNC is written under GNU General Public License (GPL). Binaries for BNC are available for Windows, Linux, and Solaris systems. It is likely that BNC can be compiled on other systems where a GNU compiler and Qt Version 4.0.1 are installed. 11 11 </p> 12 12 <h3>Contents</h3> … … 31 31 <li>Retrieve real-time GNSS data streams available through NTRIP transport protocol,</li> 32 32 <li>Generate high-rate RINEX files to support near real-time GNSS post-processing applications, and/or</li> 33 <li>Output synchronize observations through an IP port to support real-time GNSS engines.</li>33 <li>Output synchronize observations epoch by epoch through an IP port to support real-time GNSS engines.</li> 34 34 </ul> 35 35 <p> … … 42 42 </ul> 43 43 </p> 44 <p><b>Warning</b><br> 45 BNC has the capacity to retrieve hundreds of GNSS data streams simultaneously. Please understand that it is a powerful tool that may generate a heavy workload on the NTRIP broadcaster side depending on the number of streams it requests. It is recommended to limited the number of streams where possible to avoid unnecessary workload. 46 </p> 47 <p> 44 48 <a name="options"> 45 49 <p><h3>B - Options</h3></p> … … 114 118 You may like to run BNC in a Local Area Network (LAN). LAN's are often protected by a proxy server. Enter your proxy server IP and port number in case one is operated in front of BNC. If you don't know the IP and port of your proxy server, check out the proxy server settings of your Internet browser or ask your network administrator.</p> 115 119 <p> 116 Note that IP streaming may be generally denied in a LAN. In such a case you need to request an appropriate modification of the security policy from your network administrator or ask for the installation of a TCP relay to involved NTRIP broadcasters. If that doesn't work out, run BNC o n a host that is connected to the Internet through an Internet Service Provider (ISP).120 Note that IP streaming may be generally denied in a LAN. In such a case you need to request an appropriate modification of the security policy from your network administrator or ask for the installation of a TCP relay to involved NTRIP broadcasters. If that doesn't work out, run BNC outside your LAN on a host that is connected to the Internet through an Internet Service Provider (ISP). 117 121 </p> 118 122 … … 120 124 <p> 121 125 BNC lets you output synchronized observations epoch by epoch. This output is made available in a plain ASCII format and in a binary format. The output comprises the following observations if available:</p> 122 StatID, SVPRN, GPSWeek, GPSWeeks, sec, C1, P1, P2, L1, L2, SNR1, SNR2, pCodeIndicator, cumuLossOfCont. 123 </p> 124 126 StatID, SVPRN, GPSWeek, GPSWeeks, C1, P1, P2, L1, L2, SNR1, SNR2. 127 </p> 128 <p> 129 In case an observable is unavailable, its value is set to zero '0.000'. 130 </p> 125 131 <a name="wait"> 126 132 <p><h4>B - 4.1 Wait for Full Epoch - optional</h4></p> 127 133 <p> 128 When feeding a real-time GNSS engine waiting for input epoch by epoch, BNC ignores whatever is received later then 'Wait for full epoch' seconds. A value of 2 to 5 seconds may be an appropriate choice for that, depending onthe delay you can accept for your real-time GNSS product. Default value for 'Wait for full ecpch' is 1 second.134 When feeding a real-time GNSS engine waiting for input epoch by epoch, BNC ignores whatever is received later then 'Wait for full epoch' seconds. A value of 3 to 5 seconds may be an appropriate choice for that, depending on the latency of the incoming streams and the delay you can accept for your real-time GNSS product. Default value for 'Wait for full ecpch' is 1 second. 129 135 </p> 130 136 <p> … … 162 168 const char endEpoch = 'C'; 163 169 struct Observation { 164 int flags;165 170 char StatID[5+1]; // Station ID 166 171 int SVPRN; // Satellite PRN … … 180 185 <p><h4>B - 5. RINEX</h4></p> 181 186 <p> 182 Observations are converted to RINEX Version 2.1. RINEX file names are derived by BNC from the first 4 characters of the corresponding mountpoint (4Char Station ID) while truncating the residual part of the mountpoint string. Thus, retrieving data from mountpoints FRANKFURT and WETTZELL leads to RINEX files named FRAN*.* and WETT*.*.</p> 183 <p> 184 If you retrieve streams that show mountpoints with an identical 4Char Station ID (same first 4 characters), the mountpoint string is split in two sub-strings and both become part of the RINEX file name. Example: When simultaneously retrieving data from mountpoints FRANKFURT and FRANCE, there RINEX file names are defined as FRAN*_KFURT.* and FRAN*_CE.*. 185 </p> 186 <p> 187 Note that RINEX file names for all intervals less than 1 hour follow the file name convention for 15 minutes RINEX files. 187 Observations are converted to RINEX Version 2.1. RINEX file names are derived by BNC from the first 4 characters of the corresponding mountpoint (4Char Station ID) while ommitting the residual part of the mountpoint string. Thus, retrieving data from mountpoints FRANKFURT and WETTZELL leads to hourly RINEX observation files named<br> 188 <pre> 189 FRAN{ddd}{h}.{yy}O 190 WETT{ddd}{h}.{yy}O 191 </pre> 192 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. 193 </p> 194 <p> 195 For those streams that show mountpoints with an identical 4Char Station ID (same first 4 characters), the mountpoint strings are split in two sub-strings and both become part of the RINEX file name. Example: When simultaneously retrieving data from mountpoints FRANKFURT and FRANCE, their hourly RINEX observation file names are defined as<br> 196 <pre> 197 FRAN{ddd}{h}_KFURT.{yy}O 198 FRAN{ddd}{h}_CE.{yy}O 199 </pre> 200 </p> 201 <p> 202 If several streams show exactly the same mountpoint (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 file name leading i.e. to hourly RINEX observation files like 203 <pre> 204 BRUS{ddd}{h}_0.{yy}O 205 BRUS{ddd}{h}_1.{yy}O 206 </pre> 207 </p> 208 <p> 209 Note that RINEX file names for all intervals less than 1 hour follow the file name convention for 15 minutes RINEX observation files i.e. 210 <pre> 211 FRAN{ddd}{h}{mm}.{yy}O 212 </pre> 213 where 'mm' is the starting minute within the hour. 214 </p> 215 <p> 216 BNC's RINEX observation files generally contain C1, P1, P2, L1, and L2 observations. In case an observation is unavailable, its value is set to zero '0.000'. Note that even if a RINEX file does not contain GLONASS data, the 'RINEX TYPE' field in the RINEX file header is set to 'M (MIXED)'. 188 217 </p> 189 218 … … 203 232 <p><h4>B - 5.3 RINEX File Interval - mandatory if 'RINEX directory' set</h4></p> 204 233 <p> 205 Select the interval for RINEX file generation. Default for 'RINEX file interval' is 15 minutes.234 Select the interval for the RINEX file generation. Default for 'RINEX file interval' is 15 minutes. 206 235 </p> 207 236 … … 218 247 </p> 219 248 <p> 220 Example: Mountpoints FRANKFURT and FRANCE (same 4Char Station ID) and WETTZELL lead to the generation of RINEX files FRAN*_KFURT.*, FRAN*_CE.*, and WETT*.*. The header part of these files would be overwritten by the content of existing skeleton files named FRAN_KFURT.skl, FRAN_CE.skl, and WETT.skl if 'RINEX skeleton extension' is set to 'skl'. 249 Example: RINEX files for mountpoints WETTZELL, FRANKFURT and FRANCE (same 4Char Station ID), BRUS0 from <u>www.euref-ip.net</u> and BRUS0 from <u>www.igs-ip.net</u> (same 4Char Station ID, identical mountpoint stings) would accept skeleton files named 250 <pre> 251 WETT.skl 252 FRAN_KFURT.skl 253 FRAN_CE.skl 254 BRUS_0.skl 255 BRUS_1.skl 256 </pre> 257 if 'RINEX skeleton extension' is set to 'skl'. 221 258 </p> 222 259 <p> 223 Note the following conditions regarding RINEX header skeleton files .224 <ul> 225 <li>They should contain empty header records of type :</li>260 Note the following conditions regarding RINEX header skeleton files: 261 <ul> 262 <li>They should contain empty header records of type</li> 226 263 <br> PGM / RUN BY / DATE 227 264 <br> # / TYPES OF OBSERVATIONS 228 265 <br> TIME OF FIRST OBS 229 <br>The existence of these empty records willforce BNC to include such lines in the final RINEX file header together with an additional COMMENT line mentioning the source of the stream.230 <li>They must contain an empty header record of type :</li>266 <br>The existence of these empty records force BNC to include such lines in the final RINEX file header together with an additional COMMENT line mentioning the source of the stream. 267 <li>They must contain an empty header record of type</li> 231 268 <br> END OF HEADER 232 <li>They may contain any other complete header record as defined in the RINEX Version 2.1 documentation. Itscontents may be derived from sitelog files.</li>269 <li>They may contain any other complete header record as defined in the RINEX Version 2.1 documentation. Their contents may be derived from sitelog files.</li> 233 270 </ul> 234 271 <p> … … 237 274 <p><h4>B - 5.6 Append Files</h4></p> 238 275 <p> 239 When starting BNC, new RINEX files are created by default. Probably existing files are overwritten. However, it may be desirable to append observations to already existing RINEX files following a restart of BNC after an intentional 'Stop', a system crash, or a crash BNC. Hit 'Append files' to continue with alread existing files and thus save what has been recorded so far.276 When starting BNC, new RINEX files are created by default. Probably existing files are overwritten. However, it may be desirable to append observations to already existing RINEX files following a restart of BNC after an intentional 'Stop', a system crash, or a crash of BNC. Hit 'Append files' to continue with alread existing files and thus save what has been recorded so far. Note that the option 'Append files' also concerns the 'ASCII output file' and the 'Log' file. 240 277 </p> 241 278 … … 243 280 <p><h4>B - 6. Mountpoints</h4></p> 244 281 <p> 245 Each stream on an NTRIP broadcaster is defined through a unique source ID called mountpoint. An NTRIP client like BNC can access the data of a desired stream by its mountpoint. Information about mountpoints is available through the sourcetable maintained by the NTRIP broadcaster. 282 Each stream on an NTRIP broadcaster is defined through a unique source ID called mountpoint. An NTRIP client like BNC can access the data of a desired stream by its mountpoint. Information about mountpoints is available through the sourcetable maintained by the NTRIP broadcaster. Note that it may happen that mountpoints show up in BNC more than once when retrieving strams from several NTRIP broadcasters. 246 283 </p> 247 284 … … 261 298 <p><h4>B - 6.3 Broadcaster User and Password - mandatory for protected streams</h4></p> 262 299 <p> 263 Streams on NTRIP broadcasters may be password protected. Enter a valid User ID and Passwordfor access to protected NTRIP broadcaster streams. Accounts are usually provided per NTRIP broadcaster through a registration procedure. Register through <u>http://igs.bkg.bund.de/index_ntrip_reg.htm</u> for access to protected streams on <u>www.euref-ip.net</u> and <u>www.igs-ip.net</u>.300 Streams on NTRIP broadcasters may be password protected. Enter a valid 'User' ID and 'Password' for access to protected NTRIP broadcaster streams. Accounts are usually provided per NTRIP broadcaster through a registration procedure. Register through <u>http://igs.bkg.bund.de/index_ntrip_reg.htm</u> for access to protected streams on <u>www.euref-ip.net</u> and <u>www.igs-ip.net</u>. 264 301 </p> 265 302 … … 267 304 <p><h4>B - 6.4 Get Table</h4></p> 268 305 <p> 269 Hit button 'Get Table' to download the sourcetable from the NTRIP broadcaster. Pay attention to data fields 'format' and 'format-details'. Have in mind that BNC can only decode and convert streams that come in RTCM 2.x, RTCM 3, or RTIGS format. RTCM 2.x streams must contain message types 18 and 19 while RTCM 3 streams must contain message types 1001 or 1003, better 1003 or 1004 (GPS), 1009 ,or 1010, better 1011 or 1012 (GLONASS), see data field 'format-details' for available message types and their repetition rates in brackets. Select your streams line by line, use +Shift and +Ctrl when necessary.306 Hit button 'Get Table' to download the sourcetable from the NTRIP broadcaster. Pay attention to data fields 'format' and 'format-details'. Have in mind that BNC can only decode and convert streams that come in RTCM 2.x, RTCM 3, or RTIGS format. RTCM 2.x streams must contain message types 18 and 19 while RTCM 3 streams must contain message types 1001 or 1003, better 1003 or 1004 (GPS), 1009 or 1010, better 1011 or 1012 (GLONASS), see data field 'format-details' for available message types and their repetition rates in brackets. Select your streams line by line, use +Shift and +Ctrl when necessary. 270 307 </p> 271 308 <p> … … 281 318 <p><h4>B - 6.6 Edit Mountpoints</h4></p> 282 319 <p> 283 BNC automatically selects one out of several in ternaldecoders for a stream based on its 'format' and 'format-details' as given in the sourcetable. It may happen that you need to overrule the automated decoder selection because of sourcetable setup deficiencies. Therefore BNC allows to edit (double-click) the decoder string for each stream shown under 'Mountpoints'. Accepted decoder strings allowed to be introduced are 'RTCM_2.x', 'RTCM_3', and 'RTIGS'.320 BNC automatically selects one out of several incoporated decoders for a stream based on its 'format' and 'format-details' as given in the sourcetable. It may happen that you need to overrule the automated decoder selection because of sourcetable setup deficiencies. Therefore BNC allows to edit (double-click) the decoder string for each stream shown under 'Mountpoints'. Accepted decoder strings allowed to be introduced are 'RTCM_2.x', 'RTCM_3', and 'RTIGS'. 284 321 </p> 285 322 … … 287 324 <p><h4>B - 7. Log - optional</h4></p> 288 325 <p> 289 BNC comments its activities in the 'Log' section on the main windows. Comments can be saved and concatenated in a file when entering thefull path for 'Log' file. Information is given about the communication between BNC and the NTRIP broadcaster as well as about problems that may occur concerning communication link, stream availability, stream delay, stream conversion etc. Default value for 'Log' is an empty option field, meaning that BNC comments are not saved in a file.326 BNC comments its activities in the 'Log' section on the main windows. Comments can be saved and concatenated in a file when entering a full path for 'Log' file. Information is given about the communication between BNC and the NTRIP broadcaster as well as about problems that may occur concerning communication link, stream availability, stream delay, stream conversion etc. Default value for 'Log' is an empty option field, meaning that BNC comments are not saved in a file. 290 327 </p> 291 328 … … 293 330 <p><h4>B - 8. Start</h4></p> 294 331 <p> 295 Hit 'Start' to start retrieving, decoding, and converting GNSS data streams in real-time. Note that 'Start' generally forces BNC to begin with fresh RINEX files and thus overwrite already existing files when necessary.332 Hit 'Start' to start retrieving, decoding, and converting GNSS data streams in real-time. Note that 'Start' generally forces BNC to begin with fresh RINEX files and thus overwrite probably existing files when necessary unless option 'Append files' is set. 296 333 </p> 297 334 … … 308 345 </p> 309 346 <p> 310 Note that the self-explaining contents of the configuration file or the Windows register can easily be edited. Terminate BNC running in 'no window' mode on Windows systems using the Windows Task Manager.347 Note that the self-explaining contents of the configuration file or the Windows register can easily be edited. Terminate BNC using the Windows Task Manager when running it in 'no window' mode on Windows systems. 311 348 </p> 312 349 <br> … … 321 358 </li> 322 359 <li> 323 Due to a limitation of the RTIGS format and transport protocol, streams coming in that format so far only carryGPS data.360 Due to a limitation of the RTIGS format and transport protocol, streams coming in that format can only contain GPS data. 324 361 </li> 325 362 <li> … … 451 488 <p><h4>F - 2.1 RTCM Version 2.x</h4></p> 452 489 <p> 453 Transmitting GNSS carrier phase data can be done through RTCM Version 2.x messages. Note that only RTCM Version 2.3 includesGLONASS data. Messages that may be of interest here are of type 1, 2, 3, 6, 9, 16,18/19, 20/21, and 22.490 Transmitting GNSS carrier phase data can be done through RTCM Version 2.x messages. Note that only RTCM Version 2.3 streams may include GLONASS data. Messages that may be of interest here are of type 1, 2, 3, 6, 9, 16,18/19, 20/21, and 22. 454 491 </p> 455 492 … … 484 521 <p><h4>F - 2.2 RTCM Version 3</h4></p> 485 522 <p> 486 RTCM Version 3 has been developed as a more efficient alternative to RTCM 2.x. Service providers and vendors have asked for a new standard that would be more efficient, easy to use, and more easily adaptable to new situations. The main complaint was that the Version 2 parity scheme was wasteful of bandwidth. Another complaint was that the parity is not independent from word to word. Still another was that even with so many bits devoted to parity, the actual integrity of the message was not as high as it should be. Plus, 30-bit words are awkward to handle. The new standard, Version 3,is intended to correct these weaknesses.523 RTCM Version 3 has been developed as a more efficient alternative to RTCM 2.x. Service providers and vendors have asked for a standard that would be more efficient, easy to use, and more easily adaptable to new situations. The main complaint was that the Version 2 parity scheme was wasteful of bandwidth. Another complaint was that the parity is not independent from word to word. Still another was that even with so many bits devoted to parity, the actual integrity of the message was not as high as it should be. Plus, 30-bit words are awkward to handle. The Version 3 standard is intended to correct these weaknesses. 487 524 </p> 488 525 <p> … … 517 554 <p> 518 555 Station record number 100<br> 519 Observation record number 200<br>520 Ephemeris record number 300<br>521 Meteorological record number 400556 Observation record (O_T) number 200<br> 557 Ephemeris record (E_T) number 300<br> 558 Meteorological record (M_T) number 400 522 559 </p> 523 560 <p> … … 567 604 <p><h4>F - 3.1 SOC</h4></p> 568 605 <p> 569 The SOC format has been designed in July 1999 by the Jet Propulsion Laboratory (JPL) and the California Institute of Technology (CalTech) to transport 1Hz GPS data (no GLONASS) with minimal bandwidth over the open Internet. SOC follows the 'little-endian' byte order meaning that the low-order byte of a number is stored in memory at the lowest address, and the high-order byte at the highest address. (The little end comes first.) Because the transport layer is UDP, the format does not include sync bits, a checksumor cyclic redundancy checksum (CRC). SOC allows to transport the GPS observable CA, P1, P2, L1, and L2, efficiently compressed down to 14 bytes with 1 mm range resolution and 0.02 mm phase resolution. SOC contains epochs for cycle slips, a stand-alone time-tag per epoch, a minimum representation of the receiver's clock solution, 3 SNR numbers, a unique site id, a modulo 12 hour sequence number and flags for receiver type and GPS health. SOC's simple structure comprises an 8 byte header, a 9 byte overhead for timetag, number of gps, etc., plus 21 data bytes per gps.606 The SOC format has been designed in July 1999 by the Jet Propulsion Laboratory (JPL) and the California Institute of Technology (CalTech) to transport 1Hz GPS data (no GLONASS) with minimal bandwidth over the open Internet. SOC follows the 'little-endian' byte order meaning that the low-order byte of a number is stored in memory at the lowest address, and the high-order byte at the highest address. Because the transport layer is UDP, the format does not include sync bits, a checksum, or cyclic redundancy checksum (CRC). SOC allows to transport the GPS observable CA, P1, P2, L1, and L2, efficiently compressed down to 14 bytes with 1 mm range resolution and 0.02 mm phase resolution. SOC contains epochs for cycle slips, a stand-alone time-tag per epoch, a minimum representation of the receiver's clock solution, 3 SNR numbers, a unique site id, a modulo 12 hour sequence number and flags for receiver type and GPS health. SOC's simple structure comprises an 8 byte header, a 9 byte overhead for timetag, number of gps, etc., plus 21 data bytes per gps. 570 607 </p> 571 608 <p>
Note:
See TracChangeset
for help on using the changeset viewer.