Abstract

The global navigation satellite system (GNSS) is widely used to estimate user positions. For precise positioning, users should correct for GNSS error components such as satellite orbit and clock errors as well as ionospheric delay. The international GNSS service (IGS) real-time service (RTS) can be used to correct orbit and clock errors in real-time. Since the IGS RTS provides real-time corrections via the Internet, intermittent data loss can occur due to software or hardware failures. We propose applying a genetic algorithm autoregressive moving average (GA-ARMA) model to predict the IGS RTS corrections during data loss periods. The RTS orbit and clock corrections are predicted up to 900 s via the GA-ARMA model, and the prediction accuracies are compared with the results from a generic ARMA model. The orbit prediction performance of the GA-ARMA is nearly equivalent to that of ARMA, but GA-ARMA’s clock prediction performance is clearly better than that of ARMA, achieving a 32% error reduction. Predicted RTS corrections are applied to the broadcast ephemeris, and precise point positioning accuracies are compared. GA-ARMA shows a significant accuracy improvement over ARMA, particularly in terms of vertical positioning.

1. Introduction

The global navigation satellite system (GNSS) is now widely used for user positioning. GNSS error components such as satellite orbit/clock errors and ionospheric delay directly affect positioning accuracy. In order to correct the GNSS orbit and clock errors in real-time, the international GNSS service (IGS) provides real-time service (RTS) corrections via the Internet. IGS RTS has been provided since April 2013, and it contains orbit and clock corrections that can be applied to the broadcast ephemeris [1]. These corrections are transmitted to users via a networked transport of RTCM via Internet protocol (NTRIP), and users can download them via the NTRIP client. Since the IGS RTS provides real-time corrections via the Internet, intermittent data loss can occur from unintentional interruptions in the RTS correction transfer caused by software or hardware failures. In this case, predicted corrections can serve as an alternative solution for continuous positioning.

Autoregressive moving average (ARMA) models have been widely used to predict time series data [2, 3]. ARMA coefficients are generally computed by solving nonlinear least square equations with the Levenberg-Marquardt (LM) method. Recently, genetic algorithms (GAs), a global optimization tool, have been applied to determine ARMA model coefficients. Beligiannis et al. estimated random noise in a moving average (MA) model by using a GA [4]. Cortez et al. applied a GA to optimize ARMA orders to develop a time series forecasting model [5]. Peng and Chen computed the AMRA order and coefficients simultaneously by using GA-ARMA [6]. Gnanlet and Rajendran searched for the best ARMA order via GA-ARMA with a best neighborhood local search (BNLS) algorithm [7]. Abo-Hammour et al. used GA-ARMA as a method of optimizing the ARMA coefficients and orders recursively [8].

A limited number of studies have been performed on predicting RTS correction time series because IGS RTS was only recently launched. Hadas and Bosy applied a polynomial model to predict RTS corrections for short time periods [9]. M. Kim and J. Kim applied an ARMA neural network model to predict the IGS02 orbit and clock corrections for 1800 s [2].

In this paper, we propose applying GA-ARMA to predict RTS corrections. A GA is used to search for the best ARMA coefficients. GA-ARMA’s prediction performance is compared with that of the generic ARMA. Precise point positioning (PPP) accuracy is evaluated by applying the predicted RTS corrections to the GPS broadcast ephemeris.

2. IGS RTS Corrections

The IGS combines solutions from several analysis centers (ACs) to produce a final RTS correction. The official products currently include IGC01, IGS01, IGS02, and IGS03. While IGC01 and IGS01 provide single-epoch corrections, IGS02 and IGS03 provide Kalman filtered corrections. IGS03 contains GLONASS corrections as well as GPS. Eight ACs are participating in RTS generation and provide intermediate solutions such as CLK10 by BKG and CLK20 by DLR.

IGS RTS corrections are transmitted in state space representation (SSR) format, and users can download corrections via NTRIP client software [10]. The IGS02 stream contains satellite orbit and clock corrections as well as code biases. These corrections are provided in message types (MT) 1057, 1058, and 1059. Transmission intervals differ depending on correction type, 5~60 seconds for orbit corrections and 5~10 seconds for clock corrections.

Each stream adopts different reference points. IGC01 uses satellite center of mass (CoM), but IGS02 and IGS03 use antenna phase center (APC). Before applying CoM corrections to the GPS broadcast ephemeris, which refers to APC, a phase center offset (PCO) should be applied. Each RTS correction is generated with the issue of data (IOD) information, which indicates a broadcast ephemeris matching with the correction. An RTS correction should not be used if its IOD does not match the IOD ephemeris (IODE) of the GPS ephemeris.

Orbit corrections consist of six components, three correction values and three correction rates. These corrections are provided in radial, along-track, cross-track (RAC) orbit directions. , an RTS orbit correction in the RAC coordinate system at time , can be computed by combining the correction values and the rate values.where is the rate of correction, is the current time, and is the time of applicability. Before applying the RTS corrections to the GPS broadcast ephemeris, a coordinate transform from RAC to the Earth-centered Earth-fixed (ECEF) system is required as follows. where , , and represent the , , and unit vectors, respectively. is the orbit correction in the coordinates, and is the correction in the coordinates. More details on computing the unit vectors can be found in [11]. A broadcast ephemeris orbit, , can be corrected using the RTS corrections as per [11]where is the satellite position vector corrected by the RTS orbit corrections.

Clock corrections consist of three polynomial coefficients, as follows.where , , and are polynomial coefficients of the RTS clock corrections. The IGS02 stream only provides the offset value, .

3. Methodology

The GA is combined with ARMA to compute ARMA coefficients. After a brief description of the generic ARMA model, the GA-ARMA model algorithm is described with a computational method of determining the ARMA coefficients.

3.1. Autoregressive Moving Average (ARMA) Model

The ARMA model is a combination of autoregressive (AR) and moving average (MA) models [2]. The AR model uses past values, and the MA model uses past errors values. The generic ARMA can be modeled as follows.where represents the AR time-lag and represents the MA time-lag. These AR and MA model lags define the ARMA model orders. and are the AR and MA model coefficients. is the sampling time, is the current time, is the output of the ARMA model, and is the residual. and are generally calculated in such a way to minimize the error, which is represented as . The following nonlinear function can be used to minimize : Eq. (6) can be minimized using various methods, including the steepest descent gradient, LM, and Gauss-Newton [12] methods. This paper selects the LM method because it can determine a solution faster than the steepest descent gradient, and it yields a better optimum value than the Gauss-Newton method.

3.2. GA-ARMA Model

GAs were proposed by Holland in 1975 as a machine learning technique. A GA is a metaheuristic optimization algorithm inspired by natural selection and evolution. It provides a powerful optimization algorithm, so it is suitable for search and optimization problems. GAs consist of three operators, selections, crossovers, and mutations. The selection operator selects better chromosomes before being passed to the crossover operator. Generally, the fitness of the population is ranked from highest to lowest, and the best is selected. There are various selection operators, for example, roulette-wheel selection, tournament selection, truncation selection, and stochastic universal sampling. This paper adopts 50% truncation selection, which chooses the highest 50% of the chromosomes.

The crossover operator divides the selected chromosomes into father and mother chromosomes, and a number of points are subsequently chosen at random. Father and mother chromosomes are crossed over to produce two children chromosomes. Three methods are used for the crossover operation, the uniform crossover, one-point crossover, and two-point crossover. This paper adopts the two-point crossover.

The mutation operator provides random searches to keep the GA from converging to a local minimum. After passing the crossover operation, the chromosome is mutated by any values with a small mutation probability between 0 and 1. Since the mutation operator changes a number of chromosomes randomly, it mostly degrades the performance of the solutions. Low quality solutions generated by mutations vanish over some generations, but high quality solutions remain. The groups that are passed by the GA operators are finally replaced with the initial populations. GA operation procedures are illustrated in Figure 1.

The GA optimization process is applied to compute the ARMA coefficients. Figure 2 represents the computation process of the ARMA coefficients using a GA. The GA-ARMA model first defines certain process parameters like the ARMA order, initial population size, mutation rate, and so on. Next, the outputs () and residuals () of the ARMA model are extracted before computing the best ARMA coefficients via the GA. The initial populations, which represent the coefficients of the ARMA model, are generated randomly in a range from to with a predefined initial population size. The fitness of the initial populations is computed and then compared with the tolerance. The GA process is iterated until the best fitness value is larger than the tolerance.

4. Prediction Results

RTS corrections during data loss periods are predicted using GA-ARMA models. The prediction accuracy from GA-ARMA is compared with the prediction accuracy from the generic ARMA. Prediction performance of one-day and five-day data sets is analyzed. The effects on user positioning accuracy are analyzed by applying the predicted corrections to the GPS broadcast ephemeris.

4.1. Data Processing

Five days of IGS02 GPS streams, from January 16 to 20, 2016, are used for the analysis. The evaluation is performed during a common IOD period because, when the IOD changes, a new prediction process should start. When a new IOD is issued for a satellite, a one-hour training period starts to compute the ARMA or GA-ARMA coefficients. The prediction interval is set at 15 minutes after the training period. A total of 60 orbit corrections and 180 clock corrections are processed for the one-hour training period. In order to avoid the effects of GPS orbit repeatability, different prediction starting times are selected for each day.

RTS prediction experiments are conducted after determining the optimal order of ARMA and GA-ARMA models. The best orders are determined with the ARMA () models by varying the range of from 2 to 16. The data on January 18 is used for the determination process because the 1-step prediction error on this day is higher than on any other days. In the case of the ARMA model, ARMA (9, 8) is selected for the orbit prediction, and ARMA (8, 7) is selected for the clock prediction. For GA-ARMA, ARMA (8, 7) and ARMA (6, 5) are selected for the orbit and clock predictions, respectively. The mean squared error (MSE) is used as the fitness function in the GA for the best coefficient determination. The model errors are not a 1-step ahead prediction, which is generally used when applying the MSE, but an -step ahead prediction. represents the number of prediction data.

4.2. Single-Day Prediction

Prediction accuracies for single satellites and all satellites are analyzed on January 18, 2016. The training period is set at one hour, from 36000 s to 39600 s, and the prediction period (data loss period) is set at 15 min., from 39600 s to 40500 s.

Figure 3 represents the along-track orbit corrections of PRN 12 on January 18. The true value represents the raw RTS correction without the data loss. The ARMA and GA-ARMA values represent the prediction values starting at 39600 s. Without IOD changes, the correction shows a smooth parabolic variation. This variation behavior is easy to predict in general. For this reason, the prediction error difference between ARMA and GA-ARMA is not significant. The RMS errors of ARMA and GA-ARMA predictions are 0.011 m and 0.007 m, respectively. Both error levels are well below general RTS accuracies, approximately 0.05 m [1].

Figure 4 represents the clock corrections of PRN 8 on January 18. Unlike the orbit correction, the clock correction varies irregularly and is difficult to predict. The ARMA prediction follows the mean trend of the prior data, while the GA-ARMA prediction resembles the random variation. Prediction RMS errors are 0.051 m for ARMA and 0.036 m for GA-ARMA.

The prediction process is performed for all GPS satellites on January 18, 2016, and the prediction RMS errors are presented in Table 1. In order to analyze the prediction accuracy variation with the prediction interval, the results are categorized for three prediction intervals: 1 s–300 s, 301 s–600 s, and 601 s–900 s. In addition to the RAC orbit and clock prediction errors, the three-dimensional (3D) orbit error and signal-in-space range error (SISRE) are also presented. SISRE represents a range error due to the GNSS space segment, and it is computed from orbit and clock errors with the emphasis on the radial direction orbit and clock errors. A detailed description of SISRE can be found in [13]. GA-ARMA outperforms ARMA in both orbit and clock accuracies. For the 601–900 s interval, GA-ARMA’s 3D orbit error is 0.030 m, which is 12% lower than that of ARMA. The improvement by GA-ARMA becomes more significant for clock accuracy, with a 22% error reduction for the 601–900 s interval. This GA-ARMA error reduction yields a 19% SISRE reduction for the 601–900 s interval. The error increases from the first (~300 s) to the third (~900 s) intervals are virtually the same for both models. In the SISRE case, ARMA yields a 60% increase (0.036 m), and GA-ARMA yields a 50% increase (0.026 m).

Figure 5 shows the 3D orbit prediction error for each satellite on January 18, 2016. PRN 03 and 04 are excluded from the results because the RTS corrections are not available on this day. Among the 30 satellites, 19 show smaller prediction errors via GA-ARMA than via ARMA. The large PRN 12 error is caused by a different variation pattern in the cross-track direction during the training and prediction intervals. The means of the RMS errors are 0.021 m for ARMA and 0.018 m for GA-ARMA.

Figure 6 shows the clock prediction error for each satellite on January 18, 2016. GA-ARMA yields a smaller prediction error than ARMA for 21 GPS satellites. The overall RMS errors are 0.054 m for ARMA and 0.042 m for GA-ARMA. This difference represents 13% of the RTS clock accuracy level (0.05 m). A large error reduction by GA-ARMA is clear for PRN 6 and 28. With these satellites, ARMA follows the mean trend of the training data, but GA-ARMA follows the short-period variability.

4.3. Multiday Prediction

The five-day RTS data, from January 16 to January 20, is processed. In order to avoid the effects of GPS orbit repeatability, different prediction starting points are selected for each day: 10800 s, 25200 s, 39600 s, 54000 s, and 18000 s.

The prediction RMS error for each day is presented in Table 2. ARMA 3D orbit error has a peak on January 20 (0.019 m) while GA-ARMA has a peak on January 16 (0.018 m). The mean RMS errors for ARMA and GA-ARMA are 0.014 m and 0.013 m, respectively. For the clock prediction, a significant difference exists between the two models; the five-day mean RMS errors are 0.068 m for ARMA and 0.046 m for GA-ARMA. The ARMA clock error reaches 0.092 m (Jan. 16) and 0.095 m (Jan. 18), which is close to the RTS clock accuracy itself. However, GA-ARMA has the largest error of 0.062 m (Jan. 20), well below the RTS clock accuracy.

4.4. User Positioning

The RTS corrections predicted by ARMA and GA-ARMA are applied to the broadcast ephemeris, and then a user position is estimated by using the static-PPP process. IGS network data from NIST Station in Maryland is used for the positioning. The GPS data interval is 30 s, and L1/L2 carrier phases are used to form an ionosphere-free combination.

3D position error time series on January 16, 2016 are presented in Figure 7. For comparison, the results using the GPS broadcast ephemeris (BRDC) and raw RTS corrections (without data loss) are also presented. The GA-ARMA positioning error level is close to the raw RTS positioning error level, with a difference of less than 0.4 m. The GA-ARMA positioning RMS error is 0.298 m, only 0.007 m larger than the raw RTS. Due to the low clock prediction accuracy, the ARMA positioning RMS error is 0.461 m, significantly greater than that of GA-ARMA. The ARMA positioning error increases to 0.870 m at 11670 s, which is 59% of the error level of the BRDC positioning error.

The receiver clock bias is also estimated and presented in Figure 8. The biases are presented in meters. The mean-biases during the prediction interval are 33.750 m for the IGS final data and 38.286 m for the raw RTS corrections. As with the positioning error, GA-ARMA shows a similar output to the raw RTS. The difference between ARMA and GA-ARMA increases with time, and the error level reaches 40.423 m after 900 s. This increase is similar to the ARMA clock prediction error increase.

Figure 9 represents the trace of horizontal positioning errors from January 16 to 20 in 2016. The error trace of the raw RTS is within 0.04 m, and it overlaps with other traces. The GA-ARMA error trace is clearly smaller than the ARMA error trace. The GA-ARMA horizontal positioning error is within 0.25 m, but the ARMA error is greater than 0.30 m on January 17. These types of errors are caused by the intermittent divergence of the ARMA prediction results. The divergence problem is less severe in the GA-ARMA prediction.

Table 3 summarizes the ARMA and GA-ARMA positioning errors for five days, from January 16 to 20. The errors are classified into east, north, and up directions. The five-day means of the east/north standard deviations (STDs) are 0.028 for GA-ARMA and 0.046 m for ARMA.

5. Conclusions

A GA-ARMA algorithm is applied to predict IGS RTS corrections during data loss periods. The GA is used to compute the best ARMA coefficients. Four RTS correction components, radial, along-track, cross-track, and clock corrections, are processed via independent GA-ARMA processors. Data with a length of 900 s is predicted using data with a length of 3600 s. Although GA-ARMA shows a marginal improvement over ARMA in its orbit correction prediction, it shows a significant improvement in its clock correction prediction. The five-day mean RMS errors of the clock prediction are 0.046 m for ARMA and 0.068 m for GA-ARMA. This error reduction is approximately 13% of the RTS clock accuracy.

Predicted RTS corrections are applied to the GPS broadcast ephemeris, and PPP positioning errors are subsequently analyzed. Due to the better clock prediction performance, the GA-ARMA 3D positioning accuracy (0.298 m) is well below that of ARMA (0.461 m). GA-ARMA’s advantage is significant in terms of vertical positioning accuracy.

Competing Interests

The authors declare that there is no conflict of interests regarding the publication of this paper.

Acknowledgments

This research was supported by the Space Core Technology Development Program funded by the Ministry of Science, ICT and Future Planning (NRF-2016M1A3A3A02016943).