Home

Section 2 RtkNav

image

Contents

1. Ready 5 el Figure 2 37 Displaying Waypoints in the Plot Window After displaying your waypoint list in the Plot View window you can also join any two lines in the above plot or you can define boundary vertices and join any polygon defining the boundary Be sure to enter your polygon vertices in order to define the boundary plot correctly To define a boundary plot make sure that a follows the longitude entry in the waypoint file See Section 2 5 1 2 5 4 Displaying Boundary Lines in the Waypoint Plot Window Displaying a boundary consists of joining the points defined as polygon vertices in the waypoint list This can be done via Waypoints Connect Polygon Points See Figure 2 38 Mi RTKNav Plot View El x File View Plot Processing Waypoints Window Help alla ele a ME El View Edit Waypoints List FEB Mark al ele Auto Previous Advance 100m 08 867495 09 08 0 867444 08 08 0 a 0 D none Ge st3 A test2 AA test est5 Ready EE Figure 2 38 Joining Polygon Vertex Points in the Waypoint List 43 Version 3 15 You now have defined a boundary using your current waypoint list Similarly any two points can be joined via Waypoints Draw Line Between Selected 2 5 5 Marking the Current Remote Point as a Waypoint If you are interested in marking points as you go you may mark the current remote receiver position as a new waypoint Thi
2. The Config section contains the following Name of cfg file This file contains the commands sent to RtDLL which are the processing settings Process Mode This could be single frequency dual frequency or C A only In addition KAR can be enabled or disabled see Section 5 3 10 The LineUpMode defines how multiple remotes are synchronized see Section 8 2 1 Verbose ON would print additional messages to the screen if it is not made console port see Section 8 2 1 In MULTIENGINE version 2 1 VERBOSE ON also writes a file called multiengine log to the hard disk VERBOSE ON is NOT RECOMMENDED for operational use It should only be used for possible analysis of GPS data Version 3 15 8 1 3 Adding Ports Port A port definition must be added for each port used by RtEngine Ports may be used for the following purposes GPS receiver data input Output Command ports Rebroadcasting of receiver data For each port to be added an port number must be assigned This number should not be confused with either the comport number or the network port number It is a arbitrary number between 1 and 1023 and it is used to differentiate ports The following port types exist Normally only serial and network ports are used Serial This is a comport on the computer The baud rate and comport number must be defined Additional information such as the parity can optionally be set Network This is a TCP IP socket port Network ports
3. 5 Failed to re open ephemeris file 6 Invalid type of logfile 9 3 31 SendDataBuffer Description Sends a buffer of bytes to the serial or network device Category Data Port When to use After port is opened Pitfalls Sending too many buffers at once may overload the internal buffers which are 8K Prototype int __stdcall SendDataBuffer int PortNum void Buf int BufSize Input PortNum Port number to send byte to Buf buffer of bytes to send out port BufSize Number of bytes in Buf Output none Return 0 success 1 failure see GetLastSioError 9 3 32 SendDataByte Description Sends one byte to the serial or network device 162 Chapter 9 Using SIOGPS Category Data Port When to use After port is opened Pitfalls Less efficient than SendDataBuffer Prototype int __stdcall SendDataByte int PortNum unsigned char OutByte Input PortNum Port number to send byte to OutByte 0 255 byte value Output none Return 0 success 1 failure see GetLastSioError 9 3 33 SendDataString Description This function sends a NULL terminated string to a particular device This function also sends a carriage return OxOD and line feed Ox0A before and after the string SendDataString is useful for sending ASCII commands to a GPS receiver Category Data Port When to use After port is opened Use to aid in receiver configuration Pitfalls Do not send binary data To send bytes without CRLF use SendDataBuffer
4. GPS attitude option only Unique station id for the master station file Required with MASTER_FILE command for attitude determination These are the coordinates of the master station The latitude and longitude must be entered in degrees minutes seconds with spaces in between For those only interested in differential vectors between the stations a rough pseudorange position is sufficient This can be found using the VIEWGPB utility or selecting interactive input from the first menu and selecting an averaged position If the antenna height metres is not present this value will be assumed to be zero Latitude is positive in the Northern Hemisphere and negative in the Southern Hemisphere Longitude is positive in the Eastern Hemisphere and negative in the Western Hemisphere Americas Moving Baseline Option Only If ON this indicates to the GrafMov module that the base station is in dynamic mode as well as the remote If MOVING_BASE OFF conventional processing is performed MOV file is an ASCII output of the local level vectors associated with relative moving baseline processing RTK option only Indicates the number of epochs of data that are to be buffered in memory The program will process the oldest set of non processed measurements 174 Appendix A Summary of Commands OMIT_SATS sv sv2 This is a list of satellites PRN numbers to omit from processing This may need to be done if a satellite is bad Th
5. KAR needs to be engaged because successful ambiguity determination is essential in heading and pitch determination KAR cannot engage unless the data is set to KINEMATIC and the moving baseline option must be engaged as typically the entire GPS antenna configuration will be moving simultaneously 2 3 8 RTStatic Options Aimed at near real time deformation monitoring applications RtStatic uses Waypoint s GrafNav processing engine to provide Fixed Static solutions in near real time Millimeter coordinate changes on slow moving features such as slopes or dams are obtained by filtering of the time history of the Fixed Static solutions 34 Chapter 2 RTKNav Processing Configuration General Advanced E xtrapol KAR Standard Deviation Heading and Pitch RTStatic Option User Defined Data Interval seconds Update Kinematic Soln Time Span o 3 Initial Position 7200 H seconds 0 H C No Update with Fixed Solution Initialized Position 3600 seconds Overlap Filter Time Window 24 hours with Filtered Son Cancel Figure 2 25 RtStatic Option Data Interval This value indicates the processing interval used to calculate the fixed static Time Span Overlap Filter Time Window solution Thirty seconds is a good value as it is not generally beneficial to process static data at a higher rate than this Processing static data at a higher interval will often prod
6. network data to your own computer This means that you can use network ports to send data to another instance of RTKNav on your own computer MULTICAST like UDP sends data to every computer in a local network The difference between UDP and MULTICAST is that a MULTICAST user must type in an IP address This address is actually denoting a user group All MULTICAST Win32 users must join a group with an IP addresses of between 224 0 0 0 and 240 0 0 0 RTKNav defaults to a user group address of 234 5 6 7 MULTICAST users must type in a group IP address whether they are sending or receiving data NOTE MULTICAST may not work on some Win95 computers UDP may be used in an equivalent fashion c TCP protocol TCP may be used in either local or wide area networks Local network users will probably not use TCP since in TCP you must know the IP address of the computer that you are sending data to TCP is used to send data over the Internet and must be used to send data outside your local network In principle this protocol will send your data to any point in the world which has a static IP address and is on the internet TCP users do not have to know an IP address if they are receiving data The computer that is sending data to you must know your local IP address To obtain the IP address of your computer open a command line prompt by going to Windows Start Menu Run Type cmd into the blank space and click OK In the DOS window that appea
7. pConnect 152 Chapter 9 Using SIOGPS Input PortNum Port number to get information for Output pConnect CONNECTPARAM structure where Size sizeof CONNECTPARAM use must fill this in PortNum Filled in by function if successful Should be used as a check PortType SIO_NETWORK SIO_SERIAL IsOpen TRUE if port is successfully opened IsConnected Only applicable for network ports Indicates true if another party is connected to the port NetType This indicates the type of network port e g SIO_TCP SIO_UDP SIO_MULTICAST NetTransmitMode Mode defined by OpenSioPort SIO_SOCKSEND SIO_SOCKRECIVE SIO_SOCKSERVER or SIO_SOCKREBROADCAST ConnectNetlp Character string of IP address connected to most practical for TCP connections ConnectNetPort Network port number connected to Return none 9 3 12 GetDataBytesToBeRead Description Returns number of data bytes in the input buffers for a particular device Category Data Port When to use Before reading Pitfalls Currently not implemented may be added in the future Prototype int __stdcall GetDataBytesToBeRead int PortNum Input PortNum Port number Output none Return 1 Function not available or other error see GetSioLastError NumBytes Number of bytes in the input buffers 9 3 13 GetDataTotalBytes Description This returns the total number of bytes that have either been read or written to a port It is useful in conjunction with LogRtkData as the
8. 2 5 1 Defining Waypoints and Boundary Plots RTKNav allows you to load a list of waypoints and or enter and edit waypoints interactively These are pre determined points that you may wish to navigate to or alternately avoid in real time Another use in deformation monitoring might be to inspect visually the movement of an antenna in real time with respect to the a priori coordinates of an object Boundaries can be defined by choosing certain waypoints as vertices of a polygon Waypoints can be e Loaded from a simple ASCII text file e Edited interactively e Marked in real time 41 Version 3 15 2 5 2 Loading Waypoints from the Menu 0 En w Help Fale Petch R ole Hele dell Mester y Toolbars gt z 4 Status Bar Waypoints E E Receiver Status f Processing Status Plot Solution Data Filename Waypnts dat Change Save Waypoint List indicates polygon vertex Satellite Data Vector Data 50 58 44 500 114 00 42 600 Add He est 50 58 46 500 114 00 43 600 ion Data test3 50 58 48 500 114 00 44 600 x Edit test4 50 58 40 500 114 00 40 600 test5 50 58 40 500 114 00 39 000 gt Delete new 50 58 43 455 114 00 42 013 hugh 50 58 42 998 114 00 42 017 Waypoint Edit x Name new_point Latitude DD MM 55 555 D p p 0 Longitude DD MM 55 555 wl fe fe fo T Polygon Vertex Cancel Ready Y Figure 2 36 Waypoints
9. Ephemeris must be added to RtDLL independently SIO_INPRAW for reading byte for byte binary from the file Be sure to increase the databuffers within RtDLL to compensate for files loosing synchronization DelayMs For SIO_INPRAW mode only this is the number of milliseconds to wait between reading each data block defined by RecSize RecSize Number of bytes to read for each data block SIO_INPRAW mode only 9 2 7 Filling in RXCFGPARAM for connecting to a GPS receiver This can be used by all modes of input It is used to define the receiver type and settings for configuring and decoding data Size RxType RxSubType Datalnterval PosInterval AskForEvent AskForEph sizeof RXCFGPARAM or 0 to ignore Type of GPS receiver See gps_io h B_XXXX for a list of possible receivers to choose from Not all receivers listed in gps_io h are implemented in SIOGPS Model of the GPS receiver This is used to distinguish data formats or different configurations required by the same manufacturer These are ID_XXXX given in siogps h See Section 8 2 3 and 9 1 7 for valid combinations of RxType and RxSubType Interval for requesting measurement record Interval for requesting position record True if camera event marks are to be requested may be ignored for some receivers True if ephemeris records are to be requested may be ignored for some receivers 140 Chapter 9 Using SIOGPS AskForSatVis True if satellite visibility records a
10. Figure 2 11 Base and Remote GPS Receivers have been added 2 1 3 Adding Output Ports RTKNav allows you to send processed coordinate and quality information for each baseline out either a serial or network port RTKNav also allows for multiple output ports as well as so called command ports Command ports are two way ports that an external user can utilize to receive data from and send commands to RTKNav For instance a user logged into a TELNET session will be able to start RTKNav from a remote location and send it a rich list of commands In the following however we will limit the discussion to one output port Output ports send a combination of the following ASCII records out a serial or Ethernet port e RTSOL gpstime R phi lamda ht sdh sdv ve vn vh nsats S K qf dd_dop status status O no solution 1 single point 2 DGPS 3 RTK 4 RTK errors 5 estimated RTK RTSLE gpstime R phi lamda ht sdh sdv ve vn vh nsats S K qf dd_dop status F L CaRms L1Rms e RTUTM gpstime R east north ht zone sdh sdv nsats S K qf dd_dop status F L e RTSAT gpstime R nsats prn1 elev1 az1 amb1 lock1 prn2 elev2 az2 amb2 lock2 e RTBIN NBytes hex values e RTSIO gpstime age latency num M time nsats R 1 time nsats R2 time nsats e RTKDC gpstime AIIPF ambPF Rel relPF num_intersections e RTKAR gpstime R rms rel pass_fail P F fltfixed sec_used sec_engaged avg_sats freq S D 21 Version 3 15 e RTATT gpstime roll pitch head
11. K af Quality factor best 1 worst 6 no RTK solution 7 dd_dop Double difference DOP PDOP status No solution 0 single point 1 DGPS 2 RTK 3 RTK errors 4 latency Estimated latency of the last solution how far behind This value does not take into account the latency within the GPS receiver and the transmission time of this record XX Checksum hex Same definition as NMEA bitwise XOR between and not including the and Example RTSOL 150210 00 R 1 50 97861102 114 01166575 1015 056 0 082 0 113 0 06 0 00 0 12 6 K 3 1 94 3 0 040 4C 6 2 3 GPAVL Record The format of the GPAVL record is as follows R utc lat lon ht veast vnorth vup gpstime xecef yecef zecef vxecef vyecef vzecef checksum Where R Remote number R1 R2 Utc UTC milliseconds of the day Lat latitude degrees Lon longitude degrees Ht Height meters Veast Velocity East 87 Version 3 15 Vnorth Velocity North Vup Velocity Up Gpstime seconds of the week Xecef X ECEF coordinate Yecef Y ECEF coordinate Zecef Z ECEF coordinate Vxecef X ECEF velocity Vyecef Y ECEF velocity Vzecef Z ECEF velocity Checksum Checksum cr If 6 2 4 RTVEC Record The RTVEC record outputs the local level vector between the master and remote This vector is computed as follows X Y Rotate BCEE master gt remote vector to local level using geographic position of master Z Difference between remote and master ele
12. PORTINFOSTRUCT structure eee 139 SEEEP iaa 80 software developer 93 ee te E 39 SOLUTION cocinado 80 Spectral denia cee sei eee 175 Standard deviaton 45 89 START at 81 Start e E 45 Start PTOCESSINS ireua nin iii e Ea a e 37 SIS eelere E 44 60 119 STATIC oa 82 static diagnostics ooooooccnccocconcnnconocononcnnnranonacnncnnonacnnon 52 Static marker coooooocnccnnononcnconononconnconoconoconocnnconnconnnnno 134 Static solution status 51 SAUS ot e 78 STATUS ita 81 SE MESSAGES cocinera 77 Status record ia 85 ORK SE 82 STOP tas 81 Stops log Mica e 83 structure PACKING inenen ra ees 132 T MA ar eiiis 65 67 118 124 PCP AA 11 17 65 66 67 118 124 139 ERR ii did 16 A OO 21 65 67 TS Lao sete asa sched as AAEE OA 70 thread buffer CHANGIN E 165 definition a 134 extracing records From 161 TOC ti testis tee Bioeth 134 TIME ia 83 types of data Connections ooonccoccnonaccncnnnonnnnncnncnann 139 U UCP ota wna hein Sela tie aisle 118 UDP EE 10 17 124 139 Universal Transverse Mercator 89 L IR 67 UNLOGAE Locus ia 83 UNLOGREC incita 83 Unpacking Datalicnniconiii ida 93 USB io aa 9 USB multi port sera 3 User Defined icon 36 LR WEE 89 V VERSION cute e 84 VIEWOPDB ia ee tee 59 Visual Basica oir 132 W waypoint USIO o reesei ae aeaa A 57 Waypoint Plot Window s es 43 WHOAM D etere ae e tri isa 68 84 WEE E E E EEE S 17 45 53 Write Data to Disk 30 Write Epochs Containing Bad Data 31 Xx A Ee E
13. RTKAR KAR information record each time KAR is resolved RTKDC Can be ignored for most applications KAR distance constraint record RTSIO Status record of datalogging An interval must be requested for this record one a specified interval RTBIN Output of binary solution structure from RtDLL see gps_epsol_type structure in engine h You may need to request this structure from the Waypoint Products Group NovAtel Inc This record is only suitable for software programmers The interval is in seconds It is necessary for the RTSIO record and optional for the reset If it is not used the specified record will be outputted each time a new record becomes available i e on remote data input interval Example logrec this rtvec 5 0 76 Chapter 5 Command Port Interface Result SRTVEC 67345 00 R1 0 006 0 001 0 002 0 018 0 023 K 6 2 3 5B SRTVEC 67345 00 R2 0 000 0 002 0 002 0 018 0 023 K 6 2 3 5D SRTVEC 67350 00 R1 0 006 0 000 0 002 0 018 0 023 K 6 2 3 5E SRTVEC 67350 00 R2 0 001 0 001 0 001 0 018 0 023 K 6 2 3 58 SRTVEC 67355 00 R1 0 006 0 000 0 001 0 018 0 023 K 6 2 3 75 SRTVEC 67355 00 R2 0 000 0 000 0 000 0 018 0 023 K 6 2 3 5C 5 3 17 MASTERPOS Command Allows user to enter the position of the master station The latitude and longitude values can be inputted in either decimal degrees or degrees minutes seconds This command will only take effect if the
14. many narrow correlator receivers have a C A code measurement of 1 to 3 metres which is much lower than the default value of 7 metres Normally users do not have to change these values In extreme GPS environments it may be useful to give more weight to the code measurements and less weight to the phase measurements Tracking sounding rockets is an example of this These carry single frequency receivers to heights of 1000 km Changing the phase to 0 20 m and the code to 2 0 m dampens the effects of uncorrected atmosphere on the phase measurements Note that raising the L1 phase standard 33 Version 3 15 deviation also requires a raising of the rejection tolerance ratios of 4 to 1 or 5 to 1 normally work well 2 3 7 Heading and Pitch Processing Configuration x General Advanced E xtrapol KAR Standard Deviation Heading and Pitch RTStatic Option UserDefined Geoid Turn Moving Baseline ON Suggested Turn Base and Remote to KINEMATIC Mode Suggested Engage KAR Apply Distance Constraint for KAR Antenna Distance Separation m Std Dev m Figure 2 24 Heading and Pitch Given a three GPS receiver configuration RTKNav has the ability to compute roll pitch and azimuth If this option is selected the following suggestions are listed e Turn Moving Baseline ON via the Advanced Extrapol tab e Turn Base and Remote to KINEMATIC Mode via View Project Configuration e Engage KAR via the KAR tab
15. network or decoding user port see Section 9 2 3 CloseSioPort Stops rebroadcasting closes port and stops logging 146 Chapter 9 Using SIOGPS Utility GetLastSioError Fills a string with the last error message SetAddMessage Permits messages from logging and other warnings to be sent to the callback function SioWaitSec Waits for a specified time use Windows Sleep instead IsPortValid Returns TRUE if port is connected Configuration ConfigureReceiver Sends commands to GPS receiver serial ports only GpsShutDown Sends commands to a GPS receiver to tell it to stop outputting records Decoding OpenDecoder Permits decoding to start on a port Not normally used as OpenSioPort also calls this function FreeDecoder Frees memory for decoding CloseSioPort calls this function as well SetDecoderOptions Allows user to set decoding options see rxopt h FillDecoderDefaults Fills a buffer with the defaults for a given port that is configured as connected to a GPS receiver DecodeOneB yte Used to add one byte to the decoding routines Fills thread buffer with decoded records 1f any SetStaticKinematicMode Defines whether future epochs are to be static or kinematic Rebroadcast StartRebroadcast Engages rebroadcasting of GPS raw data to another port Ports must be opened first StopRebroadcast Stops rebroadcasting does not close ports Multi ReadGpsPort Reads data from a GPS port
16. the data logger uses the 2000 NT device driver 4 1 1 Getting Started To begin collecting data with WLOG simply use the New Project Wizard by selecting File New Project Setting up a new project with the Wizard consists of the following steps 1 Choose File New Project 2 Type in a project name if you wish to store data to disk The project file stores information on the various settings used for logging data Click Next 3 Select the appropriate receiver type 4 Select a data interval at which to record data 5 Select the appropriate Receiver COM Port 6 Check the Request Camera Marks box if you want camera marks Note this option is only available for certain NovAtel and Ashtech receivers Version 3 15 Ta New Project Step 2 of 10 x GPS Receiver Parameters ReceiverT ype a SH Novatel 3151 a Novatel Millenium dh Novatel OEM4 2h OEM4 Compressec GPS Com Port Novatel GPS Glor la A v Novatel 2151 Data Interval y Frequency 7 EL V Request Camera Marks CIS T Re compute Position Y Send Revr Configuration lt Back Cancel Figure 4 1 Selecting Receiver Options 7 NovAtel and Ashtech receiver users have the option to send ASCII Commands to the receiver This can be used to shut off commands or over ride various receiver commands Refer to your receiver manual for information on these commands 8 Select the Computer COM Port
17. 0 5 very small cycle slips 1 cycle can be detected However on longer data intervals gt 5 sec this may produce false cycle slips due to noise in the phase Therefore the default value is 10 cycles Default SAAS Two different tropo models can be selected 178 Appendix A Summary of Commands TIME_CORR 0 0 0 0 VECTOR_UPDATE OFF ON OFF ON VECTOR_FILE fname CRD VEL_DENSITY 1 0 WRITE_BAD_EPOCHS OFF ON WRITE_RESIDUALS ON OFF Seconds Time correction to master and remote files This may be useful if a receiver has logged data in UTC time rather than GPS time Filter Constraint OFF or ON Kalman filter to use input distance constraint KAR distance constraint OFF ON distance constraint used in KAR solution GPS attitude option only GPS attitude option only Input coordinate file for calibration of the initial antenna attitude quantities This is the spectral density of the velocity states You may wish to increase this value under very high dynamics This value should be left at 1 0 default Default is OFF Use ON to write bad data to the FWD REV files This option is useful if the user wishes to view data at epochs where the RMS_TOL values are exceeded Normally data which is greater than RMS_TOL is not written to file default OFF If ON then write out each L1 phase and CA code residual for each satellite to a RL1 and RCA file 179 APPENDIX B ATTITUDE SOF
18. 2 3 Master Remote group This group defines the parameters for the serial port connected to the master GPS receiver or radio The base station position can also be defined here note the changes from version 1 1 Parameter Description FilePrefix prefix If this parameter is used then raw GPS and ephemeris data will be logged to the prefix gpb and prefix epp in GPB mode Otherwise raw receiver data Default is no raw data logging see FileMode as well FileMode mode mode is OFF GPB RAW Number RemoteNumber Remote only RemoteNumber is the remote ID number 1 2 3 Each remote must have a sequential number There cannot be any gaps For one remote processing this parameter will be assumed to be 1 if not defined PortNum AssignedPortNum AssignedPortNum port number assigned in Port Interval value value defines the data interval that the GPS receiver is to output raw data at Default is 1 0 Receiver RxType RxSubType RxType NOVATEL ASHTECH CMC NAVSTAR ROCKWELL JAVAD or RADIO For NOVATEL the RxSubType can be either 2151 or 3151 For Millenium receivers the 3151 setting must be used OEM4 also supported For ASHTECH the RxSubType can be one of MACM G12 GG24 or Z12 For MARCONI RxSubType is ALLSTAR For NAVSTAR RxSubType is XR5 or XR6 For ROCKWELL RxSubType is JUPITER For the RADIO CURRENTLY NOT SUPPORTED RxPort portID PortID is P for primary and S for secondary A B may also be use
19. 41 30 23 14 50 04 48 10 10 21 30 1 2 2 1 1 1 Time H M S Julian Day Figure 3 3 Static plot of R1 The values from this graph are obtained from differencing fixed static solutions at 15 minute intervals by default from the initially computed solution This graph therefore shows the difference or apparent movement in the remote antenna over time with respect to it s initial position In addition to the failed fixed static solutions this plot shows by default filtered east and north coordinates For analysis purposes these are the best indicators of movement in the antenna as the height coordinate is typically determined with less accuracy than the horizontal coordinates The filtered coordinates are obtained after a low pass filter is applied to the passed fixed static solutions The failed fixed static solutions are immediately rejected and are not used in this filter This serves to smooth solutions that do not follow the trend of neighboring points thus providing a better indication of overall receiver movement The user can plot a variety of other values by right clicking on the graph shown in Figure 3 3 After doing this a properties dialog box appears with two tabs 49 Version 3 15 Properties Remote 1 x Scale Data Y Axis Position Delta Auto Vv 0 001 lt meters Y Maximum 0 001 X Axis Time History H 5 days Auto Y Maximum Figure 3 4 Scale
20. 64 430 17 207794 974231 129 48 207794 1200 64 207794 757634 1200 64 708 24 227988 mem 1597 28 227988 1200 64 227988 452976 1200 64 359 5 237343 941330 2826 07 237343 1200 64 237343 734212 1200 64 232 6 213397 233851 2512 11 213397 1200 64 213397 182033 1200 64 579 29 244624 787701 3906 46 244624 34 64 244624 583432 34 64 13 0 E 21 246874 638877 3543 21 246874 640 64 246874 496076 188 64 143 10 205843 185061 435 89 205843 1200 64 205843 143999 1200 64 70 0 Epoch 6089 13238 Figure 4 7 GPB Viewer 4 2 1 Why Use ViewGPB 1 If you were unable to switch the remote data from KINEMATIC to STATIC or vice versa while collecting data you can change the kinematic marker in the binary file This is also useful if you did not use the real time logging software provided such as logging internally in the receiver This is important if you wish to process kinematic data Go to the epoch where the kinematic static is to start To change the process mode go to Edit Switch Static Kinematic and enter the number of epochs that you want switched Choose whether the data will be switched to static or kinematic If you have cycle slip problems you can go to the epoch with the problem by using the Search option which allows you to search by Second Epoch or H M S By examining the phase and phase rate Doppler measurement at the previous epoch you can compute
21. 68 79 serial POLIS caesce dei staat diese a ben civetecowtbins 71 Changing settngs ce eeseesesseceeesecseeeeeseeeees 164 configuring in SIOGPS AAA 139 determining if here 157 SETCO EE 79 Setup installation s ssesessesseeeesseserseeseserseesessesees 117 single point GPS solution ooonconccnonnonoconononnonacancnnon 61 SI PS ii 3 SIOGPS and RE siria noni 141 CloseSioLibrary oooocononconoonnononiononononnononon ans cronos 149 CloseSioLogFlle scort 149 CloseSiGPort ivan ios 149 CLOSING Potts ue ai 146 149 ConfigureRecelvel pois ienes ess 148 DecodeOneByte coooooccccccccocconnconoconccnncnocnnos 144 149 EnableDisablePort AA 150 error MOSSALES nAi oeae EE PEA EA 154 examples for USING oooooooonoccconoconcoonconcconccnnconncnnos 142 factory defaults gettng 151 FILEINPPARAM structure 140 FllDecodert efaults 151 EreeDecod iii tas 151 fonction et ninia dins EENG 146 GetData Buffer 152 GetDataByte oooooconcnonnnocnncnnonnnnnnconoconocnnos 144 151 GetDataBytesToBeRead AAA 153 GetDatabPortonpnectlnfo 152 GetataTotalbvtes AAA 153 GetLastSioEITOT ocoocccncnonnononnnonconcnononacononnonannnos 154 GetThreadBufRecCount oooconnnccccnnoncccnnnnns 134 154 GetThreadBufRecSize ooooooconococcnonoccconccnnanonannnos 155 GetThreadBufSize coooocnccnocononaccnnnnnnonacnncnncnncnnos 155 Petting Starter 136 CGpsbhurt own 155 TnitSioLibrary sesser 137 156 159 Iptrodueton crono nono nconnconncnnos 131 Jeborttnabled A
22. 71036 20 19 43 56 20 10 22 2000 NSats 8 Lat 50 58 42 99999 Latency 0 040 s Lon 114 00 42 00002 CaRms 0 58 m Hgt 1015 000 m L1Rms 0 0008 m Vec 0 000 0 000 0 000 m Speed 0 095 m s SD H 0 015 SD V 0 028 m DDDop 2 23 KAR OFF Amb FLOAT Debt 2 CH SV Elev Azim Lock Ambiguity 01 25 38 64 BASE 02 19 27 239 259 636 0 03 28 29 162 2 5 92 gt 198 0 04 01 64 292 255 5810 05 22 48 123 255 608 0 06 04 E9 30 209 163 0 07 20 Ep 205 255 490 0 08 13 36 288 255 263 0 80 Chapter 5 Command Port Interface Where Time GPS time in GMT time zone Latency Is the estimated latency It may not be very accurate i e 100 ms since RTKNav does not accept a PPS input For re broadcasted data inputs accuracy is even poorer This is because it is difficult to estimate network delays SD H Horizontal 1 sigma height standard deviation estimated by the Kalman filter SD V Vertical 1 sigma height standard deviation estimated by the Kalman filter Amb This is either FLOAT or FIXED and indicates if the ambiguities have been fixed or not Ofact Quality factor 1 best 6 worste Normally 1 fixed integer solution 2 stable float 3 amp 4 converging float 5 amp 6 DGPS These are only guidelines and actual accuracies may vary Lock Seconds that a satellite has been locked on for 5 3 23 START STOP Commands In the current versions of RTKNav these two commands have little meaning In RTKNav STOP will shut down the com
23. Be sure to include the master station its local level or ECEF coordinates will be 0 0 0 if the same master is used throughout The first station which is often the master station is termed the reference station it will be given final body coordinates of 0 0 0 e Constraint information Information on how to define the body coordinate system is required There are two possibilities o Angular definition You can specify absolute angles within the body frame between two stations from and to This will define the axes Three angles need to be specified The body azimuth is rotation about the z axis and defines heading The easiest approach is to pick two stations along one axis but this is not required Roll and Pitch are defined by tilt values Preferably these tilt values Tilt x and Tilt y are orthogonal and along the body x and y axes However you will have to do your best For these inputs enter the vertical angular difference between the level plane and the vector between the from and to stations See Figure B 3 for an example 4m Gah lee Starboard View x 2 3 sh ee 6 2m Top view Figure B 3 Local Level Coordinate System The body azimuth is defined as 90 from stations 2 to 3 The tilt along the x axis Tilt x is defined as 14 04 from stations 2 to 3 This is computed using the formula 0 tan Zto Ztrom HzDist where HzDist is the horizontal distance m The tilt along the y
24. IP SERIAL serial ports FILE read GPS data from file see DiskRead in Config CONSOLE RtEngine display screen num defines the communications port number 1 2 3 There is no default and must be used baud defines the baud rate 1200 2400 4800 The default is 9600 The parity can either be O for odd E for even or N for none The default is N one a b c d IP Address For UDP IP address is 255 255 255 255 while for MULTICAST it is 224 to 240 for a For TCP the IP address should be 0 0 0 0 for receive ports ie command and GPS receiver ports and it should be the destination IP for send ports i e output or rebroadcast ports NetPortNum is 1 65535 NetPortNums less than 1024 are reserved e g FTP TELNET HTTP 124 Chapter 8 RtEngine Protocol protocol mode protocol is MULTICAST UDP or TCP see Chapter 1 Section 10 mode is NORMAL or RAW Currently only NORMAL is supported NetMode netmode netmode is RECEIVE for GPS data input SEND for output ports REBROADCAST for a rebroadcast port and SERVER for command ports TCP suggested For FILE type InputFile FileName FileName is the input GPB or RAW data file Note that DiskRead parameter in Config must be used FileOpt delay recsize delay is milliseconds delay between reading each record For RAW mode recsize will override the recsize from the DiskRead parameter in Config For CONSOLE no options 8
25. L2 minutes KAR_CUBE 1 20 4 00 Kinematic ambiguity resolution cube size m Standard deviations and tolerances RANGE_SD 700 C A code stdev m PHASE_SD 0 020 L1 phase stdev m PHASE_RATE_SD 1 000 L1 phase rate stdev m AUTO_DOP_SD ON On for auto doppler standard dev PCODE_SD 2 00 P code stdev m RMS_TOL 0 10 25 0 10 0 1 0 L1 CA P RMS tolerance m PPM scale LOCKTIME_CUTOFF 4 0 Carrier Locktime cutoff seconds Moving baseline options MOVING_BASE OFF DISK_WRITE OFF Write Data To Disk NUM_DATA_BUFFERS 300 Data Buffer Size The following are Additional user items EXTRAPOL_EPOCHS 4 60 ISSUE_KAR_TIME on 30 VERBOSE ON REJECT_PSR ON 15 00 130 CHAPTER 9 USING SIOGPS Section 1 Introduction and FAQ 9 1 1 What is SIOGPS SIOGPS is the communications library that RtkNav uses to communicate with serial ports and network ports sockets It also contains the decoding routines that convert raw GPS data to Waypoint s GPB format see gps_io h which is the data structure used to send raw measurements to RtDLL The sample source code and structure definition comes with the developer s kit This must be purchased in addition to RtkNav 9 1 2 How can I use SIOGPS As you may have gathered there are a tremendous number of functions contained within SIOGPS When this manual was written there were 42 functions T
26. Loaded from the Menu Figure 2 36 shows what occurs on selecting the View Waypoints In this case a simple waypoint file called WAYPNT DAT has been loaded from the hard disk Waypoint files have the following format WA YPNT DAT is used as an example Name latitude degrees minutes seconds longitude degrees minutes seconds optional test 50 58 44 500000000009 114 0 42 599999999982 test2 50 58 46 500000000016 114 0 43 599999999998 test3 50 58 48 499999999997 114 0 44 600000000065 test4 50 58 40 499999999996 114 0 40 600000000001 new 50 58 43 455012698966 114 0 42 012714166015 hugh 50 58 42 998050950986 114 0 42 017246776385 Note that the is used to designate the vertex of some point defining a boundary RTKNav will join these points with lines to indicate boundary limits provided the waypoints are actually points on the boundary that you are interest in An example might be the limits of an airplane test range This boundary could be used for range safety purposes 2 5 3 Displaying Waypoints To display the waypoints that you have loaded or added select View Plot or click on the Plot Position tool button as shown below in Figure 2 37 42 Chapter 2 RTKNav 8 RTKNav Plot View File View Plot Processing Waypoints Window Help jeju ejej a elel ela a A test3 A test2 A testl PRN 24 for 2 W IME cycle sii 3 test est5 Lat 50 58 44 262 Lon 114 046 739
27. LogRtkData DecodeOneByte and ReadGpsPort The structure if this buffer is given in threadbuf h but users do not need to be concerned with the internal structure because sufficient interface functions are available Users will want to mainly use two functions although there are more available a GetThreadBufRecCount is used to determine how many of a type of record exists For most records there tends not to be more than one of that record available In many cases there may be none of a particular record in the thread buffer However for the GPS measurement data i e record TB_REC_MBEN this number if greater than zero will be the number of satellites tracked b ReadThreadBufData is used to extract all of the records of a particular type into an array The following table shows what types of records can be inserted into the thread buffer 134 Chapter 9 Using SIOGPS Macro ID Description Structure Header Used by Name file RtDLL 1 TB_REC _PBEN Position record pben_bin_type gps_io h Y 2 TB_REC_ Measurement record mben_bin_type gps_io h Y MBEN for each satellite 3 TB_REC_ Ephemeris record ret_gpseph_ threadbuf h Y GPSEPH type 4 TB_REC_LOCK Locktime values with ret_locktime threadbuf h N better resolution than type mben_bin_type 5 TB_REC_SAT Satellite elevation ret_satvis_type threadbuf h N azimuth 6 TB_REC POS Positi
28. R2 phi Latitude in decimal degrees lamda Longitude in decimal degrees ht Height in metres sdh Horizontal standard deviation 1 sigma in metres sdv Vertical standard deviation in metres ve vn vh East north and vertical velocity in m s Vehicle track can be computed from the ve and vn quantities e g atan2 ve vn nsats Number of satellites used in the solution S K Mode static S kinematic K af Quality factor best 1 worst 6 no RTK solution 7 dd_dop Double difference DOP PDOP status No solution 0 single point 1 DGPS 2 RTK 3 RTK errors 4 F L U Fixed integer ambiguity status fixed F float L unknown U LIRms L1 carrier RMS m CaRms C A code RMS m XX Checksum hex Same definition as NMEA bitwise XOR between and not including the and Example RTSLE 150390 00 R1 51 0 114 0 1014 9991 0 020 0 026 0 02 0 05 0 03 6 K 1 1 83 3 F 0 77 0 0020 3E 6 2 6 RTUTM Record This record contains the position expressed in the Universal Transverse Mercator projection Currently the zone is picked automatically for each remote Therefore position near the zone boundary may result in different zones for different remotes In the future a SETZONE command may be added to the command port interface Format RTUTM gpstime R east north ht zone sdh sdv nsats S K qf dd_dop status F L U XX Where gpstime Solution time in GPS seconds of the week This position may be latent by th
29. SIO_UCP for UDP communications SIO_TCP for TCP mode See Ofor a description of these modes This is the port number to be used 1 65535 For GPS data connections values above 1024 are highly suggested in order to avoid conflicts This is the character string containing the IP address of the port being connected to In TCP mode if this port is being used as a server or receive port i e it 1s being connected to by somebody else then use 0 0 0 0 In UDP mode use 255 255 255 255 In MULTICAST mode use 234 5 6 7 This defines the mode for connection to the other port 139 Version 3 15 SIO_SOCKSEND Connecting to another port mostly for sending purposes This should be used for sending data to a specific location SIO_SOCKRECEIVE Waiting to be connected from another port mostly for receiving purposes This should be used for connecting to GPS receivers SIO_SOCKREBROADCAST This port is used for setting up a rebroadcast port in tandem with a receive port for a given GPS receiver SIO_SOCKSERVER This is used by RtkNav to implement the command port and is best combined with TCP mode RawFlag Not used right now Set to false 9 2 6 Filling in FILEINPPARAM for using for reading from files This structure if only used for SIO_FILE mode This is an input only port Size sizeof FILEINPPARAM or 0 to ignore FileName Name of file to open for reading InpType SIO_INPGPB for reading from GPB files
30. Serial Port MuliCast leiren COM1 e Leet Network Protocol TCPAP Network UDP E Multicast TEP C UDP C TCP Baud Rate Network Mode bad 3200 Seyer Network Mode Server Client Client Port Number Port Number 6007 6008 Destination IP Address Destination IP Address PEEP PERE Bach Cancel Figure 2 16 Replay GPB file setup In the Select GPS Type window identify the unit as either the master or the remote file as shown in Figure 2 8 and Figure 2 9 Enter the base station coordinates if it is a base station and specify the elevation value as ellipsoidal or orthometric Click Next Finally in the GPS Mode window the user must locate the path of the GPB file and an appropriate ephemeris EPP file to go along with it See Figure 2 17 25 Version 3 15 Add GPS Unit Wizard Step 3 of 3 MS zl Which Port On the GPS Unit will ou Be Using 4 2 At what Interval Would You Like the GPS Unit to Output Data 7 fi 0 EZ ES In What Processing Mode Will This Unit Start Choose GPB File e Static Browse C Kinematic Log This Units Data Tio 4 File 7 What Type of File 7 Yes GPB File C Ho Raw File File Prefix fiesta Write GPE Every E seconds Figure 2 17 Locate the path of the GPB file The user must also specify whether this data is static or kinematic for the receiver added The user should also check the mode in GPB Viewer see Chapter 4 Section 2 as well to ma
31. TREDAN TEE 81 Network g E E E EAEE TEESE 67 118 Network Port 10 84 Network Port Number AAA 10 network ports configuring in SIOGPS AAA 139 getting information about 152 Network Protocol saisissante 10 NMEA ocioteca 71 85 118 NMEA standard eonna aiie 85 NMEBA 0183 iio 86 NovAtel Mc ii INS Vis aati aeaa Ea E have aaaea aA EE koe 82 Number of satellitesS oooonnonnnonnnnonononnconnnoncnonnnnns 82 NumEph rta dish 82 O ert LEE 175 On ntery l e session a 85 On Remote sperrir aea i 85 On SolUtlo scooter s 85 opening POTS notas 137 OUT file aaa EA 31 QUUPUL ct 71 tut ees sei cae tcs sites 118 Output Data Interval 0 eee cee eseeeeeeeeeeeeeee 20 output flecos 59 OutPut Ports iii 21 Output Records 85 P PARTIALS cuina 123 PATH 117 Plot Vi Wien ta 41 iere Ow iii eit 43 Poly DOM iniciar a 43 NEE 66 Porra do 118 port NUMDET aeieea aneen 10 65 132 Neger LEE 17 Process Mode cicionnconicnsaisiocaone cortina 117 PTOCESSING iia ri 45 processing d rectHon 175 Processing Options oocoocccococccncononononcnnnonncnacnncononacinos 29 Processing Settings ooncoonononncnonnnonccnonacancnncnnnanarnnonos 27 DrocessMode neten sirenen gnia nke 120 123 Project Configuration cooonnccnoninconcnnnoncnononannncnonacinos 22 A TA 68 Q UA ee NE ee Ut Cee Ae 81 QUICK TE 176 R R20 imita 14 Radio dink coccion 82 tange SALCCY 6 50 accdeases ius saeco ici are iiet 42 RA Wo alah aes 124 PAW DIMALY E 11 Raw Files
32. Tab Properties Remote 1 x Scale Data Height Raw East Filtered orth Filtered Oo oO El El O height Filtered O IW O El East Kinematic orth Kinematic Height Kinematic Failed Static Cancel Figure 3 5 Data Tab The above two Figures show the default values of both tabs As shown the X and Y scales of the graph can be adjusted on the scale tab and the plotted data can be changed in the data tab Plotting the raw data simply shows the data before the low pass filter is applied This plot will be much nosier and thus much harder to interpret especially in height Plotting the kinematic solutions will simply show the current kinematic solution obtained by the standard RTKNav processor This solution while unreliable to determine very gradual movement over extended periods of time will show relatively fast movement or apparent movement in real time However due to the nature of this solution it is subject to much more noise and residuals from epoch to epoch can be large As an example of the effectiveness of the low pass filter at removing noise from the plot look at the following plot that shows both the unfiltered height rough line and the filtered height smooth line on the same graph 50 Chapter 3 RTStatic Static Plot View R1 Oo x f Unfiltered Height Filtered sa A Height a X Failed Solution ke a 30 06 34 50 12 08 10 17 41 30 23 14 50 04 48
33. acceptable 8 1 14 Attitude determination Requires 1 moving base and 2 or 3 moving remotes Antenna positions must be pre calibrated and known in local body coordinate system of vessel Antennae must be stable with respect to each other Steps to perform attitude determination e Create body coordinates of vessel using calibration survey Each antenna needs a local coordinate on the vessel which are used to define the axes for computing roll pitch and 121 Version 3 15 heading see Appendix B To compute body coordinates the Conv3D exe program must be used It can be requested from the Waypoint Products Group NovAtel Inc if not installed with this software look in the installation directory Instructions are located in Appendix B e Save the coordinates CRD vector file to the directory containing the IN and CFG files Give it a meaningful name e Enable moving baseline by adding the MOVING_BASE ON command In RtkNav enable moving baseline processing from the Advanced tab e Add the CFG command VECTOR_FILE FileName crd use the User Defined tab This is the file created in Conv3D exe e Add the CFG command ATTITUDE COMPUTE user defined options in RtkNav e Add the CFG command DIST_UPDATE OFF ON o The first input disables vector input in Kalman filter which causes divergence while the second enables distance constraints in KAR which is important e Add the CFG command VECTOR_SD 0 02 o This uses a 2 cm standar
34. and tries to decode it purpose It will return once one or more records have been decoded or there is no more data in buffers LogRtkData This function does much the same as above except that it also sends the raw data to callback functions defined in the OpenSioPort function see Section 9 2 3 Enable EnableDisablePort This function can be used to stop logging and Disable decoding of a problem port IsPortEnabled Returns TRUE if a port is enabled i e has not been disabled Data Ports SetSerialDataPort Can be used to alter the comport settings i e baud parity etc for a given serial port ReConnectDataPort Used primarily with network ports This function can be used to re establish a port that is not responding It closes the port and tries to re open it IsSerialPortAvailable Returns true if a comport number has a valid serial port attached and another application is not using it Should be called before ports are opened GetDataByte Gets one byte from the opened port Return 1 if none there GetDataBuffer Gets a buffer from the opened port GetDataBytesToBeRead Gets number of data bytes in buffers 147 Version 3 15 GetDataTotalBytes Gets total number of bytes read or written to from a port SendDataString Sends a NULL terminated string to the port It will send a CR LF after sending the string SendDataByte Send one byte to the port SendDataBuffer Send buffer to the
35. area network ports to allow other instances of RTKNav to process the same data at another location or even on the same computer One use for this might be to allow a second copy of RTKNav to process only one of several baselines in order to examine its particular behaviour The original instance of RTKNav would collect and process all of the baseline information As well the processed data information can be output in a number of ASCII formats to either serial or networks ports This allows other programs to receive processed high precision coordinate and quality information either locally or by the Internet i RTKN av Plot View File View Plot Processing Window Help 5510 ee al slel elle sr Alvaser 2 ajalx AutoScale Receiver Status StdDev Bytes Records 6 5 64 0 00 25975 e 5 K 64 1 23 41885 DE 7 K 64 1 68 42245 Lock Elev Az Amb 255 395 1594 4767 Sat Status View R1 fx Solution Data View Remote 1 Data View Remote 1 Time of Last Fix 21 49 38 00 Std Deviation m s Horiz 0 693 Speed m s Vert 1 014 COG ms Figure 2 1 RTKNav Project Lat 50 58 44 498 Lon 114 042 726 7 C NI Version 3 15 Section 1 Getting Started The following section describes step by step how to start using RTKNav 2 1 1 Running RTKNav Before processing the user must start a new project or open an existing project RTKNav initially creates
36. arguments are encased by and This indicates that this argument is optional The brackets should not be typed Port Receiver References Many of the commands are specific for given port receiver i e master or remote and command port or assigned port name Assigning port names is a future feature of RTKNav To reference an assigned port number use PH Where refers to the assigned port number not the network or comport number For example P600 refers to port 600 Valid port assigned numbers range from 1 to 1023 To reference the master receiver use M To reference a certain remote receiver use R Where refers to the remote number 1 2 3 For example R3 refers to remote 3 Finally you may wish to refer to the current command port that you are connected to In this case use THIS Again case is not important When a command usage shows P M R This means that any one of these can be used More than one port definition may NOT be used Command Results Outputs Some of the commands have an argument REC or REC to show that it is optional When used the result of this command will be encased in a NMEA style record This makes for easy ready 70 Chapter 5 Command Port Interface by your software program For a command that outputs multiple records e g DIR or LISTPORTS command then the first record will be RESULT DIR BEGIN 11 While the last will be RESULT DIR END 19 Each command w
37. axis cannot be directly observed therefore an approximation of the tilt must be made either by using stations 3 to 1 or 2 to 1 Using 2 to 1 Tilt y can be set to 0 0 More details are given in the Procedure Section 183 Version 3 15 o Coordinate definition If externally obtained i e surveyed antenna phase centre coordinates are available then these can be used to define the body coordinate system With a proper survey this method may produce more accurate results than the angle based method Since the final coordinates of the reference station are 0 0 0 all input body coordinate measurements must be referenced to this station i e the body coordinates of the reference station must be subtracted from each coordinate Therefore the coordinates for this reference point must be known Minimums of three body coordinate measurements are required for stations other than the reference In order to generate a proper seed value one of these stations other than the reference must have both X and Y set Best results are obtained with an X Y and Z set on one station and Z on another Procedure The Make Body Coordinates dialog box is shown below in Figure B 4 It must be filled in the following manner before the final computation can be made Make Body Coordinates E x File name C GPSData UT exas Replay body_new crd D Input GPS Antenna Station Reference Definition L
38. baseline lengths are not too long then the orthometric height can be used for the master to determine orthometric heights at each remote 119 Version 3 15 8 1 10 Setting the ProcessMode Another important aspect in running RtEngine is to set the processing mode This is also defined in the IN file Most importantly whether the receiver is single frequency or dual frequency must be set This is the first item in the ProcessMode command The second parameter must be FLOAT while the third can enable Kinematic Ambiguity Resolution KAR KAR allows RtEngine to fix carrier phase ambiguities to integer values which delivers centimetre accuracies KAR is similar to other on the fly algorithms KAR works very well for dual frequency receivers and can obtain integer solutions in a few minutes after a loss of lock For single frequency KAR can be used but should only be used in open conditions with minimal loss of lock and multipath 8 1 11 Moving Baseline Processing Moving baseline processing occurs when the user wishes to obtain relative position and velocity information between base and n remotes and the base is not stationary In order to perform moving baseline processing the following command must be added to the CFG MOVING_BASE ON For azimuth and attitude determination this command must also be used For moving baseline processing it is also important that the master and remotes be defined as kinematic This is perform
39. be returned at once In addition some record types e g TB_REC_MBEN TB_REC_SAT and TB_REC_ LOCK return arrays of records Prototype int __stdcall GetThreadBufRecCount void ThreadBuf int RecID Input ThreadBuf Thread buffer returned from DecodeOneByte ReadGpsPort and LogRtkData RecID Record ID to determine how many exist in ThreadBuf This will be one of TB_REC_ shown in threadbuf h See thread buffer FAQ in Section 3 Output none Return Number of records in of that type or 0 if none 154 Chapter 9 Using SIOGPS 9 3 16 GetThreadBufRecSize Description Returns the structure size of a particular record This is used to ensure Category When to use Pitfalls Prototype Input Output Return compatibility between the SIOGPS DLL and your current source code ThreadBuf Before using Read ThreadBufData and after thread buffer has been filled by DecodeOneByte ReadGpsPort or LogRtkData Make sure that structures are packed Only works for records contained in threadbuf int __stdcall GetThreadBufRecSize void ThreadBuf int RecID ThreadBuf Thread buffer returned from DecodeOneByte ReadGpsPort and LogRtkData RecID Record ID for determining size of This will be one of TB_REC_ shown in threadbuf h See thread buffer FAQ in Section 3 none structure size of record corresponding to RecID see Section 3 for list of records 9 3 17 GetThreadBufSize Description
40. behind This value does not take into account the latency within the GPS receiver and the transmission time of this record num Number of stations to follow XX Checksum hex For each station M or R Master or Remote Number time Time of last incoming record GPS seconds of the week nsats Number of satellites tracked Example SRTSIO 149935 9 0 155 0 040 3 M 149935 8 5 R1 149935 8 7 R2 149935 8 5 31 6 2 8 RTSAT Record This record lists the available satellites for a remote It indicates the number of satellites used for processing and the elevation azimuth locktime and ambiguity for each 90 Chapter 6 Output Records Format RTSAT gpstime R nsats prn elev1 az amb1 lock prn2 elev2 az2 amb2 lock2 XX Where gpstime Solution time in GPS seconds of the week This position may be latent by the time estimated in the RTSIO records latency R This indicates the remote number i e R1 R2 nsats Number of satellites used in the solution 4 values per satellite to follow XX Checksum hex For each satellite prn Satellite PRN number elev Satellite elevation in degrees az Satellite azimuth in degrees amb Satellite ambiguity in cycles only shows last one thousand cycles e g 1000 0 to 1000 0 lock Seconds since the last cycle slip may be 255 max Example RTSAT 149580 00 R2 5 25 67 148 0 0 255 29 30 77 350 3 255 21 11 129 706 4 255 11 35 227 474 9 255 30 21 58 666 4 255 31 6 2 9 RTATT Reco
41. box is the GPS time current at the time that the dialog box has been invoked by hitting the F5 key or using the Events menu option The Mode has been toggled to kinematic by hitting the F3 key or using the Events Static Kinematic menu option 4 1 7 Output Files If a project name has been entered into the Log Data dialog box the data logger will output measurement files in Waypoint s binary GPB format ephemeris files in an ASCII EPP format and STA files which are ASCII files associated with event marks Section 2 ViewGPB GPB files are in a binary format and so cannot be viewed with a normal text editor ViewGPB allows you to both view your data and edit it in limited ways A picture of the program is shown below in Figure 4 7 59 Version 3 15 Se GPB iew D GPSData inertial TMAP gps gpb d oj xj File Move Edit Help E ori y toos la Header Information T Position Information File gps gpb Epoch Time 60395 000 Time 16 46 35 000 Epp File gps epp CorrectedTime 60394 999186 Date 05 02 2004 Receiver Ashtech GPS Receiver Time 60395 000000 Week 1269 Ax Sub Type Latitude 44 30 38 27748 Mode Kinematic Ephemerides 39 Longitude 102 55 37 71561 Date Created 5 20 2004 9 12 27 Height 815 932 Format NEW Clock Shift 243944 250 Num Sats 8 Sv CARange LiPhasel Diop P1 Range C1 _P2Range _L2Phase __Lk2 _C2 _ 30 218598 225399 1282 20 218598 1200 64 218598 166713 1200
42. cil Rika ae 20 reading port in SIOGPS AA 151 Re Broadeast eiert Ee ara aan 18 Version 3 15 Re Broadcast Data 11 re broadcasted data 81 rebroadcasting data 134 REC oso ii its 70 receiver COonltguration 133 140 Receiver Data ion 28 Receiver Malla nia 45 TECEIVED PE isis 82 Recemer Dype eene Ze ae dian 18 TECELVEDTY DES oca 133 CIN Sia 45 recompute position and clock s es 61 RED EE 82 red Ms iio oa 45 Remote roupas irpini aeia 125 remote initialization ooooonnnnnnnncnnncnncnnccnnnnnnnncanccnnoo 48 remote n mb r osese naan rni e ia 70 remote station ocooonoocnoconoconononnonnconnconccnn i iiie 177 Remote oir E e 118 REPEAT oiin iain nn eens 78 replaying data secie aen ae ia e etas 123 Replaying data 24 Reset Filter at Bad Epoche 31 DEE 80 revision IO EE 11 A A EE E EEEE 177 RTA TT iia asa 22 85 RIBIN usan 21 76 85 92 RTEM Torpedo tits 1 RK coat 2 and SIOGPS uc 141 RIED NE are 2 117 122 RTKAR cian 21 76 85 92 RPKD O oia tb 21 76 85 REKNAV ee 1 13 65 RtkNavR20 iii 15 REN awe 15 RTSA Tinte 21 76 85 91 RESIO ad 21 76 85 90 RTSLE una 21 76 85 88 RTSOL coo 21 76 85 87 RUE E 2 47 Blose diene 49 RTU TM ostia 21 76 85 89 RTVE C i Susie eee eaten 22 76 85 88 120 S Samples CEG File ranas 129 Sample AN Fleitas 127 Satellite information oooonconncnincnonnconnooncornconocrnccnnconos 85 salt ii ais 80 SD D 81 EM eet 81 RN 65 Seal il abi 118 serial Piti nio 16
43. different elevation angle used for processing and tracking However missing ephemerides can also cause fewer satellites to be processed Seconds since the last valid record was received 5 3 25 STOP Command See START command 82 Chapter 5 Command Port Interface 5 3 26 TIME Command This command displays the estimated current GPS time Due to inaccuracies in receiver and input record latency this value is only accurate to 50 500 ms If no valid GPS data is incoming this value will only display the current CPU time Usage TIME REC Example time Result GPS time 72828 970 seconds Time 20 13 48 970 Date 10 22 2000 CPU time 189900 162 seconds CPU usage N A Where GPS time Seconds since the beginning of the week 0 604800 Time Current HH MM SS SSS Date Current MM DD YY Y Y CPU time Result of GetTickCount windows API function Seconds since computer startup CPU usage Percentage of CPU that RTKNav is using Only available for Windows NT or 2000 5 3 27 UNLOGALL Command Stops logging all records for a given port Can also stop logging all records on all ports The UNLOGREC command is used to stop logging individual records Usage UNLOGALL P THIS ALL Example unlogall this 5 3 28 UNLOGREC Command Stops logging a certain record on a given port Record logging is started via the LOGREC command RTKNav interface or defined in the IN file Use the UNLOGALL command to stop logging all records for a
44. distance between two antennas SDEV indicates the standard deviation of the measured distance Default off RTK only Default is OFF Indicates whether output is to be written to the hard disk DUAL_FREQUENCY on off on off off relative free ELEV_MASK angle END_TIME gps_time EPH_FILE file epp EXCEL_FILE file csv OFF ON Use P code for long baseline processing OFF ON Use L2 phase for ambiguity resolution OFF RELATIVE FREE Use relative ionospheric correction or long baseline L3 iono free baseline processing Cut off elevation for excluding satellites from the computations This value is expressed in degrees This elevation mask value may have to be increased to 15 degrees or more in high multi path environments or during ionospheric storms Some data tracked under 10 degrees may exhibit noise characteristics Default value is 15 0 Time to stop processing in GPS seconds The default value is 999999 0 For reverse processing the default is 0 0 File that contains the satellite ephemeris information The default is master_file epp This is an ASCII file of all the information position time RMS and ambiguities that is comma delimited This file can be easily read into a 170 Appendix A Summary of Commands EXTRAPOL_EPOCHS nExtrap MaxSec FIX_AMB sv amb_value GEN_FILE fname gen HL_PORT port_address INTERVAL master_int remote_int IONO_DIST dist_in_km spreadsheet
45. double difference dop drift on ambiguities Meas rms in kalman filter m p_rms dl_rms number of consecutives epochs lt 4 satellites status of KAR solution KAR_ O not engaged KAR_OFF 1 estimating KAR_ESTIMATING 2 search failed will try again KAR_FAILED 3 failed too much time KAR_TIMEOUT 4 passed tests KAR_PASSED 5 navigating with passed solution KAR_NAV second that kar has been enaged for 1 only data below is valid only filled in for 2 amp 4 RMS of best intersection reliability m 999 not available 0 single 1 dual number of seconds used average satellites used passed or failed O failed 1 passed number of meas that passed tests number of meas that failed tests number of total measurements processed number of satellites withoug ephemeredes 112 Chapter 7 RtDLL int sk_mode O static 1 kinematic char extra 256 int num_sats number of satellites gps_satsol_type chan MAX_ENGINE_CHAN data for each channel gps_blsol_type This structure is available for each remote The corr_time is the exact time corrected for receiver clock biases The sol_status can have one of the following values define SOLUTION_NONE 0 defineSOLUTION_SINGPT 1 define SOLUTION_DGPS 2 define SOLUTION_KALMAN 3 Phi and lamda are the geographic lati
46. dual frequency measurements Code Only Processing accuracy to 5 metres The default processing mode for RTKNav is single frequency float code phase with the base station being considered static and the remotes being considered kinematic Users may need to change these default settings if they wish to achieve any of the following Dual frequency processing Use of on the fly kinematic ambiguity resolution Use of code only processing If you wish to change the time allowed for which data must be received from all remotes before processing is allowed Moving baseline processing Heading and pitch determination Use of RtStatic DLL for a fixed static solution Step 11 Choose Your Processing Configuration To view the Configure Project dialog box go to View Project Configuration Then to view the processing settings click on the Processing tab See Figure 2 19 27 Version 3 15 Configure Project test01 xl Receivers Processing Output Receiver Data Processing Configuration Single Frequency Manual Startup from Menu Bar C Dual Frequency C CIA Code Only C Auto Detect C AutoStart from IN file or Cmd Line Kinematic Ambiguity Resolution KAR r Moving Baseline IT KAR On 7 I Moving Baseline ON E FastKAR On Dual Freg Only Lineup Mode Remote data must be received within specified time 250 msecs C All data must be received on time C Extrapolate master to min
47. engine RtGpsx dll can be configured with a wide variety of commands Some of these are very useful or even essential for some applications Some applications that might require additional processing commands are e Moving Baseline applications any ship to buoy s or airplane to airplane s applications will require the moving baseline option to be turned ON In addition moving baseline users should define their base station data as kinematic not static e Deformation analysis perform Kinematic Ambiguity Resolution KAR at given time intervals New to version 3 11 is RtStatic which computes fixed static solutions in near real time e Orthometric heights can be computed real time using a Waypoint Geoid file WPG using the geoid32 dll The user can enter the base station coordinates in ellipsoidal height or orthometric height and have the output as ellipsoidal height or orthometric height e Bad pseudoranges can be rejected with the user command REJECT_PSR see Appendix A Summary of Commands It should be noted that although the RtGpsx dll Kalman filter can be commanded with a large number of options most applications will be able to use the default options as set internally by RTKNav Moving baseline users are an important exception to this as RTKNav must be told that you intend to use it in Moving Baseline mode Please remember that once a IN and a CFG file have been created and saved RTKNav will read and adopt all values in these f
48. function Sending data while receiving can sometimes jam the ports Be cautious of the correct baud rate Prototype int __stdcall SendDataString int PortNum char Str Input PortNum Port number to send data string to Str NULL terminated string Output none Return 0 success 1 failure see GetLastSioError 9 3 34 SetAddMessage Description Sets callback function that is to receive any decoding or logging warnings or error messages especially for debugging Category Utility When to use Call after InitSioLibrary Pitfalls Make sure that you define your callback function properly i e stdeall with C prototype gpstime lt 0 indicates that time is not known Prototype void __stdcall SetAddMessage ADDMESSAGE cbAddMessage Input cbAddMessage Pointer to callback message It should be defined as void __stdcall AddMessage double gpstime char str 163 Version 3 15 Output none Return none 9 3 35 SetDecoderOptions Description This function can be used to override the internal decoding options for a particular receiver The header file rxopt h has structures for each of the various formats To retrieve the internal defaults i e defined by SIOGPS use the FillDecoderDefaults function Category Decoders When to use After opening a port and before decoding data or calling LogRtkData Pitfalls Make sure that correct structure is used for the receiver type and sub type that you have selec
49. in Figure 2 28 37 38 Version 3 15 RTKNay Processing Status Message View File Edit View Messages Commands Processing Waypoints Window Help Dja jul Al ajej Ela AALI 2 master AR From tart Processing Jr None z al ax AutoScale z none 0 000 0 000 Start Collecting and Processing Receiver Data Figure 2 28 Start Processing Data Note that prior to processing the receiver icons are RED to indicate no data is being logged RTKNav will now send configuration commands to each GPS receiver at the baud rates you have chosen If the GPS receivers respond to these configuration messages the icons will turn YELLOW If RTKNav receives measurement data from all of the receivers and ephemeris data from at least one receiver baseline solutions will begin to be computed If a baseline solution has been successfully computed the icons will turn GREEN as shown in Figure 2 29 RTKNay Processing Status Message View ll x File Edit Yiew Messages Commands Processing Waypoints Window Help Di a bell jejej al sjej lela EA kA ki 2 Master AEA From None BG None 3 JReceiver Status E Processing Status Message View O x T 594389 4 Received ephemeris for prn 594389 4 Received ephemeris for prn 3 Select Waypoint to Navigate From Figure 2 29 Successful Start Up Chapter 2 RTKNav 2 4 2 Display Remote Coordinates an
50. int NumRemotes number of remotes currently being processed int MasterRxType B_XXX int RemoteRxType MAX_REMOTE B_XXX for each remote char err_str 1024 error string used internally function to process data from one GPS receiver input Lei PortNum port number for a particular receiver IsMaster true if master RemoteIndex index of remote number 0 1 2 RxType receiver type see gps_io h ThreadBuf buffer used for decoding records void UnlogReceiver int PortNum int IsMaster int RemoteIndex int RxType void ThreadBuf 144 Chapter 9 Using SIOGPS int byte continously grab bytes until none left while byte Sio hGetDataByte PortNum gt 0 decode data byte i e add to decoding buffers int r Sio hDecodeOneByte PortNum byte ThreadBuf extract measurement data determine if position and measurement records available first if Sio hGetThreadBufRecCount ThreadBuf TB_REC_PBEN amp amp Sio hGetThreadBufRecCount ThreadBuf TB_REC_MBEN gps_epoch_type EpochData memset amp EpochData 0 sizeof gps_epoch_type EpochData b_hdr receiver RxType if ReadThreadBufData ThreadBuf TB_REC_PBEN 1 amp EpochData b_pben ReadThreadBufData ThreadBuf TB_REC_MBEN MAX_ENGINE_CHAN EpochData b_mben print error message as this should not happen continue grab system time which is used for lineing data up in RtDLL
51. length of times which RTKNav will perform float code phase solutions before attempting to resolve ambiguities on the fly Users in poor GPS environments may want to increase these times The time needed for a dual frequency receiver to resolve ambiguities can often be lowered in good GPS conditions Cube Size These are the regions of space that will be searched for the correct combination of phase ambiguities Decreasing these sizes reduces the likelihood of finding the correct intersection However increasing them will significantly increase KAR computation times Normally these options do not need changing Engage KAR Should the Engage KAR Every n minutes be selected RTKNav will also engage upon loss of lock and at the start of the data This option is preferable to many users in that it provides some level of protection against a bad KAR fix If KAR calculates the wrong solution it will be completely independently recomputed n minutes later This is in contrast to the default option in which it is only recalculated upon loss of lock Search Filter These are considered advanced options and only need to be changed by users with experience using KAR The KAR search interval controls how often KAR performs a search By default this is every 30 seconds for single frequency and 15 seconds for dual frequency For specialized applications that need very fast ambiguity resolution these values can be lowered 32 Chapter 2 RTKNav Da
52. method and the coordinate based method If the coordinates of the antennae were entered in an ECEF frame then check the Input in ECEF box o Angle Observation Method Select two stations suitable for the definition of levelness along the x axis Tilt x Set the To and From station IDs Enter the value of the angle in degrees between the level plane vector between from and to station A positive value is required if the To station is above the From station while a negative value is required if the To station is below See Figure B 6 6 atan H D Figure B 6 Angle Observation Method The same procedure is repeated for Tilt y Define the horizontal axes by entering a body azimuth between two stations 0 would be the positive body y axis and 90 would be the positive body x axis See Figure B 7 185 Version 3 15 From To Figure B 7 Angle Observation Method o Coordinate Observation Method Using known body coordinate values coordinate observations can be added Compute the body coordinates for two or more stations in addition to the reference station Subtract the body coordinate values of the reference station to obtain relative coordinate values Add body coordinate observations one value at a time by pressing the Add button Ideally X Y and Z should be added for one station and Z for another Values should not be added for the reference station Add Edit Body Coord Obs EN Station Value 9 1 12 Ent
53. moving baseline processing since this will be the base position in kinematic mode Note that latitude phi is in degrees and positive for the Northern Hemisphere and is negative in the Southern 108 Chapter 7 RtDLL Hemisphere Longitude lamda is positive for the Eastern Hemisphere and negative for the Western Hemisphere Important The num_sats variable indicates the number of valid mben_bin_type structures that contain data It is very important that this variable be filled in Important Bit 1 in the status variable should reflect if the vehicle is moving 1 or stationary 0 This is required for each remote For moving baseline processing this bit must be set properly for the master as well 111 mben_bin_type raw GPS measurement data typedef struct measurement record 44 bytes short size size in bytes char prn prn number unsigned char locktime seconds since last loss of lock 255 max 0 no loss of lock double ca_range ca pseudo range in meters double phase_11 phase in cycles on ca channel double phase_rate_11 phase_rate in cycles double p1_range pcode on 12 m double p2_range 12 phase in cycles mben_bin_type The satellite prn number ranges from 1 32 The locktime indicates the number of seconds since carrier loss of lock This can be reset when the receiver indicates a cycle slip It should range from 1 255 If the locktime is greater
54. numerous commands that can be sent to RtGPsx dll The User Defined options are all listed in the dialog box below along with help in the Command Information box Review the attached Appendix for a description of the commands that be added These are generally used to modify commands that are not normally used See Figure 2 26 x General Advanced E xtrapol KAR Standard Deviation Heading and Pitch RTStatic Option Geoid Command pe Value space Add Command Information Remove Cancel Figure 2 26 User Defined Options ISSUE_KAR_TIME is an example of a user defined command This particular command is very useful in deformation analysis where a static or near static baseline must be continuously determined to high accuracy This command forces RTKNav to re do kinematic ambiguity resolution every n minutes Itis recommended for any users who wish to retain high precision for very long periods of time 2 3 10 Geoid Options This feature will allow the user to compute orthometric heights while processing real time or when replaying a GPB file Itis important that the user has a valid WPG file that spans the area of interest so that the geoid height can be computed See Figure 2 27 36 Chapter 2 RTKNav x General Advanced E xtrapol KAR Standard Deviation Heading and Pitch ATStatic Option User Defined Geoid r Base Station Height Reference p Enable Geoid Correct
55. of the graphics that RTKNav has but with the command interface it is a very powerful tool RtEngine requires Windows 95 98 NT 2000 or XP to run It will not run under DOS See Chapter 8 for a description of how to use RtEngine Section 4 What are RtDLL amp SioGps RtDLL is the GPS differential processing engine used by RTKNav and RtEngine Software developers may be interested in this package as it allows them to add full RTK processing capabilities to their own software The later chapters of this manual discuss how to access Chapter 1 Introduction RtDLL Users must purchase the development kit in order to obtain the sample source code and header files necessary to utilize the DLL SioGps is the serial network communications DLL used by RtEngine RTKNav and the GPS Data logger This DLL has many functions within it and can be used in a number of ways For instance a user can collect GPS data using their own communications routines and use a DecodeOneByte routine to unravel the necessary raw data logs in the GPS data A user can also use the serial and network communications routines to connect directly the GPS receiver Like RtDLL the development kit must be purchased to access these routines See Chapter 7 for more information on RtDII and Chapter 9 for SIOGPS Section 5 What You Need To Start In order to get RTKNav running the following items are required e Computer with RTKNav installed See Section 6 for installa
56. of two error messages FATAL ERR Hardlock error Hardware key is intended for a software version older than what is being used reinstall older version or upgrade key There has been a few cases where failed or intermittent locks have been encountered These usually return an error labeled FATAL ERR Hardlock error Waypoint hardware key not found Check printer port error code 3 Test procedures have improved but if the problem occurs the lock will need to be replaced Note that an RMA number is required before a shipment will be accepted Please contact you dealer for instructions Otherwise the error code number that is shown in the error message corresponds to the following Table 1 1 Definition of Hardlock Error Codes Pron ERROR MESSAGE DESCRIPTION CODE 0 SUCCESS See your language s Include File for valid INVALID FUNCTION API function codes Generally this error 1 CODE should not occur if you are using a Rainbow provided interface to communicate with the driver Chapter 1 Introduction INVALID PACKET A checksum error was detected in the command packet indicating an internal inconsistency The packet record structure may have been tampered with Generally this error should not occur if you are using a Rainbow provided interface to communicate with the driver UNIT NOT FOUND The specific unit could not be found Make sure you are sending the corr
57. open DLL i e DLL not found 2 not all functions loaded happens when newer code used with older DLL 3 NULL pointer discovered or structure packing not turned on 1 failure to connect to function in structure The order is given in the SIODLL This normally indicates a mismatch in DLL versions To close the DLL at the end use the windows FreeLibrary on the DLL handle located within the SIODLL structure 9 2 2 Opening SIOGPS library This is performed by calling the DLL function InitSioLibrary It will reset all internal variables and ensure that the serial and network drivers are available Please be aware that we need the WinSock2 driver which is not available on some older versions of Windows 95 Be sure to check the return value The function GetLastSioError can be used to retrieve the message corresponding to the failure At this point you may also with to utilize the function SetAddMessage This allows you to send SIOGPS a pointer to a callback function that gets called when various warnings and events are observed At this point you could display the message to the user or just log it to a file This helps in diagnosing problems 9 2 3 Connecting to Ports The next few steps discuss the initialization procedure Figure 9 1 illustrates this process in the form of a flow chart 137 Version 3 15 InitSioLibrary LEE EE tallo EE Ee Configuration Thread i 0 i 0 7 OpenSioPort forreceiver ConfigureR
58. port GetDataPortConnectInfo Gets information on the status of a port connection Useful for network server ports ThreadBuf GetThreadBufRecCount Gets number of records of a given type in a thread buffer GetThreadBufRecSize Gets size of record for a given type Useful for checking if a record has been changed 1 e DLL compatibility ReadThreadBufData Extracts n records of a given type into an array GetThreadBufSize Gets the size that the threadbuf should be allocated to be SetThreadBufSize Allows user to change the default thread buffer size LogFiles OpenSioLogFile Starts logging raw data to a file in LogRtkData CloseSioLogFile Stops logging to a file SaveSioLogFile Closes and re opens a file in case the computer crashes SetSioLogFileInterval Sets interval filter for logging data 9 3 1 ConfigureReceiver Description Sends commands to GPS receiver connected to serial port Category Configuration When to use After port is opened Can also be used to startup a dead receiver Pitfalls Cannot be used with network ports This process can take a few seconds for each receiver so data records might be lost of logging decoding is not operating in the background Prototype int __stdcall ConfigureReceiver int PortNum RXCFGPARAM pRxCfg Input PortNum Port number to configure receiver for pRxCf2 Pointer to RXCFGPARAM structure Normally this pointer is passed as NULL to us
59. port Usage UNLOGREC P THIS RecName RecName is the name of the record that you wish to stop logging see LOGREC command or Chapter 6 for a list 83 Version 3 15 Example unlogrec this rtvec 5 3 29 VERSION Command Shows the current version running It also shows the current number and maximum number of remotes Usage VERSION REC Example version Result RtEngine Version 2 00 Navigating Mode 2 Remotes 3 Maximum Remotes Copyright NovAtel Inc 2000 5 3 30 WHOAMI Command This command gives information about the current port that you are connected to For instance 1t can be used to determine the Network Port or comport number Usage WHOAMI REC Example Whoami Result Port 103 TCP 1P192 166 99 200 P6002 84 CHAPTER 6 OUTPUT RECORDS RTKNav can output a number of ASCII NMEA style records For applications employing more than one remote the NMEA record s are not suggested This is because they have no identifiers for the remote number The Waypoint custom records are more suitable since they identify the remote in the record A summary of the possible records is given as follows Record Description When Interval written GPGGA NMEA standard DGPS position record On Remote Optional RTSOL Geographic position solution status record On Remote Optional GPAVL Outputs ECEF position and velocity as well as local On Remo
60. port numbers of each of the remotes int NumRemotes number of remotes currently being processed char err_str 1024 error string used internally unlogging thread start with _beginthreadex unsigned __stdcall CommunicationThread void ptr Bis of compe StopCommuncationThread 0 while StopCommuncationThread get serial data from ports if Sio hLogRtkData MasterPortNum NULL TB_RET_ERROR Sio nGetLastSioError err_str AddMessage 1 err_str user may wish to comment in to see error messages for i 0 i lt NumRemotes i if Sio hLogRtkData RemotePortNum i NULL TB_RET_ERROR Sio nGetLastSioError err_str AddMessage 1 err_str user may wish to comment in to see error messages free up some time for other threads Sleep 20 _endthreadex 0 return 0 9 2 12 Method c Using byte by byte decoding The following shows some sample source code for using the byte wise unlogging This gives user access to raw as well as decoded data Note that this code has not been compiled It is provided as a guideline only global variables int StopCommunciationThread set to TRUE to exit thread SIODLL Sio structure containing function pointers to SIODLL engine_dll_type Eng structure containing RtDLL functions int MasterPortNum port number for master receiver int RemotePortNum MAX_REMOTE port numbers of each of the remotes
61. section 1 Make Body Coordinates rita ra ela A ra ee Section UK NAVs ct ds dd it INDEX 181 181 187 189 vi CHAPTER 1 INTRODUCTION This chapter gives instructions on how to install RTKNav and includes trouble shooting tips Descriptions of the various components of RTKNav are given followed by an explanation of some of the communication concepts used in this manual RTKNav comes with the developer s kit documentation which is the collective name for RtEngine ROU and SIOGPS All of these modules are explained below Section 1 What is RTKNav RTKN av is a real time processing program that is used to obtain sub metre sub decimetre or centimetre accuracies The accuracy obtained depends very much on the conditions of data collection receivers used and application dynamics RTKNav requires raw data to work pseudoranges carrier phase etc It will not compute corrections from RTCM Typel In such a case a DGPS receiver should be used Basically RTKNav applications fall into three categories e Forward RTK processing The base station transmits raw data through a radio link to the rover where RTKNav is running This is the master input stream At the rover a GPS receiver is connected directly to RTKNav This is the remote The user would normally use RTKNav to navigate or track the location of the vessel vehicle or aircraft e Multi remote Inverse RTK RTKNav is running at the base station where it is conne
62. see below then an additional port must be assigned to the output data stream The port number will be used for most of the functions to identify the receiver port It could be considered a handle except that the user defines its value 9 1 4 What is a callback function Callbacks are functions that you define in your application but are called from the processing or conversion DLL Each of these callbacks is defined as a ___stdcall function and prototypes are given in either SioGps h or Engine h Callbacks are used to two reasons a Convey information to the calling program 1 e via the AddMessage function b Transfer data when a record has been decoded see LogRtkData The prototypes of the CallBack functions should be defined as C and not C functions e g place an extern C around the prototype 9 1 5 Can I use Visual Basic No Visual Basic is not compatible with SIOGPS If implementation were a simpler process such as with some of Waypoint s other DLLs VB can be used However RtDLL and SIOGPS have too many structures that need to be re coded Since VB does not support structure packing this process would be a near impossible effort Users must write their own C or C cover functions in order to use VB 9 1 6 What is structure packing and why is it important Structure packing defines how each member is placed within a structure By default most compilers pack on the 8 byte boundary MFC like
63. server and continually checks for a connecting An output port requires knowledge of the connecting parties IP address and thus is not as flexible RtkNav creates a command port using the Output identifier but sets the Command ON variable This is the same as using the Command identifier 118 Chapter 8 RtEngine 8 1 6 Intervals and Export Records To control how often a solution is to be computed and correspondingly an output record is to be sent to the output port the interval parameters must be properly set in the IN file for the Master and Remote groups A solution will only be computed when data can be lined up from the Master and all Remotes see LineUpMode in Section 8 2 1 in this Chapter Therefore the interval from master and remotes should coincide Care should also be taken that the baud rate is high enough to handle the data being sent Higher baud rates will also decrease the solution latency The best way to reduce latency is to allow the extrapolation of master data records This allows the master data to arrive latent to the remote data This function can be engaged using the LineUpMode of EXTRAPOL Two solutions will be output in this manner One least squares solution will come first and its master data is extrapolated When the actual master record arrives then a second Kalman Filter solution will be outputted This second solution is the most accurate but will be obviously later 8 1 7 Controlling
64. static and kinematic By default RtEngine sets all remotes to be kinematic However solution convergence will be better in static mode To switch all remotes to static press the F3 key while RtEngine is running To switch back to kinematic press F3 again If the display screen is a console port then the DYNAMICMODE command must be used F3 will not work The initial static kinematic mode can be set in the IN file by using the StartMode command 8 1 8 Exiting RtEngine Press ESC to quit If the display is a console port then type EXIT 8 1 9 Setting the position of the Master RtEngine cannot proceed until it knows the position of the master station This can be defined one of three ways Use the MASTER_POS command in the CFG file Use the Position parameter in the Master Group of the IN file Use MASTERPOS command in command port interface See Section 5 3 17 Send the master station position via the radio port This position can be set by using the LOGGPS program or receiving a type 3 record in RTCM Early versions of Version 2 00 may not support these inputs Once the base position has been set it cannot be changed without restarting the program Moreover a will take precedence over b and c d and b will take precedence over c d The position of the master should be in the same datum as defined in the CFG datum command For proper ellipsoidal height determination the master height should be ellipsoidal as well If
65. such as Microsoft Excel The format 1s the first row of the file Default is no output This function is obsolete This function should be used with either the EXTRAPOL LineUpMode in the IN file or the ProcessEpochMsBufEx function It sets the window size in epochs used for extrapolation and it also sets the maximum time range over which extrapolation is performed nExtrap is the number of epochs that should be used for extrapolation Values between 5 and 10 are normally used When the master data is arriving at higher data rates then the window size can be increased For lower rates 1t should be decreased MaxSec is normally set to 180 seconds This allows you to fix the ambiguity value for a given satellite This can be useful to force a certain set of ambiguities on a solution especially in kinematic mode Note the ambiguity value will change significantly for a different base satellite Ambiguity value is specified in cycles Default is none Send epoch by epoch output in a generic format time X Y Z VX VY VZ rms num_sats Default is no output The HEX address of the printer port containing the hardware lock A value of zero will use LPT1 For other ports the actual port address must be entered Common values are 378 for LPT1 278 for LPT2 and 3BC for LPT3 The default is zero This specifies the processing interval in seconds It should be equal to or greater than the recording interval for proper time length computa
66. than 255 it should be left at 255 The ca_range variable is the raw pseudorange measurement in meters normally C A code The phase_11 variable is the L1 carrier phase in L1 cycles This quantity should change in the opposite direction to the pseudorange phase_rate_11 is the L1 doppler value If not known then this parameter should be computed by differencing the ca_range or phase_11 from neighboring epochs The ca_range method tends to me more reliable Ins such a case the standard deviation for the doppler should be increased in the CFG file use PHASE_RATE_SD to 1 0 m s The units for phase_rate_11 are L1 cycles sec and the sign coincides with delta phase delta time For single frequency data pl_range and p2_range should be zeroed Otherwise use p2_range fro the L2 carrier phase value same direction as L1 phase and pl onge for P code on L2 109 Version 3 15 b Ephemeris structure eph h typedef struct int prn prn int wn GPS week num long tow sec of GPS week double tgd group delay long aodc clock date issue long toc sec double af2 clock corr sec sec2 afl sec sec afO sec long aode orbit date issue IODE double deltan mean anomoly corr semi circles per sec PI double m0 mean anomoly at ref time semi circles PI e eccentricity roota sqr root a meters 1 2 long toe ref time sec double cic rads c
67. that the receiver is connected to 9 Choose a Baud rate Refer to your receiver manual if you are unsure 10 Select the Parity Parity for most receivers is none 11 Select the bits for the receiver Bits is 8 for most receivers The next steps are of concern mainly to WIN95 98 users The program can call on its device driver WPCOMM VXD to install temporarily COM 1 or COM2 on any PCI or ISA bus card That is you can configure and use a non standard COM port on the fly 12 If you are not using a standard serial device then you will have to select an IRQ and Port Address The data logger defaults to the standard IRQ and Port Address for COM1 and COM2 Win95 98 users can re configure COM1 and COM to any non standard port available on the computer Note Windows 2000 NT users can t change the device driver IRQ or Port Address 54 Chapter 4 Utilities 13 14 15 16 17 18 19 20 Ra New Project Step 4 of 10 xl Receive Data by a Eo Serial Port MultiCast TCP IP Network C UDP C TCP COMPUTER COMPORT 38400 y aos COM1 System Pot D S Em Parity E Ze None ID Address C Odd EE 234 ls 6 H C Even PAS Fi ge Ce Eight Server C Seven Client Cancel Figure 4 2 Computer Receiver Configurations Select the radio button indicating how you would like the data to be saved If you want the data to
68. the instructions 6 For NT users you must re boot your machine before the hardlock drivers will take effect Users of Windows 9x and XP do not need to reboot Version 3 15 Section 7 Sentinel Hardlock Problems Currently this product only works with two types of hardware key both of which are manufactured by Sentinel The Sentinel parallel port locks are beige colored while the USB keys are purple Encoded in their memory is the key s serial number software type i e GrafNav GrafNet RtkNav RtStatic POSGPS etc and version number The memory may also contain the demonstration status if applicable The information on the Sentinel lock s memory can be read using the Hardlock Upgrade Utility which can be accessed from the software s program group in the Start Menu There are currently no known compatibility issues with these hardlocks The most frequent cause of problems is due to drivers not being installed The error message for such an error is FATAL ERR Hardlock error Unable to open Sentinel hardware lock driver Install driver error code 12 In Windows 95 98 the hardlock will work without the drivers even being installed However for Windows 2000 and NT it is important that the drivers are installed and the system is restarted Another common cause of problems is an incompatible version number for the software type between the processor and key In this case you will need to contact your dealer This returns one
69. the same base station be used throughout It is highly suggested that one of the vessel aircraft vehicle antennae be used as the base This procedure is greatly simplified for cases when the calibration is performed in static mode At least 15 minutes of data should be collected In static mode the GrafNav fixed solution can be used giving a very accurate baseline resolution In kinematic mode KAR should be used if possible Single frequency KAR requires at least 20 minutes of data although 40 to 120 minutes are suggested Make sure that no antenna heights are entered during processing If very large base movements 100m are encountered then GrafMov should be used o Coordinates The local level or ECEF coordinates can be obtained from numerous sources The easiest two are FSS or RSS file for static calibration Look for the Fixed Static Solution block The local level vector values are DE DN DZ x y z and the ECEF vector values are VECTOR x y z These values are with respect to the master station FWD or REV file or kinematic calibration Be sure to use the same epoch for each of the stations The first three values in the second row of each data block refers to the local level east north and up values respectively 182 Appendix B Attitude Software o Station names Assign each of the antenna stations an ID This ID can be alpha numeric but cannot contain spaces This will later on be assigned to each GPB file for processing
70. their respective holders OL SL Copyright 2000 2006 NovAtel Inc All rights reserved Unpublished rights reserved under International copyright laws Printed in Canada on recycled paper Recyclable Software Licence Software Licence BY INSTALLING COPYING OR OTHERWISE USING THE SOFTWARE PRODUCT YOU AGREE TO BE BOUND BY THE TERMS OF THIS AGREEMENT IF YOU DO NOT AGREE WITH THESE TERMS OF USE DO NOT INSTALL COPY OR USE THIS ELECTRONIC PRODUCT SOFTWARE FIRMWARE SCRIPT FILES OR OTHER ELECTRONIC PRODUCT WHETHER EMBEDDED IN THE HARDWARE ON A CD OR AVAILABLE ON THE COMPANY WEB SITE hereinafter referred to as Software 1 License NovAtel Inc NovAtel grants you a non exclusive non transferable license not a sale to where the Software will be used on NovAtel supplied hardware or in conjunction with other NovAtel supplied software use the Software with the product s as supplied by NovAtel You agree not to use the Software for any purpose other than the due exercise of the rights and licences hereby agreed to be granted to you 2 Copyright NovAtel owns or has the right to sublicense all copyright trade secret patent and other proprietary rights in the Software and the Software is protected by national copyright laws international treaty provisions and all other applicable national laws You must treat the Software like any other copyrighted material except that you may make one copy of the Software solely for bac
71. to display available commands over e g a m Use COMMON to only show commonly used commands Example help repeat Result HelpFor REPEAT Repeat set of commands every n seconds Format REPEAT interval s STOP LIST COUNT cmdl vl v2 cmd2 vl v2 Usage Can be used at any time Remarks STOP quits repeating LIST shows commands repeated Count shows times used Use just interval to change interval For help on a particular command see result above usage refers to when the command can be used Currently command ports are only active during processing navigation In the future some command will be usable before processing has been engaged 5 3 15 LISTPORTS Command This command lists the available ports and some information about each port Like the DIR command the REC option can be used to form NMEA style output records Usage LISTPORTS REC Example listports Result Port Description Name Type Rx Info Read Write 2 MUL 234 5 6 7 5002 Master ASHTECH MACM i0 10 5 01M 0000 4 MUL 234 5 6 7 5004 Remote 1l NOVATEL 3151 i0 10 5 54M 0000 6 MUL 234 5 6 7 5006 Remote 2 ASHTECH MACM i0 10 5 01M 0000 100 Console Command Connected 0000 0055 101 TCP 0 0 0 0 6000 Command Not connected 0000 0187 102 TCP 0 0 0 0 6001 Command Not connected 0000 0187 103 TCP 0 0 0 0 6002 Command cx 192 166 99 200 0280 5 22k Where Port Refers to the assigned port number Description Gives particul
72. to the correct setting providing the receiver supports that rate Network Port RTKNav will send or read GPS data that has been broadcast over a network The term network port is used here to describe a communication port through which a data stream is being sent over a local or wide area network Network Port Number Like COM ports network ports are assigned numbers so that each data stream is identified with an associated integer number Network port numbers from 1 to 1024 are generally reserved for use by the operating system FTP Internet and so on The maximum port number allowed is 65356 RTKNav defaults to port numbers starting at 6001 RtkNav will attempt to assign different port numbers for you You are free to type in your own port numbers These port numbers will uniquely identify each GPS binary data stream or each output ASCII data stream from RTKNav to other network users IP Address Each computer on a local or wide are network is given a unique set of 4 numbers which identify this computer to all other computers on the network Local network computers nodes will tend to have IP addresses such as 192 xxx xxx xxx Computers that have so called static IP addresses are capable of receiving data over the Internet RTKNav uses these addresses in TCP mode to send data anywhere Network Protocol RTKNav supports 3 types of network data protocol Your choice of data protocol will depend on the operating system that you have and
73. two project files an IN file and a CFG file The IN file mainly contains information about communication ports The processing engine RtGpsX dll uses the CFG file to perform GPS processing functions To get started the user must first define the GPS receiver types and communication parameters First time users should review the following sections very carefully Steps to begin a new project and start real time GPS processing Step 1 Start up RTKNavRx EXE The figure below illustrates how to launch RtkNavRx exe Go to the Windows Start menu as indicated Choose either RtkNavR3 or RtkNavR20 Bi RTKNav Solution Data HIERE Remote 1 AACHE elaj ale rise A Iside FIT p cle el JS i From None eto fi na z Aa 5 3 Fie View SR Sec E He ont cots 35 52 50 9308 E 120 24 8 5361 1209 0 049 Hx 1218 05 0 463520 0 Track 2 50 1209 0 061 1012k 121 Br 0 463520 0 Speed m s 5 L 1202 0 050 121 38 05 0 463520 0 746352 poroka Solution Data Ai nes Time of Fix 469590 00 10 26 30 00 3 10 2001 Status AP 0 463520 0 Local Level m Qualty 1 N 0 463520 0 35 2 50 9223 E 12668 134 PDOP rene 120 24 8 5762 N 7140 052 Sats L1 RMS 449 378 H 140 551 AA osing Status Messe Oj x 0 0 Processing remote position fixforBL2 0 0 Processing remote position fix for BL 2 0 0 Processing remote position fix for BL 2 468840 0 Processing remote position fix for BL 2 G Outlook Express ETT L tze RTKNa
74. user has no access to the raw data stream This function is useful to diagnose if serial data is arriving if records are not being decoded Category Data Port When to use After port is opened Pitfalls none Prototype unsigned int __stdcall GetDataTotalBytes int PortNum int Flag 153 Version 3 15 Input PortNum Port number for device Flag 0 Return total number of bytes read 1 Return total number of bytes written 2 Return both number of bytes read and written Output none Return 1 Error NumBytes Total number of bytes 9 3 14 GetLastSioError Description Grabs the last error message string Category Utility When to use Call after an error has been returned from any of the SIOGPS functions Pitfalls Watch out for multithreaded applications because another thread may cause the string to get overwritten Prototype void __stdcall GetLastSioError char str Input none Output str String to fill with last error message Return none 9 3 15 GetThreadBufRecCount Description Used to determine how many records of a given type are located in a thread buffer returned by DecodeOneByte ReadGpsPort and LogRtkData See Section 3 for a list of possible records and their corresponding structures Most of these structure are given in util threadbuf h or util gps_io h Category ThreadBuf When to use After calling DecodeOneByte ReadGpsPort and LogRtkData Pitfalls More than one type of record can
75. what the phase measurement at the present epoch should be Phase phase phase_rate time_interval A clockcorrection If a data record is corrupt simply because the serial data was bad or the receiver clock jumped for one epoch you can eliminate this record Go to Edit Disable Satellite s This will zero pseudoranges for one or more epoch s for a given satellite and will remove this these epoch s from processing Viewing and editing locktime cycle slips on the receiver These cycle slips can be edited using Edit Add Remove Cycle Slips That is cycle slips can be removed by making the new locktime 255 for 255 recording_interval epochs The cycle slip can be added by making the new locktime 1 for 255 recording_interval epochs 60 Chapter 4 Utilities 5 Recompute position and clock correction records This is useful for e computing a position where one did not exist e correcting erroneous or bad clock shift data causing processing data errors Note that ephemerides must exist use File Load Alternate Ephemeris to specify another file containing the proper ephemeris 4 2 2 How to Use View GPB The File menu allows you to open or close a GPB file The Load Ephemeris command is useful to print proper GMT H M S times or to recalculate position and clock shift Also the ephemeris file must be loaded in order to search for H M S The Move menu is used to move or search through the list of epochs To move through
76. 00608 qOy 43 IC S E m07 ASOLCG11 2 Y HuT 0001e 2 46808 E 07 Y 1D 20F04E 14 V nke140 p wd1350 x gt 11008e IKeE3t 11 0C lt lt 003 y 02 lt 006 1Aya 6 61080t 2U0A gt S 0 436 003C amp 6 lt 00680 lt 00601 0010306 lt 00319 05 4214V1743 lt 00DA0 00381DP45 422 42 6uz AK lt 005a0 00381537237041e 43 lt A8 A lt 005a0 00380 B30b1442432Ce43A m A lt 005a0 00381EY0A241242r42 6424 GA lt 005a0 00381481 4210 2 43 131CoSA lt 005a0 0021 E pPFFFFK 0241 lt 00608 2 43 1 YOu24z A T LS 1 lt 01Y065 0CuN Wa 09508 o h1CYATBS Sto He E 588 3945 14 x0 3 31 M34 2t0 gt 2 234 0D 1D 1 10 2 lt 003A1 t 02 lt 006 1Ayo AYD l1 lt 1C gt Bv453C5B 31 ne A 003Ci0 lt 00616 lt 00601 0010306 lt 00319 05 4214V1743 lt 00Da0 00381DP45 422 42 240C3 5UAu lt 005a0 0038153723041x 43 36KOFE10t lt 005a08 00380B30b1442432Ce4 3AY0E3782 lt 005a0 00381EP0A 241242r42 4 NYO A lt 005a0 00381481 42102 43 11A13 A lt 005a0 007EAGSA O36104135 ER 361041 F7 Unpacking Data To pack the data the following rules are used Character Encountered What to do Translated characters expand to one byte 0 9 A F Hex nibble always in pairs Decode hex byte Byte 00 Repeat characters expand to many bytes 93 Version 3 15 lt CCR Up to 15 character repeat
77. 03 m Hgt 1014 996 m L1Rms 0 0015 m Vec 0 004 0 001 0 004 m Speed 0 041 m s SD H 0 018 SD V 0 022 m DDDop 1 63 KAR OFF Amb FLOAT Otacts 2 Solution for R2 VALID Time 68998 70 19 09 58 70 10 22 2000 NSats J Lat 50 58 43 00007 Latency 0 055 s Lon 114 00 41 99997 CaRms 0 38 m Hgt 1014 998 m L1Rms 0 0024 m Vec 0 001 0 002 0 002 m Speed 0 090 m s SD H 0 017 SD V 0 022 m DDDop 1 63 KAR OFF Amb FLOAT Ofact 2 Processing Status Information NavMode Navigating NumEph 20 Latency 0 055 s CpuUsage N A MasterPos OK 50 978611 114 011667 1015 000 COLOR PORT NAME DY SOL STDEV A DATAIN RECIN NSV AGE GREEN 2 Master Ss 41579 N A L 11376k 48908 07 0 GREEN 4 Remote 1 K 40143 0 028 L 12816k 48917 07 08 0 GREEN 6 Remote 2 K 41575 0 028 L 11351k 48910 07 07 0 A SUCCESS REPEAT 78 is sent every time the repeat operation succeeds 5 3 20 SETCOM Command This command allows the user to change the comport settings for a certain serial port Normally only the baud rate is changed but other port settings can also be altered Usage SETCOM P M R THIS baud databits stopbits The baud refers to the baud rate which can be one of 1200 2400 4800 9600 19200 38400 57600 and 115200 Databits may either be 7 or 8 but 8 normally used 8 is the default Stopbits may either be 1 or 2 1 is normally used 1 is the default Example setcom P101 19200 5 3 21 SLE
78. 10 10 21 30 1 1 1 1 2 2 Time H M S Julian Day Figure 3 6 Filtered and Unfiltered data The filtered value removes large spikes and better shows the general trend of the data 3 3 2 Static Solution Status This window simply provides a summary of the last fixed static solution for each remote The fields shown in the summary are Time Date Latitude Longitude Height Horizontal Standard Deviation Vertical Standard Deviation RMS Reliability Status As a rule of thumb standard deviation values are typically over optimistic by about a factor of 3 to 5 The RMS value indicates how well the solution fits The maximum allowable RMS value is 0 025m 1PPM for dual frequency and 0 015 1PPM for single frequency The reliability is obtained by dividing the second best RMS solution by the best RMS solution This in effect tells you how much better it is than the next likely solution It is therefore desirable for this number to be as high as possible In GrafNav the minimum allowable reliability is 1 35 The status field simply indicates if the solution passed or failed Longer baselines typically fail because of RMS rejection and shorter baselines because of reliability failures 51 Version 3 15 3 3 3 Static Diagnostics View Static Diagnostics View m Time seconds Curent Next Solution 0 08 00 0 Last Used Since Last Solution 17 52 30 C Since Startup Between Solutions 2 00 00 0 So
79. 131 9 1 3 What is a port number and why is it needed eener 132 9 1 4 What is a callback t Tue ele RE 132 9 1 5 Canl use Visual Basil AS 132 9 1 6 What is structure packing and why is it Important nn oro 132 9 1 7 How do define what type of GPS receiver am connected to 133 9 1 8 Do need to configure the GPS receiver sssruesrrrerrrrrrrrrrrrren 133 9 1 9 How and why would re broadcast datai 134 9 1 10 How do set the static kinematic status of the raw data 134 9 1 11 What is a thread buffer and how dolueemt 134 9 1 12 Should make my application multithreaded oooooocccccccccccnncc nn 135 9 1 13 How and why should I log raw data eet siria 136 Section 2 Getting Ee e ee DEE 136 E du CT EE 137 9 2 2 Opening SIOGPS library Aia ro A E 137 Table of Contents 9 23 Connecting to PON Sa geed be 137 9 2 4 Filling in PORTINFOSTRUCT for Serial porte 139 9 2 5 Filling in NETPARAM for Network porte 139 9 2 6 Filling in FILEINPPARAM for using for reading from files 140 9 2 7 Filling in RXCFGPARAM for connecting to a GPS receiver cece eee ea ees 140 9 2 8 Filling in RTKPARAM for logging data from a GPS receiver 141 9 2 9 Datalogging SELEINGS cr a de 141 9 2 10 Reading and decoding data 142 9 2 11 Method a Using LogRtkData function 143 9 2 12 Method c Using byte by byte decodimg cnet ee narran 144 9 2 13 Other modes Of usag
80. 1980 R Remote baseline number PassFail Passed or Failed String lat Latitude in dms filtered lon Longitude in dms filtered 94 Chapter 6 Output Records ht Height in meters fixed_lat Latest fixed latitude dms unfiltered fixed_lon Latest fixed longitude dms unfiltered fixed_ht Latest fixed height meters unfiltered sdhz Standard deviation in east north meters sdv Standard deviation height meters rms Fixed solution RMS in meters rel Fixed solution reliability in meters XX checksum hex Example RTSTC 735883290 00 R4 PASSED 34 20 00 31919 118 01 33 59092 1567 935 34 20 00 31919 118 01 33 59092 1567 935 0 003 0 005 0 017 0D 6 2 15 FUGTAR Record This is the Fugawi Network Message Fugtar for Tracker 3 Format PFUGTAR atdegmin N_S londegmin E_W R R speed COG CCCCCCCC Where Latdegmin Latitude in degrees decimal minutes N_S North N or South S hemisphere for latitude Londegmin Longitude in degrees decimal minutes EW East E or West W flag for longitude R Remote baseline number Speed speed in m s COG Course over ground CCCCCCCC default Example PFUGTAR 3420 0905 N 11823 8120 W R5 R5 000 0 167 0 CCCCCCCC 6 2 16 RTVECEX Record This record contains delta position and velocity information The deltas are always with respect to the base station coordinates Format RTVECEX GPSTime R DelEast DelNorth DelHt SDevHoriz SDevVert VelEast VelNor th VelHt SDevHorizVel SDevV
81. A 156 ISPortV alid ci se hee ct 156 IsSerialPortA vailable oooncnicnnnicnncconncncnncnnos 157 loading the DL 137 logging data cocoococnoniccncconocconnconnconn cono cnnccnncon nono 141 Los Data 141 143 157 methods for using 131 NETPARAM Structure occcoooccconcconcninnncnoneninnccnnno 139 OpenDecoder stos taa 159 Opening POTS atra ista 137 OpenStol ogble 159 OpenSIOP titi 138 ReadGpsPortss scssescessseges sted inten 160 Tag device teta 151 reading GPS data c cs c ssesctsscesesesepenocbenteecoees 157 ReadThreadBufData ooooncnncninnninncocnconccnnconnonnos 161 receivers Closing in 155 ReConnectDataPort A 161 re opening Jogfle 162 RITKPARAM structure 141 RXCFGPARAM structure 140 SaveSioLogFlle ooooconnoncoioroononnrenororononnar eno 162 SendDataBuffer oooccnccnnconoconononcnonnconnconconoconoo 162 Send atabwte eege sous esre 162 SendDataS tring oooocoonanaronononnnrnnononon conos e 163 SetAddMessage sccis eens 163 SetDecoderOptions ccococccccoconononconcnnnonacnnonncnnon 164 SetSenal Port eneren a ee E 164 Set iol ogblelnterval 165 SetStaticKinematicMode oooooconccnccnnonconnconcconoo 165 SetThreadBufSize oooooconocococonononcnonnnonnconnconocnnoo 165 SIOPARAM structure cccooccconccconnncnnncconenonnnccnnes 138 StartRebroadcast AA 166 StopRebroadcast ocooccoccnonononcnnnconcnononancnnnannncnnosn 166 thread DU cias 149 161 USERRTKDATA structure ooocccoccnonocccononinncconos 158 SIOPARAM
82. B_RESAMPLE 16 resampled data with GPB_CAT define BLASHGLN 17 ASHTECH GPS GLONASS il pben_bin_type positive time information typedef struct position record 68 bytes short size size of structure char num_sats number of satellites to follow char status bit O position valie 1 valid bit 1 O static mode 1 kinematic float ant_ht antenna height HT in meters double phi lamda position dec deg float ht double rcv_time receive time in seconds since sunday double corr_time corrected receive time double clock_shift clock_shift in meters double clock_drift short week_num week number char extra 6 pben_bin_type binary position record Important The rcv_time is the time of measurement referenced in the GPS receiver s time frame The DLL requires that the rcv_time from master and remotes be equal Therefore it is best to ensure that this time is on the whole interval The corr_time is the measurement time referenced in the GPS time frame i e the rev_time corrected by the clock bias It is important to fill in the rcv_time and corr_time The clock_shift is the difference between the rcv_time and the corr time but is not used The clock_drift is not used either Both rcv_time and corr_time range from 0 to 604800 The ant_ht should be set to zero The week_num can be ignored The position phi lamda and ht need only be filled in for
83. Correlator receivers Defaults are 1 0 50 0 and 10 0 metres Number of epochs to search forward if a satellite drops out If there are a lot of satellite drop outs due to unstable serial data collection this value can be increased A value of zero may produce unstable results Default is 2 epochs Time to start processing in GPS seconds This is used to start processing in mid data stream It may also be useful to by pass some erroneous data at the start of the data set The default value is 0 0 999999 0 for reverse processing Method for detecting cycle slips in static mode If this command is not specified the mode defined by CYCLE_TEST will be used All of these modes are supported CYCLE_TEST with one additional method This is the phase trend TREND cycle slip detection method This fits a polynomial through the phase data to determine the cycle slip value This is much more precise than the sometimes noisy doppler value It can generally be used to detect 1 cycle slips see TREND_CYCLE_TOL command The TREND mode is automatically implemented for the fixed solution Default is same as CYCLE_TEST This is an input file which is used for a certain kind of GPS assisted photogrammetry The ambiguities for each photo line can be approximated by a so called strip methodology rather than by conventional OTF routines The file format is Strip_id GPS_start_time GPS_stop_time Phase trend cycle slip tolerance By lowering this to
84. EN 86 Y YELLOW iii 38 82 Z KEE 60 193 rN NovAtel OM 20000099 Rev 0B 2006 02 17
85. EP Command This command is used to dictate how often the command port checks for keyboard input or repeated operation The default sleep time is 250 milliseconds which is why the command port may appear somewhat sluggish The purpose of such a large value is to conserve CPU time for 79 Version 3 15 processing However users may wish to make a port more responsive which is the main reason for using this command If the REPEAT command is used with a very fast repetition rate the sleep value should be lowered as well Note that output records requested by LOGREC are unaffected by the sleep value For users sending a burst of commands in a very short time period lowering the sleep value may also be very beneficial Usage SLEEP P THIS Sleep Value SleepValue is the time in milliseconds the port goes to sleep between checking for input or command repeats Leaving the SleepValue off will display the current SleepValue for that port The minimum allowed value is 1 ms while SleepValues above 1 second i e 1000 ms can cause a command port to be non responsive Example sleep this 50 This sets the sleep value to 50 milliseconds 5 3 22 SOLUTION Command This command reports the last solution for a given remote Usage SOLUTION R P SAT The optional SAT parameter shows information about each of the satellites currently being processed Example solution rl sat Result Solution for R1 VALID Time
86. Elipsoidal Entered Height is Grthometric lt Back Next gt Finish Cancel Figure 2 9 This is a Remote Receiver A remote initialization can be performed here if the starting remote station coordinates are known This can significantly increase the speed at which centimetre level positioning can be performed and is especially important if the user is engaging RtStatic for deformation 19 Version 3 15 monitoring applications see Chapter 3 for more information on RtStatic Orthometric heights can also be entered provided that there is complete geoid coverage of the area of interest Refer to Section 2 3 10 for more information about geoids in RTKNav Step 7 Define the GPS Data Parameters The next important step in configuring communication to this GPS receiver is to tell RTKNav whether the data will be kinematic or static and whether you intend to log this data to hard disk and at what data rate It is also possible to configure either the primary or secondary GPS receiver comports x Which Port On the GPS Unit Will You Be Using Dm At What Interval Would You Like the GPS Unit to Output Data 1 Y In What Processing Mode Will This Unit Start Static Browse C Kinematic Log This Unit s Data To A File What Type of File Yes GPB File C No C Raw File File Prefix _replay test B Write GPB Every 1 00 seconds lt Back Cancel Figure 2 10 GPS Data Parameters Figure 2 10 illustr
87. EpochData cpu_time GetTickCount 1000 0 add data to buffer Eng lpAddDataToBuf IsMaster MASTER REMOTE RemoteIndex amp EpochData extract ephemeris records if Sio hGetThreadBufRecCount ThreadBuf TB_REC_GPSEPH ret_gpseph_type EphRec if ReadThreadBufData tb TB_REC_GPSEPH 1 amp EphRec again this is an error continue Eng lpAddEphemerisDataRecord amp EphRec continue until no data bytes read unlogging thread start with _beginthreadex unsigned __stdcall CommunicationThread void ptr int i StopCommuncationThread 0 allocate thread buffer char ThreadBuf new char Sio hGetThreadBufSize check if allocation succeeded here while StopCommuncationThread unlog master UnlogReceiver MasterPortNum TRUE 0 MasterRxType void ThreadBuf unlog remotes for i 0 i lt NumRemotes i 145 Version 3 15 UnlogReceiver RemotePortNum i FALSE i RemoteRxType i void ThreadBuf free up some time for other threads Sleep 20 delete ThreadBuf _endthreadex 0 return 0 9 2 13 Other modes of usage No sample flow charts or code is given for other usages Method b merely involves passing a pointer to the MultiBuf parameter of LogRtkData This will give user access to a thread buffer which can be extracted in the manner shown in Method c Ifthe ReadGpsPort function is used it
88. L INDIRECT INCIDENTAL OR CONSEQUENTIAL DAMAGES OF ANY KIND OR NATURE DUE TO ANY CAUSE TABLE OF CONTENTS CHAPTER 1 INTRODUCTION 1 Section EE Lag VA orar is ai id 1 Section 2 What IS RES AAA cea 2 Section 3 e REE Ee E TA AAA 2 Section 4 What are RtDLL amp SiOGpS iii A A ias de 2 Section 5 What You Need To Stati ih ices iia 3 Section 6 Installing BEAN Vara rai AN ia de in 3 Section 7 Sentinel Hardlock Proba oi 4 Sege el 8 Section 9 What else is contained on the CD 9 Section 10 Communications definitions and Concepts orar no 9 CHAPTER 2 RTKNAV 13 Section LOCA O A aa ee loo a o o 14 ZA ROARING gt LR EE 14 EN Start NEW Pro ella ds oa is ibas 15 o Output EE 21 Section 2 Replaying Data in REENEN iS 24 SECTIONS OD UIONG ee AE a a eia EE 27 2 3 L GPS Processing Settings crnaca enaa aa a a a a 27 2 3 2 Additional GPS Processing OPTIONS mans a es 29 2 3 3 General OPON S od a a 30 2 3 4 Advanced Extrapol OPINAS it dais 31 2 3 5 KAR OPINAS ri a a D 32 2 3 6 Standard Deviation Ale ge EE 33 lo Pite hieroes yiia A AV cna nea abate vs tatiana as 34 2 3 8 RTStatIC EIERE E hg 34 2 3 9 User Defined OPS sti ii didas 36 E EE 36 Section 4 Real Time Graphical Output ae ae 37 2 4 1 Start Processing Real Time DES seet RENE dd dba 37 2 4 2 Display Remote Coordinates and Satellite Info 39 2 4 3 Position Plots of Base and Remote iaa a ea vacia 40 Section e EENHEETEN 41 2 5 1 Defining Waypoints and Boundary Plate 41 2 5 2 Loading Wayp
89. Longitude in ddmm mmmmmm af GGA quality factor O NO solution 1 Single point solution SPS 2 DGPS solution 3 PPS DGPS solution 4 RTK with fixed integers KAR valid 5 Float RTK nsats Number of satellites pdop Position dilution of precistion ht Ellipsoidal height in metres may be pseudo orthometric if base height entered as orthometric age Age of differential solution in seconds This indicates the remote number i e R1 R2 A XX Checksum hex Example SGPGGA 171747 00 5058 7165714 N 11400 6999986 W 5 6 1 53 1015 065 M 0 1 2 03 86 Chapter 6 Output Records 6 2 2 RTSOL Record This record outputs the geographic position velocity and status information for each remote solution It is one of the most often used records Format RTSOL gpstime RA phi lamda ht sdh sdv ve vn vh nsats S K qf dd_dop status latency XX Where gpstime Solution time in GPS seconds of the week This position may be latent by the time estimated in the RTSIO records latency R This indicates the remote number i e R1 R2 phi Latitude in decimal degrees lamda Longitude in decimal degrees ht Height in metres sdh Horizontal standard deviation 1 sigma in metres sdv Vertical standard deviation in metres ve vn vh East north and vertical velocity in m s Vehicle track can be computed from the ve and vn quantities e g atan2 ve vn nsats Number of satellites used in the solution S K Mode static S kinematic
90. MANIS acaricia 70 a A EE ee 70 5 3 CLEAR COMM an aia UI EE 71 5 3 3 CONFIGRA COMMANG activa ri is 71 5 324 DIRS Command iets endient tations EAS outa Oy arate a see a a ie 72 5 3 5 DISABLE ee BEE EE 72 5 3 0 DISKSPACE Com MaN Airani iiaae aaa iras 72 5 3 7 DYNAMICMODE RIETSER dE 73 REES e aTa e 73 5 3 9 ENABLE DISABLE COMMANdS accio e 73 5 3 10 ENGAGEKAR Command spirit 74 53 CERT Commandin aa oO AN 74 5 3 12 FILTERRESET Command adas 74 Table of Contents 5 3 5 3 5 3 5 3 5 3 5 3 5 3 Dd 5 3 Brak 5 3 9 3 5 3 5 3 5 3 ei 5 3 5 3 CHAPTER 6 OUTPUT RECORDS Section 1 Record Format cccceeee cece esse ees Section 2 Record Descriptions isser 6 2 1 GPGGA Record aii 6 2 2 RTSOL REENEN AA 3 GPAVL Record voca reo es RTVEC ge DEE 5 AECH el EE 6 RTUTM Ren artis dicas ERES RECO O aria a Ree e BEE 9 RTATT Record occa 1 1 1 1 1 1 1 6 2 6 2 6 2 6 2 6 2 6 2 6 2 6 2 6 2 6 2 6 2 6 2 6 2 6 2 CHAPTER 7 RTDLL Section 1 RtDLL Getting Started Section 2 RtDLL List of Functions Section 3 RtDLL Data Structures 13 FIXREMOTE Command scce 14 HELP Command 15 LISTPORTS Command l 16 LOGREC Command turis 17 MASTERPOS Commande 18 MESSAGE Commande 19 REPEAT COMO MEN d 20 SETCOM Commande 21 SLEEP Ee el TEE 22 SOLUTION Commande 23 START STOP Commande 24 STATUS Commande 25 STOP COMMAN Gwe scneks
91. NEC 9800 does not have an ACK line and therefore this error is reported Failed to call the client library s initialize 57 E API This API must be called prior to the API that generated this error DRIVER TYPE NOT The type of driver access either direct I O 58 SUPPORTED or system driver is not support for the defined Operating System and client library 59 FAILURE ON DRIVER The client library failed to communicate COMMUNICATION with a Rainbow sytem driver 60 SERVER PROBABLY _ The server is not responding the client has NOT UP timed out The server host is unknown The server is 61 UNKNOWN HOST not on the network or an invalid host name was specified 62 SEND TO FAILED The client was unable to send a message to the server Chapter 1 Introduction The client was unable to open a network 63 POCE ET CREATION socket Make sure the TCP IP or IPX FAILED a l protocol is properly installed on the system Could not locate enough licensing requirements Insufficient resources such as 64 NO RESOURCES memory are available to complete the request or an error occurred in attempting to allocate the needed memory 65 BROADCAST NOT The broadcast is not supported by the SUPPORTED network interface on the system Could not understand a message received 66 BAD SERVER from the server An error occurred in MESSAGE decrypting or decoding a server message at the client end Cannot commun
92. Nav dialog boxes Section 1 Record Format The format of records follows the NMEA standard This is an ASCII record protocol using the following definition Version 3 15 RecName vl v2 v3 XX RecName is normally a 5 character record text identifier Waypoint uses RT to precede its custom records GP indicates a NMEA GPS record The items are comma separated The number of decimals for floating point values is not fixed Nor is the width of any field fixed Only the commas should be used to identify separate items Fields may also be blank e g if that value is not available for whatever reason The end of the data is signaled by an asterix which is followed by a two character HEX checksum value The checksum is a bitwise XOR of each of the characters between but not including the and the Finally there is a carriage return and line feed at the end Section 2 Record Descriptions This section gives a description of each type of record supported by RTKNav The most commonly used records are RTSOL RTVEC RTUTM and GPGGA See also NMEA 0183 document for the NMEA records i e GPGGA and GPVTG 6 2 1 GPGGA Record This is the NMEA geographic position record NMEA 0183 Global Positioning System Fix Format GPGGA hhmmss ss lat N S long E W gf nsats pdop ht M age XX Where hhmmss ss Solution time in UTC HMS May be GPS time if UTC correction not available lat Latitude in ddmm mmmmmm long
93. RRESET descontrol 74 fixed static soluton 34 float solution 00 e ee ceeceeecetecesecececeeeeaeeeeeeeeeeeeeeneees 33 Forward RTK proceseing 1 functions in SIOGPS AAA 146 G Geographic postton 85 GeOId AET 24 29 37 77 GPByisiivecstetssideciitsssseviostetias rita saan Ses 124 GPB Dyna 20 GPB Irma tdci 136 GER Kimmes cold 63 GPB Ve Wero alicia teat 59 GPGGA joss ia sage eet nsec eat aaa 22 76 85 GPS receiver cooooccoccccononcnononanonoonnnncnnonnnnccnnnnnoos 1 29 38 GPS TECEIVEr types seriinin es 133 EI EE 71 GPS tim ran Rs abst le ate 83 EPs ESO type sin owiehe cis ARs ase 85 GPV TG eal ana 22 76 85 GREEN seo eki a 38 green DULLON anei r aia 65 H Hardware key tiesia tii ENEE 45 hardware lock problemg 4 Heading and Pitch AA 34 HEL Paiste stitial eg tities 68 75 HEX sins lalala alate 93 l IN file iaa ia ia 66 117 122 Initial positon iasence 48 A een i e E ERER 117 Installing RTKNAV coooooocccccccoccoccnonoconoconoconocnocnnccnnonnos 3 intervals se dee edd 126 171 inverse applications ooooncnccnocnccconcnnnononnonncnnnnncnnon 123 Inverse RTR ceci veis 1 TR ad Ure roo 11 118 P Are sac 10 124 ISSUE KAR TIME E 36 K Kalman Dlter eE 29 33 KAR uta 45 74 85 92 121 KAR Dpto Suecia 32 KAR CUBE uti na 121 KAR EPOCH SIZE ENEE 92 KAR MIN TIME 121 Keyboard mput e aa eenei iea ee iiien 79 kinematic E 44 60 119 KINEMATIC hp i ee ses 20 82 Kinematic Ambiguity Resolution 27 28 36 120
94. S IS VERY IMPORTANT e Set the port settings e For TCP IP 1 Enable TCP IP Network ii Select TCP as the NetWork Protocol This is highly suggested because our TCP utilizes has a special server mode that allows it to better reconnect 111 Enter a port number that does not conflict with the other ports employed Normally port numbers above 1023 are used However port 23 is also available This is the default port number for Telnet Please note that port 23 can only be used once If multiple command ports are desired then the second third etc ports will need to be assigned to values higher than 1023 e For serial ports i Enter the comport number 11 Enter the baud rate Higher baud rates are usually better to prevent the port from being overloaded 5 1 2 RtEngine Command Port In RtEngine the command port needs to be assigned in the IN file A complete description of this file format is given in Chapter 8 In RTKNav the command port can be connected via TCP IP or a serial port RtEngine supports these two modes as well In addition users can setup Version 3 15 a CONSOLE command port interface in RtEngine This turns the DOS Prompt screen into a command port a b c For a TCP IP command port add the following to the IN file Adds NETWORK TCP port to RtEngine Port PortNum 101 Type NETWORK IP 0 0 0 0 NetPort 6000 Protocol TCP NORMAL NetMode SERVER Tells RtEngine that port 101 is a comm
95. TKNav Plot View 10 x File View Plot Processing Waypoints Window Help Osa ee Al ole elle alale In AR From None rs None Pal paz Figure 2 34 Zoomed In Plot View of Base R1 and R2 40 Chapter 2 RTKNav To bring up the floating menu right click on the Plot View window You will note that the above is really a zero baseline with a scale of 2 cm The base R1 and R2 are really computing data from the same antenna The variation in coordinates is just receiver noise Right clicking with the mouse on the symbols in the plot window brings up a menu that allows you to edit the properties of the symbols as seen in the two images below SA RTKNav Plot View Remote 1 Fle View Plot Processing Waypoints Window Help Ze ziele al elel sizla ssi jo 3 Ze Tal Y From None z To None al alx SN View Receiver Solution Data View Receiver Satellite Data CEE Receiver Symbol Crur Symbol Size Sample Shape Fo g o Color Im Test MK Show Text wv Follow This Receiver AutoScale Zoom In Zoom Out Center 8 Square Grid Circular Grid No Grid 2 D D 8 meris for prn meris for prn 3 0 o xj v Scale Bar kaj jis rising or re ap ESED r a o B rising or re E Properties TT amp Ready ed al a Figure 2 35 Changing Properties of the Plot Symbols Section 5 Waypoint Navigation
96. TWARE RTKNav attitude determination will compute the roll pitch and yaw of a vehicle or other object given that data is available from three or more fixed mounted GPS antennae The receiver antennae must be arranged in a non collinear fashion The software will also require the relative positions of the antennae which are essentially their coordinates in the local body frame of the vehicle or object These can be obtained through the calibration procedure described in Section 1 of this appendix In addition to the attitude the software will also compute the relative vectors between the GPS antennae used The following steps need to be performed 1 Compute the coordinates of each receiver in the body frame of the vehicle 2 Create the project and set the relevant options The first step is described in Section 1 of the appendix while the second step is described in Section 2 Section 1 Make Body Coordinates Purpose The Make Body Coordinates dialog box allows the user to define the body coordinate system for the GPS antenna locations The output of this process is a CRD file that will be read by RTKNav The CRD file will contain the body coordinates of each of the antenna stations These stations refer to the GPS antennae used solely for the multi antenna computation This is a calibration procedure that only needs to be performed once per installation The main purpose of this calibration procedure is to produce x y and z coordinates
97. This function can be used to determine the size that a thread buffer should be allocated to be The internal decoding functions e g DecodeOneByte etc check this number to ensure that a buffer overrun does not occur Category ThreadBuf When to use Before allocating your thread buffer Pitfalls Using the value returned by this function is much safer than using the TB_DEFAULT_SIZE macro in threadbuf h as that is subject to change Prototype int __stdcall GetThreadBufSize Input none Output none Return Current thread buffer size in bytes 9 3 18 GosShutDown Description This function sends command s to the GPS receiver to stop outputting Category When to use records It is only implemented for receivers that support this feature For NovAtel it involves sending an UNLOGALL command while for Ashtech the following two commands are sent PASHS RAW ALL A OFF and PASHS RAW ALL B OFF Configuration At end of your program before calling CloseSioPort 155 Version 3 15 Pitfalls All data output is stopped Configuration commands must be resent This function is not called from CloseSioPort Prototype void __stdcall GpsShutDown int PortNum Input PortNum Port number to send shut down command to Output none Return none 9 3 19 InitSioLibrary Description This function connects to the windows network and serial drivers It also initializes internal variables Category Open Close
98. Type Change Interval Write Output Data Records to Port or Disk ONREMOTE Onchange X Select Record Type Selected Records RT SOL Output Record Interval RTSOL Onchanged Delete gt lt Back Finish Cancel Figure 2 15 Sending Output Data by Network Port Click the Finish button to complete the addition of your output port Section 2 Replaying Data in RTKNav If a user has already collected GPS data in GPB format they can relay it through the RTKNav processor to simulate the real time processing Some notes about replaying data in RTKNav e The GPB files must have overlap so that the base and remotes can be processed differentially RTKNav can handle data gaps If necessary use the Concatenate Slice and Resample utility e There must be at least one valid ephemeris file EPP file that spans the entire period Precise ephemeris files SP3 files cannot be used e Events in station files STA files are not used e Geoid undulations can be applied See Section 2 3 10 for details on utilizing geoids in RTKNav 24 Chapter 2 RTKNav To replay GPB files start up a new RTKNav project by clicking File New Project In the project configuration window click Add GPS Unit In the GPS Communication window select Replay GPB File as shown in Figure 2 16 below Click Next GPS Communication E xi p Re BroadCast Data gt Receive Data by Computer Comport NetWork Protocol Dadas
99. When to use It must be called after DLL is opened and before any other functions are to be used Pitfalls Make sure that WinSock2 is loaded on your system Prototype int __stdcall InitSioLibrary Input none Output none Return 0 Success 1 Failure see GetLastSioError 2 Hardlock error see GetLastSioError 9 3 20 IsPortEnabled Description Can be used by software to check if a port has been disabled Used in conjunction with the EnableDisablePort function Category Enable Disable When to use After a port has been opened Pitfalls none Prototype int __stdcall IsPortEnabled int PortNum Input PortNum Port number to check if enabled Output none Return none 9 3 21 IsPortValid Description Returns true if a port is opened properly Category Utility When to use After port is opened 156 Chapter 9 Using SIOGPS Pitfalls Will return true even if data bytes are not arriving Use GetDataTotalBytes function to determine if data is arriving Prototype int __stdcall IsPortValid int PortNum Input PortNum Port number to determine if opened Output none Return 1 Port open 0 Port not opened or OpenSioPort failed 9 3 22 IsSerialPortAvailable Description This function can be used to determine if a particular serial port is available For instance RtkNav uses this function to fill the drop down list box of comports that are present It loops through all comports 1 32 and continuall
100. al time kinematic processing package This option is aimed at near real time deformation monitoring applications RtStatic uses Waypoint s GrafNav processing engine to provide Fixed Static solutions in near real time while the standard RTK engine produces kinematic real time solutions on a per epoch basis Filtering of the time history of the Fixed Static solutions produces millimetre level coordinate changes on slow moving features such as slopes or dams Simultaneously the standard kinematic engine processes the same data in real time to monitor fast moving events in standard kinematic fashion On short baselines single or dual frequency receivers can be used with similar precision Up to 20 base remote combinations can be processed on the same computer platform Raw input or processed output data can be transferred in real time over serial or network connections Additionally users have the ability to rebroadcast data collected in real time over a network or over the Internet thus allowing other instances of RtStatic on other computers to process all or a subset of the data that you are processing Furthemore data can be rebroadcast so that other instances of RtStatic on the same computer can be used to process a subset of the data For more information on RtStatic please see Chapter 3 Section 3 What is RtEngine RtEngine is a command line version of RTKNav It is usually called from the Windows DOS Prompt RtEngine does not have any
101. all Input Files into one file Output file name Process Input Files individually Append the following text to each file name Browse C Break up input files into time sliced output files IV Copy ephemeris files Lepp IV Copy station files sta m Time Interval Options Time Range Options Copy each epoch Copy all epochs Only keep epochs on interval C Copy Time Range GPS Time An Copy Epoch Numbers Interval 15 00 seconds HEE de ES Start End Resample to higher interval rd az Close About Add input files set output file and press Go E Figure 4 8 The Concatenate Splice and Resample GPB Utility Use the Add and Remove buttons to select the files that you wish to use as original files From the Time Interval Options box select the Copy each epoch radio button to simply splice a file or select the Only keep epochs on interval to resample the file If you wish to concatenate two or more files either radio button may be selected depending on whether you want to resample the data as well as concatenating it Use the Time Range Options to set the times that will be used to create the new file This utility also allows for a resampling of GPB data to a higher data interval This is best performed on static data since doing so on kinematic data will also attempt to interpolation vehicle motion which is not very well characterized by the polynomials used An additional dialog box appears wi
102. and port Command PortNum 101 Status ON This adds a TCP command port to network port 6000 The PortNum i e 101 is arbitrary and must be unique for each port in use by RtEngine Valid PortNums are 1 1023 To add a serial command port use the following in your IN file Adds serial port COM7 to RtEngine Port PortNum 102 Type SERIAL comport 7 baudrate 19200 Command PortNum 102 Status ON Note again that the PortNum assignment is completely arbitrary To add a CONSOLE command port use the following in your IN file Adds CONSOLE port to RtEngine Port PortNum 103 Type CONSOLE 66 Chapter 5 Command Port Interface Command PortNum 103 Status ON Section 2 Connecting to the Command Port This section covers how to connect to a command port once it has been configured Currently RTKNav will open a command port once Start Processing has been engaged When processing is stopped the port will be closed Future versions may be able to connect right after the port has been added or an existing project has been opened i e command port will remain open even after Stop Processing is selected 5 2 1 TCP IP Network Connection For TCP IP TCP mode only the easiest way to connect to the command port is via the Telnet program Telnet is available on all Windows and UNIX machines a For Windows NT 2000 XP users access telnet from a command prompt as follows telnet IPAd
103. ars about the actual port i e Network or serial settings 75 Version 3 15 Name Type Defines if the port is a Master Remote Rebroadcast Output or Command Port Rx Info Information about device connected to port 1 e GPS receiver or IP address of user connected to command port Read Write Number bytes kilobytes and megabytes read written by port 5 3 16 LOGREC Command This command is used to start logging of a particular output record to a given command or output port A list of available commands and their format is given in Chapter 6 Each record can only be requested once for a given output command port If requested again this request is used to change the interval or other settings for that record This is NOT recommended for MULTIENGINE due to the large number of records which will arrive at the port If used the UNLOGREC command MUST be use to stop the data flow It is recommended to simply use an out port instead Usage LOGREC P THIS RecName interval Where RecName would be one of NMEA standard records GPGGA DGPS position record one per remote GPVTG NMEA velocity record not implemented yet Waypoint custom records RTSOL Geographic position solution status record one per remote RTSLE RTSOL with some addition status information RTUTM UTM remote position record one per remote RTVEC Base to remote local level vector record one per remote RTSAT Satellite information record one per remote
104. ata or ReadGpsPort Pitfalls If this value is set too small some records may get lost The minimum value should be 16K see TB_DEFAULT_SIZE in threadbuf h which is the default size 165 Version 3 15 Prototype void __stdcall SetThreadBufSize int NewBufSize Input NewBufSize New size of thread buffer in bytes Output none Return none 9 3 40 SioWaitSec Description Function that waits a specified number of seconds This function merely calls the windows Sleep function Therefore users are better off just calling Sleep directly Category Utility When to use Never Pitfalls none Prototype void __stdcall SioWaitSec float sec Input sec Number of seconds to wait Output none Return none 9 3 41 StartRebroadcast Description Engages rebroadcasting which is the process of sending the input bytes from a given receiver to another serial or network port Normally rebroadcasting is over a network port but this is not necessary Category Rebroadcast When to use After both ports have been opened Pitfalls Network connection must be stable TCP less reliable that MULTICAST or UDP Both source and destination ports must be opened prior to calling this function Prototype int __stdcall StartRebroadcast int SrcPortNum int DestPortNum Input SrcPortNum Port number connected to GPS receiver DestPortNum Port number to receive raw data 1 e output port Output none Return 0 success 1 fa
105. ata to extract desired records may be an array Return TB_RET_ see threadbuf h translates to lt 0 error 0 no data gt 0 one or more valid records decoded 9 3 6 EnableDisablePort Description If a port is operating intermittently users may chose to ignore it This can also be implemented by not calling DecodeOneByte or LogRtkData However disabling this feature and calling these functions as per usual will cause the data from the port to be cleared but no records to be decoded Category Enable Disable When to use After you have determined that a port is not operating properly Should be use in conjunction with similar function in RtDLL Must be called after OpenSioPort Pitfalls Make sure that you keep track 1f port has been disabled see IsPortEnabled Prototype void __stdcall EnableDisablePort int PortNum int EnableFlag Input PortNum Port number to enable or disable 150 Chapter 9 Using SIOGPS EnableFlag 0 disable 1 enable Output none Return none 9 3 7 FillDecoderDefaults Description Fills buffer with the factory defaults Must be called after the port is opened so that SIOGPS knows which receiver the defaults are for Category Decoders When to use After calling OpenSioPort Pitfalls Make sure that structure size is OK Each receiver decoding has its own structure see rxopt h Prototype int __stdcall FillDecoderDefaults int PortNum void pOpt int OptSize Input PortNu
106. ata format Suggested over ID_G12 for robustness considerations B_ASHP12 ID_Z12DBEN Ashtech Z XXX using compact DBEN record B_ASHP12 ID_Z12 Ashtech Z XXX using PBN and MPC record format B_NOVATEL ID_3151 NovAtel OEM 3 data format uses RGEC B_NOVATEL ID_2151 NovAtel OEM 2 data format uses RNGB B_NOVATEL ID_MILLENIUM NovAtel OEM 3 with GLONASS capabilities _GLONASS Requests addition records necessary for GLONASS post processing Log raw to permit post mission decoding of these records B_NOVATEL ID_OEM4 NovAtel OEM 4 data format uses RAWCOMP record B_JAVAD ID_JPS_GRIL Javad GRIL format less robust than OEM format to follow B_JAVAD ID_JAVADOEM Javad OEM format highly suggested over GRIL B_MARCONI ID_ALLSTAR Canadian Marconi AllStar SuperStar uses Rec 21 B_JUPITER ID_JUPITER Connexant Jupiter uses Rec 1102 B_NAVSTAR ID_XR6 Connect to XR6 receiver B_XR7 ID_XR7 Connect to XR7 receiver using MACM record B_TRIMRT ID_TRIMRT Use for Trimble 4X00 series receivers B_TRIMRT ID_TRIMRT_SS Use for old Trimble 4000SS receivers B_GARMIN ID_ NONE Used for GARMIN raw data format 9 1 8 Do need to configure the GPS receiver If the GPS receiver is connected to a serial port SIOGPS will send out the commands to configure the receiver It will even loop through each of the baud rates to attempt to communicate However for network ports users must take care of the c
107. ata comes via a thread buffer which is explained below See method c for the treatment of the thread buffer If you would like access to the raw data but still would like to use SIOGPS to connect to the port then you must use the GetDataByte or GetDataBuffer functions to retrieve the data from the port and call the DecodeOneByte to decode the data Once enough bytes have been decoded this function will return decoded records Use the ReadThreadBufData function to extract the necessary records which can be sent to RtDLL using the manner described in Chapter 7 Version 3 15 d If you would like to use your own routines to connect to the serial or network port then only the DecodeOneByte function need be used Again ReadThreadBufData is used to used to extract the necessary records 9 1 3 What is a port number and why is it needed Port numbers are arbitrary numbers that SIOGPS uses to identify serial network ports and or receivers Valid port numbers range from 1 to 1023 The numbers themselves must be assigned by the user and should not be confused with comport or the network port numbers and there is no reason that they need to be the same For instance COM7 could be assigned to port 100 while network port 5001 on IP 192 168 50 60 could be assigned to port 500 The only issue that is important is that the port numbers be unique No two receivers can share the same port number If a user is rebroadcasting data
108. ates the final step in adding a GPS receiver Some receivers have primary and secondary comports A B C or D Data intervals can be as high as you wish The dialog box does allow you to type a custom output data interval Typical data intervals for real time processing are from 1 to 10 Hz As previously mentioned it is important to define whether the data will be static or kinematic in nature Most applications will have static base stations but for moving baseline mode define the base station data as kinematic Also for most applications the remote receivers will also be kinematic This is the default setting for remote units Finally if you choose to log data to disk it can be stored in either Waypoint s GPB binary measurement format or it can be stored byte by byte as a raw file The GPB File or Raw File modes may be useful if you plan to post process the data for later analysis Click the Finish button 20 Chapter 2 RTKNav Repeat Step 3 through Step 7 to add extra receivers base or remotes until you have finished adding and configuring all of your GPS receivers Upon completion of this task the dialog box seen in Figure 2 4 should look like that shown in Figure 2 11 Configure Project hugh x Receivers Processing Output GPS Unit Type Interval NOVATEL Milleni Base 1 00 Javad JPS Remote 1 00 a ASHTECH MACH Remote 1 00 ae CMC AllStar Remote 1 00 Delete OK Cancel
109. ault value is 0 06 cycles Length of time that KAR will scan for cycle slip free data with 5 or more satellites following the serious loss of lock Increasing this value will improve the reliability of KAR but it may also increase the number of seconds skipped between loss of lock and start of KAR Decreasing KAR_TIME will decrease this skipping effect but may also lower the reliability For C A code receivers this value should be 900 seconds or greater This value can be lowered for L2 phase receivers Default is 1200 seconds This is the tolerance cycles with which intersections will be kept in the list This value should be 0 20 or higher The default is 0 20 cycles 172 Appendix A Summary of Commands KAR_MIN_TIME 8 0 0 50 KAR_MAX_TIME 30 KAR_RMS_TOL 0 075 KAR_REL_TOL 1 50 KAR_SEP_TOL 2 0 KAR_MAX_DOP 7 0 KAR_L2_NOISE HIGH LOW KAR_ELEV_MODEL ON OFF KAR EPOCH_FILTER interval Minutes These are the times in minutes that the program will process a float solution before attempting an OTF KAR solution on Ll only or L1 L2 respectively Minutes After this number of minutes KAR will stop attempting to perform an ambiguity solution Possible reasons for this are poor data quality or too long a baseline Tolerance for KAR statistical test on the RMS phase in cycles Tolerance for KAR statistical test on the reliability of the chosen KAR solution Tolerance for allowable separation bet
110. be saved to disk then enter the file name Select if you want all the data to be logged or if you want data within a certain time to be logged Note if you are using defined start time then you will have to enter the GMT offset RTCM 104 corrections are the updated differential corrections Check the Output RTCM 104 Corrections box if you want RTCM corrections to be displayed Otherwise you are finished the setup and can click on the Finish button Select the type of RTCM output you would like and the interval for each e Type l includes time PRN dp and Op rate e Type 2 has the last IODE issue of data ephemeris e Type 3 gives position Select the Comport you would like to use for the RTCM output Enter the base station coordinates for the antenna Select the Baud Rate and then click Finish 55 Version 3 15 Ra New Project Step 6 of 6 COM1 System Pd COM2 System Pe 1200 2400 4800 9600 Figure 4 3 RTCM Corrections 4 1 2 Logging Data Once a project has been opened and the COM port has been initialized the GPS receiver will send binary data to your computer to be logged The screen as shown in Figure 4 4 should appear 4 1 3 Basic Logging Display The text appearing in Figure 4 4 below should be fairly self explanatory It should be noted that GPS time is out of synch with UTC currently by 13 seconds The Mode item appears as Static by default This can be changed to Kinematic by hitt
111. below 16 Chapter 2 RTKNav x E i by p Re BroadCast Data bonnes 2 Computer Comport Network Protocol Wl Serial Port G Multicast fc DM z Network Protocol C UDP Multicast TCP C UDP C Replay GPE File ete Baud Rate Network Mode razo 3200 Server ag Mode C Client pain Client Port Number Port Number 6001 faa 12 Destination IP Address Destination IP Address daaa eee Cancel Figure 2 6 Receiving GPS data by Network Port In Figure 2 6 above we are requesting RTKNav to receive GPS binary data on a MultiCast network protocol Note that Multicast protocol can only be used on a local network All network computers wishing to receive this data must have the same MultiCast IP address In Win32 this must be an address between 224 0 0 0 and 240 0 0 0 Port 6001 is an arbitrary port number that uniquely identifies this data stream to the network Each GPS receiver must have its own network Port Number RTKNav tries to assign a different Port Number to each network data stream for you starting at port 6001 You should be very cautious about using port numbers of less than 1024 as they are usually reserved for use by the computer s operating system The maximum port number is 65356 In MultiCast mode all computers on a local network can use the IP address given and the given port number to receive this data stream NOTE Win95 computers may not support MultiCast You may have to us
112. byte value 1 No bytes to read 9 3 10 GetDataBuffer Description Reads a buffer from the serial or network device Slightly more efficient that GetDataByte Category Data Ports When to use After OpenSioPort function called Pitfalls See GetDataByte Also see LogRtkData and DecodeOneByte Prototype int __stdcall GetDataBuffer int PortNum void Buf int MaxSize Input PortNum Port number to read data from MaxSize Maximum number of bytes to read i e size of Buf Output Buf Buffer allocated to MaxSize bytes to be filled Return NumBytes Number of data bytes copied to Buf 0 No bytes available in input buffers 1 Error see GetSioLastError 9 3 11 GetDataPortConnectinfo Description Returns information about the status of a serial or network port Most useful with network ports since this function will indicate the IP address of the connecting party for TCP receive and server ports This function fills a CONNECTPARAM structure see siogps h Category Data Port When to use After opening port Use to determine the status of a network port Good diagnostic tool Pitfalls Be sure to fill Size member of the CONNECTPARAM structure before calling function May not be as informative for UDP and MULTICAST ports as TCP However will still indicate if port is connected To check if function succeeded check PortNum member of CONNECTPARAM structure Prototype void __stdcall GetDataPortConnectInfo int PortNum CONNECTPARAM
113. c Option Version 3 15 It is essential to the proper functioning of RtStatic that a correct fixed solution is initially obtained This is important as all subsequent fixed static solutions are differenced with the initial position in order to determine if gradual motion is present in the remote antenna This is why be default two hours of data is used to compute the first fixed solution and one hour of data is used to determine all subsequent solutions Depending on the length of baseline the type of processing used single or dual frequency and the surrounding GPS conditions presence of large treed sections buildings or other obstructions users may wish to increase or decrease the initial position time however decreasing this time is generally not recommended RtStatic filters the hourly fixed static solutions with a 24 hour filter time window in order to graphically display the apparent movement of the remote receiver relative to the base Only the fixed static solutions that pass the statistic tests RMS and reliability are used in the filter The kinematic solution is updated with the filtered solution in order to increase the accuracy of the kinematic solution This will help to show very accurate kinematic results in the event of sudden movement in the roving receiver This feature especially useful in relatively long gt 3 km single frequency data sets in which KAR may have difficulty reliably resolving ambiguities on the f
114. caniinows eadavwanadad 26 TIME Command rt cian eins 27 UNLOGALL Commande 28 UNLOGREC Commande 29 VERSION Commande 30 WHOAMI Commande OSRTKAR Record AEN ee 1 RTKDC RECO cados 2 RTBIN Record EE PUTO Record WEEN RES Recordi aiie a A elves 5 FUGTAR RECO dara 6 RTVECEX Record saca cos Version 3 15 CHAPTER 8 RTENGINE 117 Section 1 Getting Started se isa 117 8 1 1 Using RtENGINE EE 117 8 1 2 Adding Configuration Config EE 117 8 1 3 Adding Ports DEE et EE EE E 118 8 1 4 Adding Receivers Master and Remote JUN 118 8 1 5 Adding Output and Command Ports Output and Command 118 8 1 6 Intervals and Export EE 119 8 1 7 Controlling static and Knematic rra 119 gute Ben 119 8 1 9 Setting the position of the Master 119 8 1 10 Setting the de le 120 8 1 11 Moving Baseline Proceseing nana cn raras 120 8 1 12 Using distance and ambiguity constraintes ssssesssrerresrrrrrrrrrrrrn 120 8 1 13 Azimuth CEEERM INA OM lee oo 121 8 1 14 heen e gd EE 121 Section 2 RtEngine Input Configuration Pl ocios census e 122 8 2 1 CONG OrOUP sr o o lis Dates 123 EE EE Eegen teaser 124 8 2 3 Master Remote ONO Di A A AAA A 125 8 2 4 Output Command EE ai id iia 126 Re dree ita A EE 126 Ce E EE 127 Section 3 Sample Input led o ds 127 8 3 Sample IN FEIEN anan A Aa Aaa 127 nee ER dE 129 CHAPTER 9 USING SIOGPS 131 Section 1 Introduction and FAQ cine ee e ee eeh cane ees 131 9 1 1 Whatsis OPS A AA ee A 131 9 1 2 How can tele eet
115. cm and above 4 cm are not suggested o MASTER _ID IdName IdName corresponds to the station name given to the base file in the Conv3d program o REMOTE_ID IdName IdName corresponds to the name given in the Conv3d program Each name must be unique and cannot contain spaces or commas Note this command needs to be entered for each remote antenna Ensure that the master receiver is set to kinematic mode This can be done by selecting View Project Configuration Select the base station file from the list and click Edit In the Edit GPS Unit Wizard window that appears select the GPS Mode tab Be sure to select the Kinematic radio button here The user can now begin processing by selecting Processing Start Processing To view the attitude information select View Attitude Data 188 INDEX SERROR oidor ect 71 KEIER 86 RES ER ege deed eege 71 SREAUT Void iii iste da as nen 91 VIN Cuidadores 92 SUCCESS randre ER lead 71 A Add Pot ieee ene 65 Mi rias 90 AGE ri 82 Al ia dot 123 AMD aid 81 AUNDISUILLES dali 82 Spee Eau Ee 90 169 ambiguity constraint ooooonnonccconconcononononannninnonacnnonos 120 ASCII record protocol oooconcnincnococonoconccononancnnncanonns 85 ASCH records eairt a a a e 21 assigned port number 68 Assigned port number 124 Assigned Port Number 9 attitude determination ocooocnnnnncccnonancnnnnnarononns 91 121 available satellttes 90 AZ DETERM conciso assests 121 Azimuth det
116. cord functions in RtDLL to send data over Intermittent or invalid port definition in OpenSioPort Baud rate too slow for size and volume of records See also DecodeOneByte and GetDataByte int __stdcall LogRtkData int PortNum void MultiBuf PortNum MultiBuf MultiBuf TB_RET_ translates to lt 0 Port number connected to GPS receiver NULL to ignore For SIO_SERIAL and SIO_NETWORK ports users can pass a Thread buffer as this pointer to gain access to decoded records use ReadThreadBufData to extract records arrays For SIO_USER ports users can pass an input data buffer using a USERRTKDATA structure see siogps h see threadbuf h error 158 Chapter 9 Using SIOGPS 0 no data gt 0 one or more valid records decoded 9 3 24 OpenDecoder Description The function enables decoding for a given port Since this function is already called in OpenSioPort there are not many situations that require this function to be called by the user Category Decoders When to use Never Pitfalls none Prototype int __stdcall OpenDecoder int PortNum Input PortNum Port number Output none Return 0 success H failure 9 3 25 OpenSioLogFile Description Starts logging raw or decoded GPS data to a file Used if logging within the SIOPARAM is not used Otherwise this function can be ignored Category Log Files When to use After opening the port Pitfalls File name must be valid and cannot be opened b
117. cpu_time can be filled in with the GetTickCount function remember to divide by 1000 0 for proper age and latency computations The cpu_time refers to the estimated computer time that the measurement was made Output structures This section describes returned by the DLL a Solution structure engine h typedef struct char prn 1 32 float elev az degrees double ambiguity 1000 to 1000 cycles char extra 64 gps_satsol_type 111 Version 3 15 This structure gives information about each satellite The ambiguity is the last few digits of the ambiguity value typedef struct double corr_time double sol_status above Gei Si double phi lamda ht double sde sdn sdh double ve vn vh double vsde vsdn vsdh double lle lIn lh int qf double dd_dop double amb_drift double 11_rms ca_rms int num_less_than_4 int kar_satus float kar_seconds int kar_valid float kar_best_rms float kar_reliability float float_fixed_sep int kar_frequency float kar_sec_used float kar_avg_ stats int kar_passed long num_good_meas long num_bad_meas long num_total_meas int num_sats_without_eph exact time in GPS time frame see below see SOLUTION_ from degrees meters position standard deviation velocity m s velocity standard deviation m s local level vector quality indicator 1 6 7 single pt
118. cted directly to the master receiver One to 20 mobile units are continuously transmitting their raw data back to the base for processing The base may either be moving or static RTKNav will plot the location of each of the mobile units Their solution can also be sent to another application e Monitoring RTKNav is tracking a number of near stationary receivers to determine their movement In this application accuracy is very important RTKNav computes the epoch wise kinematic location of each and RtStatic also computes a static fixed integer position for even higher accuracy Currently RTKNav supports the following GPS receiver inputs e Ashtech AC12 G12 DG16 MACM Z12 Z12DBEN MACM_GSU1 MACM_GSU2 Canadian Marconi AllStar SuperStar Javad GRIL OEM Parthus XR6 XR7 Navcom NCT NovAtel 2151 3151 OEM4 Millenium Rockwell Jupiter Trimble 4x00 SSx Version 3 15 RTKNav offers a full featured Windows interface This interface comes with an easy to use Configuration Wizard plots up to 20 remotes and shows the tracking status of each connected receiver A simple red yellow green light means that system operation can be checked by quick inspection For moving baseline applications a bull s eye view is possible along with range and bearing display Waypoint navigation is also supported For more information on RTKNav please see 0 Section 2 What is RtStatic Waypoint has added a major new feature called RtStatic to its RTKNav re
119. d Satellite Info Ei RTKNav Processing Status Message View pjs File Edit View Messages Commands Processing Waypoints Window Help Es Zell sole a e see Ing aaa al dieere sam 2 a aja lag SIE Figure 2 30 Prepare to Display Data for Remote 1 Note that in the toolbar image in Figure 2 30 we have selected R1 in the list box We then hit the Receiver Solution tool button The resulting text box is displayed in Figure 2 31 E RTKNay Solution Data View Remote 1 File View Processing Window Help Djs Hee al del self jejujo kd lel Y From none Jo fore dC alalsl rns Fineceverstaus ss lolx GPs Pot Mode Solutions _ StdDev Bytes Records Sats Age Leah Beet A se R1 0 a gn Time of Fiz 594944 40 21 15 44 40 10 21 2000 Status 08 08 0 O 0u Position 0 M S Local Level m none E 4 Lat 0 58 43 002 E 0 207 PDOP 4 of Lon 114 0 41 989 N 0 061 Sats L1 RMS 7 Std Deviation m s Track Horiz 0 046 Speed m s 0107 KAR ert 0 041 COG deg none Latency Ready Figure 2 31 Coordinates Remote baseline 1 Coordinates of the above include latitude longitude and height of the remote antenna as well as delta east north and up with respect to the base station In Moving Baseline mode only the Local Level coordinates are meaningful and of high accuracy due to the nature of relative positioning We can also display locktime azim
120. d deviation for the position of the body coordinates If you have a very stable system then this value can be lowers Values below 1 cm and above 4 cm are not suggested e Add the CFG command MASTER_ID IdName o IdName corresponds to the name given in the Conv3d Make Body program e For each remote add the CFG command REMOTE_ID IdName o IdName corresponds to the name given in the Conv3d Make Body program Each name must be unique and cannot contain spaces or commas e Make sure that the LineUpMode is set to ALL e Enable Kinematic Ambiguity Resolution same place as LineUpMode e Ensure that the Master receiver is set to kinematic Section 2 RtEngine Input Configuration File Version 2 00 files are not computable with Version 1 1 Files for the new version must be re created The RtEngine program uses two configuration files The CFG file contains numerous configuration commands for the GPS computation engine and it is described in Chapter 5 The IN file is necessary to define the various serial ports in use The IN file is defined here and it uses the following style Group Paraml varl var Param2 varl var Group2 Param varl var2 122 Chapter 8 RtEngine Param2 varl var a semicolon can be used to make comments and remove parameters The following groups are necessary Config Defines the CFG file and processing mode Port Information for a input output port Master Infor
121. d for Ashtech while 1 or 2 may be used for 125 Version 3 15 Position latitude longitude height StartMode Mode Enable YES NO RebPort AssignedPortNum NovAtel Master only This is the base station position The latitude and longitude MUST be in degree minutes seconds space delimited while the height MUST be metres This parameter is optional and it is important that the base station position be exact lt 10m If not defined the base position must be obtained from either the CFG file or sent over the serial port This is the static kinematic processing mode that the antennae is starting atUse NO to initially disable a port The default is YES NO to disable a port s operation Rebroadcast port AssignedPortNum port number assigned in Port 8 2 4 Output Command group This group defines the parameters for the serial port to which the ASCII embedded records are sent This port may coincide with one of the other ports if the WRITEONLY status is used A proper Y cable must also be used to enable dual port usage Parameter Description Status status Command ON OFF PortNum AssignedPortNum Record RecName interval The status can either be OFF WRITEONLY READONLY or ON Use OFF to disable the port Otherwise ON should normally be used ON if this is acommand OFF for an output port AssignedPortNum port number assigned in Port The RecName can be one
122. d up processing considerably For very slow machines you may wish to raise it to 0 04 The default value is 0 02 m Length of time over which to apply quick static ambiguity search cube The default value is 600 seconds This time must be within the static data length Tolerance for rejecting quick static intersections This would reduce increase the number of intersections picked in quick static Valid values are 0 70 0 95 Defaults are 0 80 for L2 phase and 0 90 for L1 phase only C A code This will reject bad pseudoragnes The first parameter can be used to enable ON or disable OFF this rejection filter In addition the user can set the tolerance in meters This value should be 176 Appendix A Summary of Commands REMOTE_FILE path file_prefix gpb REMOTE _ID station_name REMOTE_POS lat long ht hi REMOTE_SD stdev RMS_TOL 1 _tol ca_tol p_tol at least the maximum length of the base remote separation This is the name and location of the remote station binary GPS data file This data must be in the GPB format If your data is not in this format use one of the conversion utilities supplied If this value is not entered the program will prompt for it GPS attitude option only Unique station id for each of the remote station files Required with REMOTE_FILE command for attitude determination These are the coordinates of the remote station The latitude and longitude must be ente
123. dress NetPort For example telnet 192 166 99 200 6000 If the NetPort is dropped then the default port is 23 i e telnet port b For Windows 9x users telnet has an easier to use interface It can be used as follows 1 Opena DOS Prompt ii Type in telnet This should bring up a Windows program If telnet cannot be located then you may not have your path set to include the Windows and Windows System directories 111 From the main menu select Connect Remote System iv The following dialog box should appear Host Name 192 166 99 200 Port 6000 TermType vt100 coc Figure 5 1 Telnet Login 67 Version 3 15 v Enter the IP address in the Host Name and the NetPort in the Port box vi Click on Connect c For UNIX users the same procedure as a can be used 5 2 2 Serial connection For a serial port connection one of the many serial terminal program can be used For example Procomm HyperTerminal The Waypoint Group NovAtel Inc also has a program available for users that are having difficulties locating one 5 2 3 Once Connected Once connected the following message should appear RtEngin Real Time Kinematic processing software Version 2 00 Copyright NovAtel Inc 2000 Type HELP for a list of available commands Port103 gt Note that the Port103 gt prompt refers to the PortNum assigned by RTKNav via the IN file This does not refer to the network or COM po
124. e a teeter arta ea eae 146 9 2 14 Shutting the system OW DEE 146 Section 3 Function descrita ged SEN 146 9 3 1 ConfigureReceiver dial asks leu ga tig 148 9 32 ClOSeSIOLIDFany sc ERA a 149 EE ee E e DE 149 9 3 A Close SOPOT ua do 149 9 3 5 ee EE 149 0 3 b EnableDisaDlGP On cacti ad 150 9 3 7 FillDecoderDefaults e Ae 151 9 3 8 EreeD coder A O AAAA 151 RS A d dek gece 151 9 3 LO GEA ACABA AS AAA 152 9 3 11 G6tDataPO Conector a 152 9 3 12 GetDataBytesToBeRead ioicriiiaaaadlaa Slewsed RENE a 153 9 3 13 GetDatal UE 153 o E e A 154 9 3 15 GetThreadBufRecCount ee ENEE EE 154 9 3 16 GELT read E Eege beet es bos 155 9 3 17 GetThread BUI EE 155 9 3 kee Ken EE 155 319 MISIL Y pida EE 156 9 33 20 ISPortEna bled ei caida iia dd lili diarios 156 le PO ll a e de A 156 A ls ET 157 93223 Eed Ee EE 157 9 3 24 OPenDE CON its a da ie 159 9 3 25 OPEN sO LOGE Sd E IO PERE Mo aii E A 159 9 320 QPENSIOP e 159 9 3227 REGOGDSE OM tota id ado eddie 160 9 3 28 Ree Mead BUiDalay cirio diles 161 RTE ee LEE 161 GE ee Ree EE 162 SAS Sl SAA PP E 162 9 3 32 Send Bala EE 162 9 3 33 ele KE ne EE 163 Version 3 15 3034 SetAddMessa EE 9 3 35 SetDecoderOptio NSn iia ocios Discs DEER ee Te GE 37 SetSioLogFilelnterval iiri ienei ieir eta teaser AEA soiled 9 3 38 SetStaticKinematicMode aide deg dat dE nde a ENEE EE 3 A0 SIOWA Strict dci 9 341 Start ReprOddCa Ee E Ge EE EE EE H Det Ee EE APPENDIX A SUMMARY OF COMMANDS APPENDIX B ATTITUDE SOFTWARE
125. e further problems may be encountered data error unable to decode data Not enough satellites or similar effect C A code solution obtained 1 5 m Filtered solution but KAR failed Solution structure may contain errors Raw data contained errors solution could be out No hardware key found No coordinates on master station ProcessEpochBuf only no data lined up try again Error occurred during data buffer reading NT ProcessEpochBuf gps_epsol_type Solution This function is similar to ProcessEpochData except that the data is obtained from the internal data buffers Use the function AddDataToBuf to add data to buffers This function requires that data be present for Master and all Remotes for a solution to be computed for a given epoch Otherwise the GPSRET_NOMATCH is returned The oldest unprocessed data will be selected gps_epsol_type int see GPSRET_ Solution Solution structure see Section 3 Structure 2 Use GetLastGpsError to retrieve error messages for return values other than GPSRET_SUCCESS ProcessEpochMsBuf Purpose Input INT ProcessEpochMsBuf gps_epsol_type Solution long Milliseconds The function acts like ProcessEpochBuf but it does not require that all of the data exist in the data buffers It will pick the use any remotes arriving within a window of n milliseconds All remotes must be present for the first epoch to init
126. e time estimated in the RTSIO records latency RH This indicates the remote number i e R1 R2 east north UTM easting and northing m ht Height in metres 89 Version 3 15 zone UTM zone number 1 60 sdh Horizontal standard deviation 1 sigma in metres sdv Vertical standard deviation in metres S K Mode static S kinematic K af Quality factor best 1 worst 6 no RTK solution 7 dd_dop Double difference DOP PDOP F L U Fixed integer ambiguity status fixed F float L unknown U XX Checksum Example RTUTM 151200 00 R2 709766 8985 5651698 0642 1014 9992 11 0 0189 0 0242 6 K 1 146 3 F 37 6 2 7 RTSIO Record This record is used to obtain the age of the last solution and latency of the remote solutions Since solutions for multiple remotes are solved simultaneously the latency will be the same for all This record can also be used to determine the GPS time of the last incoming record The STATUS command is usually better suited for this but RTSIO can be used as well Format RTSIO gpstime age latency num M time nsats R1 time nsats R2 time nsats XX Where gpstime Solution time in GPS seconds of the week This position may be latent by the time estimated in the RTSIO records latency May not be on the whole interval age Seconds since last solution computed Will increase if base or one of the remotes is not tracking or receiving latency Estimated latency of the last solution how far
127. e Assigned Port Number RTKNav RtEngine and SioGPS DLL use an assigned port number to reference a serial or network port Assigned port numbers range 1 1023 and they have no correlation to serial comports or network port numbers Assignment is usually sequential e Comport computer The Windows system defines a number of serial communications ports depending on what serial devices you have installed Generally you will have COM1 and COM2 Your mouse may use one of these Serial boards or Serial USB devices will show in the Win32 system as COM ports RTKNav is designed to read the Win32 system and determine which COM ports you have and are available for reading measurement data from your GPS receivers COM ports are usually defined in the region COM 1 COM20 Version 3 15 Comport GPS receivers Currently virtually all GPS receivers have one or more serial comports RTKNav can communicate from your computer comport to either GPS receiver port A orB Note that RTKNav has two way communication with the receivers and will send configuration commands to your GPS receivers Baud Rate RTKNav will ask you to choose the data rate at which you wish to communicate over your serial port Baud rates from 4800 bits per second to 115200 bits per second are supported RTKNav will run reliably up to 115200 bps baud Your GPS receiver must support the same baud rate as your computer RTKNav will poll the receiver to set its baud rate
128. e UDP or TCP UDP mode is exactly like MultiCast protocol except that Win32 only defines one local IP address for UDP This is address 255 255 255 255 Every computer on a local network that uses the Port Number typed into the dialog box 6001 in this case will receive this GPS data stream from the receiver Note that like MultiCast this data will loop back to your own computer if you wish to run more than one copy of RTKNav on your computer See the note on Re Broadcasting below TCP mode is a point to point communication that can be used in either local or wide area network You do not need to know the IP address to receive TCP data from an outside source A GPS receiver or computer sending TCP data must know the IP address of your computer in order to send TCP data to you If you know the static IP address of some user in a remote location and they have no firewall in their system you can send GPS data using the Re Broadcast capability anywhere in the world Use can also use our utility data logging program WLOG EXE 17 Version 3 15 Users can also replay GPB files through RTKNav to simulate the RTK processing with previously collected data Users must have the data in GPB format and have proper overlap with master and remote files See Section 2 for details on replaying GPB files Step 5 Re Broadcast the GPS Data optional You can Re Broadcast your serial or network data to your own computer or to a computer anywhe
129. e default is no omissions OUTPUT_MODE NORMAL EXTENDED OLD Determines output format for the ASCII FWD and REV files EXTENDED includes velocity and ambiguity values OLD indicates the file format prior to GrafNav version 5 03 OUT_PREFIX file_prefix Normally the output file prefixes will be the same as the input CFG file These are prefix FML RML or ANN GrafNet Only prefix fss or rss for GrafNav and sum for GrafNet and prefix fwd or rev for GrafNav and out for GrafNet This can be used to save multiple output file copies of a project Care should be taken with this command because the user may loose track of the output files PCODE_SD stdev P code measurement standard deviation in metres By making this value 1 0 m or less the program will converge faster in static mode and be more resilient to cycle slips in kinematic However it will also add noise to a solution which is mainly controlled by the precise carrier phase The default value is 2 0 m P code processing and P code data is required for this option PHASE_SD stdev L1 carrier phase measurement standard deviation in metres The default value is 0 02 m and it is best left there PHASE_RATE_SD stdev L1 phase rate doppler measurement standard deviation in metres second The default value is 0 04 m s and it is best left there POS_DENSITY 1 0 This is the spectral density of the position states You may want to increase this value to 10 or more under h
130. e slips Using locktime to detect cycle slips can be invoked by setting the mode to LOCKTIME For most robust results with your receiver mode should be set to BOTH which will cause both LOCKTIME and DOPPLER cycle slip detection to be invoked For locktime to work binary data GPB version 1 01 or higher must be used The version number of the data file can be changed from within VIEWGPB F7 key Default is DOPPLER Tolerance used to detect cycle slips on the Ll phase These tolerances generally vary from 1 15 cycles This value depends on receiver type vehicle dynamics and multi path effects For data rates longer than 1 second this value may have to be increased accordingly e g multiply by 15 for a 15 second data rate This is due to noise effects in the phase rate doppler Multi path environments may require at least 5 cycles even in static mode Small cycle slips reported by GPS_PROC may Version 3 15 DATUM system DIST_CONST ON OFF DIST SDEV DISK_WRITE ON OFF indicate that CYCLE_TOL is too low This value is multiplied by 10 during kinematic mode The default value is 2 0 processing_interval The following coordinate systems datums are currently supported WGS84 NAD27 and NAD83 NAD83 is considered the same as WGS84 Other systems can be made available Call us Default is WGS84 Enable disable distance constraint for GPS attitude module only DIST in metres indicates the measured constrained
131. e that the GetDataByte methodology should be used See Method c A GPB file consists of the following a file header is a header_bin_type structure b each epoch starts with a pben_bin_type structure c followed by num_sats multiplied by mben_bin_type d Use create_bin_file to create a GPB file and write_bin_epoch to add an epoch to the file see gps_io c The reason for logging data is twofold a Customer support is much easier if the user has access to the file In such a case raw data is preferable to GPB since we can always convert to GPB after the fact b Users may wish to consider post processing as an option to improve accuracies after the fact Due to forward and reverse processing post processing tends to always be more accurate Section 2 Getting Started This section is broken down into the steps required to implement SIOGPS These steps include a Load SIOGPS DLL b Open Library within DLL c Open Ports 136 Chapter 9 Using SIOGPS d Configure GPS receivers e Main logging loops f Shut down 9 2 1 Loading the DLL The DLL can be loaded using the function called LoadSioGps located within the C file loadsiodll cpp in the directory newserial You must pass the DLL file name A full path name is highly suggested LoadSioGps will fill an SIODLL structure containing function pointers to each of the functions within SIOGPS It will return one of the following Return O SUCCESS 1 failure to
132. e the RXCFGPARAM defined during the OpenSioPort function Otherwise a structure can be passed to override the original settings See Section 9 2 7 for a description of RXCFGPARAM structure which is defined in siogps h Output none Return 0 success 1 failure see GetSioLastError 148 Chapter 9 Using SIOGPS 9 3 2 CloseSioLibrary Description Closes all ports and frees all memory Category Open Close When to use At the end Pitfalls Close after all communications threads have stopped Prototype void __stdcall CloseSioLibrary Input none Output none Return none 9 3 3 CloseSioLogFile Description Stops logging to a raw or GPB logfile Category Log Files When to use At end CloseSioPort also calls this function Pitfalls none Prototype void __stdcall CloseSioLogFile int PortNum Input PortNum Port number to close logfile for Output none Return none 9 3 4 CloseSioPort Description Closes the serial or network port Stops rebroadcasting and logging to files Also frees any memory associated with this port Category Open Close When to use After you are finished with a port Pitfalls Close after logging threads have stopped Prototype void __stdcall CloseSioPort int PortNum Input PortNum Port number 1 1023 Output none Return none 9 3 5 DecodeOneByte Description Accepts a byte and adds it to internal decoding buffers It will try and look for a complete r
133. e this structure is quite large especially for 20 remotes RTBIN is mainly suitable for TCP IP communications The 92 Chapter 6 Output Records definition of this structure called gps_epsol_type is given in engine h which comes as part of the developer s kit However users may request access to this structure without purchasing the kit The structure is packed using a simple algorithm to minimize bandwidth Therefore this record is only suitable for software developers Note that the gps_epsol_type structure is packed on the one byte boundary Zp1 Format RTBIN NumRemotes MaxRemotes StructSize DataSum Data XX Where NumRemotes Current number of remotes in use Value is in HEX MaxRemotes Maximum number of remotes allowed with this version of RTKNav Value is in HEX StructSize Number of bytes in unpacked structure This can be used as a check against your structure size and the unpacked buffer should also be this size Value is in HEX DataSum This is a 16 bit unsigned value stored in HEX It is a sum of all of the data bytes in the buffer before packing It can be used as a check to in addition to the NMEA 8 bit checksum Data See Unpacking Data below XX Checksum hex Example SRTBIN 2 3 13F0 1069 513 03 lt 0030C lt 007L 0241 lt 00311 lt 0031D lt 009 0A lt 00317 lt 003D07 001E03 lt 00308 lt 007 1A 002601 lt 003 ip43 1 5Bd lt 2 A A 44WGS3834 lt 00E TX41 1D14A x4 1 001C4L 0241 lt
134. eader configuration information Gontig ProcessMode SF FLOAT KARON CfgFile rtknetwork cfg LineUpMode partial 200 Verbose ON Definition of each port PortInfo for Master GpsInput Port Portl PortNum 2 Type NETWORK TP 234 5 667 etPort 5002 Protocol MULTICAST NORMAL etMode RECEIVE PortNum 2 Type SERIAL comport 7 baudrate 19200 PortInfo for Remote 1 GpsInput Port PortNum 4 Type NETWORK TPs 234 546 7 NetPort 5004 Protocol MULTICAST NORMAL NetMode RECEIVE PortInfo for Remote 2 GpsInput Port PortNum 6 127 Version 3 15 Type N IPs 234045 NetPorts Protocol NetMode Port PortNum Type Port PortNum 1 Type N LP s e E etPort Protocol etMode aa Port PortNum 1 Type N IP DD etPort 6 Protocol etMode S Port PortNum 1 Type N IP HD etPort 6 Protocol etMode S 5 R 6 S ETWORK 6 7 006 ULTICAST NORMAL ECEIV 100 CONSOLI w 01 TWORK 0 000 TCP NORMAL ERVER 02 ETWORK 0 001 TCP NORMAL ERVER 03 ETWORK 0 002 TCP NORMAL ERVER Definition of ma ster and remotes r Defini Master PortNum 2 ame M fileprefi FileMode Position Interval Receiver RxPort P StartMode De
135. eceiver Au itl i lt NumReceivers Yes Y i lt NumReceivers No No Start Configuration Thread b exitthread Decoding Loop see next two figures Finished Call CloseSioP ort and CloseS ot brand Figure 9 1 Flow chart for initialization The first step involves calling the function OpenSioPort for each Even if you are using your own communications functions in conjunction with our decoder you must still call this function The difficulty in using OpenSioPort is filling in the SIOPARAM structure properly and most of this section is devoted to this very issue The second parameter ConfigRxFlag can be used to postpone the sending of configuration commands or allow you to use your own configuration procedure The methodology in Figure 9 1 has this flag set to FALSE as configuration is implemented in its own thread The remaining part of this chapter is concerned with filling the SIOPARAM structure in Command variables Size sizeof SIOPARAM This ensures that the poper version of the DLL is being used It must be filled in PortNum The is the arbitrary port number filled in by the user It must be unique for each receiver or other output port Valid PortNums are from 1 1023 138 Chapter 9 Using SIOGPS PortType PortStatus This indicates the type of port this is Valid types include SIO_USER This would be used if you are using your own routines to connect to the serial or network por
136. ecord using the receiver type specified in OpenSioPort See the RXCFGPARAM structure located within SIOPARAM see siogps h If decoding errors are detected 149 Version 3 15 DecodeOneByte will try and rewind to next byte in order to try decoding any missed records for some decoders only Category Decoders When to use After reading one or more bytes from a serial or network port OpenSioPort must be called first Pitfalls Make sure that you properly specify the receiver type and sub type on entry into OpenSioPort See RXCFGPARAM structure in siogps h Thread buffer must be allocated to at least GetThreadBufSize bytes Data may not be altered in any way before adding to DecodeOneByte Watch out for baud rate being too slow for number of bytes being transmitted More that one type of record can be passed back simultaneously in the thread buffer The return value is only used as a guideline to determine what types of records are located in the thread buffer Use the GetThreadBufRecCount to determine exactly what records are present See also LogRtkData and GetDataByte Prototype int __stdcall DecodeOneByte int PortNum unsigned char InByte void ThreadBuf Input PortNum Port number for given receiver InByte Byte value read from device 0 255 Output ThreadBuf Buffer filled with decoded records see Section 3 Use GetThreadBufCount to determine if a certain type of record is there Use ReadThreadBufD
137. ecords see Section 3 Use GetThreadBufCount to determine if a certain type of record is there Use ReadThreadBufData to extract desired records may be an array 160 Chapter 9 Using SIOGPS Return TB_RET_ see threadbuf h translates to lt 0 error 1 no data gt 0 one or more valid records decoded 9 3 28 ReadThreadBufData Description This function is used to extract a particular record from the thread buffer Category When to use Pitfalls Prototype Input Output Return returned by DecodeOneByte ReadGpsPort and LogRtkData Use GetThreadBufRecCount to determine how many records exist of a particular type ThreadBuf After calling GetThreadBufRecCount to determine if a record exists FillBuf not being allocated to the correct size Structure packing not enabled int __stdcall ReadThreadBufData void ThreadBuf int RecID int MaxNum void FillBuf ThreadBuf Thread buffer returned by decoding routines May contain many records RecID Record ID to determine how many exist in ThreadBuf This will be one of TB_REC_ shown in threadbuf h See thread buffer FAQ in Section 3 MaxNum Maximum number of elements of array to fill Set to 1 to just fill one structure FillBuf Pointer to structure or array of structures Be sure to allocate correctly Number of records filled in FillBuf 0 if none filled 9 3 29 ReConnectDataPort Description This function can be called to recon
138. ect information to find the unit This error is returned by other functions if the unit has disappeared i e it is unplugged ACCESS DENIED You attempted to perform an illegal action on a word For example you may have tried to read an algorithm hidden word write to a locked word or decrement a word that is not a data nor counter word INVALID MEMOR Y ADDRESS You specified an invalid Sentinel SuperPro memory address Valid addresses are 0 63 decimal 0 3F hex Cells 0 7 are invalid for many operations Algorithm descriptors must be referenced by the first even address INVALID ACCESS CODE You specified an invalid access code The access code must be O read write data 1 read only data 2 counter or 3 algorithm hidden PORT IS BUSY The requested operation could not be completed because the port is busy This can happen if there is considerable printer activity or if a unit on the port is performing a write operation and is blocking the port Try the function again WRITE NOT READY The write or decrement could not be performed due to a momentary lack of sufficient power Try the operation again NO PORT FOUND No parallel ports could be found on the workstation 10 ALREADY ZERO You tried to decrement a counter or data word that already contains the value 0 If you are using the counter to control demo program executions this condition may occur after the corr
139. ed on the CD The CD Distribution contains the following directories additional to the setup file Hardlock This directory contains the drivers necessary for Windows 2000 NT and XP installation All hardlock drivers should be installed automatically during installation Geoid This directory contains geoid files for U S Alaska96 Geoid96 Geoid99 Geoid03 Mexico97 Australia AusGeoid93 and AusGeoid98 and the World EGM96 These files allow mean sea level orthometric heights to be computed using GrafNav and GrafNet Files are in the WPG Waypoint Geoid format For Canada files must be downloaded from the Geodetic Survey Division of Geomatics Canada Other regions of the world are also available ManualPdf Contains this manual as well as the MultiEngine manual in Adobe Acrobat format Section 10 Communications definitions and concepts The following section describes some of the terms used in the next Chapter If you are unfamiliar with terms relating to serial and network communication ports this may be useful to you When starting an RTKNav project you will need to know a number of items relating to serial comports and network ports among other things Some of these especially those related to networks are briefly explained below NOTE In the following discussion the term Win32 will be used to denote Win95 Win98 Win2000 Win XP and Win NT RTKNav has been extensively tested on all of these operating systems
140. ed with the StartWode command in the IN file Use the RTVEC output in the Embedded section of the IN file The RTSOL will have the effects of autonomous positioning errors on the coordinate output 3 20 m RTVEC gives the local level vector difference between the base and each remote 8 1 12 Using distance and ambiguity constraints Requires 2 moving remotes and 1 stationary base The distance constraint feature can be used to improve ambiguity resolution times This requires that two remotes are defined in the IN file and these two remotes must be mounted in a fixed fashion with respect to each other The distance ambiguity constraint feature takes advantage of the following conditions when performing a KAR fix e The distance between the remotes should be a certain distance given a certain standard deviation e The carrier phase ambiguities for each of the three vectors should cancel or add up to less than a tolerance of 0 07 cycles e If two solutions are found passing distance constraints then the reliability should be above a certain tolerance e All RMS values should be less than 0 07 cycles When using this feature the following command must be added to the CFG file 120 Chapter 8 RtEngine DIST_CONST ON distance dist_stdev both in metres The distance should be obtained from GPS data and is the 3 D slope distance between the two units The standard deviation should be 0 04 cm or less to be effective Sometimes the di
141. effect KAR must be enabled in the Process Configuration Usage ENGAGEKAR P R RESET Example Engagekar rl reset 5 3 11 EXIT Command The EXIT Command can be used to stop RTKNav It will close all ports and perform an orderly shutdown of the current process Unless there is a loop back style program that calls RTKNav it may not be possible to recover from this process remotely Therefore caution should be used with the EXIT Command Usage EXIT 5 3 12 FILTERRESET Command This command resets the Kalman filter for one or all remotes This will bring the accuracy back to DGPS levels KAR will also be engaged if it is enabled This command is useful if it is noticed that the solution has become corrupted If the command MESSAGE ON is used before it is easy to tell if this command has taken effect Usage FILTERRESET P R ALL Example filterreset r3 5 3 13 FIXREMOTE Command This command can be used to fix the initial position of one remote receiver The latitude and longitude are entered in decimal degrees and the height in meters Usages FIXREMOTE R1 latitude longitude height Example rl 52 1848796 114 12459657 1110 235 74 Chapter 5 Command Port Interface 5 3 14 HELP Command The help command can either be used to list the available commands or the usage of a particular command Usage HELP command x y COMMON Where command would be the command name x y would be a range of letters
142. emote receivers that failed to send data Note that for users who are computing at 10Hz this value must be 100 msec at most For long term projects the default option should be selected The option All data must be received on time has a major disadvantage if you are in a project and one GPS receiver fails to send data In this case RTKNav 28 Chapter 2 RTKNav will not compute data for any baselines If you expect some remote GPS receiver to go off line for any reason then use the default option For projects where the base station data arrives either very latent or at a lower interval the Extrapolate master to minimize latency within specified time setting may be used In such cases the master station data will be extrapolated using time history information For this option the user defined option EXTRAPOL_EPOCHS may need to be added see Section 2 3 7 Processing Configuration By default Manual Start up is selected and should not be changed unless the user wished to run RTKNav from a DOS prompt In such a case select this option and run RTKNav from the command line like this RTKNav myfile in Moving Baseline Ensure Moving Baseline ON is checked if you have a moving baseline application such as a ship to buoy s or airplane to airplane s In addition moving baseline users should ensure that they have define their base station data as kinematic not static 2 3 2 Additional GPS Processing Options The GPS processing
143. ensee shall co operate reasonably with NovAtel in all legal actions concerning this license of the Software under this Agreement taken against any third party by NovAtel to protect its rights in the Software NovAtel shall bear all reasonable costs and expenses incurred by Licensee in the course of co operating with NovAtel in such legal action 4 Restrictions You may not copy other than as provided for in paragraph 2 distribute transfer rent lease lend sell or sublicense all or any portion of the Software except in the case of sale of the hardware to a third party modify or prepare derivative works of the Software use the Software in connection with computer based services business or publicly display visual output of the Software transmit the Software over a network by telephone or electronically using any means except when downloading a purchased up grade from the NovAtel web site or reverse engineer decompile or disassemble the Software You agree to keep confidential and use your best efforts to prevent and protect the contents of the Software from unauthorized disclosure or use 5 Term and Termination This Agreement and the rights and licences hereby granted shall continue in force in perpetuity unless terminated by NovAtel or Licensee in accordance herewith In the event that the Licensee shall at any time during the term of this Agreement i be in breach of its obligations hereunder where such breach is irremediable or if ca
144. er Decoding the data Decoding the data involves taking the stream of serial bytes originating from the GPS receiver and extracting important formation It is important to check any checksums Once the record has been completely obtained then useful information times pseudoranges carrier phase etc must be extracted into the GPB file structures see Section 3 Unless each decoder is on its own thread it is not very good to use while loops in the decoding process Lining up the data If the ProcessEpochData function is used then the user must externally line up the data This means that records for the Master and all Remotes must be accumulated for a given epoch before processing can continue This function also requires that data from all remotes 100 Chapter 7 RtDLL be present Another function will soon be added that facilitates computations for individual remotes However the easiest method is to use the function described in 6 which is an internal data buffering scheme Data Buffering Data buffering allows N epochs of data to be stored internally by the DLL for the Master and all Remotes This makes it easy to find matching data records for all of the stations It also allows for more flexibility if the CPU for some reason falls behind To enable buffering bit 11 of the ProcessMode parameter passed to InitPreciseDII function must be set use the PROCESS_DATABUFR to AND with other process options The number
145. er known relative coordinate values with respect to first Values must be in the body frame Figure B 8 Coordinate Observation Method Compute Body Coordinates Press the Compute button If the solution worked a window will appear which shows the roll pitch and heading values required to transform the input local level antenna stations into the body frame If ECEF is originally entered then the ECEF to local level is taken into account with the latitude and longitude values The angles are expressed as the rotation from body gt local level Otherwise an error message will appear For convergence or inversion errors you may have to alter some of the input values to try another definition type Check over all input numbers or add more observations The body coordinates will appear in the results window Check to make sure that they make sense Save the body coordinates to the CRD file by pressing the Save button Enter a meaningful file name 186 Appendix B Attitude Software Section 2 RtkNav Once the CRD file has been created the user must incorporate it into their RtkNav project using the following steps e Enable moving baseline by adding the MOVING_BASE ON command Alternatively this can be done in RtkNav by going to View Processing Configuration and engaging the Moving Baseline ON option under the Processing tab See Figure B 9 e Make sure that the Lineup Tolerance is set to All data must be received on ti
146. ermination oooocnnoncccnoniconononnnonons 34 121 B Dase position EE 119 IC 169 base station iisdicccsseccecaeacescsecnecaceccecstensseuaseniaetuataess 29 base station Dositton ce eeeeeseeteereeeeeneeereneeeees 125 Dad doi aiii 79 Baud Rates 10 Bad Tate iii 16 binary solution 92 DUO aa 42 C C A code RMS ebessi ated ARRE 89 callback function oooooonncniconoccnonaconnconcconccnncnnnonnnonns 132 CAM ESE E O E EE E 33 Carrier Locktime Cutoff oocooonnccnnccnccnocccononononcnonnnnns 30 CD Distribution ooooncnnncnoncnonnconoconcconcnnn cono conccnncon ccoo 9 CEG fil cis ni 117 122 Checksum failures ooooonoononcnoccnoconononononnconncnononononnnnos 82 Checksum Value sccescessseceeeeeseeceeeeeeneeceeeeeeeeeeee 86 CLEAR asnos DA 71 CODE tte tad ERAN 33 COLOR ainia tire di teeter 82 COM POTES ticos ini aici da ds eink Wise 9 Command intra a ivenedee an a 66 command port 67 command port interface eects eeeesecneeeeeeeeeees 65 Command ports cocooccoccccnoccconnnonoconoconocnnonnnonnnonnninnonns 21 Command Porte 118 Commands aii dina 71 commonly used commande 69 communcations DL 3 Communication Parameterg seerste 16 communications library s s s 131 Comport computer oooocnoccnocnnocconnconnconoconocnocnnocnnonnss 9 Comport GPS receiverg 10 concatenate slice and resample utility 61 ele E 9 Contig ugedo Spier See er bank d edeee er e 117 COMA ii ia 72 Come
147. ers of the STATIC KINEMATIC really need to be used Example Dynamicmode r3 kin 5 3 8 ECHO Command This command enables or disables echoing of characters to the current command port By default when a new command port is opened echoing is ON but if your terminal also performs the echo you may wish to turn this feature off You may also wish to disable echoing to avoid confusing your own software Usage ECHO ON OFF Example Echo on 5 3 9 ENABLE DISABLE Commands These two allow users to enable or disable a port or receiver In the case of GPS receivers there are two portions of the disabling process a Receiver data decoding may be disabled b Receiver processing in the engine RtDLL may be disabled Under normal circumstances it is desired that both be disabled In such a case the R port definition should be used If it is desired to just disable data logging seldom the case then the P can be listed The master cannot be disabled other than data logging via the port definition Usage ENABLE DISABLE P R Example Disable r3 73 Version 3 15 5 3 10 ENGAGEKAR Command This command can be used to engage Kinematic Ambiguity Resolution KAR for a certain receiver This forces KAR to start searching for a new solution If it is already searching then nothing happens unless the RESET option is used In this case KAR will start from scratch and ignore any previous data In order for this command to take
148. ertVel SK NumSats qf status XX Where GPSTime GPSTime in seconds of the week RA Remote baseline number 95 Version 3 15 DelEast Delta Easting in meters DelNorth Delta Northing in meters DelHt Delta Height in meters SDevHoriz Standard Deviation of horizontal position SDevVert Standard Deviation of vertical position VelEast East Velocity m s VelNorth North Velocity m s VelHt Height Velocity m s SDevHorizVel Standard Deviation of horizontal velocity m s SDevVertVel Standard Deviation of vertical velocity m s SK Mode static S kinematic K NumSats Number of Satellites af Quality factor best 1 worst 6 no RTK solution 7 status No solution 0 single point 1 DGPS 2 RTK 3 RTK errors 4 XX Checksum hex Example RTVECEX 432120 00 R8 10067 421 28873 794 253 255 5 733 10 867 0 004 0 000 0 007 7 755 5 503 K 7 3 3 42 96 CHAPTER 7 RTDLL Section 1 RtDLL Getting Started The RtDLL is a Windows 95 NT Dynamic Link Library DLL that encompasses the Waypoint Group s processing engine This engine facilitates combined GPS code and carrier phase processing which attains accuracies much higher than conventional DGPS The purpose of this product is to give GPS integrators the ability to add Real Time Kinematic RTK capabilities to their own application Accuracies as high as a few centimetres can be attained The DLL is called RtGps dll where refers to the maximum numbe
149. es is used If these ephemeredes do either not exist or they are incomplete then use the alternate ephemeris option There will be accuracy degradation for interpolated data This is especially the case for 30 second input data where interpolated carrier phase is accurate to approximately 20 cm Therefore it is often good to de weight the carrier under GrafNav s standard deviation options e g 0 2 m The L1 rejection tolerance should also be increased e g to 0 5 m Section 4 GPB to RINEX Converter This program will convert a GPB file into a standard format RINEX version 2 0 or 2 1 file You can convert multiple files in succession by simply adding them all to Files to Convert list Each time you add a file you will be prompted for a station name an antenna height and whether an alternate ephemeris should be used The type of data that will be written to the RINEX files can be selected with the radio buttons in the Data Types to Export box If Auto Detect from this box is selected then the program will export all available data Regardless of what button you press only data that exists will be exported columns of zeroes will not be created for missing data GPB to RINEX Converter allows you to set the week number the observations were made on If the Auto Detect Week button in the GPS Week box is chosen then the week that the observations were made will stay the same You can also set the week by choosing the Set Week button Occas
150. esponding algorithm descriptor has been reactivated with its activation password Version 3 15 The system device driver was not installed 12 DRIVER NOT or detected Communication with the unit INSTALLED was not possible Please verify that the device driver is properly loaded COMMUNICATIONS The system device driver is having problems 13 ERROR communicating with the unit Please verfiy that the device driver is properly installed VERSION NOT e Se system SECH Gare Se l SUPPORTED outdated Please update the system device driver OS ENVIRONMENT The Operating System or Environment is 19 currently not supported by the client library NOT SUPPORTED Please contact Technical Support 20 QUERY TOO LONG The maximum query string supported is 56 characters Send a shorter string 30 DRIVER IS BUSY The system device driver is busy Try the operation again PORT ALLOCATION Failed to allocate a parallel port through the 31 Operating System s parallel port contention FAILURE handler PORT RELEASE Failed to release a previously allocated 32 parallel port through the Operating System s FAILURE S parallel port contention handler 39 ACQUIRE PORT Failed to acquire access to a parallel port TIMEOUT within the defined time out The particular machine does not support a signal line For example an attempt was 42 SIGNAL NOT made to use the ACK line on a NEC 9800 SUPPORTED computer The
151. extend to i nonconformities defects or errors in the Products due to accident abuse misuse or negligent use of the Products or use in other than a normal and customary manner environmental conditions not conforming to NovAtel s specifications or failure to follow prescribed installation operating and maintenance procedures ii defects errors or nonconformities in the Products due to modifications alterations additions or changes not made in accordance with NovAtel s specifications or authorized by NovAtel iii normal wear and tear iv damage caused by force of nature or act of any third person v shipping damage vi service or repair of Product by the Purchaser without prior written consent from NovAtel vii Products designated by NovAtel as beta site test samples experimental developmental preproduction sample incomplete or out of specification Products viii returned Products if the original identification marks have been removed or altered or ix Services or research activities THE WARRANTIES AND REMEDIES ARE EXCLUSIVE AND ALL OTHER WARRANTIES EXPRESS OR IMPLIED WRITTEN OR ORAL INCLUDING THE IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE ARE EXCLUDED NOVATEL SHALL NOT BE LIABLE FOR ANY LOSS DAMAGE EXPENSE OR INJURY ARISING DIRECTLY OR INDIRECTLY OUT OF THE PURCHASE INSTALLATION OPERATION USE OR LICENSING OR PRODUCTS OR SERVICES IN NO EVENT SHALL NOVATEL BE LIABLE FOR SPECIA
152. f the parties hereto irrevocably attorns to the jurisdiction of the courts of the Province of Alberta 10 Customer Support For Software UPDATES and UPGRADES and regular customer support contact the NovAtel GPS Hotline at 1 800 NOVATEL U S or Canada only or 403 295 4900 Fax 403 295 4901 e mail to support novatel ca website http www novatel com or write to NovAtel Inc Customer Service Dept 1120 68 Avenue NE Calgary Alberta Canada T2E 8S5 Warranty Policy Warranty Policy NovAtel Inc warrants that during the warranty period a its products will be free from defects and conform to NovAtel specifications and b the software will be free from error which materially affect performance subject to the conditions set forth below for the following periods of time Computer Discs Ninety 90 Days from date of sale Software Warranty One 1 Year from date of sale Date of sale shall mean the date of the invoice to the original customer for the product Purchaser s exclusive remedy for a claim under this warranty shall be limited to the repair or replacement at NovAtel s option and at NovAtel s facility of defective or nonconforming materials parts or components or in the case of software provision of a software revision for implementation by the Buyer All material returned under warranty shall be returned to NovAtel prepaid by the Buyer and returned to the Buyer prepaid by NovAtel The foregoing warranties do not
153. fini Remote tion for R umber 1 PortNum 4 Name R1 FileMode Interval Receiver RxPort P StartMode tion for Master xX m test off 50 58 43 00000 114 00 42 00000 1015 000 0 100 ashtech macm S emote 1 OFF 0 100 novatel 3151 K 128 Chapter 8 RtEngine Definition for Remote 2 Remote Number 2 PortNum 6 Name R2 fileprefix r2 test FileMode off Interval 0 100 Receiver ashtech macm RxPort P StartMode K Definition of output data Command PortNum 100 Status ON Command PortNum 101 Status ON Command PortNum 102 Status ON Command PortNum 103 Status ON Output Records will be rejected on this basis Reject Mode reject dd_dop 1 100 000 hz_sd 1 0 500 height 1 41 000 2 500 End of file ER 8 3 2 Sample CFG File S PROJECT rtknetwork cfg H 7 DATE Oct 23 2000 date time of processing A TIME 18 02 53 CREATED BY RTKNav Version 2 00 DATUM WGS84 Processing datum ELEV_MASK 10 0 Elevation mask deg DOPPLER_TOL 25 000 Bad doppler tolerance m s OMIT_SATS 00 129 Version 3 15 SHOTGUN ON Use filter reset ON OFF WRITE_BAD_EPOCHS OFF Save bad data to fwd rev file ON OFF Second values for KAR are Dual frequency Wide lane values KAR_MIN_TIME 4 00 2 00 Min time for KAR Ll and
154. for each fixed mounted GPS antenna in the frame of the vessel aircraft or vehicle This is the body coordinate system and is required for two reasons e Defines where the roll pitch and yaw angles are referenced e Used as distance constraint information to improve multi antenna KAR performance Figure B 1 shows this body coordinate system Make Body Coordinates basically solves for the roll pitch and heading ve yaw for the calibration installation These are the angles required to rotate the antenna stations from local level to the body frame This procedure requires a minimum of three antenna stations Version 3 15 z Yaw y Z Roll up Ki Y North x A Pitch 5 Pp X East Figure B 2 Local Level Figure B 1 Body Coordinate System Coordinates Axis What is needed to start Before running Make Body Coordinates the following information is required GPS baselines Using the standard version of GrafNav coordinate baseline information must be obtained for each of the fixed mounted antenna stations The vessel aircraft vehicle must be approximately level lt 10 during calibration In fact it is best to level the vessel aircraft vehicle to a position expected during travel The GPS baseline data is computed as follows o Baseline Computation In the calibration procedure data must be captured from each of the antenna stations simultaneously Each baseline is processed separately with GrafNav but it is suggested that
155. fy and hold NovAtel harmless against all or any loss damage actions costs claims demands and other liabilities or any kind whatsoever direct consequential special or otherwise arising directly or indirectly out of or by reason of the use by the Licensee of the Software whether the same shall arise in consequence of any such infringement deficiency inaccuracy error or other defect therein and whether or not involving negligence on the part of any person 8 Disclaimer and Limitation of Liability a THE WARRANTIES IN THIS AGREEMENT REPLACE ALL OTHER WARRANTIES EXPRESS OR IMPLIED INCLUDING ANY WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE NovAtel DISCLAIMS AND EXCLUDES ALL OTHER WARRANTIES IN NO EVENT WILL NovAtel s LIABILITY OF ANY KIND INCLUDE ANY SPECIAL INCIDENTAL OR CONSEQUENTIAL DAMAGES INCLUDING LOST PROFITS EVEN IF NovAtel HAS KNOWLEDGE OF THE POTENTIAL LOSS OR DAMAGE b NovAtel will not be liable for any loss or damage caused by delay in furnishing the Software or any other performance under this Agreement c NovAtel s entire liability and your exclusive remedies for our liability of any kind including liability for negligence for the Software covered by this Agreement and all other performance or non performance by NovAtel under or related to this Agreement are to the remedies specified by this Agreement 9 Governing Law This Agreement is governed by the laws of the Province of Alberta Canada Each o
156. ged to obtain the clock bias which is normally very small For Ashtech G12 The SNV MBN and PBN records are required For CMC Records 22 and 23 are required For Motorola The Eg and Bf records are required For the Rockwell Jupiter The 1102 record is required For NavSymm The Output Format 2 is required DecodeGpsData This routine will take the raw binary records from a particular GPS receiver and convert to the GPB structures pben_bin_type amp mben_bin_type which are passed on to the DLL It is important that there are no while loops in this routine and it should return if not enough bytes have been decoded for a particular record Once complete the record in Waypoint s format should be passed on to the DLL using the AddDataToBuf or AddEphemerisDataRecord functions ProcessCoord This function would take the gps_epsol_type output of ProcessEpochBuf and pass the position etc onto another program area Some other important issues to consider are described in parts 3 onwards Static Kinematic The RtDII makes an important distinction whether the antenna is stationary static or moving kinematic and it can be detrimental to process kinematic data while set to static Therefore bit 1 of the status variable must be set properly in the pben_bin_type structure see Section 3 The user must set this If the user is not sure whether the antenna will be static or kinematic then using kinematic is always saf
157. he amount from the previous processing plus the current number of records if you start stop and restart processing It is definitely not recommended to try this since RTKNav has and might crash if you restart processing Q Why am I getting the following error message Error Hardware key not found check printer port Could Not Configure Engine Ea Error Hardware key not found check printer port Figure 2 40 Hardware key not found error A A number of things can cause this error message It cold be that your hardware lock is not in the printer port your hardware key is loose and not properly connected in the printer port the hardware key has not been burned properly the hardware lock drivers are not installed or the hardware lock is faulty If you are getting the error message and your hardware key is properly connected to the printer port with the proper drivers installed please contact the Waypoint Products Group NovAtel Inc for information 45 CHAPTER 3 RTSTATIC Section 1 What is RtStatic Waypoint has added a major new feature called RtStatic to its RTKNav real time kinematic processing package This option is aimed at near real time deformation monitoring applications RtStatic uses Waypoint s GrafNav processing engine to provide Fixed Static solutions in near real time while the standard RTK engine produces kinematic real time solutions on a per epoch basis Filtering of the time history of the Fixed Static sol
158. he current receiver position to station 100 is 9533 m at an azimuth of 50 9 degrees If one was to attempt to drive in a straight line from station 100 to 101 it can be seen that the current dot on the screen is 7746 m left of line The along track distance indicates that there are 12656 m left to travel along the line To dynamically choose To and From Waypoints from the ASCII waypoint file choose the Events Next Waypoint menu option or hit the F6 key 4 1 6 Marking Events Currently two kinds of events can be marked The first event is the static kinematic mode sequence which indicates that the antenna is either motionless or static The second is the station mark event 58 Chapter 4 Utilities which allows the user to mark the GPS time at which the antenna was over some significant point The static kinematic marks are placed both in an ASCII STA file and in the binary GPB measurements file The data logger creates these files for each project you have The station marks are placed in the ASCII STA file GrafNav GrafNet will read the station marks in the STA file and plot these in the GrafNav environment Station Mark EN Station Name Description 101 y survey marker a CANCEL Gps Time 164931 00 Figure 4 6 Station Marks The information in the dialog box shown above is stored in the ASCII STA file Note that the GPS time in the status bar of the dialog
159. he Project Next a Configure Project window will be displayed See Figure 2 4 15 Version 3 15 Configure Project hugh x Receivers Processing Output Add GPS Unit Edit Delete Cancel Figure 2 4 Configure Communication Input and Output Click on Add GPS Unit You will continue to use this button until the base receiver and all of the remote receivers have been added to the project Step 4 Define the Communication Parameters The next dialog box to appear is shown below in Figure 2 5 E r Receive Data by Re BroadCast Data 1 Computer Comport NetWork Protocol Mn com 1 A Ee e NetWork Protocol C TCP IP Network UDR E Multiast TP UDP Replay GPB File EE Baud Rate Network Mode P 19200 gt tse Network Mode Server Client Client Port Number Port Number En E 102 Destination IP Address Destination IP Address PEEP PEREA pa Cee Figure 2 5 Serial Communication Parameters for your Computer In Figure 2 5 we are assuming that you will utilize serial port COM1 on your computer at a baud rate of 9600 in order to communicate with this GPS receiver RTKNav will recognize any COM port that Windows has available on your system Baud rates of up to 115200 are allowed and are reliable You may also choose to receive binary GPS data from a local or wide area network port To receive GPS measurement data by network click on TCP IP Network as seen
160. he Waypoint Information box is invoked from the Display menu option 4 1 5 Using Waypoints An ASCII waypoint file must be loaded in order to plot waypoints on the screen To load an ASCII waypoint file you must first build the file with any text editor Each line in the waypoint file must look like Station_name latitude deg min sec longitude deg min sec For instance part of the file read in for Figure 4 5 below is simply NW 51 05 47 1005 114 22 24 0872 100 51 01 56 07954 113 54 21 34525 57 Version 3 15 101 51 05 45 48627 113 54 43 28268 and so on To actually load the waypoint file look under the File menu option or click on the Load Waypoints tool button Ra Waypoint Consulting Inc Data Logger Y Beta File Setup Display Plot Zoom Events Window fal Position Informa f EZ il Satellite Information 0l i Waypoint Information Sal x GPS Time 236229 00 Ch Pm Az Elev Lock St To NW From Ny 17 37 09 00 00 26 268 33 255 36 Dist 28510 1 X Trk 0 0 Latitude 5058 42 71 01 15 62 20 255 26 Az 297 4 L Trk 25318 1 Longitude 114 0042 AA e Satellite Az Elev Plot Display a To Waypoint From Waypoint Data Logger F3 Static K F5 Mark F6 Waypoints Figure 4 5 Loading Waypoints It can be seen from the Waypoint Information box that the current To Waypoint is station 100 while the current From Waypoint is station 101 The distance and bearing that must be traveled from t
161. he device driver hlvdd dll This is done as follows hl_inst Version 3 15 2 Programming for the DLL When developing your application for use with the RtDLL there are a few important considerations e The user must open and log data from the serial ports e Use the Win32 LoadLibrary and GetProcAddress functions to allow usage of the DLL functions e They must also decode the raw GPS data originating in the GPS receiver s format and fill GPB structures See Section 3 In many cases there may be a library of our source available from the Waypoint Products Group NovAtel Inc for doing this e The user must either a Wait for all data records to arrive and process an epoch using the ProcessEpochData function or b Add the data to the buffers as it arrives and use the ProcessEpochBuf function to line the data up internally This is an easier approach since much of the difficult programming is performed within the DLL The entire process described above should be at least its own thread This ensures that data will not be lost as other portions of your program are performing complex tasks The decoding of the data for each of the GPS receivers Master and n remotes and the processing could be their own thread However if this is done then it is vital the Functions AddDataToBuf and ProcessEpochBuf are not used simultaneously from different threads An easier approach is to make the entire process one thread A
162. he good news is that only a portion of this command set need be used Many commands have been added in order to add features to RtkNav and are not needed by the average user For example several commands have been added to facilitate datalogging to disk and rebroadcasting and although datalogging is important it can be just as easily implemented outside of the DLL There are several ways that SIOGPS can be implemented in conjunction with RtDLL In the next section there are flow charts showing methods a and c a b c If SIOGPS is employed to read data for the device i e serial or network port and it is used to decode the raw receiver data to a format compatible with RtDLL the LogRtkData function can be used This requires the least amount of code within your own application but you do not have access to the raw data other from the GPS receiver Decoded records can be accessed via two means The MultiBuf variable passed to LogRtkData can be used to access decoded records while callback functions can be within your own code See below for a description of a callback function This second approach is the simplest If a user wishes to avoid the callbacks used by LogRtkData then use the ReadGpsPort function This will return decoded records that have been created directly from the raw data stream coming from the serial or network port In this method SIOGPS would still take care of connecting to the device The decoded d
163. iate the Kalman filter Milliconds Window time after which remote records will not be processed gps_epsol_type int see GPSRET_ Solution Solution structure see Section 3 Structure 2 103 Version 3 15 Use GetLastGpsError to retrieve error messages for return values other than GPSRET_SUCCESS 5 ProcessEpochsMsBufEx Purpose The function is similar to ProcessEpochBuf However it also extrapolates the master station data in order to minimize latency This is a very new function and is still considered BETA It currently also only works with two or more remotes i e not with one This function would be used when the master data is arriving much later than the remotes A least squares solution is computed for remotes arriving within a n millisecond window When the master data arrives then another solution will be produced This is the Kalman filter solution KAR would also computed at this time This methodology can also be used to output solutions at a higher data rate than the base arrives For example remote data could arrive at 10 Hz while master data could arrive at 1 Hz Using the previous 3 lining up methods solution output would only be available at 1 Hz For the ProcessEpochMsBufEx function data could be output at 10 Hz The command EXTRAPOL_EPOCHS must be used with this function see Section 3 Input Milliconds Window time after which remote records will not be processed Ou
164. icate to the server Verify that the server is running The server on the 67 NO SERVER RUNNING E specified host may not be available for processing the request Unable to communicate with the specified 68 NO NETWORK host Network communication problems encountered No server responded to the client broadcast There is no server running in the subnet or dd NORERVER RESTANTE no server in the subnet has the desired key connected 70 NO LICENSE All licenses are currently in use Server has AVAILABLE no more licenses available for this request 71 INVALID LICENSE The license is no longer valid License expired due to time out The specified operation cannot be performed Tried to set the contact server 12 INVALID OPERATION after obtaining a license or tried to call FindFirstUnit function on a packet that already has a license 73 BUFFER TOO SMALL The size of the buffer is no sufficient to hold the expected data An internal error such as failure to encrypt 74 INTERNAL ERROR or decrypt a message being sent or received has occurred 75 PACKET ALREADY The packet being initialized was already INITIALIZED initialized 255 INVALID STATUS An invalid status code was returned The Alladin black hardlock is no longer supported Therefore if you have such a key then it must be exchanged for one of the Sentinel keys There may be an upgrade charge for this Version 3 15 Section 8 Utilities The following utilities are also included
165. igh dynamics This value should be left at 1 0 default PROCESS_DIR direction Processing direction is either FORWARD or REVERSE Reverse processing can be useful if there are a major series of fatal cycle slips during a kinematic run All features supported under forward processing are supported under reverse 175 Version 3 15 PRECISE_EPH_FILE fname SP3 NGS RANGE_SD stdev RAPID_CUBE cube_size RAPID_STEP interval RAPID_TIME time_length RAPID_TOL tol REJECT_PSR ON OFF Rejection Tol processing except for the feature that skips past epochs with satellite data dropouts Also the fixed static solution is not currently supported with reverse The default is FORWARD ON OFF Use precise ephemeris Precise filename sp3 Format NGS Enable Disable CA code measurement standard deviation in metres For noisy or poor quality pseudorange observations this value can be increased The default value is 7 m Size of quick static ambiguity search cube in metres A cube cube_size 2 will be searched from the initial approximate which is obtained from the first pass of the program The default value is 1 5 m This value should be increased if it is suspected that the remote position is outside of the search cube However larger values increase the possibility of an incorrect intersection found Size of quick static ambiguity search cube interval in metres Raising this value to 0 03 will spee
166. iles upon opening an existing project 29 Version 3 15 Step 12 Choose Your Processing Options Go to Processing Options The dialog box shown in Figure 2 20 will appear xi Heading and Pitch RTStatic Option UserDefined Geoid General Advanced Extrapol KAR Standard Deviation m Elevation Mask p Datum degrees Omit Satellites AGD84 TOKYO El r Carrier Locktime Cutoff r IV Write Data to Disk a sec Figure 2 20 General Options 2 3 3 General Options Elevation Mask Omit Satellites Datum Write Data to Disk Satellites below this mask angle will be ignored A 10 degree elevation mask is suitable for most kinematic applications However as baseline lengths increase a 15 degree mask becomes more suitable especially for monitoring applications This is a list of satellite PRN numbers to ignore Multiple satellite PRNs must be separated by spaces This option while sometimes useful in post processing for eliminating problematic satellites is of little use here By default the processing datum is WGS84 This processing datum also works well if base station coordinates are entered in NAD83 Otherwise it is important to enter the base station coordinates in the selected datum Only check this option if you wish to write an ASCII output file to hard disk This file contains information about every epoch of data processed fo
167. ill continually be used as new ephemeris records are added Input EphData Ephemeris data eph_type Return Number of unique ephemeris records received 8 AddEphemerisEppFile DLL_INT AddEphemerisEppFile char EppFile Purpose This function can be used to add ephemeris data stored in an EPP file This is a Waypoint format that can be obtained by contacting the Waypoint Products Group NovAtel Inc Input EppFile File name char Return 1 on error see GetLastGpsError or Number of unique ephemeris records received 9 GetLastGpsError DLL VOID GetLastGpsError char ErrStr Purpose This function retrieves the last error message Output ErrStr String to contain error message Should be at least 256 character long char Return void 10 ClosePreciseDIl DLL VOID ClosePreciseD11 105 Version 3 15 Purpose Frees all memory structures The windows CloseLibrary function will also free memory Return void 11 WhatIsInDataBuffers DLL_INT WhatIs 5 DataBuffers buf_list_type BufList Purpose This function can be used to interrogate what data currently exists in the memory buffers If ProcessEpochBuf continually returns a GPSRET_NOMATCH then this function can be used to determine which station is not receiving data Output BufList array of buf_list_type structures BufList 0 master BufList 1 remote 1 B
168. ill either output the requested data or give one of the following NMEA style outputs e SUCCESS CommandName XX This indicates that the command has been accepted properly and no errors were detected e S RESULT CommandName data XX This allows the user to easily and reliably read the results of the command in their own software program e SERROR CommandName Error message XX This indicates that an error was detected A message describing the error is given as part of the message It may be possible that the error message may have commas Therefore any commas after the CommandName should be ignored Checksums Commands can also be transmitted in a NMEA style wrapper see Chapter 6 Section 2 for more details on NMEA records This greatly diminishes the chanced of a command being altered via the transmission medium For example the STATUS command could be transmitted as follows STATUS 14 5 3 2 CLEAR Command Clear issues a clear screen to the current terminal It uses the ANSI definition which is ESC 2J note that ESC refers to the ESC character hex 1B Usage CLEAR 5 3 3 CONFIGRX Command The CONFIGRX command allows the user to re configure one of the GPS receivers This will re send the commands to that receiver This command is normally used if a receiver stops responding or you wish to request ephemeredes because another session of RTKNav has connected to the rebroadcast ports CONFIGRX currently onl
169. ilure see GetSioLastError 9 3 42 StopRebroadcast Description Stops a rebroadcast operation Category Rebroadcast When to use After StartRebroadcast has been engaged and before CloseSioPort is called CloseSioPort will also call this function automatically 166 Chapter 9 Using SIOGPS Pitfalls none Prototype void __stdcall StopRebroadcast int PortNum Input PortNum Destination port defined in StartRebroadcast Output none Return none 167 APPENDIX A SUMMARY OF COMMANDS The following lists the available commands and a short description of their usage Any subset of the following may be used for your particular input file Command ATTITUDE OFF COMPUTE STATE ATT_DENSITY 5 BASE_SAT sv_num BIAS_DENSITY 0 0 CYCLE_TEST mode CYCLE_TOL tol Description GPS attitude option only COMPUTE by least squares add attitudes as STATEs in the Kalman filter or disable Spectral density for the attitude states in deg sec 2 Satellite PRN number of base satellite used for differenced computations Normally this value should be left at 99 which will cause the program to automatically choose the highest satellite The default value is 99 This is the spectral density of the ambiguity states and should be left at zero default This is the method in which cycle slips are detected For most receivers the default is DOPPLER which uses the phase rate doppler to detect cycl
170. imize latency within specified time Cancel Figure 2 19 Processing Options It may be worthwhile to explore each of the above processing options given that they can be extremely important for some applications Receiver Data Dual frequency measurements help KAR considerably and permit the minimization of ionospheric effects Therefore if dual frequency receivers were used it is beneficial to ensure this radio button is selected Similarly select C A Code Only if a code only solution is desired Kinematic Ambiguity Resolution Check this box if you wish to resolve phase ambiguities on the fly This is very important for users who require centimetre accuracy This can be done for single or dual frequency receivers Baselines should be as short as possible for optimal reliability less than 4 km for single frequency and less than 10 km for dual frequency More related options are available under Processing Options Line Up Mode This setting has to do with the availability of the serial or network data coming from the remote GPS receivers By default the option Remote data must be received within specified time is selected and contains 250 msec by default This means that RTKNav will wait up to 250 milliseconds to see if all the baselines are sending data If any baselines fail to send their measurements in this time frame RTKNav will compute positions for the baselines that did send data and ignore the baselines for the r
171. in their firewall security Again UDP protocol may be more appropriate for some users Note that you cannot rebroadcast data when replaying GPB files Step 6 Choose the Receiver Type If the unit is your base station identify it as such Please see Figure 2 8 18 Chapter 2 RTKNav Add GPS Unit Wizard Step 2 of 3 x What Type of GPS Receiver Would You Like to Add NOVATEL Millenium y Is Receiver a Base Station or Remote C Remote Base Initialize Remote Station Coordinates Below Enter Base Station Coordinates Below If Receiver is the Base station y Use Coordinates Dutput from the Base Receiver Base Station Position Latitude DD Mm5s sss MS Te 25 Longitude DD MM Ss seet W32 32 32 Height meters 21 4 Ze Ellipsoidal Entered Height is Orthometric lt Back Next gt Emish Cancel Figure 2 8 Identify the Base Station Receiver and Coordinates Otherwise identify the receiver as a remote unit as demonstrated in Figure 2 9 Add GPS Unit Wizard Step 2 of 3 E What Type of GPS Receiver Would You Like to Add NOVATEL Millenium y Is Receiver a Base Station or Remote G Bescht C Base If Receiver is the Base station T Initialize Remote Station Coordinates Below Enter Base Station Coordinates Below Jee coarae Dutt erte Base Receiver Base Station Position Lattude DD MMss sss EFFE Longitude DD MMss sss _ E FE Height meters pz
172. ing roll_sd pitch_sd heading_sd e RTVEC gpstime R east north up sdhz sdv S K nsats qf status e GPGGA see NMEA document e GPVTG see NMEA document A more complete description of these records can be found in Chapter 6 Step 8 Add an Output Port To add an output port go to View Project Configuration as seen in Figure 2 12 View and Edt Project Configu Nun SCR E fo ino ne al Figure 2 12 Starting to Add an Output Port The Project Configuration depicted in Figure 2 11 should appear To begin the process of adding the communication parameters for an output port click on the Output tab The dialog box shown in Figure 2 13 will appear 22 Chapter 2 RTKNav Configure Project rtest xl Receivers Processing Output Port Mode Record Types Add Port e PORTNUM 3 ON OUTPUT 1 Disk Edit e PORTNUM 4 ON OUTPUT 1 Serial Edi Delete Cancel Figure 2 13 Output Data Click on Add Port to open the Output Communication window shown in Figure 2 14 Step 9 Define the Output Port Communications Parameters x r Send Output Data ri d Serial Port Computer Comport Network Protocol Network Mode gt MultiCast C Server TCPAP Network 3 DP Client Write to Disk C TEP File Prefix Baud Rate Port Number C tknav_sepla 1920 zl os MultiCast TCP IP Address Dutput Processed Data to Serial or Socket Command Port Recei
173. ing the F3 key or using the Events menu option If the data will be post processed by our GrafNav GrafNet modules this is important 56 Chapter 4 Utilities E Position Informa Mi EA ial Satellite Information Me xl Time 164377 00 Prn Az Elev Lock Snr Latitude 50 58 42 63 96 60 483 Longitude 114 00 41 69 169 9 355 Elevation 1025 23 190 77 487 Velocity 306 32 487 Mode Static 254 25 472 Epochs 64 47 25 482 NumEph 14 154 19 472 Site Position Display Satellite Display h Data Logger F3 Static K F5 Mark F6 Waypoints Lo Figure 4 4 WLOG Logging Data An extended logging display including waypoint navigation features can be invoked from the Plot menu option 4 1 4 Extended Logging Display The extended display has two functions The first is to display the azimuth and elevation of the satellites being tracked by the receiver and the second is to plot the current track of the static or kinematic antenna The scatter plot of a static antenna will basically be an indication of Selective Availability A more useful feature of the Scatter Plot window is that it allows the user to follow the track of a vehicle to waypoints read from a simple text file In Figure 4 5 below the waypoints are indicated by triangles while the current position of the GPS receiver is shown as a dot The Zoom menu option or tool buttons allows you to set a scale which is congruent with the situation that you are in T
174. ion cycles Should be 0 07 or less rel Second best RMS divided by the best RMS Should be 1 5 or better P F Indicates whether this solution has passed P or failed F fitfixed Separation between float and fixed integer solution This number may vary greatly depending on how accurate the float solution is sec_used Number of seconds used for the KAR solution sec_engagedNumber of seconds since KAR was engaged avg_sats Average number of satellites used S D Single S or dual D frequency KAR solution XX Checksum hex Example SRTKAR 150135 60 R2 0 008 1 63 F 0 04 57 599998 571 099976 5 0 S 39 6 2 11 RTKDC Record Distance constraint KAR solution info This indicates how well the distance constraints worked Format RTKDC gpstime AlIP F ambP F reliability relP F NumInt XX Where gpstime Solution time in GPS seconds of the week This position may be latent by the time estimated in the RTSIO records latency AIIP F Indicates if all tests passed P or failed F ambP F Indicates if the ambiguity constraint passed P or failed F reliability Reliability number should be 1 5 or greater relP F Indicates if the reliability passed P or failed F Numlnt Number of intersections found passing distance constraints XX Checksum hex 6 2 12 RTBIN Record This record delivers to the user the complete binary solution structure for a given epoch This structure contains the solutions for all of the remotes Becaus
175. ionally decoded data is given an incorrect week when it is converted from a receiver format to a GPB file These errors can be corrected by converting the GPB data into RINEX data with the correct week and then back to GPB data 63 CHAPTER 5 COMMAND PORT INTERFACE This chapter describes the command port interface which allows users to monitor the operation of RTKNav It uses an ASCII based command structure Normally communication is via TCP IP but a serial connection can also be used Provided the user s local network has a gateway to the outside a user can connect to RTKNav anywhere in the world using TCP IP The command port interface is designed so that there are no commands than can permanently harm the computer running the software 1 e disk cannot be reformatted and files cannot be displayed or deleted Section 1 Configuring a Command Port Configuring the command port is necessary for proper communication There may be more than one command port assigned up to 16 can be assigned for a single RTK session This can be useful by allowing multiple users the ability to check the activity of RTKNav 5 1 1 RTKNav Command Port In RTKNav a command port must be added before navigating is allowed i e before the green button is pressed This is performed as follows a From the RTKNav interface select View Project Configuration b Select the Output tab c Click on Add Port d Check Use this port as a Command Port THI
176. ions j Elipsoidal Orthometric E Output Remote Heights as Geoid File wpa Browse Ellipsoidal Orthometric Cancel Apply Figure 2 27 Geoid Options Enable Geoid Corrections Enabling Apply Geoid Undulations will prompt RTKNav to calculate orthometric heights when processing Click Browse to locate the path of the WPG file that RTKNav will use as a source of geoidal undulations The file must span the area of interest Otherwise RTKNav will return an error Base Station Height Reference The user may select whether their base station coordinates entered were ellipsoidal height or orthometric height See Figure 2 8 Output Remote Height as The user can also specify the output for all the remotes as either ellipsoidal height or orthometric height Section 4 Real Time Graphical Output RTKNav provides a number of text and graphical displays which indicate the state of the program s communication parameters the coordinates of the baselines and the state of the measurements with respect to each baseline In addition there are a variety of waypoint calculations and plots available for real time high precision navigation to pre determined points and boundaries 2 4 1 Start Processing Real Time Data Assuming all of your serial and network connections have been made properly RTKNav will start processing on Processing Start Processing or click on the icon with the green circle as shown below
177. ist of stations Add C Define reference using angles B 5 080 5 377 0 119 referenc Edit Define reference using coordinate A 4 848 4 366 0 179 7 Input in ECEF Remove Angular Definition Coordinate Definition FromSta ToSta Value deo Body Coord Obs Add a B Y 7 398 Tilt y y 7 B Z 0 000 m A y eme erp Body Az A X 6 522 m z _Remove Standard degrees Standard m Results Station Xinput Yimput Zimput Xbody Ybody Zbody C 0 000 0 000 0 000 0 000 0 000 0 000 B 5 080 5 377 0 119 0 001 7 398 0 000 A 4848 4366 0 179 6 525 0 154 0 000 Save Load Exit Figure B 4 Make Body Coordinates Dialog Box Add GPS Antenna Stations This process adds antenna station IDs along with their local level or ECEF coordinates The dialog box is shown below in Figure B 5 Accumulate data from the GPS calibration and assign IDs to each of the fixed antenna stations 184 Appendix B Attitude Software For each station click Add to key in the station name and antenna phase centre coordinate values local level or ECEF determined from the GPS survey Be sure to add the reference station first Add Edit Input Antenna Sta ES Name jAnt1 Local Level ECEF Coordinates X 4 561 m E 0 110 Im Enter values from GPS survey Cancel Figure B 5 Add Edit Input Antenna Station e Axes Definition There are two methods that can be used to define the axis the angle based
178. ke sure that the GPB file has the appropriate static kinematic mode Click Finish Repeat the process for the other GPB files to add them to the project Once complete the Configure Project window will look like that shown in Figure 2 18 Configure Project test Ki xl Receivers Processing Output GPS Unit Type Add GPS Unit AB waypoint File Base 1 00 AB waypoint File Remote 1 00 Es MB Waypoint File Remote 1 00 Delete Interval Cancel Figure 2 18 Replay GPB Files Project Configuration Window Select the Processing tab and configure the processing options for the project For more information on processing options see Section 3 Select the Output tab and define different methods formats of output For more information on outputting data see Section 2 1 3 The 26 Chapter 2 RTKNav number of data buffers must be increased when replaying data Otherwise the project will stop processing prematurely See Section 2 3 4 for more details Section 3 Options 2 3 1 GPS Processing Settings The processing engine that provides RTKNav with coordinate information is called RtGPsx dll RtGps dll is capable of processing the following ways Float Code Phase no ambiguity determination accuracy sub metre to decimetre On the Fly Ambiguity Determination kinematic ambiguity resolution KAR with code phase measurements accuracy centimetre level This can be invoked for either single or
179. kinematic marker oooononnccocnnoncnoccnnnconnonononnnonnnonnnnns 134 kinematic SUIVEYS coooococccconnnoncononnnonannnnnnononononnonccnnonss 40 L Liccarrier RMS ias 89 VALENCY EE 81 83 87 90 119 Beaten Cy E 82 Eh EE 42 Peat tide soii spa 77 86 87 Line Up Mode AA 28 Line pMode A 117 119 LISTPOR FS iu 75 Loading Wavpoimnts 42 Local Elias 39 88 EE 40 81 eene EE E 60 90 LOS Sins EE 56 logging display Das ii A cds 56 Ed dani ate 37 logging AA A 136 LOGRECiuissciitoonis iio aaa 76 83 85 nd das 42 77 Longitude otros oda 86 87 LOOP Dack omiso ticas 17 low pass KEE 50 M ECN deesoaneaeonteds 122 marking Vel ENEE 58 Master coin 125 master station s ssssessseeseseesseseesse1e 44 77 119 174 MASTER POS oscilante 119 MasterP os vicio 82 MASTERPOS orina 77 119 measurement records ccoooconoccconcnononcconenonncccnnaninnccnnno 82 MESSAGE cortina 78 Minimum Time 32 MOMitoring sener rrara eera r E 1 Moving Base e 31 moving baseline ooooooincnnnnnncnnncnocnconnconocnnos 20 44 121 Moving baseline oonconccnonncnnononcocnnnnonocononnnnnnanonnono 120 Moving Basclne eee ceessecseeseceeeeeceeeeeeeseeneeees 39 Moving Baseline applications ceeeeeeeeeeeees 29 Multicines 118 MultiCast aiii o di 17 18 MULTICAS Tios 11 124 139 MultiCast IP Address 17 multithreading and SIOGPS AAA 135 TUE Xs ccs bis a EErEE EEEE ES EEE RE 136 N narrow correlator oooooccconcccncccnonnnnonnconncnnncconnncnnnnooo 178
180. kup or archival purposes one copy may be made for each piece of NovAtel hardware on which it is installed or where used in conjunction with other NovAtel supplied software the media of said copy shall bear labels showing all trademark and copyright notices that appear on the original copy You may not copy the product manual or written materials accompanying the Software No right is conveyed by this Agreement for the use directly indirectly by implication or otherwise by Licensee of the name of NovAtel or of any trade names or nomenclature used by NovAtel or any other words or combinations of words proprietary to NovAtel in connection with this Agreement without the prior written consent of NovAtel 3 Patent Infringement NovAtel shall not be liable to indemnify the Licensee against any loss sustained by it as the result of any claim made or action brought by any third party for infringement of any letters patent registered design or like instrument of privilege by reason of the use or application of the Software by the Licensee or any other information supplied or to be supplied to the Licensee pursuant to the terms of this Agreement NovAtel shall not be bound to take legal proceedings against any third party in respect of any infringement of letters patent registered design or like instrument of privilege which may now or at any future time be owned by it However should NovAtel elect to take such legal proceedings at NovAtel s request Lic
181. l of the current repeat operation then type REPEAT new_interval STOP is used to stop the repeat operation COUNT will display how many times the current repeat commands have been issued LIST shows a list of the commands currently in the repeat list cmdl cmd2 refer to the commands that are to be placed in the repeat buffer Be careful to encase commands with arguments with quotations Without this a command will be incorrectly interpreted A command list cannot be changed If you wish to add another command the list must be re typed or use cut and paste Example Repeat 5 clear time repeat count listports solution r1 solution r2 status Result every 5 seconds GPS time 68998 845 seconds Time 19 09 58 845 Date 10 22 2000 CPU time 186069 372 seconds CPU usage N A Repeat count is 2 Port Description Name Type Rx Info Read Write 2 MUL 234 5 6 7 5002 Master ASHTECH MACM i0 10 11 1M 0000 78 Chapter 5 Command Port Interface 4 MUL 234 5 6 7 5004 Remote 1 OVATEL 3151 i0 10 12 5M 0000 6 MUL 234 5 6 7 5006 Remote 2 ASHTECH MACM i0 10 11 1M 0000 100 Console Command Connected 0000 0055 101 TCP 0 0 0 0 6000 Command ot connected 0000 0187 102 TCP 0 0 0 0 6001 Command ot connected 0000 0187 103 TCP 0 0 0 0 6002 Command Connect 192 166 99 9 0511 19 5k Solution for R1 VALID Time 68998 70 19 09 58 70 10 22 2000 Sats 7 Lat 50 58 43 00005 Latency 0 055 s Lon 114 00 41 99981 CaRms 1
182. le WAY P34 N T PRODUCTS GROUP A NovAtel Precise Positioning Product RTKNAV RTSTATIC Includes Developers Kit Documentation For Windows 95 98 2000 NT XP OM 20000099 Rev 0B Proprietary Notice RTKNAV RTSTATIC User Manual Publication Number OM 20000099 Revision Level OB Revision Date 2006 02 17 Software Version Real Time Multi Remote GPS Processing Software Version 3 15 Proprietary Notice Information in this document is subject to change without notice and does not represent a commitment on the part of NovAtel Inc The software described in this document is furnished under a licence agreement or non disclosure agreement The software may be used or copied only in accordance with the terms of the agreement It is against the law to copy the software on any medium except as specifically allowed in the license or non disclosure agreement No part of this manual may be reproduced or transmitted in any form or by any means electronic or mechanical including photocopying and recording for any purpose without the express written permission of a duly authorized representative of NovAtel Inc The information contained within this manual is believed to be true and correct at the time of publication NovAtel is a registered trademark of NovAtel Inc Waypoint RTKNAV and RTSTATIC are trademarks of NovAtel Inc Windows 98 2000 and XP are trademarks of the Microsoft Corporation All other brand names are trademarks of
183. lete send data to RtDLL b Configuration Send commands to GPS receiver This can be a long process therefore starting the decoding thread beforehand is highly suggested c Processing This is the procedure of continuously calling the RtDLL function ProcessEpochXXX Both RtDLL and SIOGPS have built in mutex s to allow multiple threads from safely using them simultaneously You may call RtDLL s AddDataToBuf and ProcessEpochXXX without anticipating problems You need only use a mutex to protect your own data shared among threads Users new to multithreaded programming should do some background reading first Computer bookstores have a number of books solely devoted to this topic 9 1 13 How and why should log raw data Logging raw data is the processes of saving the carrier phase pseudorange and other measurements to disk There are two formats most commonly used a Raw byte for byte from the GPS receiver b GPB format which is compatible with Waypoint s post processing software Included with RtkNav is a utility to convert GPB to RINEX In order to perform this conversion operation automatically from your application you will need to develop this functionality yourself The easiest way to log raw data it to use LogRtkData It has this capability built in and it allows you to choose between raw and GPB If you choose not to use LogRtkData then a raw file can be created by just writing every byte to a binary file Not
184. lt character followed by 3 hex values First two values CC refer to the hex byte value R is the number of repetitions 0 15 CCRR Up to 255 character repeat character followed by 4 hex values First two values CC refer to hex byte value RR refers to repeat count 16 255 CCRRR Up to 4095 character repeat character followed by 5 hex values First two values CC refer to hex byte value RRR refers to repeat count 256 4095 Finished S Decoding complete End of NMEA data identifier Otherwise expand to one byte Ch Read byte directly For example character u would translate to a byte value of 117 etc Use the ASCII table for your computer character set 6 2 13 GPVTG Record This is the NMEA velocity record NMEA 0183 Global Positioning System Fix Format GPVTG COG T MCOG M SpeedKnots N SpeedKmh K CRLF XX Where COG True course over ground 000 359 degrees MCOG Magnetic course over ground 000 359 degrees SpeedKnots Speed over ground 00 0 to 999 9 knots SpeedKmh 00 0 to 1851 8 ko hr XX Checksum Example GPVTG 240 81 T M 8 12 N 15 03 K 63 6 2 14 RTSTC Record This record gives geographic information with the time in seconds since 1980 as well as statistics This is suited for RTStatic applications Output occurs after every fixed solution Format RTSTC 980sec RH PassFail lat lon ht fixed_lat fixed_lon fixed_ht sdhz sdv rms rel XX Where 1980sec Seconds since
185. lutions Failed 0 0 0 0 439350 000000 Fixed static reliability 2 79 Best RMS 0 021 a Fixed Static Tests RMS m 0 0206 PASSED Reliability 2 7 I Showbessage 439350 000000 Reached end of data Go M Remote 1 SOLUTION End offile Reached utpulMessage 000000 Loading datum information from Manufact dtm and Us k T Log To File D Figure 3 7 Static Diagnostics View This above dialog summarizes some important information about the status of RtStatic Current time is the current GMT time as read from the raw GPS data Last Used indicates the last epoch used by RtStatic in computing a fixed static solution For example if the raw data is collected at 1 Hz the current time will increment by 1s however the Last Used field will only increment on 30 second intervals as the fixed static solution uses a processing interval of 30 seconds default Since Startup indicates the length of time since RtStatic has been engaged Next Solution is a timer that counts down to when the next fixed solution will be calculated Since Last Solution counts up from the time of the last successful fixed static solution Between Solutions is the interval between fixed static solutions 15 minutes by default The solutions box in Figure 3 7 summarizes the number of total passed and failed solutions There are three kinds of messages that can be displayed to the screen and if desired logged to a file These are Add Show and O
186. ly If known a priori to the survey the coordinates of the remote receiver can be directly entered when adding the remote receiver as shown below This dialog first appears after selecting Add GPS Unit after creating a new project Add GPS Unit Wizard Step 2 of 3 EI What Type of GPS Receiver Would You Like to Add NOVATEL OEM4 ls Receiver a Base Station or Remote Remote I Initialize Remote Station Coordinates Below C Base ee R Enter Base Station Coordinates Belos If Receiver is the Base station Base Station Position Soordinates Output from the Base F Latitude DD MM 55 855 Do ER FE Longitude DD MM 85 555 ab FF Height meters pe Figure 3 2 Initializing Remote Coordinates For more information on the options shown in Figure 3 1 refer to section 2 3 8 48 Chapter 3 RTStatic Section 3 Using RtStatic within your RTKNav project Provided the RtStatic option has been correctly selected as shown in Figure 3 1 there are three main windows of interest all found in the View menu e Static Plot e Static Solution Status e Static Diagnostics A description of each of these windows follows 3 3 1 Static Plot When View Static Plot is selected you are first prompted for which remote you want to plot Upon choosing your desired remote the following dialog appears Zeg ag Filtered SC A Longitude E A Latitude a Bs X Failed Solution a d 6 0 ER 06 34 50 12 08 10 17
187. ly be ignored unless data analysis is required post mission Check this ON for moving baseline mode If this box was selected previously in the Configure Project window it will already be checked here This is the number of epochs of data that will be searched in order to line up base and remote receiver measurement epochs It can normally be ignored For most applications 30 epochs is sufficient However if data rates and latencies are high this number may need to be increased For users replaying GPB files this number must be increased depending on how much data is being replayed If the replayed data stops unexpectedly the user must increase this number to allocate more buffers to be read 31 Version 3 15 2 3 5 KAR Options Processing Configuration x Heading and Pitch RTStatic Option User Defined Geoid General Advanced Extrapol KAR Standard Deviation m Minimum Time r Kinematic Ambiguity Resolution Single Frequency E minutes C OFF Dual Frequency H minutes ON ona r Cube Size m Data Filter Amt Data Used a Single Frequency 1 m Interval 5 sec Dual Frequency E m TT Refine KAR Cube r Search Filter how often r Engage KAR l Single Freq 30 sec Engage KAR Only at Start On Loss Lock ee fis sec C Engage KAR Every 60 00 maes Dual Freq sec Figure 2 22 Kinematic Ambiguity Options Minimum Time These are the
188. m Port number specified with OpenSioPort OptSize Size of options structure that you expect to receive Output pOpt Buffer to accept options structure see rxopt h Return 0 Success 1 Failure most likely due to wrong OptSize see GetSioLastError 9 3 8 FreeDecoder Description Frees memory associates with a given ports decoder Category Decoders When to use CloseSioPort calls this function so there is no reason to use it Pitfalls none Prototype void __stdcall FreeDecoder int PortNum Input PortNum Port number Output none Return none 9 3 9 GetDataByte Description Reads one byte from the serial or network device Can be used in conjunction with DecodeOneByte to read and convert a data stream from a GPS receiver Category Data Ports When to use After OpenSioPort function called Pitfalls Port must be opened as SIO_ SERIAL SIO_NETWORK or SIO_FILE not suitable with SIO_USER ports This function must be called with a sufficient frequency so that the internal buffers 8192 bytes do not fill up For this reason it is best to implement it on a separate thread to RtDLL 151 Version 3 15 Ports can go dead while bursting data in and out at the same time The FIFO gets jammed and can only be reset by opening and closing the port See also LogRtkData and DecodeOneByte Prototype int __stdcall GetDataByte int PortNum Input PortNum Port number to read data from Output none Return 0 255 data
189. mand port In future versions START Start Processing while STOP Stop Processing This will allow a user to bring RTKNav in and out of navigation mode Usage STOP or START 5 3 24 STATUS Command This command displays a report showing the overall status of the RTK operation It is similar to the Status Window in RTKNav Usage STATUS Result Processing Status Information NavMode Navigating NumEph 24 Latency 0 215 s CpuUsage N A MasterPos OK 50 978611 114 011667 1015 000 COLOR PORT NAME DY SOL STDEV A DATAIN RECIN NSV AGE GREEN 2 Master S 69537 N A L 18802k 76867 09 0 YELLO 4 Remote 1 K 64322 0 000 U 20555k 76876 00 09 0 GREEN 6 Remote 2 K 69533 0 029 L 18786k 76869 09 09 0 Where NavMode Indicates whether the user has selected Start Processing or not It does not indicate if the receiver RTK is working properly Use the color settings below for that 81 Version 3 15 NumEph Latency MasterPos COLOR DY SOL STDEV A DATAIN RECIN NSV AGE Number of unique ephemeris records that have been decoded If this number is less than 4 RTK operation will continually fail until enough ephemeris records have been received Is the estimated latency It may not be very accurate i e 100 ms since RTKNav does not accept a PPS input For re broadcasted data inputs accuracy is even poorer This is because it is difficult to estimate network delays Current p
190. master position has not been set The master position can also be defined in the IN file CFG file and the RTKNav interface If a position has been set this command will be ignored RTKNav must re start processing in order to change the master position For moving baseline processing the master position will be re computed within the program if the master station is set to kinematic mode Usage MASTERPOS DEC latitude longitude height or MASTERPOS DMS lat_deg lat_min lat_sec lon_deg lon_min lon_sec height Latitude values must be negative for the southern hemisphere while longitude values must be negative for the western hemisphere 1 e North America The height must be in metres The output remote coordinates will be relative to this height system For example if ellipsoidal heights are entered then the resulting remote heights will be ellipsoidal as well If the height is entered in orthometric i e mean sea level then the remote heights will be relative ellipsoidal to this value If distances are short then errors are minimal If this becomes a problem please contact the Waypoint Products Group as we have our own Geoid modeling routines than can be easily inserted into the software Example MASTERPOS DMS 51 04 12 2949 114 00 14 3921 1021 121 5 3 18 MESSAGE Command This command can be used to start and stop status messages from being transmitted to the current command port Enabling such messages can be very helpful in diagno
191. mation about the master port Remote Information about a given remote port Output Information port outputting NMEA style records Command Input Output port that can support commands 8 2 1 Config group This group defines the mode for processing This includes whether single or dual frequency processing is performed It also tells if KAR is to be used or not The CFG file name is also defined in this group The following parameters may be defined Parameter Description ProcessMode mode Mode can either be DEFAULT which processes in a 20 cm float solution or RTK for 2 cm solution using kinematic ambiguity resolution DEFAULT is equivalent to SF FLOAT KAROFF while RTK is equivalent to AUTO FLOAT KARON ProcessMode frequency static kar Frequency is SF for single frequency DF or dual frequency CAONLY for code only solution or AUTO for automatic frequency detection for kinematic ambiguity resolution This is currently not working properly static must be FLOAT kar may either be KARON or KAROFF The default mode is DEFAULT CfgFile filename cfg Defines the file containing configuration parameters for the GPS processing engine See Appendix A There is no default this file must be defined LineUpMode Mode MsTol This controls how the base and remote records are lined up Use ALL for the Mode if data from master and all remotes must be available before a record is processed If one remote has not data then this record
192. may be either TCP UCP or Multicast see Chapter 1 Section 10 The network port number must always be defined there are not defaults For Multicast an IP address is also very important For UDP the IP address should be set to 255 255 255 255 For TCP receiving data i e GPS receiver input or command port must have an IP address defined For TCP writing data i e output port and rebroadcast the IP address of the receiver must be defined File Input from a file see Chapter 4 Console RtEngine may turn the console display that it is running in into a command port In such a case a CONSOLE port must be added see Chapter 8 8 1 4 Adding Receivers Master and Remote For each receiver connected to RtEngine the assigned port number must be defined along with a definition of the type of GPS receiver The interval is also very important For each Master and Remote there must be one Portf definition If the data is to be rebroadcasted then a second Port definition is required 8 1 5 Adding Output and Command Ports Output and Command Output ports continuously output one or more NMEA style messages They will not accept any data input Command ports output such messages and accept commands Normally command ports are used but an output port is practical if you just want to send records to a specific location In the case of TCP the handling of an output port and a command port is different A command port is a
193. me via the Processing tab under View Processing Configuration See Figure B 9 e Engage kinematic ambiguity resolution by enabling the KAR On option under the Processing tab via View Processing Configuration See Figure B 9 Configure Project C key_test R3_test x Receivers Processing Output m Receiver Data Processing Configuration Ce Single Frequency G y Pores Manual Start up from Menu Bar C CA Code Only C Autostart from IN file or Cmd Line C Auto Detect Kinematic Ambiguity Resolution KAR 5 r Moving Baseline CY KAR ond Y Moving Baseline ON J Fast KAR On Dual Freg Only Lineup Tolerance Remote data must be received within specified time 250 pa e All data must be received on time Extrapolate master to minimize latency within specified time Figure B 9 Processing Options Tab e Add the following commands via the User Defined tab under Processing Options o VECTOR_FILE FileName crd Where FileName crd is the file created in Section 1 of this appendix o ATTITUDE COMPUTE 187 Version 3 15 o DIST_UPDATE OFF ON Where OFF disables vector input in Kalman filter which causes divergence while the ON distance constraints in KAR which is important o VECTOR_SD 0 02 This uses a 2 cm standard deviation for the position of the body coordinates If you have a very stable system then this value can be lowers Values below 1
194. mote gps_epoch_type RemoteData gps_epsol_type Solution Processes an epoch of raw data from the master and remotes Data from master and all remotes must be present and be from the same epoch The user must line the times up prior to calling this function If this is too cumbersome use the ProcessEpochBuf function MasterData GPS raw data for master station epoch_data_type num_remote Number of remotes to follow must be same as that passed to InitPreciseDLLO int RemoteData Array of raw data structures for remote station epoch_data_type Solution Solution structure see Section 3 gps_epsol_type int see GPSRET_ Use GetLastGpsError to retrieve error messages for return values other than GPSRET_SUCCESS 102 Chapter 7 RtDLL 3 Purpose Output Return 4 Output Return DLL DLL_ Possible return values de de fine GPSRET_ fine GPSRET_ SUCCESS 0 LSQSUCCESS 10 ProcessEpochMsBufEx only define GPSRET_FAILURE de fine GPSRET_ define GPSRET_ de de de de define GPSRET_NOKEY fine GPSRET_NOMASTER de fine GPSRET_ fine GPSRET_KARFAILED fine GPSRET_BADSOL fine GPSRET_ DATAPROB TOOFEWSATS DGPS DATAERRORS OO AJ On 0 Gs na define GPSRET_NOMATCH 2 fine GPSRET_BUFERROR 3 de ProcessEpochBuf solution ok Successful Least Squares solution serious failur
195. n example employing two remotes is shown in Figure 7 1 In such an implementation it is important that the serial port buffers can contain at 1 2 seconds of data The RtEngine program uses 8K buffers The black boxes indicate Win32 functions The grey boxes indicate your own functions while the while boxes are RtDLL functions 98 Chapter 7 RtDLL DLL Functions Master Remote Remote Receiver Receiver 1 Receiver 2 Initialization Y v v InitS erialP ort InitS erialP ort InitS erialP ort 0 InitG psR eceiver InitG psR eceiver InitG psR eceiver y y Ss Log Data for Each GPS DecodeG psData Receiver y Raw Meas Dat aw Meas Data cold No compete record Lo Type Try and AddDataToBuf Pens Process Epoch s Data AddEphemerisDataR ecord ProcessE pochBuf Yes All No receivers done GPSRET_NOMATCH All others Return US gt ProcessCoord Figure 7 1 Single thread buffered ROU implementation 99 Version 3 15 A description of each of the grey boxes is given as follows InitSerialPort This opens the serial device driver that you are using You may use your own that of Windows 93 or NT or from an external provider e g Greenleaf InitGpsReceiver This routine should send the commands to initialize the GPS receiver and start logging For NovAtel The RGEC or RGEC and REPB records must be logged The CLKB can also be log
196. nect a network port that it not Category When to use Pitfalls responding For non server ports it closes the connection and re established it meaning that some data may get lost This command is internally called in SIOGPS for receive and send ports if the connection is lost For a TCP server connection this command can be continuously called to check if the connection has either been broken or changed Data Port After a connect has been broken and SIOGPS did not handle the stoppage to your satisfaction Data is lost during the reconnection process Only works for network connections Reconnection can take some time if the internet is involved 161 Version 3 15 Prototype int __stdcall ReConnectDataPort int PortNum Input PortNum Port number to reconnect Output none Return 0 success 1 failure see GetSioLastError 9 3 30 SaveSioLogFile Description Closes and re opens a logfile Category Log Files When to use Every n minutes to ensure that if the power fails that minimal data is lost Pitfalls Make sure that another thread is not writing to this file at the same time There is a built in mutex but it is always good to be safe Prototype int __stdcall SaveSioLogFile int PortNum Input PortNum Port number to perform operation for 1 1023 Output none Return 0 Success 1 Port or file not opened 2 Mutex timed out 3 Failed to re open raw data file 4 Failed to re open GPB file
197. nput Output Return bytes to decode This buffer would normally be filled using a third party serial network library This structure is defined in siogps h and it has the following members USERRTKDATA Structure Size AllocBufSize CurBufSize Buffer CurLoc ThreadBuf Note Multi purpose Sizeof USERRTKDATA must be filled in by user Allocated size of input buffer Buffer Current number of bytes in Buffer Buffer of bytes read from external device Current number of bytes in Buffer that LogRtkData has decoded If this number comes back less than CurBufSize then additional bytes should be added to the end of Buffer or LogRtkData should be continually called before adding more data CurLoc should start as zero and will otherwise be modified by LogRtkData Optional pointer to a thread buffer to give user access to decoded records The implementation of the USERRTKDATA structure has not been fully tested After port is opened Many a b c d e f g h Incorrectly defined receiver type and sub type Incorrectly specified or coded callback functions see example code Not calling LogRtkData with sufficient frequency so that it falls behind data stream Calling LogRtkData too often so that it takes over the CPU Receiver gone dead try reconfiguring If you define your own callback be sure not to stay in there too long In addition don t forget to call AddDataToBuf and AddEphmerisRe
198. of data buffers i e number of epochs can be controlled with the NUM_DATA_BUFFERS command in the CFG file passed with the InitPreciseDII function The AddDataToBuf function is used to add a measurement record to the buffers while the ProcessEpochBuf function will process using data from the buffers This function will select the oldest match of records for which data from master and all remotes can be found Ephemeris The ephemeris is the functional specification of the satellite path For GPS each satellite has a set of parameters that change every hour RtDII cannot make any computations until at least one ephemeris has been obtained for 4 or more satellites Therefore when starting your application it is important to ask for all of the ephemeredes form at least one GPS receiver After that ephemeredes should be requested as they change on change or every 10 minutes or so Normally the on change method is used Master Station Position Before computations can be made the position of the master station is required This can either be set in the CFG file or using the SetMasterCoord function In either case the position should be in the same datum as that defined in the CFG file normally WGS84 If the master station position is erroneously defined more than a few 100 metres in error then it can cause the program to develop numerical instabilities If the master station is on the wrong part of the earth i e wrong sign
199. of the records listed in Chapter 8 The RTSIO requires an interval while the others may optionally be able utilize the time interval in seconds 8 2 5 Reject group The reject output records are based on certain tolerances If any processed GPS records does not meet any of the tolerances described below the record will not be written to the Output Port Parameter Description Mode Reject Q6 7 8 9 DD_DOP 0 1 dop_value hz_sd 0 1 hz_std_value If mode reject the record is not sent to the output port If mode Q8 the record is send with a quality number of 8 06 7 8 9 are the only numbers allowed 1 means reject a DD_DOP of gt dop_ value where DD_DOP uses a DOP generated by double differencing the base and the rover coordinates O means do not use DD_DOP as a rejection tolerance 1 means use the horizontal standard deviation as a rejection for sending output records 0 means not to use 126 Chapter 8 RtEngine height 0 1 ht_value horizontal standard deviation as a rejection tolerance 1 means use the approximate height of a reasonably flat area to reject output records User must know the height value 8 2 6 CFG file See Appendix A for a complete listing of available commands RtkNav also has a small help section in the User Defined Options which should list commands as well Section 3 Sample Input Files 8 3 1 Sample IN File SRTKIN RtkNav Ver2 00 H
200. oints from the Menu 42 2 5 3 Displaying Waypoints ura A ad 42 2 5 4 Displaying Boundary Lines in the Waypoint Plot Window 0oo ooocccccc coo 43 2 5 5 Marking the Current Remote Point as a Waypoint noo 44 Section GREK NEV FAO uu a ih salient e as e el le Ud oe ll 44 Version 3 15 CHAPTER 3 RTSTATIC 47 Section 1 What IS REES ee eeh 47 Section 2 Getting Started ase icin cade RER EEN geg d deeg NEE 47 Section 3 Using RtStatic within your RTKNav project ccccceceeee eset ee eeeee eens 49 Eed e EE 49 3 32 Static SOME OM Staty S atada 51 3 3 3 Static Diagnostics MW 52 CHAPTER 4 UTILITIES 53 Section 1 GPS Data Logger Windows ssrrssrrrssrrrssrrrssrrrrrrrrrrrrsrrrrsrrre 53 4il l Getting A E A A T Eee AAT AATAS 53 4 LZ Logging Dataa EE 56 4 1 3 Basic Logging Display coi o is 56 4 1 4 Extended Logging Display os A comes aes 57 ES USING WAPO EE 57 4 10 M rk ut REH 58 Al Output FIle Senanur niana naa e a a a 59 Section 2 VieWGPB cit Ati 59 4 2 1 EE EE DU 4 2 2 How to Use View EE 61 Section 3 Concatenate Slice Resample Utility 61 Section 4 GPB to RINEX CON Vete dada Ai 63 CHAPTER 5 COMMAND PORT INTERFACE 65 Section 1 Configuring a Command PO A ae 65 Sol LAER Nav enn En BT EE 65 5 1 2 RtEngine Command BEE ea db 65 Section 2 Connecting to the Command Port cenar ins assi 67 5 2 1 TCP IP Network Connection uv A EEN 67 5 2 Serial CONEA Masai rin 68 5 2 3 ONCE Connected RRE dE 68 Section 3 Avallable COM
201. ol 1 single_pt 2 DGPS 3 Kalman OFF int num_eph_received number of unique ephemeredes received int disk_write writing OUT and ANN files to disk long num_epochs number of epochs processed ambiguity distance constraint special variables int kar_valid statistics valid int dist_const_passed distance constraint passed int amb_const_passed ambiguity constraint passed float combined reliability combined reliability int com_rel_passed if combined passed or failed int num_intersections number of intersections found int kar_all_passed ALL combined KAR solutions passed char extra 512 gps_blsol_type rf MAX_ENGINE_BL data for remote_i additional tiing functions NT 95 only double cpu_sol_time cpu time of solution s double cpu_meas_time estimated cpu_time of receiver mesurement s from GPS time gps_epsol_type The hours minutes and seconds are in GPS time and NOT UTC The sol_status is more accurately obtained from the individual remotes The num_eph_received and the num_sats_withoug_eph for each of the remotes can be used to detect if enough epemeredes have been received The disk_write variable should reflect the DISK_WRITE command in the CFG file The cpu_sol_time and cpu_meas_time indicates estimated computer times when the solution was computed and obtained from the GPS receiver Win 95 NT only These can be used for la
202. on record with ret_pos_type threadbuf h N more information than pben_bin_type 7 TB_REC VEL Velocity from GPS ret_vel_type threadbuf h N receiver 8 TB_REC_ GPS almanac gpsalm_type almanac h N GPSALM 9 TB_REC_ Size of records logged ret_rawsize_ threadbuf h Y RAWSIZE Used for approx type latency computation 10 TB_REC_ Raw data records ret_rawdata_ threadbuf h N RAWDATA Used to extract raw type data records not always implemented 11 TB_REC_DOP DOP values computed ret_dop_type threadbuf h N by GPS receiver 12 TB_REC_ Event mark read by ret_event_type threadbuf h N EVENT GPS receiver 13 TB_REC_ Master position ret_masterpos_ threadbuf h Y MASTERPOS transmitted from base type 14 TB_REC_ UTC IONO data from ret_utciono_ threadbuf h N UTCIONO receiver type 15 TB_REC_ GLONASS ephemeris ret_glneph_type threadbuf h N GLNEPH 16 TB_REC_TIME Additional time ret_time_type threadbuf h N information 17 TB_REC_ replaces TB_REC_POS ret_pos_type threadbuf h N CALCPOS 1f position re computed 9 1 12 Should make my application multithreaded In the RtDLL section the flow chart indicates that a single thread will work and in theory it does However the final program is much more robust if multiple threads are used The most common implementation uses three threads 135 Version 3 15 a Decoding Continuously grab data from serial or network port and convert to GPB format Once decoding is comp
203. on the latitude or longitude then error GPSRET_TOOFEWSATS may be continually returned from ProcessEpochData or ProcessEpochBuf If not defined then GPSRET_NOMASTER will be returned from these functions Section 2 RtDLL List of Functions This chapter lists the functions that can be used within the DLL Each function s purpose is given along with input output and return variables Use the Win32 load Library and GetProc Address routines to gain access to these functions 101 Version 3 15 1 InitPreciseDll DLL_INT nitPreciseDll char cfgfile char cfgstr int num_remote int ProcessMode Purpose This function must be called after loading the DLL and before any other Input Return functions are used It allocates all memory structures and loads configuration information cfgfile CFG file name char or cfgstr Null terminated string containing configuration commands char Each command is n separated eg DATUM WGS84 nELEV_MASK 10 0 n num_remotes Number of remotes to process int ProcessMode Mode of processing use PROCESS _ in engine h int Bits 0 5 frequency Bits 6 8 static process mode Bits 9 10 kar mode Bit 11 enable data buffering int 0 success 1 failure use GetLastGpsError 2 ProcessEpochData Purpose Input Output Return DLL_INT ProcessEpochData gps_epoch_type MasterData int num_re
204. onfiguration themselves Configuration should be on a separate thread to logging see multithreading below 133 Version 3 15 9 1 9 How and why would re broadcast data Re broadcasting is the process of sending raw GPS data to another serial or network port This could allow users to also process the same data at another site In order to enable rebroadcasting users will need to first open the source and destination ports see OpenSioPort The source port would be that connected directly to the GPS receiver Then after that call the StartRebroadcast function to engage rebroadcasting 9 1 10 How do set the static kinematic status of the raw data RtDLL needs to know if the data is static stationary or kinematic moving There are two ways of performing this where the first is by far the easiest a Use the function called SetStaticKinematicMode When the data is decoded this will take care of ensuring that for a particular port number the static kinematic bit is set properly b Set the status bit in the pben_bin_type structure The second bit defines whether an epoch is static or kinematic This is possible only when using the DecodeOneByte function The pben_bin_type structure can be extracted using the ReadThreadBufData using the TB_REC_PBEN identifier 9 1 11 What is a thread buffer and how do use it Thread buffers are generic buffers used to pass decoded records back from a number of routines e g
205. ord VERSION Show program name version number and project name WHOAMI Show current port and information about it To get additional info about a given command type HELP command The most commonly used commands are LISTPORTS Lists the available ports and their status STATUS Shows the status of the RTK operation SOLUTION Shows the last solution for a given remote LOGREC Starts logging of a given record type these records are described in Chapter 6 UNLOGALL Stops logging all records in this port Use LOGREC to just stop logging one record MESSAGE Enables disables output of scrolling messages to this display VERSION Shows the current version remotes connected maximum remotes and copyright information REPEAT Continuously repeats a given command A complete description for all of the commands is given in the next section 69 Version 3 15 Section 3 Available Commands This section gives an alphabetical listing of each of the commands and how to use them 5 3 1 Introductory Concepts Command Format The commands accept space command or tab separated arguments For example Command arg arg2 arg3 Followed by a carriage return and or line feed character i e Enter Return Key Character case is not important For arguments that have a space within this happens commonly with the REPEAT command then quotation mark must be used For example repeat 0 25 solution r1 In the command usage listings some
206. osition of master station Will indicate if no position has been received This is a status indicator where RED indicates that no valid data is incoming on a port Reasons for this are i Continual checksum failures 11 Radio link has been broken ByteCount will not increment 111 Receiver is set incorrectly in setup i e selected receiver type does not correspond to that type connected to the port iv Baud rates are set incorrectly v Receiver has stopped operating vi Port has become dead YELLOW indicates that records are arriving but they cannot be processed Generally records cannot be processed for one of the following reasons i No master data ii Missing remote data and Line Up mode is set to ALL 111 Not enough ephemerides have arrived iv Not enough satellites on either master or remote v Data intervals do not line up vi Master position set incorrectly Indicates if DY NAMICMODE for this receiver is STATIC or KINEMATIC Number of solutions that have been processed using RTK Current standard deviation in metres This is combined for X Y and Z and is 1 sigma Indicates if the ambiguities have been fixed F are floating L or unknown U Number of kilobytes of data that has arrived Should increment if port is connected Number of measurement records that have been decoded Number of satellites First value is number processed while second value is number tracked Differences between the two are normally due to a
207. pable of remedy is not remedied within 30 days of notice from NovAtel requiring its remedy then and in any event NovAtel may forthwith by notice in writing terminate this Agreement together with the rights and licences hereby granted by NovAtel Software Licence Licensee may terminate this Agreement by providing written notice to NovAtel Upon termination for any reasons the Licensee shall promptly on NovAtel s request return to NovAtel or at the election of NovAtel destroy all copies of any documents and extracts comprising or containing the Software The Licensee shall also erase any copies of the Software residing on Licensee s computer equipment Termination shall be without prejudice to the accrued rights of either party including payments due to NovAtel This provision shall survive termination of this Agreement howsoever arising 6 Warranty NovAtel does not warrant the contents of the Software or that it will be error free The Software is furnished AS IS and without warranty as to the performance or results you may obtain by using the Software The entire risk as to the results and performance of the Software is assumed by you See product enclosure if any for any additional warranty 7 Indemnification NovAtel shall be under no obligation or liability of any kind in contract tort or otherwise and whether directly or indirectly or by way of indemnity contribution or otherwise howsoever to the Licensee and the Licensee will indemni
208. perly see 9 2 3 Prototype int __stdcall OpenSioPort SIOPARAM pSio int ConfigRxFlag Input pSio Pointer to SIOPARAM structure see Section 9 2 3 for details on how to fill this structure in ConfigRxFlag TRUE if this receiver is to be configured after opening ConfigureReceiver function can be used if this is False Output none Return 0 Success 1 Failure see GetLastSioError 9 3 27 ReadGpsPort Description Continuously reads a serial or network port until one of the following a No bytes remain b One or more records have been decoded Receiver type must be specified in RXCFGPARAM structure located within SIOPARAM when OpenSioPort is called If decoding errors are detected ReadGpsPort will try and rewind to second byte to try unlogging any missed records records for some decoders only Category Multi purpose When to use After port opened as a GPS port with OpenSioPort Pitfalls Make sure that you properly specify the receiver type and sub type i e RXCFGPARAM structure filled in properly on entry into OpenSioPort Thread buffer must be allocated to at least GetThreadBufSize bytes Watch out for baud rate being too slow for number of bytes being transmitted More that one type of record can be passed back simultaneously in the thread buffer Prototype int __stdcall ReadGpsPort int PortNum void ThreadBuf Input PortNum Port number for given receiver Output ThreadBuf Buffer filled with decoded r
209. r each baseline A more detailed explanation of this is given in a later section Carrier Locktime Cutoff This value indicates the number of seconds of continuous carrier lock before the receiver s phase measurements are actually used by RTKNav Most receivers even those of reputable high quality put out unreliable phase measurements for 30 Chapter 2 RTKNav the first few seconds after acquiring lock Users who require very high accuracy may wish to raise this to 10 seconds 2 3 4 Advanced Extrapol Options Bad Data Control Moving Base Data Buffers x Heading and Pitch RT Static Option User Defined Geoid General Advanced Estrapol KAR Standard Deviation Extrapolate Base Data Extrapolate OFF J Write Epochs Containing Bad Data Extrapolate ON FT DoNot Write Epochs with Statistical B Window Size E 1 6 Quality 4bove Stdev Above E Im 10 0 Num Epoch I Moving Base Data Buffers 30 Figure 2 21 Advanced Options Reset Filter At Unfixable Bad Data forces a Kalman filter reset if RTKNav is unable to fix bad phase or code measurements or loss of lock It should be left on for most applications Write Epochs Containing Bad Data writes measurement epochs with bad DOPs to the OUT file Normally these outliers are just ignored by RTKNav Some quality filters are adjustable via the Stdev Above and Quality Above boxes This option can normal
210. r of remotes supported by the DLL version The header files Engine h Engproto h Eph h and Gps_io h are required to call the DLL 1 Sample source and copying files Create the following directories ASample Holds sample source Sample zip ARtD113 Holds 3 remote DLL and header files RtD113 z1p AData Holds test data Data zip Hardlock Hardware lock files Hardlock zip The C source file Testeng c located in the ASample directory is an example how to use the DLL This example reads data files from the disk and it is important that the master and remote data files start within a few seconds of each other It processes two remotes with one base This example can be compiled using the Makefile provided It may have to be modified slightly to conform to your compiler Run the example as follows TestRt data test in This processes the two remotes and sends data to the following files test out Complete ASCII output record originating form the DLL test ann Warning and status messages originating from the DLL test sio Simulation of serial records originating from testeng c For processing the hardware lock is also required This lock must be placed on the LPT1 port of the computer doing the processing If a parallel port lock is inconvenient then a PCMCIA variant is also available For Windows 95 copy the file hardlock vxd to your Win95 system directory For Windows NT run the program hl_inst from the directory containing t
211. rc metres cis rads crs meters cuc rads cus rads double omega0 omega 10 double omegadot idot eph_type long of asc node semi circles PI arg of perigee semi circles PI incl angle at ref time semi circles PI rate of right asc semi circles sec PI rate of incl semi circles sec PI This structure holds the broadcast ephemeris obtained from the GPS receiver in real time A description of the variables is given in the ICD 200 document c Epoch data structure engine h 110 Chapter 7 RtDLL This structure is used to send data to the DLL It contains structures described in a Each master or remote record uses the following structure typedef struct header_bin_type b_hdr indicates receiver type other variables can be ignored pben_bin_type b_pben set times static kinematic flag positions for movbase mben_bin_type b_mben MAX_ENGINE_CHAN raw data see gps_io h int valid must be filled in double cpu_time computer time optional used for age computation seconds gps_epoch_type The b_hdr b_pben and b_mben variables are described in a For b_hdr only the receiver variable needs to be filled in It is important to set the valid variable in order to tell the software that data is present This allows some remotes to be dropped out if data is not available Under Windows 95 NT the
212. rd This record is used to output the roll pitch and heading in 3 D attitude determination mode or the heading in moving baseline heading determination mode In heading mode future versions may also include a pseudo pitch value Format RTATT gpstime roll pitch heading roll_sd pitch_sd heading_sd XX Where gpstime Solution time in GPS seconds of the week This position may be latent by the time estimated in the RTSIO records latency roll Roll value right handed system left wing up positive degrees pitch Pitch value right handed system nose up positive degrees heading Heading value yaw left handed CW turn positive degrees roll_sd Estimated roll standard deviation degrees pitchl_sd Estimated pitch standard deviation degrees heading_sd Estimated heading standard deviation degrees XX Checksum hex Note that if unavailable a blank will be displayed for the value Example SRTATT 453921 0 179 92 1 21 FF 91 Version 3 15 6 2 10 RTKAR Record Gives KAR status after a solution has been tried The frequency of KAR solutions can be controlled with the KAR_EPOCH_SIZE command in the CFG file Format RTKAR gpstime R rms rel P F fltfixed sec_used sec_engaged avg_sats S D XX Where gpstime Solution time in GPS seconds of the week This position may be latent by the time estimated in the RTSIO records latency R This indicates the remote number i e R1 R2 rms RMS of best intersect
213. re on your network This is very useful if you need some other user to simultaneously process the same data that you are collecting This user does not have to be hooked directly to the GPS receivers Only the original RTKNav has to be connected directly For instance let us say that you are connecting your computer COM to the GPS receiver as indicated below paroles Computer Comport NetWork Protocol e Serial Port MuliCast en Pane com 1 y eae NetWork Protocol C TCP IP Network C UDR MultiCast TGR C UDP C Replay GPE File Te Baud Rate Network Mode 13200 Gas Network Mode Serer Client Client Port Number Port Number fer 6002 Destination IP Address Destination IP Address cala aaa Cancel Figure 2 7 Re broadcasting Data over a Network Port In this case COM 1 of your computer is directly linked to the GPS receiver at a baud rate of 115200 bps By re broadcasting the data on a MultiCast IP of 234 5 6 7 on Port 6002 any computer in the local network including the computer that you are working on will receive this GPS binary data provided that they join MultiCast group 234 5 6 7 Port 6002 If you re broadcast all or some of your GPS receiver data you can run other instances of RTKNav to simultaneously process all or part of your survey on another window of your computer another computer on your local network or in TCP mode another computer somewhere else in the world provided that they open a hole
214. re to be requested may be ignored for some recelvers AskForSpeed True 1f speed and heading record to be requested NovAtel only may be AskForPos RxPort FinalBaud RxOptSize RxOptBuf ignored for some receivers True if position record to be requested may be ignored for some receivers SIO_PRIMARY COMI A etc or SIO_ SECONDARY COM2 B etc Should be same baud rate as in PORTINFOSTRUCT 1 to ignore Size of options structure see rxopt h Use 0 to utilize internal defaults or specify later Structure containing receiver options which are different for each GPS receiver see rxopt h Can also be defined later using DLL functions see Decoder group of functions in Section 3 9 2 8 Filling in RTKPARAM for logging data from a GPS receiver This structure is only filled in if you plan to use LogRtkData to read data from the ports and decode the information Size sizeof RTKPARAM or 0 if not used station MASTER 1 or REMOTE 0 remote if station REMOTE this indicates the remote index starting from zero Ignored for MASTER StartMode Indicates if receiver is to start in kinematic moving or static stationary mode For most applications including monitoring the MASTER is static and the REMOTES are kinematic cbAddData ToBuf Pointer to callback function that LogRtkData calls when a measurement record is decoded This can either be the AddDataToBuf function within RtDLL or your own inte
215. red in degrees minutes seconds with spaces between The program now computes a differential pseudo range solution at the start of the program if REMOTE_SD is greater than 1 0 metres This means that this position can be many kilometers out and still work Although entering the position is not necessary this command must be used 1f the remote antenna height m is to be used If the antenna heights were entered in real time with LOGGPS F2 key then this value should be set to 0 0 Latitude is positive in the Northern Hemisphere and negative in the Southern Hemisphere Longitude is positive in the Eastern Hemisphere and negative in the Western Hemisphere Americas Standard deviation of REMOTE_POS in metres To fix the initial position this value should be set to zero To really fix a solution when starting in kinematic mode the FIX_AMB command can be used in conjunction Default value is 100 m Tolerance in metres for printing out the message Warning data_type RMS is SA Worst PRN is with resid The first value is for L1 phase The second for C A code The third is for P code Fora more experienced user who wishes to detect possible noise in the data the following should be used RMS_TOL 0 1 25 15 177 Version 3 15 SEARCH_FORWARD epochs START_TIME gps_time STATIC_CYCLE_TEST mode STRIP_FILE fname SIN TREND_CYCLE_TOL tol TROPO_MODEL SAAS BLACK The ca_tol can be lowered to 10 for Narrow
216. replaces the GetDataByte and DecodeOneByte subroutines in the previous example If you are logging data external to SIOGPS method d then the GetDataByte function in the previous example is replaced with your own function Otherwise the procedure is the same Users in this situation can also utilize LogRtkData via the MultiBuf In this case they would fill in a USERRTKDATA structure and pass that as the MultiBuf Many of the variables within that structure Consult the header file siogps h for filling in this structure 9 2 14 Shutting the system down This is a four step procedure a Stop all decoding threads and wait form this operation to be complete b Call CloseSioPort for each receiver and open port This will stop logging and rebroadcasting as well as close the port c Call CloseSioLibrary This will also close any ports that have not been closed For this reason step b is optional d Close the DLL using the Windows FreeLibrary API function Section 3 Function description This section describes the usage for each of the functions contained within SIOGPS Fora description of the structures see Section 2 and the header files Functions can be broken down into the following categories Category Function Description Open Close __ InitSioLibrary Opens the library and initializes any variables CloseSioLibrary Closes any open ports releases all handles and frees memory OpenSioPort Opens a serial
217. rmediate function which gives you access to the decoded data The definition for this function is given by ADDDATATOBUF This is not a prototype and if you use a intermediate function you should also provide a C prototype i e include extern C around the prototype to disable name mangling cbAddEphemeris DataRecord Pointer to callback function that is called when an ephemeris record is completely cbSetMaster Coord decoded Function definition given by ADDEPHEMERISDATARECORD See variable chAddDataToBuf for more information Added for future ability to accept master position via the GPS input port Currently no such records have been implemented 9 2 9 Datalogging settings The following variables are only needed if you wish to log raw data within LogRtkData If you are using a methodology that does not utilize LogRtkData then logging should be performed 141 Version 3 15 external to SIOGPS Data logging can also be started using the OpenSioLogFile function but LogRtkData must still be used for reading and decoding receiver data Parameters within SIOPARM LogFileMode SIO_LOGNONE disables logging SIO_LOGRAW logs data byte for byte as it arrives from the GPS receiver SIO_LOGGPB logs decoded GPB records compatible with Waypoint s post processing software LogFileName File name to log to Full path name is highly suggested DiskWriteInterval Data interval to write to To use input data inter
218. rs type in ipconfig all A display should appear showing your local IP address e Re Broadcast Data This functionality allows a user to collect GPS raw binary data from a serial port and send this data over a local or wide area network to another window on your computer another RTKNav user in your local network UDP or MULTICAST protocol or another RTKNav user in some other part of the world TCP protocol This allows multiple instances of RTKNav to process the same data from the same group of GPS receivers This may be useful if you want one copy of RTKNav to process data from your entire group of GPS receivers while another copy only examines data from a subset of your receiver group You might also find this useful if you simply wish to have some other remote computer store your raw binary measurement for future post processing Note that RTKNav instances receiving data over a network can also re broadcast this data to other network ports 11 CHAPTER 2 RTKNAV RTKNav is a Windows 95 98 2000 XP NT real time GPS processing program It that has a graphical user interface that allows the user to easily navigate the program and its processing options RTKNav also has the ability to support one base station receiver and one or more remote station receivers Real time GPS measurement data can be received on either serial or network ports This binary measurement information can also be re directed re broadcast to local or wide
219. rt number To find out what port you are connected to type the WHOAMI command WHOAMI The result will be Port 103 TCP IP192 166 99 200 P6000 To get a list of all the commands available type HELP The result is CLEAR Clears the screen CONF IGRX Configure GPS receiver ask for ephemeris DIR Lists directory contents for a given path DISABLE Disable port operation for problem receiver DISKSPACE Shows the available space for a drive DYNAMICMODE Set STATIC KINEMATIC mode for a given receiver ECHO Echo character input ENABLE Will enable port operation ENGAGEKAR Start KAR for a particular remote 68 Chapter 5 Command Port Interface EXIT Quit RtEngine or RtkNav now FILTERRESET Caused Kalman filter to be restarted HELP Display list of all commands or help just one LISTPORTS List all ports available LOGREC Log a given record to an output port MASTERPOS Set position of master station MESSAGE Send all messages to this command port REPEAT Repeat set of commands every n seconds SETCOM Change settings for a serial port SLEEP Set sleep time for a given command port SOLUTION Shows last solution for a given remote receiver START Start navigating STATUS Show status of RTK operation STOP Stop navigating TIME Displays GPS time UNLOGALL Stop logging all records on given port UNLOGREC Stop disable logging of a given rec
220. s may be useful if you want to save the coordinates of any particular point for some reason Again use the Waypoints Mark as shown in Figure 2 39 MZ RTKNay Plot View ll x File View Plot Processin aypoints Window Help Clarita a Dlelgl Hee ej Va EE WORE LEE e ie e Master wt m T None Y e Between Selected al a K IZ v Connect SES Points plot view Previous Se g 879851 08 0 100 m a EEE es Pq t MasterASHTECH MACH ly A R2 4SHTECH MACM Cancel SI Waypoint Name 11_current_position rrent_position AA test est5 Ready El ee Figure 2 39 Marking a Point In the figure above it can be seen that RI_CURRENT_POSITION is now defined as a waypoint and plotted Section 6 RTKNav FAQ The following FAQ Frequently Asked Questions describes some problems or questions a typical user may encounter while learning how to use RTKNav for data collection and real time processing Q How do I toggle the static kinematic flag for receivers when processing in real time A In the Receiver Status window right click on the desired receiver and select static or kinematic from the pop up menu Q How do I change the project so that the master station is moving A To use the moving baseline option for processing your GPS Data go into the Processing gt Options menu and into the Advanced tab options The moving baseline option is the second option in this windo
221. s this packing as well However whenever binary GPS receiver data files are decoded 1 byte structure packing can make the process much easier from a software programming point of view The byte pack forces all structure elements to be placed so that there are no empty spaces For this reason RtDLL and SIOGPS libraries are developed with structure packing set to 1 byte We have tried as much as possible to ensure structure packing is defined in our header files However when using these structures in your own code be sure that the packing is enabled 132 Chapter 9 Using SIOGPS 9 1 7 How do define what type of GPS receiver am connected to There are no auto detection capabilities in SIOGPS Users must know before hand the format of the data coming in This means knowing the receiver type and the receiver sub type 1 e manufacturer and model Both of these parameters are defined in the RXCFGPARAM structure see siogps h The RxType defines the receiver manufacturer while the RxSubType defines the model format Type list of RxTypes is given in gps_io h They start with B_XXXX The sub types are given in SIOGPS h They start with ID_XXXX The following combinations of RxType and RxSubType are currently supported RxType RxSubType Description B_ASHP12 ID_G12 Ashtech G12 using MBN PBN data structure B_ASHP12 ID_GG24 Ashtech GG24 using MBN PBN records B_ASHP12 ID_ MACM Ashtech G12 using compact MACM d
222. se and one or more remotes It can also be configured for specialized applications like heading determination distance ambiguity constraints between remotes and moving baseline processing For most applications RTKNav would be used Unlike RTKNav however RtEngine has the advantage of being able to start up remotely 1 e from a command prompt In order to get RtEngine started two configuration files must be created First the IN file contains information regarding the receiver logging and output ports This file also defines a CFG file which contains parameters necessary for the GPS processing engine The easiest is to use RTKNav to create these files since RTKNAV s and RtEngine s input files are complete compatible This is highly suggested The following sections outline some important issues to consider Section 2 in this chapter explains the actual format of the IN file The CFG file parameters are shown in Appendix A This section gives guidelines rather than exact format specifications 8 1 1 Using RtEngine RtEngine should be run from either the Windows 95 98 NT 2000 Start Button select Run or from a console window The console window is suggested It is also important that the IN file is passed on the command line RtEngine infile in Please note that the PATH statement must be set to include the C Program Files RtkNav This should be performed automatically by the setup installation 8 1 2 Adding Configuration Config
223. sing a problem Using the REC option allows for NMEA style record output If this is used please note that there may be commas in the message These should not be confused with item separators normally used in NMEA records 77 Version 3 15 Usage MESSAGE ON OFF REC Example message on rec Result after a while 68208 5 Ephemeris received on PRN 4 68208 5 Ephemeris received on PRN 13 68244 8 Satellite drop out PRN 13 for 4 1 seconds BL 1 68244 8 Warning LOCKTIME cycle slip on 13 BL 1 68252 9 Satellite drop out PRN 13 for 4 1 seconds BL 1 68252 9 Warning LOCKTIME cycle slip on 13 BL 1 68283 4 Satellite drop out PRN 13 for 4 1 seconds BL 1 68283 4 Warning LOCKTIME cycle slip on 13 BL 1 5 3 19 REPEAT Command This is a very powerful command as it allows users to continually send one or more commands Its most common usage is to produce a text based display that is shows the status of the RTK operation However it can also be used to send KAR commands reset the Kalman filter FILTERRESET or configure the receiver Each command port is limited to having one sequence of repeat commands Therefore 1f multiple repeats are desired at different intervals they must be requested on separate command ports which is easy with TCP IP Usage REPEAT interval STOP COUNTILIST cmd cmd2 argl arg2 cmd3 The interval is specified in seconds If a user wishes to change the interva
224. stance constraints can be fooled if the Kalman filter solution is outside of the search area Therefore the search area size should be increased slightly for single frequency KAR CUBE 1 2 4 0 search area in metres Moreover the KAR time length should not be too short but can be shorter than regular single frequency initialization The KAR minimum time should be set as follows KAR MIN_TIME 5 01 0 minimum search time in minutes 8 1 13 Azimuth determination Requires 1 moving base and 1 moving remote Distances between antennae must be known and stable For RT AZ version baseline distance must remain less than 20 m Azimuth determination can be performed if two antennae are fix mounted to a particular craft Since the base is moving the moving baseline version must be used In a prior calibration procedure the separation between base and remote must be determined This can be performed either in kinematic or static KAR should be used for this procedure Once the distance between antennae is known it can be used as a constraint in further positioning Add the following command to the CFG command AZ_DETERM ON OFF Distance DistSD e g AZ _DETERM ON 1 232 0 025 Both the Distance and DistSD are in metres DistSD is the estimated accuracy of the distance measurement However it should also take into account carrier phase noise and movement of the antennae with respect to each other Normally values between 0 015 m and 0 04 m are
225. t This allows you to use the DecodeOneByte function SIO_SERIAL Allows you to connect to a serial port SIO_NETWORK Allows you to connect to a network port using either UDP TCP or MULTICAST SIO_FILE This is more added to allow RtkNav to replay data from disk It allows users to read from disk instead of from a port SIO_CONSOLE Used to connect to a console port This is a port that accepts user input and can display to screen It is mainly added to permit RtEngine to turn the current window into a command port This variable is currently not used but for future compatibly it should be set to SIO_GPSINPUT for connecting to a GPS receiver See structure definition for more options The following sections describe the sub structures that need to be filled in 9 2 4 Filling in PORTINFOSTRUCT for Serial ports This structure needs to be filled in if you are connecting to a serial port Size comport baud parity bits stop sizeof PORTINFOSTRUCT otherwise 0 if not used 1 2 3 baud rate e g 9600 19200 38400 57600 or 115200 characters N for none O for odd or E for even data bits e g 7 or 8 number of stop bits currently always assumed to be 1 9 2 5 Filling in NETPARAM for Network ports This structure needs to be filled in if you are connecting to a network port Size NetType NetPort IpAddress SenderOr Receiver sizeof NETPARAM or 0 if not used SIO_MULTICAST for multicast mode
226. t rr 67 CONE 45 connecting tO Dorts 137 Console ii 118 CONSOLE aree Sa a r eaea rE SS rE 66 console Window ssssesessessesesssreeesseserserseeeesseseesee 117 COPY diia ri aa ii CPU HME ree eae id 83 CPU usage spoin drar e a i 83 Eege ser 32 cycle slip detecti0N nspas 169 cycle slip tolerance ispiri rniii 169 D Data Buffers nvidia toi visiten 31 Data Los per oen e E bea 53 din nanan tees 119 atu ni n 170 dd dopre einen a ae 89 decoding bytes in SIOGPS A 149 decoding data in SIOObPS A 142 decoding GPS data 132 di a 9 Deformation analysis oononccicnonnnonoccnnnnononcnnncanonacnnos 29 developers Kit tic 131 development kt 3 DIR ai na 72 Version 3 15 RE KEE 73 DISKSPACE soit te vstsceedh chatesiosts conti rE et 72 Displaying Waypoints cesceeseceseeseeeneeeeeeeeees 42 DIST CONS Tuta 121 distance constraint eanan rn a s 120 DO NE EE 2 Dual frequency ecin eh 27 DY arroces 82 DYNAMICMODE A 73 82 119 E ECHO ni 73 editing locktime oonnnccnoninononnoncnnconcononononannncnncnncnnos 60 elevation apgle inicia c 82 elevation Mask ccoo 170 Elevation Mask A 30 ellipsoidal height 119 ENABLE cuasi 73 ENGAGEKAR oriire ien aTa doo non arca rn ar 74 ephemeris records oooconccconoccnoncnncnncnncononononconncnnonncnnos 82 EXM inane ie 74 extrapolate the master data 123 extrapolated sorserien Een E E 29 119 F FAQ R rR ise ne een 44 PUG id 118 EU 45 ltd ee r EE asain eee ieee eee 50 FILTE
227. ta Filter This data interval is how often KAR stores an epoch in memory KAR will store up to the Maximum Time e g 30 minutes in memory for both the master and remote Therefore lowering this number will cause more memory to be used It will also slow down processing However KAR solution times and reliabilities can be improved by lowering this value The default value is 5 seconds but users can see improvements by lowering the value to 1 second Data sets that are improved tend to be those with white noise carrier phase characteristics Carrier data sets that have very systematic errors tend not to see any improvements 2 3 6 Standard Deviation Options Processing Configuration xj Heading and Pitch RTStatic Option UserDefined Geoid General Advanced Extrapol KAR Standard Deviation Standard Deviation r Rejection Tolerance C A Code D m C ACode 2 m L1 Phase 0 02 m L1 Phase fos im L1 Doppler fi m s L1 Doppler 25 m s Figure 2 23 Standard Deviation Options These indicate the a priori standard deviations applied that give weights to the various measurements used in the Kalman filter The rejection tolerance values are used to determine when the filter should reset itself if it is not able to fix measurements that have post filtering errors above the given tolerances Using realistic values for the code and carrier standard deviations will improve float solution convergence For instance
228. te Optional level East North and Up among other things RTVEC Base to remote local level vector record On Remote Optional RTSLE RTSOL with some addition status information On Remote Optional RTUTM UTM remote position record On Remote Optional RTSIO Status record of data logging An interval must be On Interval Required requested for this record RTSAT Satellite information record On Remote Optional RTATT Heading or roll pitch and heading information On Solution Optional RTKAR KAR information record On Remote Not KAR suggested RTKDC Can be ignored for most applications KAR distance On Solution Optional constraint record RTBIN Output of binary solution structure from RtDLL see On Solution Optional gps_epsol_type structure in engine h You may need to request this structure from Waypoint This record is suitable for C C software programmers GPVTG NMEA standard velocity record On Remote Optional RTSTC Geographic position and fixes for rtstatic On Remote Optional FUGTAR Fugawi Network Message On Remote Optional RTVECEX Delta position and velocity and stats On Remote Optional This indicates when the results for a record are triggered where On Remote On Solution On Interval For each remote being processed remotes This record is only triggered on a specified interval One record for each epoch i e each time a solution is computed for all Handling of the data interval field in the LOGREC command or RTK
229. ted Make sure that structures are packed Prototype int __stdcall SetDecoderOptions int PortNum void pOpt int OptSize Input PortNum Port number pOpt Pointer to structure containing options e g ashopt_type or nov_opt_type see rxopt h OptSize Size of structure Output none Return 0 Success 1 Failure most likely due to incorrect structure size see GetSioLastError 9 3 36 SetSerialDataPort Description Allows user to alter the serial port settings e g baud parity etc after a port has been opened See Section 9 2 3 for a description of the PORTINFOSTRUCT structure which is defined in siogps h Category Data Ports When to use After port is opened Pitfalls If you change the baud rate make sure to tell the other device to change its baud rate before calling this command Prototype int __stdcall SetSerialDataPort int PortNum PORTINFOSTRUCT pComInfo Input PortNum Port number of the serial port that is to be altered note that PortNum is not the comport number but rather the port number see Section 3 pComInfo PORTINFOSTRUCT containing the baud parity stop bits and data bit settings see siogps h Output none Return 0 SUCCESS 1 failure see GetSioLastError 164 Chapter 9 Using SIOGPS 9 3 37 SetSioLogFilelnterval Description Sets the data interval that is used as a filter when to write epochs to disk This only works in conjunction with GPB files as raw files are written b
230. tency and age computations latency cpu_sol_time cpu_meas_time age GetTickCount 1000 0 cpu_meas_time 114 Chapter 7 RtDLL b Buffering information engine h These structures are used in conjunction with the WhatIsInDataBuffers function typedef struct int valid indicates whether there is valid data present double gps_time GPS time 0 604800 seconds double cpu_time CPU time NT 95 only seconds int num_sats Number of satellites tracked buf_info_type typedef struct int station MASTER or REMOTE see engine h int number Remote number 0 1 2 int num_records number of unprocessed records buf_info_type newest newest record in buffers buf_info_type oldest oldest record in buffers buf_info_type processed last record processed in buffers char extra 256 additional info in the future buf_list_type The newest structure contains information about the latest record that has been received The oldest structure is the oldest unprocessed buffer present The processed structure in the last buffer that has been used for processing For each of these if there is vaid dat present The GPS time gps_time computer time cpu_time and number of satellites num_sats will be given 115 CHAPTER 8 RTENGINE Section 1 Getting Started RtEngine is a console mode Windows 9x NT real time GPS processing program It supports one ba
231. th the following options e The data mode defines what measurement quantities are to be interpolated It is important to set this properly e For kinematic data results will be unreliable However if the user wishes to try it make sure that the kinematic box is selected e Window size in epochs is the range of data used for interpolation The window size should normally be set between 4 and 6 Very large windows will have problems especially with data files that have large data intervals 62 Chapter 4 Utilities e The data interval is the interval that will be resampled to It should be finer than the original input interval e The number of polynomial coefficients is the number of Chebychev polynomial coefficients used for the interpolation Normally a value close to the Window size is acceptable This value cannot be larger than the window size e The maximum time span prevents the interpolator from using data across a too high of an interval Currently 3 minutes is the default However larger values are required for large interpolation windows with coarse input data rates e Cycle slips can cause the interpolation to have problems Therefore a coarse detector is implemented This value cannot be lowered too much since then pseudorange noise will be mixed up with carrier phase errors a minimum value of 50 cycles should be used e The GPB resampling utility needs GPS ephemeris data Normally the ephemeris from the input fil
232. the GPB file you can either use the options under the Move menu or use your keyboard To scroll one epoch use the Up and Down keys To scroll 10 epochs use the Page Up and Page Down keys If you wish to find the start or end of the GPB file use the Home and End keys The Edit menu edits the GPB file This includes switching from static to kinematic and vice versa Furthermore the user can change the locktime to add or remove a cycle slip Disable Satellite s will zero the pseudoranges for one or more epochs for a given satellite Recalculate Position recalculates receiver position values using a single point GPS solution Before any changes are made to the GPB file ViewGPB will confirm that you want to make the changes These changes are PERMANENT so it is advisable to keep a backup copy of the original observation file Section 3 Concatenate Slice Resample Utility This utility can be called from the GPB Utilities sub menu under the File menu in either GrafNav or GrafNet As its name suggests this utility can be used to concatenate multiple files into one new file take a small portion of one file and make a new file with that portion or create a new file from data sampled at a different data rate from the original file 61 Version 3 15 Concatenate Splice and Resample GPB Files ell x m Input Files To combine must be in sequential order and cannot overlap in time m Output Files Combine
233. tion instructions The processor should be a Pentium or faster e At least two serial ports Unless TCP IP data input is utilized RTKNav requires one serial port for each GPS receiver it is connected to either directly or via a radio link An easy way to get started is to use a USB multi port serial device e For the first try using a direct serial connection is easiest This way any problems due specifically to the radio link can be isolated later e At least two suitable GPS receivers are also required One is the master and the remaining ones would act as mobiles i e remotes The receivers should have an open view of the sky in order to work with RTKNav Placing them in a window may not provide enough satellites for navigation e A serial port is also required if you wish to output serial records to another device Note that this can also be performed via TCP IP TCP mode only e The hardware key must be connected to the parallel or USB port Section 6 Installing RTKNav Installing RTKNav is quite simple and can be done by performing the following steps 1 Insert the CD into the drive If you have downloaded the setup program from Waypoint s FTP site then please note the directory containing the Setup exe program 2 From the Windows Start Menu select Run 3 Click on Browse and move to the drive or directory containing Setup exe i e select your CD ROM drive for CD installation 4 Select Setup exe and press OK 5 Follow
234. tions If this value is larger than the recording interval then this new value will be used for processing The default value is 1 0 Baseline distance in km at which relative iono free processing will begin 171 Version 3 15 KAR CUBE cube_size KAR MAXSV num_sats KAR_RELTOL tol KAR_RMSKEEPTOL tol KAR_TIME time_length KAR_RMSUSETOL tol Size of kinematic ambiguity resolution KAR search cube in metres A cube cube_size 2 will be searched from the initial approximate position which is obtained from the program following the loss of lock The default value is 2 0 m This value should be increased if it is suspected that the remote position is outside of the search cube However larger values increase the possibility of an incorrect intersection found Maximum number of good satellites over which KAR will not be invoked A value of 3 would mean that if there are cycle slips and 4 or more good satellites the program will correct for cycle slips instead of KAR 3 is the default value and should be left there Reliability is calculated by dividing the lowest intersection RMS by that of the second lowest Reliable intersections should have values of 1 5 or higher and preferably greater than 2 0 Default is 1 5 If the RMS from a KAR solution is higher than this tolerance cycles then a warning will result If there are still 4 good satellites see KAR_MAXSV this solution will not be used Def
235. tput Solution Solution structure see Section 3 Structure 2 Return gps_epsol_type int see GPSRET_ Use GetLastGpsError to retrieve error messages for return values other than GPSRET_SUCCESS or GPSRET_LSQSUCCESS 6 AddDataToBuf Purpose Input DLL_INT AddDataToBuf int station int remote_number gps_epoch_type RawData This function adds an epoch of data to the buffers Raw GPS data can be added either for the MASTER or REMOTE n Data should be added as it is decoded from the GPS receiver Use the CFG parameter NUM_DATA_BUFFERS to control how many epochs of data are to be buffered Normally 10 15 seconds of data are sufficient station This is either MASTER 1 or REMOTE 0 int remote_number For the REMOTE station this is remote number starting from zero this parameter is ignored for the MASTER int RawData Raw GPS measurement data gps_data_type 104 Chapter 7 RtDLL Return 0 success 1 Data could not be added to buffers see GetLastGpsError 7 AddEphemerisDataRecord DLL_INT AddEphemerisDataRecord eph_type EphData Purpose This function is used to add an ephemeris structure see eph h to the DLL These will change every hour for each satellite A satellite cannot be used until an ephemeris record has been added Duplicate ephemeris records will be ignored Currently there are no purging capabilities in the DLL and memory w
236. tructure for binary gpb files 202 bytes short size structure size in bytes float version version number see above usually 1 01 char receiver receiver type see above char max_channels maximum number of channels for safety time_type time time of file open float interval data interval in seconds char extral 64 char fname 80 variables used by software FILE f file pointer short vbufsize size of file buffer internal void vbuf pointer to vbuf allocated in open char extra2 24 header_bin_type For this structure only the receiver type needs to be filled in The following receiver types are possible define B_GENERIC 0 generic receiver ranges phase phase rate define B_MX4200 1 magnavox 4200 define B_ASHP12 2 ashtech pcode define TRIM_4000 3 trimble ca code define B_NOVATEL 4 novatel rx define B_ MOTOROLA 5 Motorola receivers define BLRINEX 6 rinex format define B_FURUNO 7 Furuno define B_NAVSTAR 8 Navstar NavSymm receiver define BLROCKWELL 9 Rockwell PLGR define B_MARCONI 10 Canadian Marconi 107 Version 3 15 define B_AOA 11 Allen Osborne define B_RTCM 12 RTCM types 18 19 define B_LEICASR 13 leica SR 9500 define B_JUPITER 14 Rockwell Jupiter define B_SV6 15 sv6 not yet added but maybe later define
237. tude and longitude and are positive for the northern and eastern hemispheres The height is in meters Their estimated standard deviations are given by the sde sdn and sdh values also in meters These standard deviations can sometimes be optimistic A sometimes better indicator is the quality number qf which is based on observed data 1 is best and 6 is worst Stable solutions are normally 1 or 2 Quality numbers of 5 or 6 normally have C A code accuracies The dd_dop is an indicator of satellite geometry and is roughly equivalent to PDOP squared The local level velocities are given by ve vn and vh in m s Their standard deviations are given by svde vsdn and vsdh The base t remoter local level vector is given by lle Un and llh The units are meters For kinematic ambiguity resolution the kar__status and kar_seconds are the most meaningful However the other parameters can be used for debugging purposes the sk_mode indicates if this epoch was processed in either static or kinematic mode typedef struct int size record size int max_bl dimension of baseline int max_chan dimension of of channels double rcv_time 0 604800 int week_number 0 1023 int hours minutes HMS time 113 Version 3 15 double seconds int month day year 1 12 1 31 1900 int attitude_valid roll pitch heading computed double roll pitch heading degrees int sol_status O no s
238. uce over confident statistics or cause an incorrect solution to pass when it would have otherwise failed The Initial Position time is the time that RtStatic will use to calculate the first fixed static solution This solution is used as the benchmark from which all subsequent solutions are compared Generally this time should not be lowered as the initial position should be computed as accurately as possible Alternatively if the coordinates of the remote receiver are initially known they can be directly entered when adding the remote receiver to the project see Figure 2 9 All other fixed static solutions will be subtracted from this one to determine if slow movement is present Therefore it is imperative that the initial solution is correct The Initialized Position time is the amount of data that will be used to compute fixed solutions after the initial position The default value is 60 minutes Lowering this value too much can potentially cause erroneous fixes Single frequency users may wish to raise this value under questionable GPS conditions This is the percentage of epochs that RtStatic will re use from its previous solution in the solution of the next fixed static solution This should generally be left at zero This constant is the amount of time used in the low pass filter to smooth the results Reasonable filter time constant values range from 12 to 24 hours 35 Version 3 15 2 3 9 User Defined Options There are
239. ufList 2 remote 2 This array must be allocated num_remotes 1 Return int Number of records filled 12 SetMasterCoord DLL_VOID SetMasterCoord double phi double lamda double height double ant_ht Purpose This function can be used to define the position of the Master station This must be set before processing can start If the master position is set in the CFG file calling this function will be ignored It will also be ignored if this function has already been called i e the master station position cannot be changed once defined It is important that this position be in the same datum as defined in the CFG file Normally this is WGS84 Input phi Latitude in degrees ve north ve south double lamda Longitude in degrees ve east ve west double ht elevation in metres double ant_ht Height of the antenna in metres double Return void 106 Chapter 7 RtDLL Section 3 RtDLL Data Structures The following structures are used for input and output into DLL functions 1 a Input Structures GPB structures gps_io h These structures hold the raw GPS measurement data There are three structures used header_bin_type Header information first record in a GPB file pben_bin_type Position record contains time position and clock info mben_bin_type Raw measurement record 1 per channel tracked 1 header_bin_type header information typedef struct Header amp s
240. uth and elevation information for each baseline as depicted in the next set of images E RTKNav Solution Data View Remote 1 File View Processing Window Help Berle Acel Al ole ele lala E zl E From None Jr aj ax Sutoscale Figure 2 32 Prepare to Display Satellite Info on Remote Baseline 1 Again note that R1 has been selected in the list box and the Receiver Satellite tool button These choices add the following text display to the screen seen in Figure 2 33 39 Version 3 15 lg e vuan Sat Status View R1 loj x File View Processing Window Help Dis elei Al ole 3 3 80 alalle fri AEA From None ra None a ax AutoScale Std Deviatio Horiz Vert cycle sl is below cut off e x i ea Ez Figure 2 33 Satellite Info Display In the list box seen above the azimuth and elevation of the satellites are shown Of importance in kinematic surveys are the lock values Here the lock number goes to 255 and stays at this value until phase lock is lost If lock is lost on any satellite the lock value goes back to zero and begins to count up with time In dynamic surveys the lock values are an important quantity to observe as accuracy depends on continuous phase lock being maintained 2 4 3 Position Plots of Base and Remotes Activate the Plot View window via View Plot or clicking on the Position Plot tool button Nf R
241. utions produces millimetre level coordinate changes on slow moving features such as slopes or dams Simultaneously the standard kinematic engine processes the same data in real time to monitor fast moving events in standard kinematic fashion On short baselines single or dual frequency receivers can be used with similar precision Up to 20 base remote combinations can be processed on the same computer platform Raw input or processed output data can be transferred in real time over serial or network connections Additionally users have the ability to rebroadcast data collected in real time over a network or over the Internet thus allowing other instances of RtStatic on other computers to process all or a subset of the data that you are processing Additionally data can be rebroadcast so that other instances of RtStatic on the same computer can be used to process a subset of the data Section 2 Getting Started To use RtStatic in your RTKNav project simply ensure the following box is checked in the processing options Processing Configuration General Advanced E xtrapol KAR Standard Deviation Heading and Pitch RTStatic Option User Defined GE seconds Update Kinematic Soln Time Span Initial Position seconds Initialized Position 3600 seconds C No Update with Fixed Solution with Filtered Soln 30 a 7200 eS Overlap 0 PI Filter Time Window 24 hours Cancel Figure 3 1 RtStati
242. utput messages Selecting Add messages will display information regarding base satellite selection tropospheric model used number of ephemeris files used type of processing GPS only or GPS GLONASS etc Selecting Show messages will display the fixed static solution statistics such as the RMS reliability and the status passed failed Selecting Output messages will display any error messages that can be helpful in determining the cause of a processing failure should it occur Log To File will log the error messages displayed on the screen to an ASCII file with the same name as your project name and a SLG extension 52 CHAPTER 4 UTILITIES Section 1 GPS Data Logger Windows Waypoint provides a WIN95 98 2000 NT data logger that currently supports NovAtel Trimble Ashtech Parthus Javad Ublox Rockwell CSI and Marconi receivers The data logger configures the GPS receivers logs the measurement data and converts it into Waypoint s GPB EPP measurement ephemeris format Adjunct features include waypoint navigation as well as satellite and scatter plot capabilities In addition stations and events can be marked and written to STA files compatible for post processing by GrafNav GrafNet The data logger is shipped with it s own device driver for WIN95 98 users This driver is called WPCOMM VXD and should be placed in your WIN95 System Directory or in the current directory from which the data logger runs On Windows 2000 NT machines
243. v Max 20 Remotes NM RTKNav Max 3 Remotes 49 Uninstall RTKNav koma 10 32 AM Figure 2 2 Using the Start Menu to Launch RTKNav 14 Chapter 2 RTKNav Note that in the above diagram RtkNavR3 and RtkNavR20 are running on the same host computer Additionally in this figure RtkNavR3 is re broadcasting its serial data over the network using MultiCast protocol RtkNavR20 is re computing the project with the same data as RtkNavR3 Using the network capability RtkNavR3 and or RtkNavR20 can use the same data at many remote locations on your local or wide area network When Should you use RtkNavR3 versus RtkNavR20 Users who have purchased RtkNavR1 or RtkNavR3 should use RtkNavR3 as RtkNavR20 takes up considerably more memory and CPU RtkNavR20 should only be used by if you have more than 3 remote GPS receivers on line 2 1 2 Start New Project Step 2 Create a New Project Select File New Project and type a filename for your project See Figure 2 3 File View Processing Help Geist ejej A eile Hele siria gt 3 l IAT 1 41 Frm nana bo Fra zl seein ast daa ala File name my_projectin Save as type input Contig File in Cancel La Figure 2 3 Start a New Project The IN file will contain communication parameters necessary for data input and output If you have already defined an IN file for your project then simply go to File Open Project to load it Step 3 Add Receivers to t
244. val set this value to 0 0 9 2 10 Reading and decoding data As the FAQ How can I use SIOGPS mentions there are several means to implement SIOGPS i e a through d Methods a and c are the most common and are shown in Figure 9 2 and Figure 9 3 AddE phemeris DataRecord Figure 9 2 Using LogRtkData to read and decode raw data Method a 142 Chapter 9 Using SIOGPS Initialization could be replaced with your own function GetDataByte Je This process could be made more effecient by checking return values If no bytes read or decoded then skip subsequent operations AddDataToBuf ReadThreadBufData AddE phRec within RtDLL ReadThreadBufData DecodeOneByte n etThreadBufR ect ount TB_RET_PBEN n etThreadBufR ect ount TB_RET_GPS EPH lt NumReceivers Stop Thread Figure 9 3 Decoding one byte at a time Method c 9 2 11 Method a Using LogRtkData function The following shows some sample source code for using LogRtkData User can have access to decoded records by supplying their own AddDataToBuf callback function see previous section global variables int StopCommunciationThread set to TRUE to exit thread SIODLL Si0 structure containing function pointers int to SIODLL MasterPortNum port number for master receiver 143 Version 3 15 int RemotePortNum MAX_REMOTE
245. vation This record can be useful for range and bearing applications Format RTVEC gpstime R east north up sdhz sdv S K nsats qf status XX Where gpstime Solution time in GPS seconds of the week This position may be latent by the time estimated in the RTSIO records latency R This indicates the remote number i e R1 R2 east East coordinate value with respect to master station metres north North coordinate value with respect to master station metres up Vertical coordinate value with respect to master station metres sdh Horizontal standard deviation 1 sigma in metres sdv Vertical standard deviation in metres nsats Number of satellites used in the solution S K Mode static S kinematic K af Quality factor best 1 worst 6 no RTK solution 7 status No solution 0 single point 1 DGPS 2 RTK 3 RTK errors 4 XX Checksum hex Example SRTVEC 151180 00 R1 0 000 0 002 0 001 0 019 0 024 K 6 1 3 4A 6 2 5 RTSLE Record The RTSLE record contains everything that the RTSOL record has and it has additional quality control variables inserted at the end 88 Chapter 6 Output Records Format RTSLE gpstime R phi lamda ht sdh sdv ve vn vh nsats S K qf dd_dop status F L U Ca Rms LIRms XX Where gpstime Solution time in GPS seconds of the week This position may be latent by the time estimated in the RTSIO records latency R This indicates the remote number i e R1
246. ves Commands from an External Program then Sends Cancel Figure 2 14 Sending Output Strings by Serial Port You can choose to send the output ASCII data to serial or network ports or to write to disk If you choose write to disk your output file will be saved in your working directory and will be given the same name as your project with an optional file prefix For more information regarding the other options in this window please see the discussion on network protocols in Step 4 There are some slight differences between sending and receiving data on Ethernet ports To send data by network port you must specify the IP address of the output destination In the case of MultiCast once again you must join a MultiCast group all on the same IP address defined between 224 0 0 0 and 240 0 0 0 UDP users on Win32 machines will have to use IP address 255 255 255 255 TCP users must know the IP address of their target computer whether local or 23 Version 3 15 wide area For wide area networks this is typically a static IP address The network mode must also be set to client or server if TCP IP mode is selected Clicking the Next button brings up the final step in the process Step 10 Select the Output ASCII Record Types To add a selection of ASCII records for output select a record type Before clicking the Add button be sure to select the interval on which you want this record outputted See Figure 2 15 x Interval
247. w 44 Chapter 2 RTKNav Q How do I know if my receivers are collecting data A The red lights in the receiver status window should turn from red to yellow to green when everything is working properly and you should also be able to see that the receivers have locked onto satellites in the Satellite Data View windows If in doubt you can always use wlog exe and test to see if your receivers and serial cables COM ports are connected properly Q I chose the wrong settings in the project and or processing configuration Is there any way to change the options while processing A At this time changing the configuration options while processing has been disabled Q Should I be modifying the standard deviation and KAR Kinematic Ambiguity Resolution options and tolerances A In general it is not recommended that you change the default options for these two groups of options since RTKNav is designed to reset the filter when data is really bad It is suggested that these options only be changed during post processing in software like GrafNav unless you have a priori information about your data e g you know your C A code measurements will be good Q What happens if I start processing stop and then start again Will my files be appended or overwritten A Upon restarting processing your raw GPS data files in gpb format will be overwritten Unfortunately the Receiver Status will show that the total number of epochs recorded is t
248. ween the float and fixed KAR solutions Tolerance for allowable DOP during a KAR solution Default is HIGH Model used for KAR L1 L2 ambiguity search Default is ON KAR uses the KAR_TWOSTAGE_SAT highest satellites for its ambiguity search Interval between storing measurements for KAR usage A smaller number will cause more memory to be used but may improve KAR reliability to a small degree KAR_EPOCH_SIZE epochs_ll epochs_l2 KAR_TWOSTAGE_SATS 6 L2_SLIP_TOL 0 20 LOCKTIME_CUTOFF 8 Number of epochs between KAR ambiguity searches if L1 only or L1 L2 Use this maximum number of satellites in the KAR ambiguity search routines Cycles Tolerance in L2 cycles at which an L2 cycle slip will be assumed Seconds Phase data will be ignored for the first 8 seconds after locking onto the satellite Change this 173 Version 3 15 MASTER_FILE path file_prefix gpb MASTER_ID station_name MASTER_POS lat long ht hi MOVING_BASE ON OFF MOVING_BASE_FILE fname MOV NUM_DATA_BUFFERS 30 value to 0 to process all phase data or a large value to ignore the first n seconds of lock This gives the phase lock loop a chance to stabilize This is the name and location of the master station binary GPS data file This data must be in the GPB format If your data is not in this format use one of the conversion utilities supplied If this value is not entered the program will prompt for it
249. whether you wish to send the data over your local network or over the Internet to a remote location Local networks would be the network in your office or say on your ship Wide are networks that communicate all over the world on Internet connections The 3 types of network protocols supported are a UDP protocol UDP protocol is used strictly on local networks If you wish to send data to your own computer or another computer in your office then UDP is a good choice If a data stream is sent on UDP protocol then the data will automatically be sent to every computer in the local network To receive this data stream you must be receiving in UDP protocol and must be on the same port number as the sender For instance if RTKNav is asked to re broadcast a serial data stream from a NovAtel GPS receiver by UDP on port 5001 then every computer on the local network will receive UDP data on port 5001 The receiver must specify UDP port 5001 to get the data into another instance of RTKNav running somewhere else on the network 10 Chapter 1 Introduction Note that in Win32 operating systems UDP is always assigned an IP address of 255 255 255 255 This may not be true for UNIX based systems UDP should work on Win95 98 2000 and NT b MULTICAST protocol Like UDP MULTICAST is an ideal choice for local networks It is only meant for sending or receiving from computers near you Note that all protocols including MULTICAST will loop
250. will be skipped for all remotes Set the Mode to PARTIAL to process remote units that line up with the base with in a tolerance of MsTol 123 Version 3 15 Verbose ON OFF EppFile FileName epp DiskRead Flag Delay RecSize milliseconds Use EXTRAPOL to extrapolate the master data This reduces the latency to a minimal value Two solutions are exported One for the extrapolated master data and a second one when the master data actually arrives Make sure to set the command EXTRAPOL_EPOCHS ALL is suggested unless the radio transmission link is intermittent EXTRAPOL is not suggested for inverse applications ON displays addition information to the screen RtEngine only Input of external ephemeris file Normally only used for replaying This setting can be used to read data from disk instead of a serial port This is useful for replaying data Flag OFF GPB RAW Delay delay in millisecionds between reading records RecSize record size in bytes for reading RAW data 8 2 2 Port group Parameter Description PortNum AssignedPortNum Type PortType For SERIAL type Comport num BaudRate baud Parity parity For NETWORK type IP a b c d NetPort NetPortNum Assigned port number which ranges from 1 to 1023 Each port number must be unique and is considered independent of either the comport or network port number PortType NETWORK SERIAL FILE CONSOLE NETWORK TCP
251. with the software e Concatenate Slice and Resample A raw GPS data utility that can edit raw data files produced by RtkNav If users choose to log in the raw binary format of the GPS receiver the files will have to be converted to Waypoint s format before this utility can be used e GPB Viewer This utility will allow you to view the raw binary data collected by the GPS receiver in order to detect any problems Measurement values and position records are among the fields that can be viewed here e GPS Data Logger This utility is included to facilitate GPS data logging directly from a variety of GPS receivers under a Windows 95 98 2000 XP and NT environment Features such as tagging stations and satellite lock plots are included as well Logging can be performed directly into Waypoint s custom format Refer to Table 1 2 for supported receivers Table 1 2 Receivers Supported for Data Logger DATA LOGGING MARE MODEI WINDOWS WINCE Allstar Y Y E Superstar II Y Y Conexant Jupiter Y CSI DGPS MAX Y Y Garmin 25 series Y 35 series Y Javad All models Y Y Motorola VP Oncore Y NAVCOM OEM GPS Y Y XR5 Y Y Navsym XR7 Y Y OEM2 Y Y NovAtel OEM3 Y Y OEM4 Y Y Thales Real Time Y Y 4000 series Y DAT e y Trimble 4000 series RT 5700 A SSx U Blox Antaris Y Y Chapter 1 Introduction Section 9 What else is contain
252. y another application Internal logging is only possible from LogRtkData Be sure to periodically call SaveSioLogFile to ensure that minimal data is lost if a power loss occurs Prototype int __stdcall OpenSioLogFile int PortNum int LogFileMode char LogFileName Input PortNum Port number 1 1023 LogFileMode SIO_LOGRAW logs data byte for byte as it arrives from the GPS receiver SIO_LOGGPB logs decoded GPB records compatible with Waypoint s post processing software Output none Return 0 Success 1 Failure see GetLastSioError 9 3 26 OpenSioPort Description This function opens a serial network console file or user port Users are primarily interested in serial network or user ports A user port is one where SIOGPS is just used for decoding a raw data stream which is 159 Version 3 15 normally obtained externally to SIOGPS This function must be called prior to any other function utilizing a port number PortNum For the most part this function is used to initialize ports connected to GPS receivers however that need not be the case See Section 9 2 3 for more information on opening a port This is where the SIOPARAM structure is defined Category Open Close When to use Before using a particular port but after OpenSioLibrary is called Pitfalls Selecting ports that cannot be opened or have another device using them In addition problems often arise when the SIOPARAM structure is not filled in pro
253. y calls this function Category Data Ports When to use Before ports are opened but after OpenSioLibrary Pitfalls If ports are used by another application they will not be found Ports must be visible to windows before they can be found Prototype int __stdcall IsSerialPortAvailable int comport Input comport 1 for COM1 2 for COM2 etc Output none Return 0 Port NOT available 1 Port available for use 9 3 23 LogRtkData Description This function can be used to read data from a GPS receiver connected to a serial or network port It will continuously log and decode data until no bytes are in the read buffers for that device Decoded measurement and ephemeris records will be sent to RtDLL or application via callback functions defined during port opening see Section 9 2 3 Users can have access to decoded records in two ways a Send a thread buffer pointer via the MultiBuf parameter b Specify callback functions that exist within their own application The main purpose of LogRtkData is to interface easily with RtDLL This is because LogRtkData calls the callback functions defined in the RTKPARAM substructure of SIOPARAM during OpenSioPort See Section 9 2 8 for more information on using LogRtkData For ports defined as SIO_USER see Section 9 2 3 the MultiBuf parameter is a USERRTKDATA structure which contains a buffer to 157 Version 3 15 Category When to use Pitfalls Prototype I
254. y works for receivers connected via serial ports Usage CONFIGRX P M R 71 Version 3 15 Example configrx r3 5 3 4 DIR Command This command lists the directory contents for a given folder or path It operates very similarly to the DOS DIR command except that it does not have all of the options Usage DIR path REC The path refers to a path name as would be used in windows REC forms a NMEA style output Example dir c data cfg Result Directory information for c data cfg File Name Date m d y Time Size TSUNEO o a 08 22 2000 10 25 3 007k TEStERLE EE 08 21 2000 17 33 3 072k EE Eer CIJ varf oaete ees wack da es 08 25 2000 15 03 1 318k E e EE 09 14 2000 18 50 1 424k 4 file s and 0 directories use 8 821k 5 3 5 DISABLE Command See ENABLE command 5 3 6 DISKSPACE Command DISKSPACE can be used to find out how much disk space is available on a certain drive Usage DISKSPACE drive REC Where drive is a drive definition e g C or a network path e g user c Example Diskspace e Result E has 134 8M out of 1 991G free 6 6 Si 72 Chapter 5 Command Port Interface 5 3 7 DYNAMICMODE Command This command allows users to switch the STATIC KINEMATIC mode for a given master or remote receiver Switching a master to kinematic only has meaning in the moving baseline mode See 0 Usage DYNAMICMODE P M R STATIC KINEMATIC Only the first three charact
255. yte for byte as the data arrives from the serial port Category Log Files When to use Must be used after OpenSioPort is called Can even be used after logging has engaged Pitfalls Interval must be a multiple of the input data interval Prototype int __stdcall SetSioLogFileInterval int PortNum double DiskWritelnterval Input PortNum Port number to perform operation for 1 1023 DiskWriteInterval Interval value in seconds Use 0 0 to log at the input data rate Output none Return 0 Success 1 Port not opened 1 Mutex timed out 9 3 38 SetStaticKinematicMode Description Changes the static kinematic flag for future epochs of a receiver connected to a particular port Category Decoding When to use After port is opened and every time you wish to switch modes Pitfalls Initial static kinematic mode defined in the RTKPARAM structure StartMode variable Prototype void __stdcall SetStaticKinematicMode int PortNum int SkMode Input PortNum Port number to change dynamic mode for SkMode O static 1 kinematic Output none Return none 9 3 39 SetThreadBufSize Description This function can be used to change the size that a thread buffer filling routines such as DecodeOneByte LogRtkData and ReadGpsPort check to prevent buffer overruns This only refers to the size of the thread buffer and has nothing to do with internal raw data buffering Category ThreadBuf When to use Before calling DecodeOneByte LogRtkD

Download Pdf Manuals

image

Related Search

Related Contents

User Manual USB3.0 2-Port PCI-Express Card  Philips Economy Twister Twisted energy saving bulb 871829121705300  女性リーダーキャリアアップセミナー  Manuel  Calibrating on Imagesetter Paper Technical Information Linotype-Hell    デジタルボイスレコーダー  Bondex Plus Cerámica  User Manual  StarTech.com 4U 19in Steel Vertical Wall Mount Equipment Rack Bracket  

Copyright © All rights reserved.
Failed to retrieve file