Introduction

The satellite-based augmentation system (SBAS) uses permanent tracking stations to monitoring Global Navigation Satellite System (GNSS) satellites. The core function of a SBAS master station is to calculate corrections and corresponding integrity information with the measurements collected by tracking stations. The information is broadcast by the SBAS satellite in real time. Currently, L1-only SBASs certificated by civil aviation authorities augment the L1 C/A-only Global Positioning System (GPS). These SBASs include the wide area augmentation system (WAAS) and the European Geostationary Navigation Overlay Service (EGNOS). Legacy L1 SBAS receivers apply long-term satellite error corrections, which are also called satellite clock–ephemeris (SCE) corrections in dual-frequency multi-constellation (DFMC) SBAS, and fast corrections to correct the slowly varying and fast-varying components of signal-in-space (SIS) error, respectively. Ionospheric corrections are computed using ionospheric delay information (RTCA 2006).

A DFMC SBAS that broadcasts augmentation information modulated on the GPS L5-like signal has been proposed. Its users would benefit from both the direct mitigation of ionospheric delay using dual-frequency measurements and the better geometry of satellites in view. DFMC SBAS should be able to provide a vertical protection level (VPL) in the range of 10–12 m, sufficient to enable Category I (CAT-I) precision approach operations. The message data rate of DFMC SBAS is 250 bits per second, which is equal to that of legacy L1 SBAS. In order to augment 91 satellites concurrently, DFMC SBAS does not broadcast equivalent terms for fast corrections in legacy L1 SBAS. Thus, only SCE corrections are used to correct SIS error in DFMC SBAS (Fidalgo et al. 2014).

In order to evaluate the performance of dual-frequency SBAS with SCE corrections and fast corrections, VPLs were computed at each WAAS reference station every 30 s using measurements on the L1 and L2 frequencies and messages broadcast by WAAS satellites. The ionospheric delay was mitigated through an ionospheric-free linear combination given by:

$$\rho_{\text{IF}} = \frac{{f_{{{\text{L}}1}}^{2} \rho_{{{\text{L}}1}} - f_{{{\text{L}}2}}^{2} \rho_{{{\text{L}}2}} }}{{f_{{{\text{L}}1}}^{2} - f_{{{\text{L}}2}}^{2} }}$$
(1)

where ρ IF, ρ L1, and ρ L2 are the ionospheric-free pseudorange and the smoothed pseudorange on L1 and L2, respectively; f L1 and f L2 denote the center frequencies of GPS L1 and L2. Because of the combination, the ionospheric error is almost totally mitigated, whereas the receiver errors on each frequency were added together. Thus, the variance of the ionospheric error was set to zero and the variance of the receiver error was amplified as follows:

$$\sigma_{\text{IF,air}} = \frac{{\sqrt {f_{{{\text{L}}1}}^{4} + f_{{{\text{L}}2}}^{4} } }}{{f_{{{\text{L}}1}}^{2} - f_{{{\text{L}}2}}^{2} }}\sigma_{{{\text{SF}},{\text{air}}}}$$
(2)

where σ SF,air is the variance of the L1-only receiver error. The other algorithms used are the same as those described in minimum operational performance standards (RTCA 2006).

The results show that among the 99th percentile of VPLs of each WAAS reference station on May 3, 2015, the maximum values in the contiguous USA, Alaska, Canada, and Mexico were 21.7, 39.3, 28.0, and 33.6 m, respectively. These measurements indicate that dual-frequency WAAS cannot meet the APV-II service level, which has a vertical alert limit of 20 m. Furthermore, when fast corrections are not applied, as is the case in DFMC SBAS, the VPLs are even larger, resulting in a degradation in service performance. Thus, dual-frequency SBAS, using a WAAS-like SCE correction algorithm and broadcasting SCE corrections only, cannot provide CAT-I service. One method of improving performance is to reduce the SCE correction error.

Recent research has mainly focused on the applications of SBAS corrections, such as static positioning (Arnold and Zandbergen 2011), civil air navigation (Heßelbarth and Wanninger 2013), precise point positioning (Dautermann 2014), and low earth orbiting satellite positioning (Kim and Lee 2015). Another field of study concerns the computation of ionospheric corrections, in which Kriging (Sparks et al. 2011a, b) and filtering (Wang and Zhu 2013) methods have been introduced. Although the computation of SCE corrections is the core function of the SBAS master station, there are relatively few publications about it. WAAS was first introduced by Enge et al. (1996), and enhancements to its system architecture and algorithms were briefly discussed in Grewal (2012). It remains rather difficult to reproduce the SCE computations using public information.

We investigate a method for calculating SCE corrections to produce smaller errors than the WAAS long-term satellite error corrections based on observations collected by WAAS reference stations. First, the main problems with the traditional SCE correction computation method are stated. Subsequently, a computation method for SCE corrections using a priori knowledge, hereafter called the AK method, is proposed, and its implementation is described in detail. Finally, the performance of SCE corrections computed by the AK method is evaluated against those broadcast by WAAS.

Problem statement

The main goal of SBAS is to improve the integrity performance. Thus, the ground segment of SBAS should determine whether a given satellite meets the performance requirements for certain operations, and form corrections and integrity messages within the validity period. In general, the ground segment uses geometric methods to estimate the SCE error with integrity constraints.

The geometric method is based on the linearized equation

$$\Delta \rho = l\left[ {\begin{array}{llll} {\delta x} & {\delta y} & {\delta z} & {\delta t} \\ \end{array} } \right]^{\text{T}} + \varepsilon$$
(3)

where Δρ, l, and ɛ are the residual pseudorange error, the observation vector from the reference station to the satellite, and measurement noise, respectively, δx, δy, and δz are satellite ephemeris errors, and δt is the satellite clock error. The residual pseudorange error is calculated as:

$$\begin{aligned} \Delta \rho = \rho_{\text{IF}} - \left( {\sqrt {\left( {x_{\text{Station}} - x_{\text{BE}} } \right)^{2} + \left( {y_{\text{Station}} - y_{\text{BE}} } \right)^{2} + \left( {z_{\text{Station}} - z_{\text{BE}} } \right)^{2} } +\Delta t_{\text{Station}} -\Delta t_{\text{BE}} } \right) - \hat{T} \\ \end{aligned}$$
(4)

where \(X_{\text{BE}} = \left[ {\begin{array}{llll} {x_{\text{BE}} } & {y_{\text{BE}} } & {z_{\text{BE}} } & {\Delta t_{\text{BE}} } \\ \end{array} } \right]^{\text{T}}\) is the satellite ephemeris and clock computed by the broadcast message, \(X_{\text{Station}} = \left[ {\begin{array}{llll} {x_{\text{Station}} } & {y_{\text{Station}} } & {z_{\text{Station}} } & {\Delta t_{\text{Station}} } \\ \end{array} } \right]^{\text{T}}\) is the antenna phase center position of the station, which is given by survey data, and the station clock error, which needs to be estimated in real time. Finally, \(\hat{T}\) is the estimated tropospheric delay.

With the validated measurements collected by all reference stations, the observation equation is given by:

$$Z = HX + \varepsilon ,\quad Z = \left[ {\begin{array}{*{20}c} {\Delta \rho_{1} } \\ {\Delta \rho_{2} } \\ \vdots \\ {\Delta \rho_{n} } \\ \end{array} } \right],\quad H = \left[ {\begin{array}{*{20}c} {l_{1} } \\ {l_{2} } \\ \vdots \\ {l_{n} } \\ \end{array} } \right],\quad X = \left[ {\begin{array}{*{20}c} {\delta x} \\ {\delta y} \\ {\delta z} \\ {\delta t} \\ \end{array} } \right],\quad \varepsilon = \left[ {\begin{array}{*{20}c} {\varepsilon_{1} } \\ {\varepsilon_{2} } \\ \vdots \\ {\varepsilon_{n} } \\ \end{array} } \right]$$
(5)

where n is the number of stations monitoring the satellite.

The optimal estimator for the minimum sum of squares of the deviation \(Z - H\hat{X}\) is the weighted least-squares estimator:

$$\begin{aligned} \hat{X} & = \left( {H^{\text{T}} WH} \right)^{ - 1} H^{\text{T}} WZ, \\ W & = {\text{diag}}\left\{ {{1 \mathord{\left/ {\vphantom {1 {\sigma_{{\Delta \rho_{1} }}^{2} }}} \right. \kern-0pt} {\sigma_{{\Delta \rho_{1} }}^{2} }},{1 \mathord{\left/ {\vphantom {1 {\sigma_{{\Delta \rho_{2} }}^{2} }}} \right. \kern-0pt} {\sigma_{{\Delta \rho_{2} }}^{2} }}, \ldots ,{1 \mathord{\left/ {\vphantom {1 {\sigma_{{\Delta \rho_{n} }}^{2} }}} \right. \kern-0pt} {\sigma_{{\Delta \rho_{n} }}^{2} }}} \right\} \\ \end{aligned}$$
(6)

where \(\sigma_{{\Delta \rho_{i} }}^{2}\) is the variance of Δρ i .

It is clear from (6) that there are two problems that could markedly affect the service performance:

Problem 1: At least four valid measurements are needed to solve (6), because there are four unknowns in the state vector X. This means that SCE corrections cannot be computed until there are more than three reference stations monitoring the satellite. Thus, the effective period for which the satellite is augmented is shorter than the observation period during which the satellite is monitored by any reference station, leading to a reduction in service availability.

Problem 2: At the beginning and end of the effective period, the low elevation of the satellite results in significant measurement noise and poor station geometry. In this case, it is rather hard to estimate the SCE error accurately, leading to a reduction in service accuracy and integrity.

It is clear from Fig. 1 that the WAAS SCE corrections are computed using a geometric method. The state of the satellite changes from “Not Monitored” (UDREI = 14) to “Monitored” (UDREI < 14) twice in Fig. 1. When these changes occur, there are 4 and 9 monitoring stations, respectively (i.e., more than 3). The UDREI trend runs inversely to that of the number of monitoring stations. At the beginning and end of the effective period, the number of monitoring stations is small, whereas the UDREI is large, which implies that the residual error after applying SCE corrections and fast corrections is large.

Fig. 1
figure 1

Comparison between User Differential Range Error Indicator (UDREI), which is the integrity parameter broadcast by WAAS, and the number of monitoring stations of GPS satellite PRN 1 on May 21, 2015

For legacy L1 SBAS users, fast corrections and SCE corrections are applied together. Thus, there are three different types of user range error (URE): UREBE, which is the range error caused by the GNSS broadcast message error; URELT, which is the range error after applying SCE corrections only; and UREFLT, which is the range error after applying SCE corrections and fast corrections. UREBE and URELT are computed as follows:

$$\begin{aligned} {\text{URE}}_{\text{BE}} \left( {u_{\text{o}} } \right) & = u_{\text{o}} \left( {X_{\text{BE}} - X_{\text{PE}} } \right) \\ {\text{URE}}_{\text{LT}} \left( {u_{\text{o}} } \right) & = u_{\text{o}} \left( {X_{\text{BE}} + \left[ {\begin{array}{*{20}c} {\delta x} \\ {\delta y} \\ {\delta z} \\ {\delta t} \\ \end{array} } \right]_{\text{WAAS}} + \left[ {\begin{array}{*{20}c} {\delta \dot{x}} \\ {\delta \dot{y}} \\ {\delta \dot{z}} \\ {\delta \dot{t}} \\ \end{array} } \right]_{\text{WAAS}} \left( {t_{k} - t_{{0,{\text{WAAS}}}} } \right) - X_{\text{PE}} } \right) \\ \end{aligned} .$$
(7)

where u o is the observation vector from the satellite to the origin of the Earth-Centered Earth-Fixed (ECEF) frame, X PE is the satellite ephemeris and clock computed by Lagrange interpolation using precise ephemeris provided by the National Geospatial-intelligence Agency (NGA), \(\left[ {\begin{array}{*{20}c} {\delta x} & {\delta y} & {\delta z} & {\delta t} \\ \end{array} } \right]_{\text{WAAS}}^{\text{T}}\), \(\left[ {\begin{array}{*{20}c} {\delta \dot{x}} & {\delta \dot{y}} & {\delta \dot{z}} & {\delta \dot{t}} \\ \end{array} } \right]_{\text{WAAS}}^{\text{T}}\), and t 0,WAAS are the SCE corrections broadcast by WAAS. SBAS receiver uses the fast correction as follows:

$$\rho_{\text{corrected}} \left( {t_{\text{of}} } \right) = \rho_{\text{measured}} \left( {t_{\text{of}} } \right) + PRC\left( {t_{\text{of}} } \right) + RRC\left( {t_{\text{of}} } \right) \times \left( {t_{k} - t_{\text{of}} } \right)$$
(8)

where ρ measured and ρ corrected are the pseudorange before and after using fast correction, and PRC, RRC, and t of are the fast corrections broadcast by WAAS. The residual errors after using SCE corrections and fast corrections are given by:

$$\begin{aligned}\Delta \rho_{\text{LT}} & = \rho_{\text{measured}} - \left( {\sqrt {\left( {x_{\text{User}} - x_{\text{LT}} } \right)^{2} + \left( {y_{\text{User}} - y_{\text{LT}} } \right)^{2} + \left( {z_{\text{User}} - z_{\text{LT}} } \right)^{2} } +\Delta t_{\text{User}} -\Delta t_{\text{LT}} } \right) - \hat{T} - \hat{I} \\ & = {\text{URE}}_{\text{LT}} + {\text{UEE}} \\ \rho_{\text{FLT}} & = \rho_{\text{corrected}} - \left( {\sqrt {\left( {x_{\text{User}} - x_{\text{LT}} } \right)^{2} + \left( {y_{\text{User}} - y_{\text{LT}} } \right)^{2} + \left( {z_{\text{User}} - z_{\text{LT}} } \right)^{2} } +\Delta t_{\text{User}} -\Delta t_{\text{LT}} } \right) - \hat{T} - \hat{I} \\ & = {\text{URE}}_{\text{FLT}} + {\text{UEE}} \\ \end{aligned}$$
(9)

where x User, y User, z User, and Δt User are the user receiver’s position and clock error, x LT, y LT, z LT, and Δt LT are the satellite’s position and clock error, \(\hat{T}\) and \(\hat{I}\) are the estimations of tropospheric delay and ionospheric delay, UEE is the user equivalent error. Thus, the relation between URELT and UREFLT is given by:

$${\text{URE}}_{\text{FLT}} \left( {u_{\text{o}} } \right) = {\text{URE}}_{\text{LT}} \left( {u_{\text{o}} } \right) + {\text{PRC}}\left( {t_{\text{of}} } \right) + {\text{RRC}}\left( {t_{\text{of}} } \right) \times \left( {t_{k} - t_{\text{of}} } \right)$$
(10)

In Fig. 2, URELT is clearly seen as inaccurate because of the inaccuracy of SCE corrections. UREFLT is much better than URELT, which suggests that fast corrections play an important role in reducing SIS error. The cancellation of fast corrections in DFMC SBAS will therefore necessitate accurate SCE corrections.

Fig. 2
figure 2

UREBE, URELT, and UREFLT of GPS PRN 1 on May 21, 2015

AK method

The problems of the geometric method come from the fact that the state vector X is totally unknown. It is necessary to deepen our understanding of the SCE error to overcome this issue.

The SCE error is the difference between the value of the satellite ephemeris and clock calculated by the broadcast message and the true value. The parameters in the broadcast ephemeris are a result of fitting using satellite clock and ephemeris predictions, which are calculated by long-period measurements collected by stations around the world and high-accuracy dynamic models.

We consider the SCE error in two cases when the satellite is monitored by the SBAS ground segment:

Case 1: Let there be no unplanned perturbations of the satellite and the onboard atomic clock works well. In this case, the SCE error is a mixture of measurement errors in the tropospheric delay, multipath error and receiver noise, inaccuracy of dynamic models, SCE parameter-fitting error,. i.e., the difference between the SCE value calculated with the broadcast message and that used for fitting the SCE parameters in broadcast message by the GNSS master station, and round-off error due to the scale factor resolutions of the parameters. The measurement error and model inaccuracy can be reduced by suitable preprocessing techniques (Shallberg et al. 2001; Böhm et al. 2006, 2007; Dach et al. 2007; Shallberg and Sheng 2008) and improving the solar radiation pressure model (Rodriguez-Solano et al. 2012; Arnold et al. 2015), as well as by combining other measurements such as satellite laser ranging observations (Hackel et al. 2013). The round-off error cannot be reduced, because the scale factor resolution should not be changed once the Interface Control Document (ICD) has been publicly released. There is no information on the accuracy of the SCE value predicted by the GNSS master station. If the SCE predictions are assumed to be accurate to around 30 cm, which is the same level as the International GNSS Service (IGS) Ultra-Rapid products (Springer and Hugentobler 2001), then by comparing this with the accuracy of GPS SIS error at the 3 m level (Anonymous 2015a), we reach the conclusion that the bulk of the SCE error comes from the SCE parameter-fitting error. In this case, the SBAS should provide corrections for the satellite.

Case 2: Unplanned perturbations or anomalies occur in the atomic clock. This renders the satellite unsuitable for navigation, and SBAS should provide a “Do Not Use” warning. On receipt of this warning, SBAS users should not consider this satellite when computing navigation solutions.

Therefore, SBAS should compute SCE corrections only in Case 1. Considering that SCE parameter-fitting error is the main source of SCE error, the computation of the SCE error mainly focuses on calculating the difference between the real and predicted SCE values. Based on this idea, the AK method, which is a computation method for SCE corrections using a priori knowledge, is proposed. A priori knowledge X ap refers to the SCE parameter-fitting error, and it is calculated as follows:

$$X_{\text{ap}} = X_{\text{pred}} - X_{\text{BE}}$$
(11)

where X pred is the SCE prediction used by the GNSS master station for fitting the SCE parameters. The SBAS master station can obtain X pred from a GNSS master station or the IGS.

In order to obtain the SCE corrections, the AK method is divided into three parts. The first part combines a priori knowledge and real-time measurements to estimate the SCE error. The second part reduces the effect of changing the number of monitoring stations with a Kalman smoother. The last part computes SCE corrections according to the SBAS ICD.

Combine a priori knowledge and real-time measurements

The first step combines the a priori knowledge and real-time measurements. For this purpose, we use the minimum-variance unbiased estimator (Gelb 1974):

$$\begin{aligned} X_{\text{MV}} & = X_{\text{ap}} + \varLambda H^{\text{T}} \left( {H\varLambda H^{\text{T}} + R} \right)^{ - 1} \left( {Z - HX_{\text{ap}} } \right) \\ P_{\text{MV}} & = \varLambda - \varLambda H^{\text{T}} \left( {H\varLambda H^{\text{T}} + R} \right)^{ - 1} H\varLambda \\ \end{aligned}$$
(12)

where P MV, Λ, and R are the error covariance matrixes of X MV, X ap, and Z, which is the same Z as in (5).

The two problems of the geometric method mentioned above are solved by (12): First, whenever the satellite is observed by any reference station, the SCE error can be estimated, because the inverse of (\(H\varLambda H^{\text{T}} + R\)) exists in the observation period. Thus, the effective period is the same as the observation period. Second, the weights assigned to the a priori knowledge and real-time measurements depend on their error covariance matrixes. When the measurement noise is large or the station geometry is poor, the estimation relies more on the a priori knowledge, whose error covariance is small and relatively constant because the GNSS stations are spread worldwide. Thus, the estimation of SCE error remains highly accurate at the beginning and end of the effective period.

Reduce the effect of change of monitoring stations

In Case 1, the real SCE error varies slowly with time. However, there may be a step response in the estimation when the number of monitoring stations changes. A Kalman filter is introduced to estimate the current SCE error using X MV. The key to Kalman filters is the state transition model. Considering that a satellite’s motion during a short period has an approximately constant speed and turn rate in its orbital plane, the planar constant turn (CT) model (Li and Jilkov 2003) can be used to describe the transition in the ephemeris state. However, it is difficult to describe the transition in the satellite clock state as accurately as that of the ephemeris state. Considering that the main part of the clock error varies slowly with time and the frequency of the atomic standards aboard a GPS satellite is 10.23 MHz, we treat the clock drift rate as a time-correlated stochastic process. Thus, we choose the Singer model (Singer 1970), which characterizes the unknown target acceleration as a time-correlated stochastic process, to describe the satellite clock error.

The key elements of the Kalman filter are the state equation and the observation equation. The state equation is given by:

$$X_{\rm K} \left( k \right) = \varPhi_{\rm K} \left( k \right)X_{\rm K} \left( {k - 1} \right) + v_{\rm K} \left( k \right)$$
(13)

where X K(k), Φ K(k), and v K(k) denote the state vector, transition matrix, and process noise vector at time t k , respectively. The state vector X K(k) is given by:

$$X_{\rm K} \left( k \right) = \left[ {x,\ddot{x},{\ddot{x}},y,\dot{y},{\ddot{y}},z,\dot{z},{\ddot{z}},\Delta t,\Delta \dot{t},\Delta {\ddot{t}}} \right]_{{t_{k} }}^{\text{T}}$$
(14)

where x, y, z, and Δt describe the satellite ephemeris and clock, respectively. The discrete-time state transition matrix Φ K(k) is given by:

$$\varPhi_{\rm K} \left( k \right) = \left[ {\begin{array}{ll} {\varPhi_{\text{CT}} \left( k \right)} & \quad 0 \\ 0 & \quad {\varPhi_{\text{Singer}} \left( k \right)} \\ \end{array} } \right]$$
(15)

where Φ CT and Φ Singer are the discrete-time state transition matrixes derived from the planar CT model and the Singer model, respectively. The parameter α in the Singer model is set to 240 s, which is equal to the time-out of SCE corrections for the precision approach. The covariance of v K(k) is conservatively set to:

$$Q_{v} \left( k \right) = \left[ {\begin{array}{ll} {Q_{\rm CT} \left( k \right)} & \quad 0 \\ 0 & \quad {Q_{\rm Singer} \left( k \right)} \\ \end{array} } \right]$$
(16)

where Q CT(k) is the covariance of the process noise in the planar CT model with a power spectral density in each earth-centered inertial (ECI) axis of S CT = diag{9 m2/Hz, 9 × 10−4 (m/s)2/Hz, 1 × 10−8 (m/s)4/Hz}, and Q Singer(k) is the covariance of the process noise in the Singer model with a power spectral density of S Singer = diag{4 m2/Hz, 1 × 10−2 (m/s)2/Hz, 1 × 10−4 (m/s)4/Hz}.

The observation equation is given by:

$$Z_{\rm K} \left( k \right) = H_{\rm K} X_{\rm K} \left( k \right) + \varepsilon_{\rm K} \left( k \right)$$
(17)

where Z K(k), H K(k), and ɛ K(k) denote the observation vector, observation matrix, and observation noise at time t k , respectively. The CT model is given in an inertial frame, so the ECI frame is chosen. The observation vector Z K is calculated from X MV as follows:

$$Z_{\rm K} \left( k \right) = C_{\text{ECEF}}^{\rm ECI} \left( k \right) \cdot \left( {X_{\rm MV} \left( k \right) + X_{\rm BE} \left( k \right)} \right)$$
(18)

where \(C_{\text{ECEF}}^{\text{ECI}}\) is the conversation matrix from ECEF to the ECI frame. The observation matrix is given by:

$$H_{\rm K} = \left[ {\begin{array}{l} {1,0,0,0,0,0,0,0,0,0,0,0} \\ {0,0,0,1,0,0,0,0,0,0,0,0} \\ {0,0,0,0,0,0,1,0,0,0,0,0} \\ {0,0,0,0,0,0,0,0,0,1,0,0} \\ \end{array} } \right]$$
(19)

which is time-invariant. We treat X MV as a random variable in (18); thus, the observation error ɛ K comes from the uncertainty of X MV. Because the planar CT model and Singer model are independent, the covariances between ephemeris and clock are zero. Thus, the covariance of ɛ K(k) is conservatively set to:

$$R_{\varepsilon } \left( k \right) = C_{\text{ECEF}}^{\text{ECI}} \left( k \right)\left[ {\begin{array}{llll} {P_{\text{MV}} (1,1)} & \quad {P_{\text{MV}} (1,2)} & \quad {P_{\text{MV}} (1,3)} & \quad 0 \\ {P_{\text{MV}} (2,1)} & \quad {P_{\text{MV}} (2,2)} & \quad {P_{\text{MV}} (2,3)} & \quad 0 \\ {P_{\text{MV}} (3,1)} & \quad {P_{\text{MV}} (3,2)} & \quad {P_{\text{MV}} (3,3)} & \quad 0 \\ 0 & \quad 0 & \quad 0 & \quad {P_{\text{MV}} (4,4)} \\ \end{array} } \right]C_{\text{ECEF}}^{\text{ECI}} \left( k \right)^{\text{T}}$$
(20)

where \(P_{\text{MV}} (i,j)\) is the (i, j)-th element of \(P_{\text{MV}}\). The final SCE error estimation \(\hat{X}_{esti}\) is given by:

$$\hat{X}_{\text{esti}} = \left[ {\begin{array}{*{20}c} {\delta \hat{x}} \\ {\delta \hat{y}} \\ {\delta \hat{z}} \\ {\delta \hat{t}} \\ \end{array} } \right]_{\text{esti}} = C_{\text{ECEF}}^{{{\text{ECI}}\;\;{\text{T}}}} \left[ {\begin{array}{*{20}c} x \\ y \\ z \\ {\Delta t} \\ \end{array} } \right]_{\rm K} - X_{\text{BE}}$$
(21)

where elements of \(\left[ {\begin{array}{llll} x & y & z & {\Delta t} \\ \end{array} } \right]_{\rm K}^{\text{T}}\) are the same with those of X K.

Compute SCE corrections

The SCE error estimations of GNSS broadcast messages with the same issue of data from the most recent 900 s are used to compute the SCE corrections X F using a least-squares estimator. δx and \(\delta \dot{x}\) are fitted as follows:

$$\left[ {\begin{array}{*{20}c} {\delta x} \\ {\delta \dot{x}} \\ \end{array} } \right]_{\text{F}} = \left( {H_{\text{F}}^{\text{T}} H_{\text{F}} } \right)^{ - 1} H_{\text{F}}^{\text{T}} \left[ {\begin{array}{*{20}c} {\delta \hat{x}_{1} } \\ {\delta \hat{x}_{2} } \\ \vdots \\ {\delta \hat{x}_{m} } \\ \end{array} } \right]_{\text{esti}} ,\;\;\;\;H_{\text{F}} = \left[ {\begin{array}{*{20}c} 1 & {t_{1} - t_{0} } \\ 1 & {t_{2} - t_{0} } \\ \vdots & \vdots \\ 1 & {t_{m} - t_{0} } \\ \end{array} } \right]$$
(22)

where \(\delta \hat{x}_{k}\) is the first element in \(\hat{X}_{{{\text{esti}},k}}\) at time t k , and t 0 is the reference time of the SCE corrections. The other elements in X F can be fitted in the same way. The SCE corrections X F are then quantized according to the scale factor resolutions in the SBAS ICD. The quantized SCE corrections are denoted by X AK. The flowchart of the AK method described above is illustrated in Fig. 3.

Fig. 3
figure 3

Flowchart of the AK method

Performance evaluation

In this section, the performance of the AK method is evaluated and compared with WAAS SCE corrections and fast corrections in terms of its effective period, which is the period when a satellite is augmented, and the accuracy of SCE corrections. The correction error bounds are analyzed to check whether the integrity requirement has been met.

For the performance evaluation, we obtained data from 37 WAAS reference stations provided by the National Geodetic Survey (NGS), WAAS broadcast messages provided by the National Satellite Test Bed (NSTB), and GPS broadcast messages and antenna phase center precise ephemeris provided by NGA. Because it was not possible to obtain the satellite clock and ephemeris predictions used in the GPS master station, the GPS Ultra-Rapid ephemeris provided by IGS was used to calculate X pred in (11). The antenna L1 phase center positions of the SBAS tracking stations are the same as those given by WAAS performance report #53 (Anonymous 2015b). The station clock error is estimated by common view time transfer method (Enge et al. 1996). The ionospheric delay is mitigated through ionospheric-free linear combination given by (1), and tropospheric delay is estimated by GMF and GPT method (Böhm et al. 2006, 2007). The uncertainties of station clock, ionospheric delay, and tropospheric delay estimations are all propagated to the variance of Δρ i in (4).

This section considers URELT, UREFLT, and UREAK. URELT and UREFLT can be computed by (7). The URE after applying the SCE corrections is computed by the AK method as:

$${\text{URE}}_{\text{AK}} \left( {u_{\text{o}} } \right) = u_{\text{o}} \left( {X_{\text{BE}} + \left[ {\begin{array}{*{20}c} {\delta x} \\ {\delta y} \\ {\delta z} \\ {\delta t} \\ \end{array} } \right]_{\text{AK}} + \left[ {\begin{array}{*{20}c} {\delta \dot{x}} \\ {\delta \dot{y}} \\ {\delta \dot{z}} \\ {\delta \dot{t}} \\ \end{array} } \right]_{\text{AK}} \left( {t_{k} - t_{{0,{\text{AK}}}} } \right) - X_{\text{PE}} } \right)$$
(23)

where \(\left[ {\begin{array}{llll} {\delta x} & {\delta y} & {\delta z} & {\delta t} \\ \end{array} } \right]_{\text{AK}}^{\text{T}}\) and \(\left[ {\begin{array}{llll} {\delta \dot{x}} & {\delta \dot{y}} & {\delta \dot{z}} & {\delta \dot{t}} \\ \end{array} } \right]_{\text{AK}}^{\text{T}}\) are the SCE corrections computed by the AK method, and t 0,AK is the reference time.

If not specified, the results presented below are based on data from May 21 to June 19, 2015. Results from PRN 8 are not available, because it was not assigned to a healthy GPS satellite.

Effective period

In general, using more satellites will result in more accurate navigation solutions. Considering that the effective period indicates how long a satellite can be used for navigation, it is important to extend the effective period as far as possible.

Legacy L1 SBAS users should make sure that navigation solutions use only satellites whose SCE corrections, fast corrections, and integrity data have been received. Therefore, the effective period is the duration for which SCE corrections, fast corrections, and integrity data are all available. The fast corrections and integrity data are not available as long as the SCE corrections in WAAS. Thus, the effective period of WAAS is the same as the available period of UREFLT. If the AK method is used in a legacy L1 SBAS, the fast correction parameters can be set to zero, meaning that the effective period of the AK method is the same as the available period of UREAK.

It is clear from Fig. 4 that the blue line is longer than the red dash line, especially the red dash line is not available around 60,000 s, while the blue line is available. Therefore, the effective period of GPS PRN 1 was much longer under the AK method than for WAAS. The statistics of the GPS satellites, listed in Table 1, indicate that the effective period of every satellite was longer under the AK method than for WAAS and that the effective period of the GPS constellation was extended by 22.9 %.

Fig. 4
figure 4

Effective period of GPS PRN 1 on May 21, 2015

Table 1 Extension of the effective period

Accuracy of SCE corrections

The SCE corrections are used to correct the SIS error, so the fundamental measurement of the computation method is the accuracy of these corrections. Figure 5 shows that the amplitude of the SCE error after applying the SCE corrections computed by the AK method is markedly smaller than that given by WAAS, which means the accuracy of the SCE corrections with the AK method does not vary significantly with satellite motion.

Fig. 5
figure 5

SCE correction error of GPS PRN 1 on May 21, 2015. ac show ephemeris correction error in each axis of ECEF frame, respectively. d shows the clock correction error

The SIS error reduces the position accuracy by increasing the range error. Thus, users are more concerned about the range error than the SCE error. Figure 4 shows that the long-term biases of UREFLT and UREAK are both smaller than 1 m, which is small enough to meet position accuracy requirement of CAT-I (95 % horizontal error is 16 m, and 95 % vertical error ranges from 6 to 4 m). However, the variance of UREAK in the middle part and the right part is obviously smaller than that of UREFLT. Aviation user needs a robust service during a precise approach operation (typically 150 s); a slowly changing URE like UREAK with a small long-term bias would not trigger an approach alert, but a fast-changing URE like UREFLT around 3.6 × 104 s may do.

The performance statistics for SCE correction errors are not provided here. Instead, the accuracy of SCE corrections is evaluated by examining the root mean square (RMS) of URE. First, URELT and UREAK are compared in Table 2. The results show that the RMS of UREAK was smaller than that of URELT in 29 of the 31 satellites and that the RMS of UREAK across the GPS constellation was 41.5 % smaller than that of URELT.

Table 2 RMS of URELT and UREAK

It is obvious from Table 2 that UREAK is much smaller than URELT. Let us now compare UREAK with UREFLT. The results in Table 3 show that there are 25 satellites for which the RMS of UREAK was less than that of UREFLT and that the RMS of UREAK across the GPS constellation was 27.0 % smaller than that of UREFLT.

Table 3 RMS of UREFLT and UREAK

Thus, the SCE corrections computed by the AK method are more accurate than those broadcast by WAAS in terms of URE. Note that there are 38 WAAS reference stations, each with three independent receivers. However, the measurements provided by NGS were collected by one receiver at each station, making it impossible to conduct cross-thread processing. This may result in larger correction errors under the AK method.

Integrity

The SIS integrity requirement states that the error bound computed from the integrity information provided by SBAS should be larger than the actual URE. If this requirement is not met, a navigation failure may occur. However, the SIS integrity risk requirement in a fault-free case is allocated to be 1 × 10−7 per 150 s (Roturier et al. 2001), which is too small to evaluate. The SIS integrity risk requirement is set to be 1 × 10−3 per second here, which is the same probability used in analyzing the range error bounding in Anonymous (2015b). The evaluation is done for all epochs in the effective period over 30 days, so that the dataset of each satellite has about 1.7 million samples. Therefore, it is enough to analyze the SIS integrity risk with these samples. Considering that URE is treated as normal distributed with zero mean in the users’ receiver, the integrity requirement is assumed to hold if:

$$P_{I} = P\left\{ {{\text{NURE}}_{\text{AK}} \left( t \right) = \frac{{\left| {{\text{URE}}_{\text{AK}} \left( t \right)} \right|}}{{\hat{\sigma }_{{{\text{URE}}_{\text{AK}} }} \left( t \right)}} < 3.29} \right\} \ge 99.9\;\%$$
(24)

where 3.29 is the quantile of the standard normal distribution with probability 99.9 %, NUREAK is the normalized UREAK, and \(\hat{\sigma }_{{{\text{URE}}_{\text{AK}} }}\) is the estimated standard deviation of UREAK which is calculated from the covariance matrix P K of the SCE corrections in the Kalman filter as follows:

$$\hat{\sigma }_{{{\text{URE}}_{\text{AK}} }} \left( t \right) = \sqrt {u_{\text{o}} \left( t \right)P_{\rm K} \left( t \right)u_{\text{o}} \left( t \right)^{\text{T}} }$$
(25)

where u o is the same as in (7).

It is clear from Table 4 that the probability of NUREAK in each GPS satellite being smaller than 3.29 is greater than 99.9 %. Thus, Eq. (24) holds, and the integrity requirement is met.

Table 4 PI and maximum of NUREAK

Conclusions

The importance of SCE corrections in SBAS cannot be overemphasized. We have proposed a computation method that provides SCE corrections using a priori knowledge. Our approach overcomes the two key problems encountered by traditional methods. Performance evaluations showed that:

  1. 1.

    Our AK method extends the effective period of corrections by 22.9 %, increasing the availability of the augmentation service.

  2. 2.

    The RMS of UREAK is smaller than that of both URELT and UREFLT (by 41.5 and 27.0 %, respectively), increasing the accuracy of the augmentation service.

  3. 3.

    Equation (24) holds for every satellite, ensuring the integrity of the augmentation service.