Abstract
To meet the demands of precise orbit and clock determination, high-precision positioning, and navigation applications, a software called GREAT (GNSS + Research, Application and Teaching) was designed and developed at Wuhan University. As one important module in the GREAT software, GREAT-UPD was developed for multi-GNSS and multi-frequency uncalibrated phase delay (UPD) estimation. It can provide extra-wide-lane (EWL), wide-lane (WL), and narrow-lane (NL) UPDs for GPS, GLONASS, Galileo and BDS (GREC) satellites for precise point positioning (PPP) ambiguity resolution (AR) in a multi-GNSS and multi-frequency environment. The open-source GREAT-UPD software is written in C + + 11 language following object-oriented principles and can be compiled and run on several popular operating systems, such as Windows, Linux, and Macintosh. Observations from 222 stations spanning days from DOY 091 to 120 were used to conduct multi-GNSS and multi-frequency UPD estimation and PPP AR. Results indicate that GREAT-UPD can generate stable and reliable UPD products with multi-GNSS and multi-frequency observations. After applying the UPD corrections, the multi-frequency GREC PPP AR was achieved with the averaged time to first fix of 9.0 min. The software package can be obtained at https://geodesy.noaa.gov/gps-toolbox, including the source code, user manual, batch processing scripts, example data, and some auxiliary tools.
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
As a prominent technique for achieving high-precision positioning with a single Global Navigation Satellite System (GNSS) receiver, precise point positioning (PPP) has been widely used in various fields (Malys and Jensen 1990; Zumberge et al. 1997; Kouba and Héroux 2001). However, it usually takes at least 30 min for float PPP solution to achieve centimeter-level positioning accuracy, which limits its wide application in time-critical applications. To shorten the initialization time and improve the positioning accuracy of the traditional PPP, the ambiguity resolution (AR) technique has been developed in recent years (Ge et al. 2008; Collins et al. 2008; Laurichesse et al. 2009).
For PPP AR, the key issue is to remove the uncalibrated phase delays (UPDs) from undifferenced ambiguities and recover the integer property of these ambiguities. Ge et al. (2008) developed an approach to estimate single-difference UPD by averaging the fractional parts of the float wide-lane (WL) and narrow-lane (NL) ambiguities. Afterward, Li and Zhang (2012) proposed a zero-difference UPD estimation model to estimate UPDs with float zero-difference ambiguities derived from a reference network. Studies concerning UPD estimation and PPP AR have been conducted for several years and results demonstrate the significant contribution of ambiguity resolution to PPP; however, only a few research institutions have exploited this technique for scientific research. One possible reason may be that few open-source software packages have been developed for UPD estimation and PPP AR.
Nowadays, GNSS is undergoing significant changes with the rapid development of BeiDou navigation satellite system (BDS) and Galileo as well as the modernization of GPS and GLONASS (Montenbruck et al. 2017). As of December 2020, 121 satellites from GPS, GLONASS, Galileo and BDS are available to provide navigation service for global users. Moreover, the new-generation GNSS satellites such as GPS Block IIF/III, GLONASS-K, BDS-2/BDS-3 and Galileo satellites all operate on 3 or more frequencies. With the availability of multi-GNSS and multi-frequency observations, the performance of PPP AR is expected to be further improved. It has been demonstrated that the multi-GNSS PPP AR enables better performance in terms of the time to first fix (TTFF) and positioning accuracy compared to a single or dual system (Geng et al. 2016; Li et al. 2017, 2018). At the same time, research on multi-frequency PPP AR has been extensively conducted and has shown better performance than dual-frequency (Gu et al. 2015; Li et al. 2019, 2020a).
To achieve multi-GNSS and multi-frequency PPP AR, the multi-frequency UPD products for all GNSS satellites are required to recover the integer nature of PPP ambiguities. Some research institutions such as Centre National d’Etudes Spatiales (CNES), Center for Orbit Determination in Europe (CODE), and the School of Geodesy and Geomatics (SGG) at Wuhan University have released UPD products or integer-recovered-clock (IRC) products to users for PPP AR (Loyer et al. 2012; Hu et al. 2020; Banville et al. 2020). However, the above UPD products can only be used with the corresponding precise orbit and clock products in dual-frequency mode, and GLONASS UPD products are still not available. To meet the needs of users who want to flexibly implement multi-GNSS and multi-frequency PPP AR, we developed the open-sourced GREAT-UPD software for UPD estimation. It is capable of estimating extra-wide-lane (EWL), wide-lane, and narrow-lane UPDs for GPS (G), GLONASS (R), Galileo (E) and BDS (C) satellites using multi-frequency observations. As open-source software, the GREAT-UPD first version was released in July 2020 under the GNU General Public License (version 3).
Design and implementation of GREAT-UPD software
The GREAT (GNSS + Research, Application and Teaching) software is a scientific, high-precision, multi-GNSS data processing software developed at the School of Geodesy and Geomatics of Wuhan University. As an important module, GREAT-UPD is released according to the terms of GNU General Public License (version 3). The software is written in the C + + 11 language, following the principles of high cohesion, low coupling, and strong extensibility. The cross-platform compilation tool CMake is adopted to build and package the software on different operating systems (Windows, Linux, and Macintosh).
The source code and executable programs of GREAT-UPD are packaged and released on the website https://geodesy.noaa.gov/gps-toolbox. To facilitate the use of GREAT-UPD, batch processing scripts, some auxiliary tools, example data, and a user manual are also included in the software package. Instructions on installing, compiling, and running the GREAT-UPD software can be found in the user manual.
Structure of GREAT-UPD
GREAT-UPD is mainly composed of 3 libraries named libUPD, libMat and libGnut. The libUPD library is mainly in charge of estimating UPD, including the encoding, decoding, and storage of auxiliary data involved in the UPD estimation, as well as the implementation of UPD algorithm. As for LibMat and libGnut, they are auxiliary libraries for the software. LibMat is an open-source C + + matrix library named newmat, which offers standard matrix operations. LibGnut library comes from the open-source GNSS software G-Nut (Vaclavovic et al. 2013), including the decoding and storage of GNSS data as well as the basic parameter configuration module. It is worth noting that GREAT-UPD uses XML format as software external parameter configuration, and users can configure parameters related to UPD estimation through XML files.
Implementation of UPD algorithm
The specific UPD estimation method adopted by the software is introduced in the user manual. Figure 1 shows the flowchart of UPD estimation. As can be seen, the procedure for UPD estimation can be divided into 4 steps:
Firstly, data preparation and preprocessing: For EWL and WL UPD estimation, observation files, navigation files, differential code bias (DCB) files and cycle slip files are required. It is worth noting that inter-frequency clock bias (IFCB) files are also required for GPS EWL UPD estimation. For NL UPD estimation, navigation files, WL UPD file and AMBUPD files are required. AMBUPD files are text files containing float WL ambiguities and the estimated ionospheric-free (IF) ambiguities. Details and descriptions of the input GNSS files can be found in the user manual.
Secondly, the calculation of the float ambiguities: For EWL/WL UPD estimation, the float EWL/WL ambiguities can be formed from Hatch-Melbourne-Wübbena (HMW) (Hatch 1982; Melbourne 1985; Wübbena 1985) combination with DCB (and IFCB) correction. For NL UPD estimation, the float NL ambiguities can be calculated based on the restored integer WL ambiguities and the estimated IF ambiguities.
Thirdly, based on the float ambiguities, the initial UPD values can be obtained. Firstly, set the receiver UPD of one station with the largest number of visible satellites to zero, and calculate the UPD of each satellite observed by this station. For the next station with common satellites, its UPD can be calculated by averaging the fractional parts of ambiguities from which the satellite UPDs are removed. If this station can observe the other satellites, the corresponding satellite UPDs can be calculated based on the receiver UPD. After obtaining UPDs of all stations, we recalculate the satellite UPDs by averaging the fractional parts of ambiguities from which the receiver UPDs are removed. After iterating the above steps 3 times, the initial UPD values of all stations and satellites are obtained.
Finally, selecting a reference satellite to eliminate the rank deficiency and then the least-squares estimation is conducted iteratively to generate UPDs of all stations and satellites. After each iteration, the number of ambiguities that can be fixed will be counted. If the number of the fixable ambiguities decreases or the number of iterations is greater than 10, the iteration is stopped. The condition for judging whether the ambiguity can be fixed is: after removing satellite and station UPDs, the ambiguity is considered fixed when its fraction is less than the threshold (e.g., 0.25 cycles).
Auxiliary tools
In order to facilitate users to use the software and perform batch processing, some auxiliary tools for data download, cycle slip detection, and result analysis are provided, which are introduced as follows:
Data download
To help users prepare the data for UPD estimation, some Python scripts are provided for batch downloading GNSS data. The scripts support downloading GNSS observation and navigation files, as well as CODE DCB products.
Cycle slip detection
Cycle slip files are required for EWL/WL UPD estimation in GREAT-UPD, and thus an executable application program named GREAT-PreEdit is provided for generating cycle slip files. GREAT-PreEdit is designed based on the improved TurboEdit algorithm and supports cycle slip detection for multi-frequency and multi-GNSS observations (Blewitt 1990). Executable programs that can run in Linux, Windows and Macintosh environments are provided, respectively, as well as the script for running GREAT-PreEdit.
Results analysis
Some MATLAB scripts are provided to users for result analysis. The scripts can be run in the Windows and Linux environments. Scripts for plotting UPD time series, calculating the averaged standard deviation (STD) of UPD and plotting UPD residual distribution are provided with the software.
Performance of GREAT-UPD
In this section, the multi-GNSS and multi-frequency UPDs generated by the GREAT-UPD software are presented and the quality of UPD products is assessed. To further evaluate the estimated UPD results, the performance of multi-GNSS and multi-frequency PPP AR is also shown.
Data and processing strategies
The WL, NL UPDs for GREC satellites and the EWL UPDs for GEC satellites are estimated and analyzed based on observations from day of year (DOY) 091 to 120 of 2019. In the process of UPD estimation and PPP AR, CODE final products are used, including precise orbit, clock and DCB products.
The distribution of the global reference network for UPD estimation is shown in Fig. 2. The 222 stations denoted by blue dots from the International GNSS Service (IGS) and Multi-GNSS Experiment (MGEX) networks are employed for GPS, Galileo and BDS UPD estimation. For GLONASS, the UPD estimation is performed for receiver TRIMBLE NETR9, and observations of 124 stations denoted by red dots from the IGS and MGEX networks are used. In addition, the BDS in this article refers to BDS-2. The PPP AR experiment is performed using one-month data from 20 user stations, the distribution of which is shown in Fig. 3.
UPD estimation results
The GEC EWL and GREC WL UPD series from DOY 091 to 120 of 2019 are shown in Fig. 4 and Fig. 5, respectively. Several satellites of each system are selected to display the results. Here G06, R05, E01 and C09 are chosen as the reference satellites for GPS, GLONASS, Galileo and BDS, respectively. It can be found that the EWL UPDs of Galileo satellites are all close to zero, which may due to the high correlation of link characteristics of the alternative binary offset carrier (Alt-BOC) signals on E5a and E5b frequencies (Yao et al. 2016; Li et al. 2019, 2020b). Compared to Galileo and BDS, the GPS EWL UPD series are less stable, which may be affected by the residual IFCB errors. As can be seen from Fig. 5, the GPS and Galileo WL UPDs show better stability than GLONASS and BDS, which may benefit from the high-quality observations of GPS and Galileo. In addition, some jumps are seen in the GPS and BDS WL UPD time series, which may be caused by clock datum offsets (Liu et al. 2017).
Figure 6 shows the NL UPD series of GREC satellites on DOY 094 of 2019. Overall, the NL UPDs are relatively stable throughout the day, and GLONASS shows the worst stability among those 4 systems. The averaged STDs of NL UPDs are within 0.05 cycles for most GPS, Galileo and BDS satellites. As for GLONASS, most satellites’ averaged STDs are within 0.15 cycles, and the largest value can reach 0.28 cycles for R24. More analysis on the quality of the UPDs generated by the GREAT-UPD software can be found in the manual.
Result analysis of PPP AR
Figure 7 shows the positioning errors of dual- and triple-frequency PPP solutions of GPS-only and GREC at station KZN2 on DOY 094 of 2019. The green, blue and red dots in Fig. 7 indicate the triple-frequency float (TF-float), dual-frequency fixed (DF-fixed) and triple-frequency fixed (TF-fixed) solutions, respectively. Compared to the float PPP solutions, the PPP AR solutions perform much better in terms of convergence time and position accuracy due to the success of ambiguity resolution. Also, the GREC PPP solutions show faster convergence and higher positioning accuracy than GPS-only solutions.
Moreover, the averaged convergence time and TTFF of multi-frequency GPS-only, GREC PPP are calculated, respectively. Here the convergence time is defined as the time required to attain a horizontal positioning accuracy less than 5 cm for 10 epochs, and the TTFF is defined as the time taken for the ambiguity to be fixed successfully for 5 epochs. In comparison with triple-frequency float PPP solutions, the averaged convergence time of triple-frequency PPP AR is shortened by 47.2% for GPS-only solution and 38.0% for GREC solution. However, compared with dual-frequency PPP AR, the averaged convergence time of triple-frequency PPP AR is only shortened by 4.4% and 3.8% for GPS-only and GREC, respectively. The averaged TTFF of GREC dual- and triple-frequency PPP AR can reach 9.5 min and 9.0 min, which is a slight improvement compared to GPS-only solutions with 10.7 min and 10.4 min, respectively.
Conclusion and outlook
The open-source software GREAT-UPD can be used to estimate the multi-frequency UPDs for GPS, GLONASS, Galileo and BDS satellites based on the ionospheric-free combination model. Results show that GREAT-UPD is capable of generating stable EWL, WL and NL UPDs for multi-GNSS satellites. To further evaluate the quality of the estimated UPDs, multi-frequency GPS-only and GREC PPP AR performance is also discussed. Moreover, the main modules of the software are introduced in detail. The source code of GREAT-UPD is available at the website: https://geodesy.noaa.gov/gps-toolbox, as well as some auxiliary tools, batch processing scripts, and a user manual. Future development for GREAT-UPD will aim to support multi-GNSS and multi-frequency UPD estimation based on the undifferenced and uncombined observations. Readers and users are welcome to report software bugs or give suggestions to the authors.
References
Banville S, Geng J, Loyer S, Schaer S, Springer T, Strasser S (2020) On the interoperability of IGS products for precise point positioning with ambiguity resolution. J Geod 94(1):10
Blewitt G (1990) An automatic editing algorithm for GPS data. Geophys Res Lett 17(3):199–202
Collins P, Lahaye F, Herous P, Bisnath S (2008) Precise point positioning with ambiguity resolution using the decoupled clock model. In: Proceedings of ION GNSS 2008, Institute of Navigation, Savannah, Georgia, US, 16–19, 1315–1322
Ge M, Gendt G, Rothacher M, Shi C, Liu J (2008) Resolution of GPS carrier phase ambiguities in precise point positioning (PPP) with daily observations. J Geod 82(7):389–399
Geng J, Bock Y (2016) GLONASS fractional-cycle bias estimation across inhomogeneous receivers for PPP ambiguity resolution. J Geod 90(4):379–396
Gu S, Lou Y, Shi C, Liu J (2015) Beidou phase bias estimation and its application in precise point positioning with triple-frequency observable. J Geod 89(10):979–992
Hatch R (1982) The synergism of GPS code and carrier measurements. In: Proceedings of the third international symposium on satellite Doppler positioning at physical sciences laboratory of New Mexico State University. 2 (8): 1213–1231
Hu J, Zhang X, Li P, Ma F, Pan L (2020) Multi-GNSS fractional cycle bias products generation for GNSS ambiguity-fixed PPP at Wuhan University. GPS Solut 24(1):15
Kouba J, Héroux P (2001) Precise point positioning using IGS orbit and clock products. GPS Solut 5(2):12–28
Laurichesse D, Mercier F, Berthias JP, Broca P, Cerri L (2009) Integer ambiguity resolution on undifferenced GPS phase measurements and its application to PPP and satellite precise orbit determination. Navig J Inst Navig 56(2):135–149
Li P, Zhang X, Guo F (2017) Ambiguity resolved precise point positioning with GPS and BeiDou. J Geod 91(1):25–40
Loyer S, Perosanz F, Mercier F, Capdeville H, Marty J (2012) Zero difference GPS ambiguity resolution at CNES-CLS IGS analysis center. J Geod 86(11):991–1003
Li X, Liu G, Li X, Zhou F, Feng G, Yuan Y, Zhang K (2020a) Galileo PPP rapid ambiguity resolution with five-frequency observations. GPS Solut 24(1):24
Li X, Liu G, Feng G, Yuan Y, Zhang K, Ren X (2019) Triple-frequency PPP ambiguity resolution with multi-constellation GNSS: BDS and Galileo. J Geod 93(8):1105–1122
Li X, Liu G, Xie W, Feng G (2020b) The phase and code biases of Galileo and BDS-3 BOC signals: effect on ambiguity resolution and precise positioning. J Geod. https://doi.org/10.1007/s00190-019-01336-9
Li X, Li X, Yuan Y, Zhang K, Zhang X, Wickert J (2018) Multi-GNSS phase delay estimation and PPP ambiguity resolution: GPS, BDS, GLONASS. Galileo J Geod 92(6):579–608
Li X, Zhang X (2012) Improving the estimation of uncalibrated fractional phase offsets for PPP ambiguity resolution. Navig 65(3):513–529
Liu Y, Song W, Lou Y, Ye S, Zhang R (2017) GLONASS phase bias estimation and its PPP ambiguity resolution using homogeneous receivers. GPS Solut 21(2):427–437
Malys S, Jensen PA (1990) Geodetic Point Positioning with GPS Carrier Beat Phase Data from the CASA UNO Experiment. Geophys Res Lett 17(5):651–654
Montenbruck O, Steigenberger P, Prange L, Deng Z, Zhao Q, Perosanz F, Schmid R (2017) The multi-GNSS experiment (MGEX) of the international GNSS service (IGS)—achievements, prospects and challenges. Adv Space Res 59(7):1671–1697
Melbourne WG (1985) The case for ranging in GPS-based geodetic systems. In: Proceedings of the first international symposium on precise positioning with the global positioning system, Rockville, US, pp 373–386
Vaclavovic P, Dousa J, Gyori G (2013) G-nut software library-state of development and first results. Acta Geodyn Geomater 10(4):431–436
Wübbena G (1985) Software developments for geodetic positioning with GPS using TI-4100 code and carrier measurements. In: Proceedings of the first international symposium on precise positioning with the global positioning system, Rockville, US, pp 403–412
Yao Z, Zhang J, Lu M (2016) ACE-BOC: dual-frequency constant envelope multiplexing for satellite navigation. IEEE Trans Aerosp Electron Syst 52(1):466–485
Zumberge JF, Heflin MB, Jefferson DC, Watkins MM, Webb FH (1997) Precise point positioning for the efficient and robust analysis of GPS data from large networks. J Geophys Res 102(B3):5005–5017
Acknowledgements
This work has been supported by the National Natural Science Foundation of China (Grant 41774030, Grant 41974027 and Grant 41974029), the Hubei Province Natural Science Foundation of China (Grant 2018CFA081), the frontier project of basic application from Wuhan science and technology bureau (Grant 2019010701011395), and the Sino-German mobility program (Grant No. M0054). The numerical calculations in this paper have been done on the supercomputing system in the Supercomputing Center of Wuhan University.
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
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 athttp://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
Li, X., Han, X., Li, X. et al. GREAT-UPD: An open-source software for uncalibrated phase delay estimation based on multi-GNSS and multi-frequency observations. GPS Solut 25, 66 (2021). https://doi.org/10.1007/s10291-020-01070-2
Received:
Accepted:
Published:
DOI: https://doi.org/10.1007/s10291-020-01070-2