Keywords

1 Introduction

The GPS Analysis and Positioning Software (GAPS) is a GPS precise point positioning (PPP) application developed at the University of New Brunswick (UNB) (Leandro et al. 2007). GAPS consists of two components, a web-based positioning service which users can upload GPS observations to be processed and a command line executable version, which can be used to process large amounts of GPS data in a fast and convenient manner.

PPP is a technique for processing GPS data from a single GPS receiver (Zumberge et al. 1997). Unlike the standard positioning service of the GPS, PPP takes advantage of the precise and accurate carrier-phase observations to allow users to obtained centimetre-level accuracy using only a single GPS receiver. This is achieved by taking advantage of the precise orbit and clock products produced by the International GNSS Service (IGS) (Dow et al. 2009).

Unlike differential GPS positioning, which reduces many of the significant errors sources by differencing the observations made at a rover and a reference receiver, PPP uses un-differenced observations. This approach can greatly reduce logistical and equipment cost and has the potential to supplement current surveying operations (as far as ambiguity resolution goes) making for less costly and more efficient surveys (Bisnath and Gao 2008).

Many of the error sources that are present in the GPS observable can be removed by double differencing, especially over short distances (less than 10 km). On the other hand, these errors are not removed in PPP, and must be precisely modeled to achieve a comparable level of accuracy as a DGPS approach. Although most of this work is taken care of in the software itself, there are several user-defined options which can have a significant impact on the accuracy of the PPP technique.

The objective of this paper is to give an overview of the PPP approach, specifically the approach used in GAPS, present the modeling options available to the user through the online interface, assess the accuracy of GAPS by processing a global network of IGS stations for a year-long period and compare those results to other published PPP results to identify any deficiencies in the GAPS software compared to other state-of-the-art ones. This assessment involves only static, daily observations and post-processed PPP.

2 GAPS Observation Equations and Adjustment Models

The basic observable for PPP is the ionosphere-delay-free (up to first order effects) pseudorange and carrier-phase observations. The simplified observation equations are given as:

$$ {P_{\mathit{if} }}=\rho +c\left( {\mathit{dT}-\mathit{dt}} \right)+T, $$
(1)

and:

$$ {\Phi_{\mathit{if} }}=\rho +c\left( {\mathit{dT}-\mathit{dt}} \right)+T+{\lambda_{\mathit{if} }}{N_{\mathit{if} }}, $$
(2)

where P if is the ionosphere-delay-free pseudorange observation, Φif is the ionosphere-delay-free carrier-phase observation, in units of meters, ρ is the geometric distance between the satellite and the receiver antenna phase centers, c is the vacuum speed of light, dT and dt are the receiver and satellite clock errors, T is the tropospheric slant delay, λif is the ionosphere-delay-free wavelength, and N if is the carrier-phase ambiguity. In the standard PPP model, N if is not an integer as it is contaminated by instrumental delays. It is possible to solve this problem by estimating separate pseudorange and carrier-phase clock offsets. However, for this approach, both the pseudorange and carrier phase require a satellite-specific clock bias parameter which must be provided externally, in a similar manner to the clock and orbit products which are already used in PPP, to prevent the normal matrix from being singular (Collins 2008).

The tropospheric slant delay is normally separated into the zenith delay T z and a mapping function κ which is required to make the zenith delay parameter common over all satellites. In this manner, the slant tropospheric delay at an elevation angle \( \epsilon \) can then be written as:

$$ T=\kappa (\epsilon )\cdot {T^{\mathrm{z}}}, $$
(3)

All current mapping functions assume that the atmosphere is symmetric in nature, i.e., no azimuth dependence of the tropospheric delay. For precise applications the Vienna Mapping Function 1 (VMF1) (Boehm et al. 2006) are recommended. The VMF1 is derived from the European Center for Medium-range Weather Forecasting (ECMWF) numerical weather model. The underlying functional formulation is based on the continued fraction form (Marini 1972), normalized to yield unity at the zenith (Herring 1992):

$$ \kappa \left( \epsilon \right)=\frac{{1+\frac{a}{{1+\frac{b}{1+c }}}}}{{\mathit{sin}\epsilon +\frac{a}{{\mathit{sin}\epsilon +\frac{b}{{\mathit{sin}\epsilon +c}}}}}} $$
(4)

The b and c coefficients are determined empirically, while the a coefficient is determined by ray-tracing through the ECMWF weather model at ~3.3o elevation angle. The a coefficient is determined on a 6 h basis which allows the mapping functions to capture the small scale temporal variations in the slant delay better than classical mapping functions such as the Niell Mapping Functions (NMF) (Niell 1996), which rely only on climatology.

Originally, the VMF1 was provided on a site-specific basis. However, to make it available at any location, it is now also provided in a gridded format. For the gridded format, the a coefficients are determined on a 2.5o × 2.5o horizontal grid and reduced to a zero altitude. Therefore, they are applied using the subroutine vmf1_ht which is provided on the VMF website.

Bar-Sever et al. (1998) showed that by modeling the asymmetry of the atmosphere it is possible to improve the repeatability of the PPP time series. For this purpose we have introduced a linear horizontal gradient formulation (Chen and Herring 1997) to model the asymmetric tropospheric delay, which has the form:

$$ \kappa \left( {\epsilon,\ \alpha } \right)=\frac{1}{{\sin \left( \epsilon \right)\tan \left( \epsilon \right)+C}}\left[ {{G_N}\cos \left( \alpha \right)+{G_E}\sin \left( \alpha \right)} \right], $$
(5)

where α is the azimuth of the observation, C \( \mathrm{C} \) is an empirically determined constant equal to 0.0032, and G N and G E are gradient parameters which model the asymmetry of the delay in the north–south and east–west directions respectively.

A sequential, weighted least squares filter is used to estimate the unknown parameters, which include the station position X,Y,Z, receiver clock dT, troposphere zenith delay T z, two troposphere gradient parameters G N and G E and one ambiguity N per satellite (treated as a real number). The update vector, computed according to the least squares technique is:

$$ \delta ={{\left( {{A^t}\mathit{PA}+C_{\delta}^{-1 }} \right)}^{-1 }}{A^t}\mathit{Pw}, $$
(6)

where A is the design matrix, P is the weight matrix, C δ is the covariance matrix of the parameters, w is the misclosure vector and δ is the vector of unknowns:

$$ \delta =[\delta X,\ \delta Y,\ \delta Z,\delta dT,\delta {T^Z},\delta {G_N},\delta {G_E},\delta {N_1},\ldots,\ \delta {N_k}]. $$
(7)

The covariance matrix of the parameters is updated at each epoch according to:

$$ {C_{\delta }}(t)={{\left( {{A^t}\mathit{PA}+C_{\delta}^{-1}\left( {t-1} \right)} \right)}^{-1 }}+{C_n}, $$
(8)

where t is the epoch, and C n is the process noise matrix. The process noise matrix is populated according to the expected behaviour of the parameters. For static processing the user position is assumed to be constant, therefore the process noise is equal to zero. This is also true for the ambiguities. The ambiguities are estimated as real numbers. No attempt is made to model the receiver clock parameter and it is allowed to vary as white noise. The tropospheric delay parameters are modeled using a random walk parameter and are allowed to vary over time. Typically, for the troposphere zenith delay, a process noise between 2 and 5 mm/sqrt(h) is considered standard while for the gradient parameters, a process noise of 0.3 mm/sqrt(h) is common.

All necessary error models are implemented in GAPS to ensure cm-level positioning. These include solid earth tides, antenna phase center offsets and variations, satellite code biases, satellite antenna phase windup, and relativistic effects. For a complete description of the processing strategy in GAPS please see http://gaps.gge.unb.ca/gaps_summary.txt.

3 Global Assessment

GAPS offers some flexibility for users to modify the error modeling and stochastic models applied during positioning. A list of the input parameters used for this assessment, reflecting options available on the website are shown in Table 1.

Table 1 Processing parameters used in the evaluation

A global set of 16 IGS stations shown in Fig. 1 were processed on a daily basis, for a 1-year period (January 1st to December 31st, 2008). To assess the accuracy of GAPS, the station coordinates obtained from the IGS05 (Ferland 2006), the realization of the International Terrestrial Reference Frame 2005 (Altamimi et al. 2007), were chosen to act as the truth. The IGS realization is a cumulative solution of the weekly solutions from processing centers around the world using either zero-difference or double-differenced approaches. The analysis center solutions are combined using the least squares technique and a rigorous statistical screening is applied to remove any outliers. IGS-estimated station velocities were used to bring the IGS cumulative station coordinates to the epoch of individual GAPS solutions.

Fig. 1
figure 00771

IGS stations used in this evaluation

An outlier detection scheme was also implemented for the GAPS results. First, a linear polynomial was fit to the daily station coordinates (in the Cartesian reference frame) to remove any linear local site displacements and then an absolute threshold of 30 mm in the horizontal and 50 mm in the vertical with respect to the fitted polynomial were removed. Additionally, a statistical threshold of 3 σ TH was used, where σ TH is the standard deviation in the north, east and up direction with respect to the fitted polynomial. Overall there were 33 outliers found which is approximately 0.6 %.

Table 2 shows the mean bias and standard deviation of the difference between the estimated station coordinates and the IGS coordinates for the north, east and up components. Overall the mean bias in all components is less than one centimetre. There exists a bias in the up component which is particularly seen for stations at high latitudes, such as YELL, NYAL and OHI2. If we remove these three stations the mean bias is reduced to 4 mm. Although the bias in the north component is less than 2 mm, the RMS is larger than the east component (see Fig. 2). In terms of repeatability (here meaning the consistency between successive differences between GAPS and IGS solution), GAPS performs very well, with a standard deviation between 2 and 4 mm in the horizontal components and only 8 mm in the up direction at the 1-sigma level. This accuracy is a good indicator of the mean accuracy of the precise clock and orbit products produced by the IGS, on a two revolution period.

Table. 2 Mean and standard deviation of the station position estimated in units of millimetres
Fig. 2
figure 00772

Repeatability RMS of the station position estimates in units of millimetres: (a) north component; (b) east component and (c) up component. Note that the scale bar is twice as large for the up component

In order to see the overall accuracy, the RMS of the PPP solutions with respect to the IGS solutions are shown in Fig. 2a, b, c for the north, east and up components respectively. The mean RMS for the north, east and up components are 6.9, 3.6 and 11.1 mm respectively.

Several other papers and results for global campaigns processed using the PPP method have been published. Kouba (2009) processed 36 stations for a period of 1 week of January 2009 and found that with the IGS final clock and orbit products a mean RMS of 3, 5 and 14 mm, in the north, east and up direction was achievable. After applying geocenter corrections which accounts for differences in the Earth’s mean center of mass and the instantaneous center of mass, the RMS was reduced in the east and up component to approximately 4 and 9 mm respectively.

Kouba (2008) processed a set of 11 stations from July 2004—December 2005 and had a mean station bias of 1.4, −0.1 and −1.6 mm and standard deviations of 2.7, 3.9 and 9.8 mm in the north, east and up components.

The IGS Analysis Center Coordinator produces a daily evaluation of the clock and orbit products using Bernese PPP software. This also provides information on station stability and is a means of quality control for using the IGS products. For the analysis a daily seven parameter transformation is performed between the PPP-derived station coordinates and the IGS cumulative station coordinates. Then the mean RMS of the station positions is computed. The mean RMS is then shown for every day since approximately the end of 2003. From the figure http://acc.igs.org/media/Gmt_ppp_hetra_final_rms_all.ps, the mean RMS for the year 2008 is approximately 4 mm in the north and east components and approximately 10 mm in the up component. These comparisons demonstrate that the performance of GAPS is similar to other PPP software.

4 Concluding Remarks

The objective of this report was to present the current observation and error modeling schemes employed in GAPS as well as assess the achievable accuracy. We first reviewed the observation equations and error modeling which are performed in GAPS. Next, we reviewed the online GAPS software to provide future users with information regarding best practices to obtain the most accurate results from the software.

An assessment campaign was undertaken to show the accuracy of GAPS on a global scale. Overall, the repeatability of the station coordinate estimates from GAPS were on par with other state-of-the-art PPP software. However, a half centimetre bias was found in the north component. Additionally a slight bias in the up component was found although the RMS was still comparable to other PPP software. This being said, it was shown that GAPS can achieve approximately 1-cm level accuracy (at the 1 \( \sigma \) level) at any location in the world for the individual components.