Abstract
As the number of GNSS satellites and stations increases, GNSS data processing software should be developed that is easy to operate, efficient to run, and has a robust performance. To meet these requirements, we developed a new GNSS analysis software called GAMP (GNSS Analysis software for Multi-constellation and multi-frequency Precise positioning), which can perform multi-GNSS precise point positioning based on undifferenced and uncombined observations. GAMP is a secondary development based on RTKLIB but with many improvements, such as cycle slip detection, receiver clock jump repair, and handling of GLONASS pseudorange inter-frequency biases. A simple, but unified format of output files, including positioning results, number of satellites, satellite elevation angles, pseudorange and carrier phase residuals, and slant Total Electron Content, is defined for results analysis and plotting. Moreover, a new receiver-independent data exchange format called RCVEX is designed to improve computational efficiency for post-processing.
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.Avoid common mistakes on your manuscript.
Introduction
Benefits from the modernized global positioning system (GPS), the revitalization of GLONASS, the newly developed BeiDou navigation satellite system (BDS), and Galileo, create a multi-constellation, multi-frequency global navigation satellite system (GNSS) that has been recognized as a powerful tool not only in positioning, navigation, and timing (PNT) (Li et al. 2015a), but also in remote sensing of the troposphere (Li et al. 2015b) and the ionosphere (Ren et al. 2016). With more and more satellites being in view, multi-constellation and multi-frequency GNSS precise positioning has become a very hot research topic (Cai et al. 2015).
To meet the demand for multi-GNSS precise positioning applications, we developed the GAMP (GNSS Analysis software for Multi-constellation and multi-frequency Precise positioning) software. It is a secondary development based on RTKLIB (Takasu and Yasuda 2009), which is simply derived from the RTK (real-time kinematic) library. Thanks to its flexible batch processing feature, GAMP is convenient and powerful to use and will maximally benefit multi-station and multi-session processing. We mainly focus on the multi-GNSS precise point positioning (PPP) using undifferenced and uncombined observations. It is very flexible when processing multi-frequency GNSS observations, avoiding noise amplification and being able to extract ionospheric delays (Liu et al. 2017; Xiang et al. 2017).
The following sections start with a brief theoretical background. The GAMP software is then introduced, and some important new features, modifications, and auxiliary tools are highlighted. Afterward, the convergence performance of single- and dual-frequency PPP based on undifferenced and uncombined observations is assessed. Finally, the conclusions and an outlook for future improvements are provided.
Mathematical models
The linearized pseudorange and carrier phase observation equations are first derived. Then, the models of standard and ionosphere-constrained single- and dual-frequency PPP based on undifferenced and uncombined observations are introduced.
General GNSS observation models
The linearized equations of original pseudorange and carrier phase observations are written as (Leick et al. 2015)
where indices s, r, and j (j = 1, 2) refer to the satellite, receiver, and carrier frequency band, respectively; superscript T denotes satellite system; p s,Tr,j , and l s,Tr,j denote observed minus computed (OMC) values of pseudorange and carrier phase observables, respectively; \(\varvec{u}_{r}^{s,T}\) is the unit vector of the component from the receiver to the satellite; \(\varvec{x}\) is the vector of the receiver position increments relative to the a priori position; dtr and dts,T are the receiver and satellite clock offsets, respectively; Mw is the wet mapping function; Zw is the zenith wet delay; I s,Tr,1 is the line-of-sight (LOS) ionospheric delay on the frequency f s,T1 ; γ Tj is the frequency-dependent multiplier factor (γ Tj = (f s,T1 /f s,Tj )2), which is independent of the satellite pseudorandom noise (PRN) code; d s,Tr,j is the frequency-dependent receiver uncalibrated code delay (UCD) with respect to satellite s; d s,Tj is the frequency-dependent satellite UCD; λ s,Tj is the carrier wavelength on the frequency band j; N s,Tr,j is the integer phase ambiguity; b s,Tr,j and b s,Tj are the frequency-dependent receiver and satellite uncalibrated phase delays (UPDs); ɛ s,Tr,j and ξ s,Tr,j are the sum of measurement noise and multipath error for pseudorange and carrier phase observations. The satellite and receiver antenna phase center offsets (PCOs) and variations (PCVs), relativistic effects, Sagnac effect, LOS hydrostatic delay, tidal loadings, and phase windup (only for carrier phase) should be modeled (Kouba 2009) in advance. Note that all the variables in (1) and (2) are expressed in meters except the ambiguity and UPDs in cycles.
For convenience, the following notations are defined as
where fs,T is the signal frequency (\(m,n = 1,2; \, m \ne n\)); α Tmn and β Tmn are frequency-dependent factors, which are independent of the satellite PRN code; \({\text{DCB}}_{{P_{m} P_{n} }}^{s,T}\) and \({\text{DCB}}_{{r,P_{m} P_{n} }}^{s,T}\) are frequency-dependent satellite and receiver differential code bias (DCB) between pseudorange P s,Tr,m and P s,Tr,n .
By convention, the IGS precise satellite clock products are generated using the ionospheric-free (IF) observables and the resulting satellite clock offsets absorb the IF combination of satellite UCDs as follows (Kouba and Héroux 2001)
Substitute (4) into (1) and (2) and apply the International GNSS Service (IGS) precise satellite orbit and clock products to get
The receiver UCDs are identical for code-division multiple access (CDMA) signals (i.e., GPS, BDS, and Galileo) for all the satellites at each frequency, while they are different for GLONASS due to the application of frequency division multiple access (FDMA) technique. Note that correcting for satellite DCBs or not is both allowed in the standard PPP model, whereas the satellite DCBs must be corrected in the ionosphere-constrained PPP model in advance. If correcting for them, the DCB products from the Center for Orbit Determination in Europe (CODE) or the Multi-GNSS Experiment (MGEX) can be used.
Standard single-frequency PPP
In the standard single-frequency PPP, the receiver UCDs (d Tr,1 ) can be absorbed by the receiver clock offset. Assuming m satellites are simultaneously tracked by the receiver r, Eqs. (5) and (6) can be rewritten as
with
where \(\varvec{1}\) is a vector of 2 × m rows and one column, of which each element is one, corresponding to the receiver clock parameter \({\text{d}}\bar{t}_{r,T}\); in matrix \(\varvec{K}\), the element for the corresponding p s,Tr,1 is 1, while the element for l s,Tr,1 is − 1, corresponding to the ionospheric parameter \(\varvec{I}_{r,1}^{T}\); \(\varvec{R}_{1}\) is the matrix corresponding to the ambiguity parameters \({\bar{\varvec{N}}}_{r,1}^{T}\); the element for the corresponding p s,Tr,1 is 0, while for l s,Tr,1 is 1; \(\varvec{Q}_{{\varvec{L}}}\) denotes the stochastic model of OMC observables.
Ionosphere-constrained single-frequency PPP
Unlike the standard single-frequency PPP, the ionosphere-constrained single-frequency PPP adds virtual observations for ionospheric parameters and their corresponding constraints to the observation equations as follows
where \(\tilde{I}_{r,1}^{s,T}\) is derived from external ionospheric products, such as global ionosphere maps (GIMs, Hernández-Pajares et al. 2009) or an available regional ionosphere model (Yao et al. 2013) with corresponding noise \({\varvec{\upvarepsilon}}_{{r,{\text{ion}}}}^{T}\); \({\varvec{Q}}_{I}\) denotes the stochastic model of virtual ionospheric observables; \({\varvec{O}}\) is zero matrix.
Standard dual-frequency PPP
In the dual-frequency PPP model, the receiver UCDs are absorbed by both receiver clock offset and LOS ionospheric delay parameters. Equations (5) and (6) can be rewritten as
with
where \({\varvec{R}}_{2}\) is the matrix corresponding to the ambiguity parameters \({\bar{\varvec{N}}}_{r,2}^{T}\), the element for the corresponding p s,Tr,2 is 0, while for l s,Tr,2 is 1.
Ionosphere-constrained dual-frequency PPP
Ionosphere-constrained dual-frequency PPP adds virtual observations for ionospheric parameters and their corresponding constraints to the observation equations as follows
with
where for matrix \({\varvec{J}}\) the element for the corresponding p s,Tr,1 is β T12 , while the element for p s,Tr,2 is − α T12 , corresponding to the receiver DCBs (\({\text{DCB}}_{{r,P_{1} P_{2} }}^{T}\)).
GAMP software
The GAMP software was written in the platform-independent ANSI C language. It can compile and run on the popular operating systems, such as Windows, UNIX/Linux, and Macintosh. It is recommended that one debugs GAMP under Microsoft Visual Studio (VS) and then compiles and runs it in UNIX/Linux or Macintosh for batch processing.
GAMP is an open-source software, which includes source code files, documents, and examples. The source code can be accessed via the Web site of GPS Toolbox (https://www.ngs.noaa.gov/gps-toolbox/GAMP). Instructions on how to compile, install, and run GAMP can be found in the user manual. To use GAMP well, the document of user manual should be first carefully read and followed. In order to be better familiar with GAMP, Fig. 1 shows the flowchart of PPP processing using the GAMP software.
To run GAMP, the user only needs to specify one input parameter on the command line: the name of the text file contains the configuration information of data processing. Details and descriptions of the configuration file can be found in the user’s manual.
New features and modifications
In the following sections, some key features and modifications are introduced, such as receiver clock jump repair, cycle slip detection, handling schemes of GLONASS pseudorange inter-frequency biases (IFBs), and so on.
Receiver clock jump repair
For undifferenced processing (i.e., PPP), it is necessary to consider the impact of receiver clock jumps. Failure to properly detect and account for receiver clock jumps may sometimes cause blunders in the PPP solution. Therefore, a consistent set of observables can be reconstructed before filtering according to the method proposed by Guo and Zhang (2014).
Cycle slip detection
The detection of cycle slip implements an algorithm based on the work of Blewitt (1990). The algorithm takes the advantage of the combination of the geometry-free (GF) and Melbourne-Wübbena (MW) observables using the original dual-frequency observations. The GF observables are influenced by cycle slips, ionospheric variations, carrier phase multipath effects, etc, while the MW observables are affected by cycle slips, pseudorange noise, multipath effects, etc. Hence, the differences between epoch of GF and MW observables are influenced by observation interval and elevation angles. After a large number of tests using real observations with different intervals and elevation angles, the empirical thresholds are determined as
where E is elevation angle; R is observation interval; \({\text{m}}\) and \({\text{c}}\) denote meters and cycles, respectively.
Receiver PCO and PCVs
BDS- and Galileo-specific receiver PCOs and PCVs are not provided in the current igs14.atx. Besides, some receiver antennas do not have the GLONASS-specific PCV corrections. In these cases, GPS-specific receiver PCOs and PCVs are applied instead. Moreover, both elevation- and azimuth-dependent PCV corrections are considered in GAMP.
Handling of GLONASS pseudorange inter-frequency biases (IFBs)
Through a re-parameterization process, the following five handling schemes of GLONASS pseudorange IFBs are proposed: neglecting IFBs, modeling IFBs as a linear or quadratic polynomial function of frequency numbers, estimating IFBs for each GLONASS frequency number, and estimating IFBs for each GLONASS satellite. For more details about the five handling schemes, we refer to Zhou et al. (2018).
Output of GAMP
A simple but unified format of output files, including positioning results, number of satellites, satellite elevation angles, pseudorange and carrier phase residuals, and slant Total Electron Content (sTEC), is designed for analysis and plotting. Each line of the output files starts with 4-digit year, month, day, hour, minute, second, GPS week, and GPS seconds of week. The other columns are the corresponding results. Each element is separated by space, which is very convenient for analysis and plotting tools, such as MATLAB, Python.
A new receiver data exchange format—RCVEX
MATLAB or Python is very suitable for GNSS algorithm developers and new GNSS users. However, GNSS data processing may be time-consuming using the software tools written in MATLAB or Python. In order to improve processing efficiency, a new GNSS receiver data exchange format is designed. Following the convention of Receiver Independent Exchange (RINEX), this exchange format can be referred to as “RCVEX.” The RCVEX format consists of a header section and a data section. The RCVEX data format should at least allow for exchange of the following information, to ensure interoperability:
-
the marker name, the receiver type, and the antenna type
-
the precise a priori station coordinates (in XYZ format, mm-level precision), which are used as reference coordinates and obtained from the IGS weekly Solution Independent Exchange (SINEX) files and the externally supplied site coordinate file
-
the observation sampling interval
-
the selected observation type for GPS, GLONASS, BDS, and Galileo
-
the tropospheric correction models and mapping functions
-
the type of satellite orbit and clock products
-
the satellite elevation cutoff angles
-
the GLONASS channel numbers
-
the start and end time of the data
For each satellite, the data section provides:
-
the PRNs, the indicator of cycle slip, and eclipse satellite
-
the satellite position (xyz) and clock offsets in meters
-
the azimuth and elevation angles of satellite in degrees
-
the original pseudorange and carrier phase observations
-
the tropospheric zenith total delays and the wet mapping function
-
the Sagnac effect
-
the tidal deformations, including solid earth tides, pole tides, and ocean tides, which are mapped into LOS directions
-
the PCO and PCV corrections at each frequency
-
the phase windup in cycles
It is noteworthy that the indicator of eclipse satellite represents that a satellite is in the eclipsing period, where the observations should be downweighted in the PPP processing. Furthermore, a MATLAB program is provided to read RCVEX files and show how the above parameters and information could be used by users.
Auxiliary tools
Some auxiliary tools are provided to enhance the efficiency of data preparation and result analysis. In the following sections, two key auxiliary tools for data download, results analysis, and plotting are introduced. Both of them are very suitable for batch processing.
Data download
Some simple C shell scripts are provided to download GNSS observation data, precise orbit and clock products, IGS SINEX files, earth orientation parameter files, broadcast ephemeris files, and differential code bias (DCB) files. For example, the script “sh_mgex_obs” can download RINEX 3 files from Institut Geographique National (IGN) and Crustal Dynamics Data Information System (CDDIS). It can convert RINEX 3 long filenames to short filenames according to the file naming rules. Instructions on how to use the scripts are available in the documentation.
Result analysis and plotting
A graphical user interface (GUI) of MATLAB called MatPlot is provided for results analysis and plotting. It can run in Windows, UNIX/Linux, and Macintosh. MatPlot selects files by their suffix name. For example, when you push the button of “Plot PPP,” the files with “.pos” as suffix name will be selected. Once you choose the file(s), the figure(s) will be generated automatically in the chosen directory. More details of MatPlot can be found in the user’s manual.
Moreover, some C shell scripts are provided for plotting results (similar features as MatPlot) in UNIX/Linux and Macintosh using the Generic Mapping Tools (GMT) software (Wessel et al. 2013). To check and view the results quickly, a Perl script called “gnup,” which is from the GNSS-Inferred Positioning System (GIPSY) software, is provided. It calls the executable program of gnuplot. For this application to work, GMT 4 (http://www.soest.hawaii.edu/gmt), Perl (http://www.perl.org), and gnuplot (http://www.gnuplot.info) are required to be installed in advance. The usage of these C shell and Perl scripts can be found in the user’s manual.
Experimental validation
In order to test and validate the GAMP software, the performance of single- and dual-frequency PPP with undifferenced and uncombined observations is evaluated using a 1-month period of data sets in May 2017 from 237 SAtellite POsitioning Service (SAPOS) stations in Germany as shown in Fig. 2. These stations can only track GPS and GLONASS signals. Hence, this example is limited to these systems. However, the software and methodology presented can apply to multi-GNSS (i.e., GPS, GLONASS, BDS, and Galileo) processing. To assess the ionospheric conditions, 3-h Kp index values in the selected period are shown in Fig. 3. Kp index is a global indicator of the earth’s geomagnetic field disturbances and can be used to characterize the ionospheric activity levels. It is noted that the Kp index values are less than 3.0 in most of the time, whereas they are abnormally larger on DOY 148, 2017.
GPS-, GLONASS-only, and combined GPS + GLONASS PPP in simulated kinematic mode were compared. The initial standard deviation values for pseudorange and carrier phase observations were set to 0.3 and 0.003 m. For combined GPS + GLONASS PPP, the system weighting ratio of GPS to GLONASS was assumed to be 1:1. LOS ionospheric delays were modeled as random walk process with a power density of 4 cm/s0.5 divided by the cosine of zenith distance angles (Geng and Bock 2016). The position coordinates were considered as white noise in kinematic PPP mode. Regarding the results evaluation, the positioning performance was assessed with respect to the average coordinates from seven consecutive daily PPP solutions with the Positioning And Navigation Data Analyst (PANDA, Liu and Ge 2003) software in static mode. For PPP tests, we define “convergence” as obtaining the 3D positioning error less than the predefined threshold at the current epoch and the following twenty epochs, which has been adopted by Li and Zhang (2014). Only when the positioning errors of all twenty epochs are within the threshold, we consider that the position has converged at the current epoch. Here, the threshold is one decimeter for dual-frequency and three decimeters for single-frequency, which has been suggested by Lou et al. (2016).
Results and discussion
The PPP performance in terms of convergence time is evaluated in kinematic mode. In total, there are about 7269 convergence tests used in the experiment. The convergence performance of GPS-, GLONASS-only and combined GPS + GLONASS PPP is assessed using single- and dual-frequency observations.
Single-frequency approach
Figure 4 shows the average convergence time of standard single-frequency PPP on each day over all the test stations. For combined GPS + GLONASS PPP, the average convergence time of each day is comparable; the mean of which is about 56 min with an overall standard deviation (STD) of 3.1 min. There are no significant daily variations in the average convergence time. From the STD values, it is easier to see that the convergence time of GPS + GLONASS is much steadier, whereas the GLONASS ranks the third. The convergence time of GLONASS-only PPP is twice that of GPS-only, which may be due to the existing pseudorange IFBs and lower accuracy of GLONASS orbit and clock products (Guo et al. 2017). Similar results for single-frequency kinematic PPP have been achieved by Lou et al. (2016) using 105 test stations. By adding GLONASS observations, the convergence performance of GPS + GLONASS PPP is significantly improved by 42.1% from 96.1 to 55.6 min, comparing to GPS-only PPP.
By introducing external ionospheric products, such as GIM from CODE, the average convergence time of the three ionosphere-constrained PPP is all reduced as shown in Fig. 5. Comparing with standard PPP, the convergence time is significantly reduced by 49.8% from 96.1 to 48.2 min and by 41.9% from 55.6 to 32.3 min for of GPS-only and GPS + GLONASS ionosphere-constrained PPP, respectively. However, the convergence time of GLONASS-only is improved a little bit by only 8.2% from 202.2 to 185.7 min, which should be caused by the strong correlation between pseudorange IFBs and LOS ionosphere delays. It can be seen the convergence time of GPS-only and GPS + GLONASS PPP is much longer on DOY 140 and 148, which corresponds to the larger geomagnetic Kp index in Fig. 3.
Dual-frequency approach
Figure 6 shows the average convergence time of standard dual-frequency PPP. Similar to single-frequency PPP, by adding GLONASS observations, the convergence time of combined GPS + GLONASS PPP is obviously improved by 40.1% from 34.4 to 20.6 min, comparing to GPS-only PPP.
Figure 7 illustrates the average convergence time of ionosphere-constrained dual-frequency PPP. The convergence time of ionosphere-constrained GPS + GLONASS PPP is comparable to standard GPS + GLONASS PPP, while the convergence performance of GPS-only shows a little worse, which may be due to the accuracy limitation of GIMs. For instance, GIMs have a modest accuracy of only 2–8 TECU (Total Electron Content Unit) in vertical (Hernández-Pajares et al. 2009), which is an equivalent ranging error of 0.32–1.28 m for the GPS L1 frequency signal. We can see that the convergence performance of ionosphere-constrained GLONASS-only PPP is much worse than the standard GLONASS-only PPP, which is primarily attributed to the inseparable pseudorange IFBs and LOS ionosphere delays. Therefore, introducing GIMs as constraints will seriously deteriorate the convergence performance of dual-frequency GLONASS-only PPP.
From the STD values of Figs. 4, 5, 6, and 7, we can see that by introducing GIMs as constraints on estimated LOS ionospheric delays, agreement of the average convergence time over days is more or less worse, which is due to the limited accuracy of GIMs.
Summary
Our software package called GAMP can be used for multi-GNSS undifferenced and uncombined PPP processing in single- and dual-frequency modes. The test results have shown that GAMP can implement single- and dual-frequency PPP based on undifferenced and uncombined observations effectively. The source code for GAMP is available at www.ngs.noaa.gov/gps-toolbox/GAMP. GAMP is a convenient tool for PPP performance using undifferenced and uncombined observations. This software package can be easily extended for additional functionality, such as triple-frequency PPP processing. Some bugs may still exist in GAMP. Comments and suggestions from readers and users are welcome to send to the authors.
References
Blewitt G (1990) An automatic editing algorithm for GPS data. Geophys Res Lett 17(3):199–202
Cai C, Gao Y, Pan L, Zhu J (2015) Precise point positioning with quad-constellations: GPS, BeiDou, GLONASS and Galileo. Adv Space Res 56(1):133–143
Geng J, Bock Y (2016) GLONASS fractional-cycle bias estimation across inhomogeneous receivers for PPP ambiguity resolution. J Geod 90(4):379–396
Guo F, Zhang X (2014) Real-time clock jump compensation for precise point positioning. GPS Solut 18(1):41–50
Guo F, Li X, Zhang X, Wang J (2017) The contribution of multi-GNSS experiment (MGEX) to precise point positioning. Adv Space Res 59:2714–2725
Hernández-Pajares M, Juan JM, Sanz J, Orús R, Garcia-Rigo A, Feltens J, Komjathy A, Schaer SC, Krankowski A (2009) The IGS VTEC maps: a reliable source of ionospheric information since 1998. J Geod 83(3–4):263–275
Kouba J (2009) A guide to using international GNSS service (IGS) products. http://igscb.jpl.nasa.gov/igscb/resource/pubs/UsingIGSProductsVer21.pdf. Accessed 01 Sept 2017
Kouba J, Héroux P (2001) Precise point positioning using IGS orbit and clock products. GPS Solut 5(2):12–28
Leick A, Rapoport L, Tatarnikov D (2015) GPS satellite surveying, 4th edn. Wiley, Hoboken
Li P, Zhang X (2014) Integrating GPS and GLONASS to accelerate convergence and initialization times of precise point positioning. GPS Solut 18(3):461–471
Li X, Ge M, Dai X, Ren X, Fritsche M, Wickert J, Schuh H (2015a) Accuracy and reliability of multi-GNSS real-time precise positioning: GPS, GLONASS, BeiDou, and Galileo. J Geod 89(6):607–635
Li X, Zus F, Lu C, Dick G, Ning T, Ge M, Wickert J, Schuh H (2015b) Retrieving of atmospheric parameters from multi-GNSS in real time: validation with water vapor radiometer and numerical weather model. J Geophys Res Atmos 120:7189–7204
Liu J, Ge M (2003) PANDA software and its preliminary result of positioning and orbit determination. Wuhan Univ J Natl Sci 8(2B):603–609
Liu T, Yuan Y, Zhang B, Wang N, Tan B, Chen Y (2017) Multi-GNSS precise point positioning (MGPPP) using raw observations. J Geod 91(3):253–268
Lou Y, Zheng F, Gu S, Wang C, Guo H, Feng Y (2016) Multi-GNSS precise point positioning with raw single-frequency and dual-frequency measurement models. GPS Solut 20(4):849–862
Ren X, Zhang X, Xie W, Zhang K, Yuan Y, Li X (2016) Global ionospheric modelling using multi-GNSS: BeiDou, Galileo, GLONASS and GPS. Sci Rep 6:33499. https://doi.org/10.1038/srep33499
Takasu T, Yasuda A (2009) Development of the low-cost RTK-GPS receiver with an open source program package RTKLIB. International symposium on GPS/GNSS, Seogwipo-si Jungmun-dong, Korea, 4–6 November
Wessel P, Smith WHF, Scharroo R, Luis J, Wobbe F (2013) Generic mapping tools: improved version released. EOS Trans AGU 94(45):409–410
Xiang Y, Gao Y, Shi J, Xu C (2017) Carrier phase-based ionospheric observables using PPP models. Geod Geodyn 8(1):17–23
Yao Y, Zhang R, Song W, Shi C, Lou Y (2013) An improved approach to model regional ionosphere and accelerate convergence for precise point positioning. Adv Space Res 52(8):1406–1415
Zhou F, Dong D, Ge M, Li P, Wickert J, Schuh H (2018) Simultaneous estimation of GLONASS pseudorange inter-frequency biases in precise point positioning using undifferenced and uncombined observations. GPS Solut. https://doi.org/10.1007/s10291-017-0685-7
Acknowledgements
Feng Zhou is financially supported by the China Scholarship Council (CSC) for his study at the German Research Centre for Geosciences (GFZ). We thank the IGS for providing GNSS ground tracking data, DCBs, precise orbit, and clock products. We are also grateful for providing the SAPOS data via GFZ. Many thanks go to Dr. Shengli Wang for his valuable suggestions. The figures were generated using the public domain GMT software (Wessel et al. 2013). This work is sponsored by the National Key Research and Development Program of China (No. 2017YFE0100700), the Scientific Research Foundation of Shandong University of Science and Technology for Recruited Talents (No. 2017RCJJ074), the National Natural Science Foundation of China (Nos. 61372086, 41771475), and the Science and Technology Commission of Shanghai (Nos. 13511500300, 15511101602).
Author information
Authors and Affiliations
Corresponding author
Additional information
The GPS Tool Box is a column dedicated to highlighting algorithms and source code utilized by GPS engineers and scientists. If you have an interesting program or software package you would like to share with our readers, please pass it along; e-mail it to us at gpstoolbox@ngs.noaa.gov. To comment on any of the source code discussed here, or to download source code, visit our website at http://www.ngs.noaa.gov/gps-toolbox. This column is edited by Stephen Hilla, National Geodetic Survey, NOAA, Silver Spring, Maryland, and Mike Craymer, Geodetic Survey Division, Natural Resources Canada, Ottawa, Ontario, Canada.
Rights and permissions
About this article
Cite this article
Zhou, F., Dong, D., Li, W. et al. GAMP: An open-source software of multi-GNSS precise point positioning using undifferenced and uncombined observations. GPS Solut 22, 33 (2018). https://doi.org/10.1007/s10291-018-0699-9
Received:
Accepted:
Published:
DOI: https://doi.org/10.1007/s10291-018-0699-9