Performance Analysis of Different Positioning Modes in RTKLIB Software

Download as pdf or txt
Download as pdf or txt
You are on page 1of 12

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/346013814

Performance analysis of different positioning modes in RTKLIB Software

Technical Report · January 2020


DOI: 10.13140/RG.2.2.20111.61608

CITATIONS READS
0 2,055

1 author:

Bikram Parajuli
Wuhan University
4 PUBLICATIONS   0 CITATIONS   

SEE PROFILE

All content following this page was uploaded by Bikram Parajuli on 19 November 2020.

The user has requested enhancement of the downloaded file.


Performance Analysis of Different Positioning
Modes in RTKLIB Software
Bikram Parajuli
Masters in Cartography & Geographical Information Engineering, LIESMARS

Abstract
Among many GNSS data processing software, RTKLIB is an open source program
for GNSS positioning developed by T. Takasu. There are several post processing modes in
RTKPOST: Single, DGPS/DGNSS, Kinematic, Static, Moving‐Baseline, Fixed, PPP‐
Kinematic, PPP‐Static and PPP‐Fixed[1]. Different modes provide different positional
accuracy and it can also vary within same positioning mode with use of different constraints.
Single point position can be used for meter level accuracy with single receiver. Two receivers
are required in differential and relative positioning. One receiver is used as reference station
and another is rover whose position is determined with reference to the base station. Position
measurement with accuracy of few centimetres can be done with relative positioning. Precise
point positioning (PPP) is method of determining absolute position of a single receiver using
precise orbit/clock information from IGS. In PPP static mode, positional accuracy of less
than centimetre can be observed. The Standard deviation and RMS value of positions in
different positioning modes are compared in the paper.
Keywords: RTKLIB, DGPS/DGNSS, Relative Positioning, PPP, IGS

Introduction
Global Navigation Satellite System is a type of satellite navigation in which earth orbiting
satellites, their ground control stations and receivers are used to determine positions on earth.
There are four satellite navigation systems under GNSS: Global Positioning System(GPS), Global
Navigation Satellite System (GLONASS), Galileo and Compass or BeiDou. Receivers can be used
autonomously to determine their position; its applications are increasing in many domains. The
receiver can retrieve position, velocity and time information with the help of satellite
constellation[2]. Stand-alone single point positioning is most commonly used GNSS positioning
technique. The code based positioning technique provides accuracy of few meters in positioning;
which is insufficient for many applications. This demanded the need of improvement in accuracy
and integration of different available satellite navigation systems. There are other positioning
modes as differential positioning and relative positioning in which two receivers are
simultaneously used; one as base station at known position and another as rover station whose
position is to be determined. Precise Point Positioning is the improved stand-alone positioning
using carrier phase based positioning. Globally distributed analysis centers of International GNSS
service (IGS) distributes clock and orbit data products[2], which are processed with code
pseudorange and carrier phase measurements from single receiver for centimetre level accuracy.
RTKLIB
There are number of GNSS data processing software’s developed for commercial and
research purposes. RTKLIB is an open source software developed by Tomoji Takasu from Tokyo
University of Marine Science and Technology for GNSS data processing. It is written in C program
and contains several application programs as RTKPOST, RTKNAVI, STRSVR, RTKPLOT etc[3]
for real time processing to post processing. It is simple, portable and has good performance. It can
be used in processing data from GPS, GLONASS, Galileo, QZSS, BeiDou and SBAS[1]. Nine
different positioning modes in RTKPOST are: Single, DGPS, Kinematic, Static, Moving‐Base,
Fixed, PPP‐Kinematic, PPP-Static and PPP‐Fixed[1].
RTKLIB supports many standard data formats as RINEX OBS/NAV, BINEX, ANTEX,
IONEX[4] etc. It supports external communication with TCP/IP, serial, local log file and
FTP/HTTP[1]. RTKLAUNCH is an application launcher; it can be used to start other application
programs. RTKNAVI is for real time positioning. Receiver raw data can be converted to RINEX
format with RTKCONV. RTKPLOT is used in visualization of solutions; it can show position,
ground track of observation points, velocity, acceleration and number of satellites used in
computation. RTKGET is application program for downloading different GNSS products. NTRIP
is communication protocol for sharing GNSS related data through internet. Being open source
software, users can modify functions, edit source code and make customized application
programs[1]. Users can also fix the bugs within the program. RTKPOST and RTKPLOT are two
application programs used in this paper. The GUI of RTKPOST helps in tuning options and
observing the performance in different positioning modes and different settings. Start and ending
time can be controlled along with the interval. Observation data for rover and base station is
inserted in first and second blank respectively. Orbital and clock information is inserted below
observation. We can also tune on and off several models for ionosphere and troposphere correction,
earth tides, elevation mask, integer ambiguity etc. Output can be formatted as per the need and
solution can finally be plotted and analysed in RTKPLOT[1].
Data description
For the post processing, different GNSS data are used. First one is RINEX observation file
from GNSS receiver with ‘.o’ extension, used as base station. RINEX stands for Receiver
Independent Exchange Format, which was first developed to ease GPS data sharing during first
large European GPS campaign EUREF 89[5]. Another observation data is used as rover station;
whose position is to be computed. Along with the observation data, GNSS sites also provide
navigation file ( .n for GPS and .g for GLONASS). Another data used as input is with ‘.sp3’
extension. Sp3 stands for standard product 3 format and it provides GPS and GLONASS orbital
solutions. Clock RINEX file with ‘clk’ extension provides station and satellite clock solutions.
Satellite antenna phase centre variation or receiver antenna phase centre offset correction file with
‘atx’ extension contains antenna calibrations[1]. For earth tide correction in positioning, ocean
loading file in BLQ format provides ocean loading coefficients for IGS stations. The output of
RTKPOST is a position file with ‘.pos’ extension. Output file contains information about the
positioning mode, statistically expected accuracy, and different constraints imposed during
computation.
Experiments and Results
1. Single point positioning mode
Global Navigation Satellite System is designed such that single receiver is capable of
determining coordinates of its location. The performance of single point positioning became better
after the shutdown of selective availability of GPS signals. Most of the applications of GNSS
operate on the principle of single point positioning. Receivers operating on single frequency
principle experience errors due to ionospheric delays[6]. To further refine the single point
positioning, techniques to use both code and phase observation, remove receiver clock errors etc.
are developed[7]. As single receiver is used, base station data is not used in single point
positioning.

(a) (b)

(c) (d)

Fig: (a) GUI of RTKLIB software. (b) Position with single point positioning mode. (c) single point
positioning with 15-degree elevation mask. (d) single point positioning with elevation mask and
‘Broadcast’ ionosphere correction.
Single point positioning with observation, navigation data and clock file resulted
positioning accuracy of around 10 meters. Most of the multipath errors are because of low
elevation satellites as signal from them travels long distance from high elevation satellites. After
setting elevation mask to certain degree, satellites having low elevation than mask are excluded.
Though the number of satellites used decreased, accuracy improved to meter level after use of 15-
degree elevation mask and ‘Broadcast’ ionosphere correction.
2. Differential GNSS positioning mode
Post processing with Differential GPS is based on pseudorange or code phase[1]. Effect of
corrected ephemeris and atmospheric errors are removed by differential corrections. Usually
pseudorange corrections are broadcasted from base to rover in real time; but corrections can also
be applied in post processing. Here, ‘wtzr1820.15o’ was used as rover station and ‘wtzz1820.15o’
was used as base station. Different carrier frequencies can be used for positioning. Here, in ‘b’,
only single frequency ‘L1’ was used. The accuracy of position increased significantly after the use
of double frequency ‘L1+L2’ in ‘d’. But when ionosphere correction, troposphere correction and
elevation mask of 10 degrees was introduced, the STD and RMS values reached to the order of
meter.

(a) (b)

(c) (d)

Fig: (a) GUI of options dialouge in RTKLIB. (b) Position in DGPS mode with only L1 frequency.
(c) Position in DGPS mode with elevation mask 10 degrees, Iono-Free LC ionosphere correction
and Estimate ZTD troposphere correction. (d) DGPS positioning with L1 and L2 frequency.
3. Kinematic positioning mode
Post processed kinematic is used if several centimeters of precision is required[8].
Kinematic positioning in RTKLIB requires data from two stations. ‘wtzr1820.15o’ was used as
rover and ‘wtzz1820.15o’ was used as base station. Kinematic solution gives absolute position of
rover by solving relative distance between base and rover and then adding that to base location.
The positioning mode was changed to kinematic from DGPS, which gives differential solution
using carrier phase info instead of an absolute solution using only pseudorange[9]. Continuous
integer ambiguity was used in second experiment ‘b’; it estimated and resolved continuously static
integer ambiguities[1]. Precise solution was obtained after integer ambiguity was resolved.
Instantaneous and Fix and Hold integer ambiguity resolution can also be used in kinematic mode.
In instantaneous mode, ambiguity is estimated and resolved in epoch by epoch basis[1]. In Fix and
Hold mode, continuously static integer ambiguities are estimated and resolved as in continuous
mode; and if validation is ok, ambiguities are constrained to resolved values[1].
4. Static positioning mode
Carrier phase static positioning is similar as kinematic positioning except the rover is
stationary in static positioning. Long observation and data collection is not necessary in static
positioning[10]. As in other reference positioning above, one reference and one rover station is
used. The performance was improved after introducing continuous integer ambiguity and
tropospheric and ionospheric correction.

(a) (b)
Fig: Position in static position mode (a) without integer ambiguity (b) with continuous integer
ambiguity resolution, double frequency, IonoFree-LC and Estimate ZTD troposphere correction.
5. Moving base positioning mode
Moving base is a relative positioning mode in which distance between base station and
rover station is calculated irrespective of base stations position. Both reference and rover recivers
can be in motion. The position of base station is estimated using single algorithm. Like other

(b)
relative positioning, it needs one base station and one rover station. ‘wtzr1820.15o’ was used as
rover and ‘wtzz1820.15o’ was used as base station and positioning mode was changed to moving
base. The solution improved after ionosphere & troposphere correction and elevation mask.

Fig: (a) Position in moving base mode. (b) Same as ‘a’ with Iono-Free LC ionosphere correction,
Estimate ZTD troposphere correction and 10 degrees’ elevation mask.

6.. Fixed positioning


In fixed positioning the position of rover receiver is fixed/known. Rover’s initial position
can be configured as that of base station[10]. Thus fixed positioning is used for residual analysis.
The position was more accurate after using dual-frequency and elevation mask of 15 degrees.
(a)

(a) (b)

Fig:(a) Position in fixed position mode. (b) Position in fixed mode after dual-frequency, elevation
mask and Earth tide correction.
7. Precise point positioning
Precise point positioning is a method of determining absolute position of a single receiver
up to centimeter level using high precision IGS products[11]. PPP uses both pseudorange and
carrier phase observation from a single GNSS receiver to determine position. RTKLIB supports
multiple satellite system, data formats and three precise point positioning modes: PPP Kinematic,
PPP Static and PPP fixed. Dual frequency receivers provides better result than single frequency
receiver[10]. If multipath variations are minimum, single frequency ionosphere free solutions are
equivalent to dual frequency solutions[12].
7.1. PPP kinematic
In PPP kinematic, data from rover receiver in motion is combined with measured precise
ephemerides and satellite clocks to improve rovers position. PPP can provide centimeter level
accuracy in kinematic applications. Unlike the relative positioning techniques, only one receiver
is capable of determining the position. Here, ‘wtzr1820.15o’ is used as station. Precise clock and
orbital data from IGS are also used as input and position is computed in both single and dual
frequency modes.

(a) (b)

(c) (d)

Fig: Position with PPP kinematic (a) with single frequency and IonoFree-LC. (b) Dual frequency
and IonoFree-LC. (c) with single frequency, forward filter and Estimate-TEC ionosphere
correction. (d) Dual frequency, combined filter and IonoFree-LC ionosphere correction.
For ionosphere free linear combination, ideal solution was obtained from both single
frequency- L1 only- and dual frequency- L1 and L2- as in figure ‘a’ and ‘b’. But after using TEC
ionosphere correction, better result was obtained with dual frequency than with single frequency.
In ‘d’, combined filter was used combined filter was used which produced smooth and combined
solution with forward and backward filter[1]. For ambiguity resolution PPP-AR mode is used
which is only applicable for PPP. Solid/OTL (Ocean Tide Loading) earth tide correction was
applied which used solid earth tides, ocean tide loading and pole tide corrections to determine
position. Path to OTL coefficient file and EOP data file was inserted in the ‘files’ tab of options.
Another option ‘solid’ can be used to apply solid earth tide correction.
7.2. PPP static and fixed mode
PPP static is similar to PPP kinematic; except the receiver is stationary in static mode. This
is one of the most precise methods used in positioning and provides accuracy of few cm. The
positioning mode was changed to PPP static from PPP kinematic. For same set of input parameters,
error was significantly minimized than in kinematic positioning. Further improved position was
obtained without using integer ambiguity resolution. The Estimated ZTD calculates zenith total
delay parameters as EKF states[1]. PPP fixed is used for residual analysis as in relative fixed
positioning.

(a)
(b)

(d)
(c)

Fig:(a) options dialogue for PPP static positioning (b) Positioning in PPP static mode with ‘PPP
AR’ ambiguity resolution. (c) Positioning in PPP static mode with no ambiguity resolution (d)
Positioning in PPP fixed mode.

Analysis
The performance of single point positioning was improved after using elevation mask,
which removes major multipath errors, and ionosphere correction.In relative positioning as
kinematic, static, moving base and fixed positioning mode, the precision of positioning increased
after the integer ambiguity was resolved. The following two graphs compare the standard deviation
and root mean square values in different positioning modes. STD demonstrates largest deviation
from the averaged coordinate origin. E-W, N-S and U-D is the deviation in East-West direction,
North-South direction and Up-Down altitude change respectively.

2.1017

2.0202
RMS (M)

0.9421

0.9092
E-W RMS

0.7268
0.6028

N-S RMS
0.3317
0.1978
0.1555

U-D RMS

0.0567
0.0307
0.0302

0.0282
0.0135

0.0106

0.0079
0.0035
0.0035

0.0011
0.0008
0.047

SINGLE DGNSS KINEMATIC STATIC MOVING PPP PPP STATIC


BASE KINEMATIC
POSITIONING MODE

Fig: Graph showing RMS value in meter in y axis and positioning modes in x axis
2.102

2.0205
STD (M)

0.9423

0.9094

STD E-W
0.7269
0.6029

STD N-S
0.3317

STD U-D
0.1978
0.1555

0.0567
0.0307
0.0302

0.0282
0.0135

0.0106

0.0079
0.0035
0.0035

0.0011
0.0008
0.047

SINGLE DGNSS KINEMATIC STATIC MOVING PPP PPP STATIC


BASE KINEMATIC
POSITIONING MODE

Fig: Graph showing STD in meter in y axis and positioning modes in x axis.
Precise point positioning techniques can be used in determining centimeter level position
using single receiver using precise orbit/clock products from different Analysis Centers of IGS.
Better solution was obtained in static mode; this must be because of stationary receiver. Position
was fixed with very low standard deviation. Combined filter combined forward and backward filter
which resulted better position. Similar solution was obtained for single and dual frequency in
ionosphere free linear combination. The position result of receivers in moving base positioning
mode was similar to that of single point positioning.
Discussions Conclusions
In this paper, position result in different positioning modes in RTKLIB was observed.
Different options in RTKPOST were tuned in order to improve the quality of solution. Solution
can further increase by applying different corrections and constraints. Being open source software,
RTKLIB is extremely handy for researchers and developers as they can customize the program
according to the purpose.

Acknowledgements
My deepest appreciation to professor Jianghui Geng for providing me opportunity to do
this experiment. Also I am grateful to the authors of referenced papers.

References
[1] “RTKLIB ver. 2.4.2 Manual” 2013.
[2] C. Andrei and F. Geodetic, “Performance analysis of the Precise Point Positioning technique
at BUCU IGS station,” 2010.

[3] T. Takasu and A. Yasuda, “Development of the low-cost RTK-GPS receiver with an open
source program package RTKLIB.”
[4] “tomojitakasu/RTKLIB.” [Online]. Available: https://github.com/tomojitakasu/RTKLIB.
[Accessed: 14-Jan-2020].

[5] W. Gurtner and L. Estey, “RINEX The Receiver Independent Exchange Format,” 2006.
[6] D. J. Allain and C. N. Mitchell, “Ionospheric delay corrections for single-frequency GPS
receivers over Europe using tomographic mapping,” GPS Solut., vol. 13, no. 2, pp. 141–
151, 2009.
[7] A. Elhattab, “GPS SINGLE POINT POSITIONING USING SATELLITES
DIFFERENCING,” no. September 2002, 2014.

[8] “Trimble 4700/5700/R7 - How to execute a post-processing kinematic (PPK) survey from
start to finish - Print View.” [Online]. Available: https://kb.unavco.org/kb/print-618.html.
[Accessed: 10-Jan-2020].
[9] “Kinematic solution with RTKPOST – rtkexplorer.” [Online]. Available:
http://rtkexplorer.com/kinematic-solution-with-rtkpost/. [Accessed: 10-Jan-2020].

[10] B. Wi, K. Bruniecki, and M. Moszy, “Evaluation of RTKLIB ’ s Positioning Accuracy


Using low-cost GNSS Receiver and ASG-EUPOS,” vol. 7, no. 1, pp. 79–85, 2013.
[11] Q. Wu, M. Sun, C. Zhou, and P. Zhang, “Precise Point Positioning Using Dual-Frequency
GNSS Observations on Smartphone,” Sensors (Switzerland), 2019.
[12] B. Witchayangkoon, “Elements of GPS precise point positioning,” The University of
Maine, 2000.

View publication stats

You might also like