Introduction

Within the last two decades, aviation navigation has been slowly transitioning from a ground-based infrastructure to rely increasingly on global navigation satellite systems (GNSSs). This has led the International Civil Aviation Organization (ICAO) to standardize a navigation performance concept called performance-based navigation (PBN) (ICAO 2012). Within PBN, the system performance requirements for navigation equipment are specified as required navigation performance (RNP) for onboard navigation capability with a high level of accuracy and integrity. For precision instrument approaches that utilize three-dimensional angular guidance to a dedicated runway, two possibilities exist to improve the lateral and especially the vertical navigation integrity, accuracy, continuity and availability. On the one hand, GNSS reference stations are distributed over a wide area at precisely known locations. They measure the GNSS signals and send the data to a master control station. The master control station computes correction and integrity information, which is broadcast to the user via a geostationary satellite. This is called the satellite-based augmentation system (SBAS). On the other hand, to achieve GNSS augmentation at an airport only, it is sufficient to place two to four reference stations at the airport and have a local processing facility. The correction and integrity information are passed on to the user via a very-high-frequency (VHF) radio data link. This is called the ground-based augmentation system (GBAS). In both cases, the user applies the corrections to its GNSS measurements and computes a highly accurate position.

Using a final approach segment (FAS) data block, the aircraft’s computer can then calculate angular deviations to a reference trajectory (Dautermann 2014), which result in a guidance signal approximating the classic instrument landing system (ILS) (Forssell 2008). For SBAS, the FAS data block is stored in the aircraft’s navigation database, while for GBAS the FAS data block is broadcast as a VHF data message. In both systems, instant integrity information is provided by estimating protection levels, which is a high-probability bound for the computed position. This is then compared to the alarm limit of the respective system. Implementation standards for airborne receivers using SBAS are governed by the relevant documents of the European Commission for Civil Aviation Equipment (ED75D 2000) and the Radio Technical Commission for Aeronautics (RTCA 2016) as well as acceptable means of compliance (AMC) published European Aviation Safety Agency (AMC2028 2012) and (AMC2027 2009). The standards for GBAS ground stations, VHF data broadcast and airborne user receivers are laid out by ED114B (2019) and RTCA (2004) as well as RTCA (2017a, b). Instrument approaches using either SBAS or GBAS are currently approved to be flown down to a decision height of 200ft and a runway visual range of 550 meters (ESSP 2016).

It is important to note that SBAS does currently not support automatic landings. Dautermann et al. (2012) describe GBAS research and development that will enable low-visibility operations in the near future, supported by multiple satellite navigation system constellations (Felux et al. 2017). Interestingly, the core principle of SBAS and GBAS is identical: Pseudorange corrections are provided to the user, who, in turn, applies respective corrections to improve position accuracy and integrity. In addition to those corrections, each system makes available real-time information about the quality of the GNSS signal in the form of a Gaussian variance for each pseudorange. With very few exceptions, SBAS is not available in Part 25 (EASA 2018) aircraft used for commercial air transport and GBAS is not installed in small business and general aviation airplanes. A notable exception is the satellite landing system (SLS), available as an option on the new Airbus A350 and soon to be available on new A320s. Boeing does currently not offer SBAS on its production airplanes, but GBAS has been a standard option on all 737 aircraft since the −800 model as well as on the 747-8 and 787. Since both systems are quite similar and the SBAS signal can nowadays be decoded by even low-cost receivers, one could receive the augmentation data from the SBAS, slightly modify it to fit into the GBAS data structure and broadcast these data to a GBAS-equipped aircraft. Said aircraft could execute an RNP approach with the localizer performance and vertical (LPV) guidance final approach segment, which would otherwise not be available. This may be especially handy in places where no non-precision minima are published, such as the RNP-E approach into Innsbruck.

Time to alert would be slightly increased by the ground reception, processing and rebroadcasting process. A similar concept was proposed for the local airport monitor concept for GBAS by Shively et al. (2006), Shively (2006) and Rife et al. (2005, 2006), but from the point of view of a position domain monitoring facilitator. Here, we focus on really making the SBAS signal usable for GBAS-equipped aircraft, a concept which was called “bent pipe” in Shively et al. (2006) and never fully explored. The ground-based regional augmentation system (GRAS) was a system planned for Australia as a regional augmentation system (Crosby et al. 2000). In lieu of broadcasting regional corrections via a satellite downlink, they were intended to be transmitted via a VHF data link. Here, we want to assemble SBAS corrections at a local facility to mimic GBAS correction and “trick” a GBAS receiver into outputting an SBAS position with the associated SBAS integrity. We call the system GLASS (GLS approaches using SBAS) and it is simply a converter which provides SBAS data and integrity information using a GBAS channel. Unlike Shively et al. (2006) and the associated references, we do not attempt to increase integrity, nor do we attempt to broadcast GRAS-like regional corrections as described in Crosby et al. (2000). We perform a first assessment of integrity transfer between SBAS and GBAS and show the technical feasibility of using GLASS in GBAS-equipped aircraft. Since there are slight differences between the two systems, we need to make sure that integrity for the safety-of-life approach service is ensured.

Algorithm and integrity considerations

One of the core integrity functionalities of any airborne GNSS receiver, augmented or not, is the computation of the position uncertainty at the allocated integrity risk. This is referred to as a protection level, which is then compared to a maximum allowable value, the alert limit. If the protection level exceeds the alert limit, the system cannot maintain the required integrity and flags itself as unavailable. In order to ensure full compliance with ICAO standards, the GBAS receiver onboard the aircraft should output protection levels identically to the ones computed by a pure SBAS-based receiver. If this cannot be achieved, the protection level must be larger than the one of the pure SBAS receivers, but in turn, this may lead to a degraded availability.

At each epoch, an airborne user receiver utilizing SBAS and certified according to DO229E (RTCA 2016) computes vertical and horizontal protection levels (VPL, HPL) as

$$\begin{aligned} {\text{HPL}}_{\text{SBAS}} & = K_{\text{H}} \sqrt {\frac{{\sigma_{\text{E}}^{2} + \sigma_{\text{N}}^{2} }}{2} + \sqrt {\left[ {\frac{{\sigma_{\text{E}}^{2} - \sigma_{\text{N}}^{2} }}{2}} \right]^{2} + \sigma_{\text{EN}}^{2} } } \\ {\text{VPL}}_{\text{SBAS}} & = K_{\text{V}} \sigma_{\text{U}} \\ \end{aligned}$$
(1)

where \(\sigma_{\text{E}}^{2} = \mathop \sum \nolimits_{i} S_{{{\text{E}},i}}^{2} \sigma_{i}^{2}\) is the post-correction variance of the modeled error in the east direction, \(\sigma_{\text{N}}^{2} = \mathop \sum \nolimits_{i} S_{{{\text{N}},i}}^{2} \sigma_{i}^{2}\) in the north direction, \(\sigma_{\text{U}}^{2} = \mathop \sum \nolimits_{i} S_{{{\text{U}},i}}^{2} \sigma_{i}^{2}\) in the direction of the local vertical, and \(\sigma_{\text{EN}}^{2} = \mathop \sum \nolimits_{i} S_{{{\text{E}},i}} S_{{{\text{N}},i}} \sigma_{i}^{2}\) is the post-correction covariance of the modeled error between east and north. \(K_{\text{H}}\) and \(K_{\text{V}}\) are set to \(K_{\text{H}} = 6.0\) and \(K_{\text{V}} = 5.33\) for approach applications with vertical guidance and represent an integrity error bound at the probabilities \(p_{\text{vertical}} = 0.98 \times 10^{ - 7}\) and \(p_{\text{horizontal}} = 2 \times 10^{ - 9}\) at any moment. This stems from the integrity risk allocation that “the probability that horizontal cross-track error or vertical error or both exceed their respective protection levels must not exceed 2 × 10−7 per approach” (RTCA 2016).

The \(\sigma_{i}\) are the post-correction range uncertainties and are composed of the individual errors whose distributions are overbound by zero-mean Gaussians. They consist of

$$\sigma_{i}^{2} = \sigma_{{i,{\text{UIRE}}}}^{2} + \sigma_{{i,{\text{flt}}}}^{2} + \sigma_{{i,{\text{air}}}}^{2} + \sigma_{{i,{\text{tropo}}}}^{2}$$
(2)

where \(\sigma_{{i,{\text{UIRE}}}}\) is the value extracted from the ionosphere grid data by interpolating the transmitted grid uncertainties \(\sigma_{\text{GIVE}}\) and mapping them to the satellite elevation angle. \(\sigma_{{i,{\text{flt}}}}\) is the residual user differential range error relating to the orbit and clock (RTCA 2016) and is computed by the ground segment and transmitted as part of the fast correction message. It describes the residual error that remains after the application of the fast corrections. The airborne receiver noise and multipath are characterized by \(\sigma_{{i,{\text{air}}}}\) which varies with airborne equipment quality. \(\sigma_{{i,{\text{tropo}}}}\) is derived from a constant modeling uncertainty of 12 cm for the troposphere vertical error and converted to a slant value using an elevation mapping function. The square root term in the equation above is the standard deviation of the positioning error in the direction of the largest horizontal eigenvector of the position domain variance–covariance matrix. On the other hand, the GBAS approach service type C protection levels are calculated as the maximum over a set of individual protections levels assuming normal operation (\(H_{0}\)) and ground station reference receiver fault (\(H_{1}\)). In GBAS, the reference receiver performance is characterized by B(ias) values (RTCA 2004), which are constantly computed by the ground subsystem and transmitted via VHF radio. There is one B value per satellite \(i\) in view of receiver \(j\). Details of the GBAS protection level calculation are stated in DO253d (RTCA 2017b) or ED114B (2019). The VHF data broadcast content and message structure are described in DO245A (RTCA 2004), for example, and are summarized here. For approach services, we have as the expression for the lateral and vertical protection levels (\(X \in \left\{ {L,V} \right\}\)):

$${\text{XPL}}_{\text{GBAS,appr}} = \hbox{max} \left[ {{\text{XPL}}_{{{\text{GBAS,appr}},H0}} ,{\text{XPL}}_{{{\text{GBAS,appr}},H1,j}} } \right]$$
(3)

where X is lateral or vertical. The protection levels in case of no reference receiver fault are

$${\text{XPL}}_{{{\text{GBAS,apr}},H0}} = K_{\text{ffmd}} \sqrt {\mathop \sum \limits_{i = 1}^{n} s_{{{\text{appr}},x,i}}^{2} \sigma_{i}^{2} }$$
(4)

where \(K_{\text{ffmd}}\) is the fault-free missed detection multiplier. In the case of GBAS, \(\sigma_{i}^{2}\) is again the post-correction range model error variance, but different from the ones used in SBAS aided positioning. In GBAS,

$$\sigma_{i}^{2} = \sigma_{{{\text{pr}}\_{\text{gnd}},i}}^{2} + \sigma_{{{\text{tropo}},i}}^{2} + \sigma_{{{\text{pr}}\_{\text{air}},i}}^{2} + \sigma_{{{\text{iono,}}i}}^{2}$$
(5)

where \(\sigma_{{{\text{pr}}\_{\text{gnd}},i}}\) characterizes the post-smoothing pseudorange error, \(\sigma_{{{\text{tropo}},i}}\) describes the remaining troposphere error after applying the GBAS troposphere model, \(\sigma_{{{\text{pr}}\_{\text{air}},i}}^{2}\) is a model for airborne pseudorange noise and multipath and \(\sigma_{{{\text{iono}},i}}\) models the remaining ionospheric error after the application of the correction terms. The protection levels of in the reference receiver fault case are

$$xPL_{{{\text{GBAS,appr,}}H1,j}} = \left| {\mathop \sum \limits_{i = 1}^{n} s_{{{\text{appr}},x,i}} B_{ij} } \right| + K_{\text{md}} \sqrt {\mathop \sum \limits_{i = 1}^{N} s_{{{\text{appr}},x,i}}^{2} \sigma_{i,H1}^{2} }$$
(6)

and the difference between \(\sigma_{i,H1}\) and \(\sigma_{i}\) is a \(\sigma_{{{\text{pr}}\_{\text{gnd}},i}}\) inflated by the number of reference receivers divided by the number of reference receivers minus one.

In order to use SBAS via a GBAS receiver and ensure integrity, we must inflate the standard deviations of the GBAS data broadcast such that the lateral protection level computed by the GBAS receiver is equal to or larger than the horizontal protection level of an SBAS receiver. The same is true for the vertical protection level. However, unlike the difference between vertical and lateral, here we need not be concerned as much about the difference in the direction of the largest error. Moreover, we must compute the pseudorange corrections (PRCs) and range rate corrections (RRCs) for each satellite from the individual components of the SBAS broadcast. Since SBAS does not have local ground reference stations, it consequently does not have an equivalent to the B values of GBAS. Like in Shivelyet al. (2006), we set all B values to zero such that the \(H_{1}\) protection level is never used.

Figure 1 shows a schematic of our data processing. In the following, we will describe each block of the figure to create a GBAS data broadcast that allows a GLS airborne receiver to use LPV service using SBAS-corrected GNSS data. We compare the individual variance contributions and multiplier to ensure that the protection levels computed in the GBAS receiver using SBAS data are at least the SBAS protection levels or larger. For each contribution, we also analyze the PRC component

Fig. 1
figure 1

Block diagram of the GLASS algorithms. From the SBAS messages and the GPS ephemeris, the pseudorange corrections and a measurement variance are calculated. The variance is inflated and used as \(\sigma_{{{\text{pr}}\_{\text{gnd}}}}\). Together with predetermined, fixed parameters and a FAS data block, the GBAS VHF data broadcast is assembled and transmitted

Normal signal variance and non-atmospheric errors

SBAS broadcast is used to assemble a user differential range error (UDRE), and a corresponding indicator (UDREI) per satellite is broadcast as part of the fast corrections (FC) to characterize the short-term orbit and clock variations. This index is used in a lookup table to obtain the residual range uncertainties \(\sigma_{\text{UDRE}}\). The \(\sigma_{\text{UDRE}}\) is used in computing \(\sigma_{\text{flt}}\), which forms the basis of the computation of \(\sigma_{\text{pr,gnd}}^{2} = \sigma_{\text{flt}}^{2}\).

The non-atmospheric, non-orbit error contribution is called \({\text{PRC}}_{\text{FC}}\). These were originally intended to capture the artificial clock degradation of selected availability. Long-term corrections to satellite orbit and clock are transmitted as offsets to the Cartesian orbit coordinates \(\Delta \vec{x} = \left( {\Delta x_{i} ,\Delta y_{i} ,\Delta z_{i} } \right)\), rate of change of this offset \(\Delta \dot{\vec{x}} = \left( {\Delta \dot{x}_{i} ,\Delta \dot{y}_{i} ,\Delta \dot{z}_{i} } \right)\) and clock correction polynomial coefficients (\(\delta a_{f0} ,\delta a_{f1}\)) and are called long-term corrections (LTC). Using the receiver-satellite line of sight, we compute the orbit coordinate offset component along the line of sight and add this to the UDRE and clock correction to obtain a basic PRC for each satellite \(i\),

$${\text{PRC}}_{i} = {\text{PRC}}_{{t_{0} }} + {\text{RRC}}\left( {t - t_{0} } \right) + \delta a_{\text{f0}} + \delta a_{\text{f1}} \left( {t - t_{0} } \right) + \hat{r}_{i} \cdot \left( {\Delta \vec{x} + \Delta \dot{\vec{x}}\left( {t - t_{0} } \right)} \right)$$
(7)

where \(t_{0}\) is the time of applicability of the SBAS fast correction. The term \(\hat{r}_{i} \cdot \left( {\Delta \vec{x} + \Delta \dot{\vec{x}}\left( {t - t_{0} } \right)} \right)\) is the inner product of user-satellite line of sight vector and orbit correction parameters obtained from the long-term correction message.

Troposphere

The tropospheric correction used by SBAS is a multi-equation model based on wet and dry delay decomposition:

$${\text{TC}}_{\text{SBAS}} \left( h \right) = - \left( {d_{\text{hyd}} + d_{\text{wet}} } \right)m\left( \theta \right)$$
(8)
$$m\left( \theta \right) = \frac{1.001}{{\sqrt {0.002001 + \sin^{2} \theta } }}$$
(9)

where \(d_{\text{hyd}}\) and \(d_{\text{wet}}\) are the estimated range delays for a satellite at 90° elevation angle caused by the atmosphere in hydrostatic equilibrium and by the atmosphere’s water contents. \(m\left( \theta \right)\) is the elevation mapping function from zenith to the current satellite elevation angle. \(h\) is the altitude of the aircraft above the WGS84 ellipsoid, easily transferable to geoid height using an undulation model such as EGM2008 (Pavlis et al. 2008). Both the hydrostatic and the wet delay terms contain a dependency on the height of the receiver above mean sea level (RTCA 2016, Appendix A-9) as well as tabulated values of pressure, temperature, temperature lapse rate, water vapor pressure and water vapor lapse rate. For a given installation at fixed latitude, all values but the user height can be interpolated rapidly. The residual uncertainty is taken as

$$\sigma_{\text{tropo,SBAS}} = 0.12m\left( \theta \right)$$
(10)

In GBAS, the tropospheric correction is computed according to the RTCA DO253D (RTCA 2017b) as

$${\text{TC}}_{\text{GBAS}} = N_{\text{R}} h_{0} \frac{{10^{ - 6} }}{{\sqrt {0.002 + \sin^{2} \theta } }}\left( {1 - {\text{e}}^{{ - \frac{\Delta h}{{h_{0} }}}} } \right)$$
(11)

with \(\Delta h\) being the height difference between the GBAS reference point and the aircraft and \(\theta\) the elevation angle of the satellite. This tropospheric correction subtracts the part of the tropospheric delay between GBAS ground station and aircraft, assuming that the delays are spatially correlated with the horizontal distance between the two. \(N_{\text{R}}\) and \(h_{0}\) are the refractivity index and tropospheric scale height from the type two GBAS message, respectively. The residual troposphere uncertainty \(\sigma_{\text{tropo}}\) after applying this correction is dependent on the refractivity uncertainty \(\sigma_{N}\), which is also contained in GBAS message type 2:

$$\sigma_{\text{tropo,GBAS}} = \sigma_{N} h_{0} \frac{{10^{ - 6} }}{{\sqrt {0.002 + \sin^{2} \theta } }}\left( {1 - {\text{e}}^{{ - \frac{\Delta h}{{h_{0} }}}} } \right).$$
(12)

In order to correctly achieve the SBAS tropospheric correction at the aircraft, we need to set parameters \(N\) and \(h_{0}\) such that the difference between the SBAS correction and GBAS adjustment is minimized, i.e., \(\mathop {\hbox{min} }\limits_{{N,h_{0} }} \left[ {{\text{TC}}_{\text{SBAS}} \left( h \right) - {\text{TC}}_{\text{SBAS}} \left( {h = 0} \right) + {\text{TC}}_{\text{GBAS}} \left( h \right)} \right].\) Due to the different models used in the two systems, it is not possible to obtain an optimal solution that minimized this difference for all elevation angles and all aircraft altitudes. The higher the difference, the higher the altitude difference between the ground station and the aircraft. The ICAO document for procedure design (ICAO, 2014) states that “the FAP should not normally be located more than 18.5 km (10.0 NM) before the threshold, unless adequate glide path guidance beyond the minimum specified in Annex 10 is provided.” Ten nautical miles and a three-degree glide path angle translate to an intercept altitude of about 3120ft above ground level. Thus, for our search of the optimal \(N\) and \(h_{0}\), we place the aircraft at an altitude of 4000 ft above the ground station, much higher than an instrument approach would usually start. We performed a grid search over all possible values of \(N\), ranging from 16 to 781 and \(h_{0}\) ranging from 0 to 25,500 m as limited by the VHF Data Broadcast (VDB) message structure (RTCA 2017a). The elevation angle was varied from 5° to 90°. An extract from this search is shown in Fig. 2.

Fig. 2
figure 2

Searching over refractive index N and scale height \(h_{0}\) to find the pair to give the smallest error

In general, Fig. 2 shows a similar pattern in error behavior for each elevation angle as well as an anti-proportionality of the error with respect to the elevation angle. Since in the position solution SBAS satellites with higher elevation angles are equipped with a higher weight and hence contribute most to the position accuracy, we chose the pair of N and \(h_{0}\) which minimizes the error between \({\text{TC}}_{\text{SBAS}}\) and \({\text{TC}}_{\text{GBAS}}\) for a satellite at zenith. Figure 3 shows that this pair (N = 316, \(h_{0}\) = 8500), when used for other elevation angles and other aircraft height, only results in a maximum range error of 3 mm, which is acceptable and below the pseudorange noise threshold. We choose to set \(\sigma_{N} = 0\) in the ground station and add the \(\sigma_{\text{tropo,SBAS}}\) to the transmitted \(\sigma_{\text{pr,gnd}}^{2} = \sigma_{\text{pr,gnd}}^{2} + \sigma_{\text{tropo,SBAS}}^{2}\). Thus, the tropospheric variance is contained in the transmitted variance \(\sigma_{\text{pr,gnd}}\) and will be used by the onboard GBAS receiver.

Fig. 3
figure 3

Using the value which minimizes the error at high elevation angles for all aircraft height and GPS satellite elevation angles. The largest error is 1.3 mm for the values of N = 316 and \(h_{0}\) = 8500 m

Ionosphere

In SBAS, the ionospheric corrections and error characterizations are computed using a broadcast grid with associated grid ionosphere vertical error indices (GIVEI) and a delay value for L1. The user then interpolates the ionospheric grid at locations where its receiver-satellite line of sight penetrates the ionosphere at an assumed altitude of 350 km above the ground. At the interpolation point, the SBAS user obtains an ionospheric variance \(\sigma_{{i,{\text{UIRE}}}}\) and an ionospheric correction term \({\text{IC}}_{i}\) which is mapped along the line of sight to the satellite using \(F_{\text{pp}} \left( \theta \right)\), a vertical to slant mapping function. When using GBAS, the ionospheric correction is part of the measured pseudorange correction, and the ionospheric post-correction variance is based on the standard deviation of the ionospheric gradient \(\sigma_{{{\text{iono}},{\text{verticalgradient}}}}\) between user and ground station:

$$\sigma_{\text{iono}} = F_{\text{pp}} \left( \theta \right)\sigma_{\text{iono,verticalgradient}} \left( {d_{\text{air}} + 2\tau v_{\text{air}} } \right)$$
(13)

where \(d_{\text{air}}\) is the distance between GBAS ground station and user and \(v_{\text{air}}\) the velocity of the user. Since this term depends on distance, while the ionospheric residual error of SBAS does not, we chose to set \(\sigma_{\text{iono,verticalgradient}} = 0\) in the GBAS station and add the residual ionospheric error variance \(\sigma_{{i,{\text{UIRE}}}}^{2}\) to the broadcast \(\sigma_{\text{pr,gnd}}^{2}\), i.e., \(\sigma_{\text{pr,gnd}}^{2} = \sigma_{\text{pr,gnd}}^{2} + \sigma_{{i,{\text{UIRE}}}}^{2}\)

Since ICAO PANS-OPS (ICAO 2014) generally decrees a final approach segment of 10 nautical miles or less, we assume this as the maximum distance the GLASS system can be used and compute the largest \(\sigma_{{i,{\text{UIRE}}}}^{2}\) along the trajectory and use it in our system.

As the SBAS Ionospheric Grid is coarsely spaced at 5° latitude and longitude, we compute the SBAS ionospheric correction \({\text{IC}}_{i}\) at the ground station and add it to the transmitted PRC. In doing so, we introduce a small error in the pseudorange correction, i.e., the difference between the ionospheric correction at the ground station and the ionospheric correction that an SBAS user would compute at his location at a maximum distance of 10 NM. If we assume a maximum distance of 10 NM between user and GLASS station and the maximum possible difference between adjacent vertical delays at grid points of 63.75 m and a minimum elevation angle, the maximum value of this error will be 1.33 m. This error diminishes as the aircraft approaches the GLASS ground station or a reference point at which the SBAS differential corrections are constructed. This is below the maximum undetected error of 1.5 m, a requirement for GBAS approach service type D for low-visibility operations. This error can be covered by sigma inflation as described by van Graas et al. (2004) and Walter et al. (2004).

Lateral to horizontal protection level inflation

When computing protection levels, there are subtle differences between SBAS and GBAS: The GBAS calculates the lateral protection level in the cross-track direction to the final approach path, while SBAS calculates horizontal protection levels into the direction of the largest horizontal error. Second, GBAS adds the projection of the along-track error component onto the vertical protection level, while SBAS uses the pure vertical error. Due to these differences, we need to inflate the final \(\sigma_{\text{pr,gnd}}\) value before inserting it into the GBAS message in order to compute lateral protection levels in the airborne GBAS receiver that are equal to or larger than the horizontal one for SBAS. Due to the added along-track component, the \({\text{VPL}}_{\text{GBAS}}\) is already larger than the \({\text{VPL}}_{\text{SBAS}}\) and no inflating action is required. However, the lateral error component will always be less or equal to the semimajor axis component, and therefore, \(\sigma_{\text{pr,gnd}}\) needs to be increased. The inflation affects all protection level dimensions, and with the vertical dilution of precision normally being larger than the horizontal, this will lead to a large increase in VPL. In order to derive the direction of the semimajor axis of the error ellipse, we find the eigenvalues and eigenvectors of the horizontal variance–covariance matrix. The eigenvector corresponding to the largest eigenvalue is the semimajor axis and the largest eigenvalue is the variance in this direction (Sorenson 1980). The inflation factor becomes thus \(\Gamma = \frac{{\sigma_{\text{semimajor}} }}{{\sigma_{\text{lateral}} }}\). The broadcast \(\sigma_{{{\text{pr,gnd,}}i , {\text{brdcast}}}}\) is then

$$\sigma_{{{\text{pr}},{\text{gnd}},i,{\text{brdcast}}}} =\Gamma \sigma_{{{\text{pr}},{\text{gnd}},i}} .$$
(14)

The airborne receiver is not obliged to use all the satellites for which it receives correction data. In such a case, the needed inflation factor may increase or decrease depending on the broadcast range variance when looking at the various subsets. The need for an increasing inflation factor is captured by the ground processor prior to broadcasting correction data by searching over all usable subsets of satellites and using the maximum \(\Gamma\).

K multipliers

During the certification of both GBAS and SBAS for approach services, integrity risk is allocated to the horizontal and vertical protection bounds, the protection levels. This is achieved by setting the K multipliers in (1), (2) and (4) to the value corresponding to that risk. In SBAS approach applications \(K_{\text{V}} = 5.33\), \(K_{\text{H}}\) = 6 and in GBAS approach applications \(K_{\text{ffmd}} = 5.84\) if \(M = 4\) ground receivers are used. Since in GBAS the K is dependent on the number of ground receivers used, and in SBAS it is not, we chose M = 4 in order to keep the inflation factor at its minimum, keeping in mind that we only want to make SBAS usable in a GBAS receiver. In order to guarantee that our protection levels are equal to or larger than standalone SBAS, we need to inflate our broadcast sigma further by at least \(\frac{{K_{\text{H}} }}{{K_{\text{ffmd}} }} = 1.028\) rounded up to the larger third decimal place such that \(\sigma_{{{\text{pr,gnd}},i,{\text{brdcast}}}} = 1.028\Gamma \sigma_{{{\text{pr,gnd}},i}}\).

Sigma air

For the same airborne accuracy designator, the \(\sigma_{{{\text{pr}}\_{\text{air}},i}}\) of GBAS and \(\sigma_{{{\text{air}},i}}\) of SBAS are identical. So far, we have modified \(\sigma_{{{\text{pr,gnd}},i,{\text{brdcast}}}}\) to include SBAS ionospheric and tropospheric contributions. The corresponding GBAS equivalents were set to zero by adjusting GBAS message type 4. When comparing (2) with (5), it becomes apparent that \(\sigma_{{{\text{pr}}\_{\text{air}},i}}\) and \(\sigma_{{{\text{air}},i}}\) are not accounted for in the geometric inflation. Therefore, we need to increase \(\sigma_{{{\text{pr,gnd}},i,{\text{brdcast}}}}\) more to account for the geometric difference in error propagation. \(\sigma_{{{\text{air}},i}}\) and \(\sigma_{{{\text{pr,air}},i}}\) are identically calculated for both systems and reach their maximum value of 0.57 m for a satellite elevation angle of 5° and airborne accuracy designator A. We increase the broadcast \(\sigma_{{{\text{pr,gnd}},i,{\text{brdcast}}}}\) factor to account for this worst-case assumption:

$$\sigma_{{{\text{pr}},{\text{gnd}},i,{\text{brdcast}}}} = 1.028\Gamma \sigma_{{{\text{pr,gnd,}}i}} + 0.57\left( {\Gamma - 1} \right).$$
(15)

This solution is overly conservative and assumes a worst-case satellite elevation angle. We can assume that the difference in satellite elevation between an airborne user at a maximum altitude of 10,000 ft MSL and the system located on the ground is negligible as the GPS satellite altitude is roughly 22,000 km. To be conservative, we can subtract 1° of elevation and calculate \(\sigma_{{{\text{pr}}\_{\text{air}},i}}\) using this value. Then,

$$\sigma_{{{\text{pr}},{\text{gnd}},i,{\text{brdcast}}}} = 1.028\Gamma \sigma_{{{\text{pr}},{\text{gnd}},i}} + \left( {\Gamma - 1} \right)\sigma_{{{\text{air}},i}} \left( {\theta - 1^{{^\circ }} } \right)$$
(16)

is the final expression for the inflated value of \(\sigma_{{{\text{pr}},{\text{gnd}},i,{\text{brdcast}}}}\) used in the GLASS. We deliberately chose to scale the standard deviation and not the variance, since it is \(\sigma\) that is used in the VDB broadcast according to RTCA (2016). Note that the above calculation can easily be transferred to variances by mathematical equivalence transformation.

Alert limit scaling

The standards for data transmission in a GBAS (RTCA 2004) only allow a maximum value of 25.4 m to be entered as a final approach segment vertical alert limit (FASVAL) as opposed to the SBAS LPV approach service FASVAL of 50 m. The GBAS final approach segment alert limits are scaled with distance from the glide path intercept point (GPIP), which is typically about 1000 ft upwind of the landing threshold. The scaling equation is \(0.095965H_{\text{p}} + {\text{FASVAL}} - 5.85\), where \(H_{\text{p}}\) is the height of the aircraft above the GPIP location. This equation is valid up to 1340ft above the GPIP after which the VAL remains at FASVAL + 33.35 m. At the same time, the lateral alert limit (LAL) is scaled \(0.0044D + {\text{FASLAL}} - 3.85,\) where \(D\) is the horizontal distance to the landing threshold point. This equation is valid up to a distance of 7500 m, after which the LAL stays at \({\text{FASLAL}} + 29.15\,{\text{m}}\). Using a FASVAL of 25.4 m and the GBAS scaling, the vertical alert limit value of 50 m is reached at an altitude of 317.30 m. If we want the LAL to reach its value of 40 m at the same time, the FASLAL must be set to 17.21 m. Using a standard 3° glide path angle, we calculated the obstacle assessment surfaces according to ICAO PANS-OPS (ICAO 2014) using the ICAO provided software (https://www.icao.int/safety/airnavigation/ops/pages/pans-ops-oas-software.aspx). At the above-mentioned point at a distance of 5741 m from the threshold, the procedure designer uses an APV-1 obstacle assessment surface height of 157.47 m above the LTP with a width of plus–minus 320 m. No obstacle may penetrate this surface without an increase in visibility and/or decision altitude such that the obstacle does not pose a risk to the flight. Thus, the aircraft at an altitude of 317.3 m on the glide path is 159.83 m above the obstacle surface, more than three times the alert limit. This separation increases as altitude increases. From the identified point down to decision altitude, the alert limits are more conservative than required for LPV. Above the point, they are larger, but due to the obstacle assessment performed by the procedure designer, the collision risk is not increased, and the operation does not become unsafe. If the FASVAL were reduced to 16.65 m in order to reach a maximum of 50 m at 1340 ft above the runway, availability might become severely downgraded.

Time to alert

Generally speaking, ED114B (2019) describes the time to alert as “The time to alert is defined as the time between the onset of the condition where the relative position error exceeds the alert limit and the transmission of the last bit of the message that contains the integrity data that reflects the condition.”

The European Aviation Safety agency certified EGNOS for precision approach service, and hence, it must fulfill the ICAO (2018) requirement of 5.2 s (Annex 10, Appendix B, Sect. 3.5.7.5.1). The proof remains an unpublished document titled “EGNOS Signal-in-Space System Safety Case Part A (Design, Development and Deployment) Issue 3 from 21 February 2008.”

We receive the SBAS data at user receiver level before computing the augmented position. The additional processing as described previously and as shown in Fig. 1 does certainly introduce a small delay and increases time to alert. From experience, a process involving inversion of positive definite matrix with sizes less than 50 by 50 elements on modern personal computers takes around 10 ms or less. When using the algorithm described above, we can consider this processing time almost negligible. However, a qualitative assessment of the additional time in the conversion process should be performed once the algorithms are programmed in certifiable code, which is out of the scope of this publication. The VHF broadcast message for GLS is updated every 0.5 s and the GBAS signal in space time to alert is requirement of 3 s (see ICAO (2018), Attachment D, Table D5-C, first row). This yields a total time to alert of 8.7 s, which is sufficient for an instrument approach procedure designed according to criteria for APproach with Vertical guidance type 1 (APV-1). An APV-1 requires a time to alert of 10 s, while a precision approach requires 10 s according to ICAO (2018), Table 3.7.3.4-1. Unlike a precision approach, an APV-1 has a lowest possible decision height of 250 ft above ground level compared to 200 ft for a precision approach.

Implementation and bench test

After implementing the necessary algorithms in C++, we connected a 64-bit Linux PC running SUSE Linux to an SBAS-enabled Septentrio AsteRx3 receiver via TCP/IP. The GNSS receiver was connected to a Leica AR20 choke Ring Antenna located on the roof of the DLR Institute of Flight Guidance in Braunschweig. Our software also calculates at the same time SBAS and GBAS protection levels as well as the positions of the connected antenna. We collected Navstar GPS data at the DLR Institute of Flight Guidance (52.3148848778 N, 10.5634639104 E, 143.364 m in WGS84) over the course of 1 week from July 15–21, 2018, at 2 Hz and used the final approach segment data block from runway 26 of Braunschweig–Wolfsburg airport.

Figures 4 and 5 show example protection levels of 24 h and histograms using the full one-week data set of the ratios of GLASS LPL to SBAS HPL and GLASS VPL to SBAS VPL, respectively. We can see from only having ratio values above one that our inflation factor effectively maps the error location of the semimajor axis of the current satellite geometry into the lateral component of the approach coordinate system used in GBAS. In consequence of the vertical, where inflation is not needed and we also have a higher K multiplier for SBAS protection levels, we see a larger increase in the ratios between GBAS VPL and SBAS VPL with a minimum above 1.4.

Fig. 4
figure 4

Comparison of the vertical protection levels during 24 h. (Top) temporal evolution of the vertical protection levels. (Bottom) Ratio of the vertical protection levels for data collected for 1 week. The smallest value is 1.2

Fig. 5
figure 5

Comparison of the lateral and horizontal protection levels during 24 h. (Top) temporal evolution of the lateral and horizontal protection level. (Bottom) Ratio of the lateral to horizontal protection levels for data collected for 1 week. The smallest value is 1.025

We then plotted the data into a Stanford integrity diagram created by Walter et al. (1999) using the maximum possible GBAS alert limit of 25.4 m. Figure 6 shows that the system caused 5.44% unavailability due to the inflation of the vertical protection level, which is 5.3% more unavailability compared to the uninflated case. When comparing the pure SBAS integrity plot with the GBAS one, we can easily see the “stretching” of the data in the direction of the abscissa. If the FASVAL for the data was reduced to 16.65 m as mentioned in the previous section, the availability would drop from 94.56 to 43.39%, which surely is not acceptable to any user. Note that the FASVAL is applied here to a static measurement. As mentioned, the GBAS alert limit scales with distance from the airport. In order to have any desired availability, a potential user must evaluate the availability at the limit of the operational use of the GLASS, i.e., at the decision height.

Fig. 6
figure 6

Integrity analysis of the GLASS. (Left) Integrity plot of the GLASS navigation solution vertical component. (Right) Integrity plot of the standard SBAS position solution vertical component. The inflation can be recognized by the elongation along the abscissa

Next, we performed a system verification using our test van, a Mercedes transporter, equipped with real avionics hardware. In the vehicle, we installed a red-labeled (non-qualified avionics, used for testing) Rockwell–Collins GLU-925 multi-mode receiver (MMR) from an Airbus A320 and a Honeywell integrated navigation radio (INR) from the Boeing 787 connected to a Novatel Pinwheel antenna. Data were collected from both receivers via the ARINC429 bus with a Condor CEI-530ci PCI interface card. For the transmit function, we connected a Telerad EM9009 GBAS VHF transmitter to the previously mentioned Linux PC. The PC and Telerad were synchronized using a one-pulse-per-second output signal from the Septentrio receiver. The software was configured to broadcast GBAS message types 1, 2 and 4 as specified for the GAST-C service. Using the test vehicle, we tuned the FAS data block of runway 26 at Braunschweig–Wolfsburg airport and drove onto the runway for localizer deviation tests. The GNSS antenna was mounted on the left side of the vehicle slightly behind the driver’s head. The driver then tried to keep the left wheels of the van on the runway centerline. The runway centerline is 90 cm wide. At 3420 s, the driver tried to correct the vans position such that the deviation would be zero meters. This attempt was unsuccessful; the van and driver combination did not have the capability to steer in the sub-decimeter range. Figure 7 shows the result of both navigation receivers. The top panel shows the rectilinear horizontal deviations in meters from ARINC429 label 116 (ARINC429-20 2001). The bottom panel shows the lateral protection level from label 156 as well as protection levels computed at the GLASS installation site. In the top panel, we can see that the rectilinear localizer deviation of both receivers agrees within a few decimeters, with the INR data always being offset to the North (since the runway is more or less in east–west direction). The difference is below the GBAS required accuracy of 16 m and as such within specification. In the bottom panel, we show the lateral protection level for the FAS data block of runway 26 from both receivers as well as the GLASS lateral protection level and the SBAS horizontal protection level computed at the GLASS installation. We see that inflation increases all LPLs above the SBAS HPL. All protection levels follow the sawtooth pattern that is characteristic of SBAS protection levels due to the degradation of the corrections. The same 12 GPS satellites above the mask angle were tracked by all receivers. Interestingly, the Honeywell INR LPL is about three meters larger than the Collins GLU925 LPL. The Collins GLU925 LPL is again roughly one meter larger than the theoretical GLASS LPL computed by the GLASS software. This difference may be due to the models of \(\sigma_{\text{pr,air}}\) implemented in both receivers. The large difference between the two aviation receivers could possibly be explained by Honeywell using a very conservative, overbounding, non-standard model for \(\sigma_{\text{pr,air}}\).

Fig. 7
figure 7

Dynamic test performed on Braunschweig’s runway 26 using a Rockwell Collins GLU925 and a Honeywell INR. The top panel shows the horizontal deviation output from both receivers. At 3420 s, the van driver tried to correct the deviation to zero, but it was unsuccessful. The drive technical error was too large to achieve absolute zero. The bottom panel indicates the lateral protection level as computed by the two multi-mode receivers (red and blue), the SBAS horizontal protection level (purple) and the lateral protection level computed by the GLASS software (green) at the location of the SBAS receiver. Even though it was fed by the same VDB and GPS antennas and both receivers tracked all GPS satellites in view, the LPL output by the INR is three meters larger than the one output by the GLU925

Flight demonstration and automatic landing

In order to demonstrate the full functionality of the GLASS, we chartered an Airbus A319, registration D-AIBI, operated by Lufthansa. This Airbus is one of five within the Lufthansa fleet that have the GLS option enabled and was used in the Single European Sky Air traffic management Research (SESAR) large-scale demonstration projects Automated Approaches to Land AAL (Land 2016). In addition, they are currently also used for GLS automatic land trials in the SESAR very-large-scale demonstration project AAL 2. The D-AIBI has two Collins GLU-925 installed, the same type of receiver that was also used for ground bench testing. Due to the encapsulated nature, only a certain subset of ARINC429 data (ARINC429-20 2001) is available via the electronic flight bag connection (Abdelmoula and Scholz 2018). On May 6, 2019, we performed multiple GLASS approaches to runway 26 of Braunschweig–Wolfsburg airport. Figure 8 shows the data recorded during the last approach that was concluded with an automatic landing. The autopilot remained engaged from localizer capture until the end of the rollout phase. The approaches were flown using the standard RNP approach profile and final approach segment data blocks as published in the German Aeronautical Information Publication (http://www.dfs-ais.de/). The top panel of the figure shows the localizer and glideslope deviations, and the bottom panel shows the sequence of the flight management computer’s guidance modes with respect to the along-track distance from the glide path intercept point with the runway. From 4 km out until touch down, we can distinguish a small oscillation of about 0.01° in amplitude and about 1 km in periodicity. When crossing the threshold, the localizer deviation also starts drifting toward a bias of −0.03° in the rollout phase. Of course, since any aircraft during the rollout phase closes in on the localizer azimuth reference point, the angular sensitivity increases, while the inertia of the aircraft, coupled with wheel friction, acts as a low-pass filter on the deviation indication. Moreover, the variation in localizer is indeed very small and barely distinguishable by the pilot on the primary flight display. The aircraft also follows the desired glide path slightly lower than intended beginning 2 km from touchdown. When closing in on the threshold, the radar altimeter is usually fed into the autopilot in order to guide the aircraft during an automatic flare. Flare, also sometimes called the round-out, is the final aircraft maneuver during the landing phase. Again, the deviation from the glide path is very small and almost not identifiable on the pilots’ displays. The cockpit video of this approach can be found as supplemental material to this manuscript.

Fig. 8
figure 8

Localizer performance and vertical guidance during the approach and automatic landing. The top panel shows the localizer and glideslope deviations, and the bottom panel shows the sequence of the flight management computer’s guidance modes as a function of distance from the touchdown point. The vertical black line indicates the threshold crossing point

Conclusions

The system works as intended with some restrictions in availability due to the protection level inflation and provides SBAS APV-1 capability to GLS-equipped users. It maintains the SBAS integrity and time to alert is a combination of the allotments for SBAS and GBAS. Since the SBAS signal is provided free of charge by most authorities and can be obtained with low-cost receivers, the system provides a cost-effective way to provide GLS approaches based on SBAS (GLASS). The approach remains a 3D approach of type B, also known as a non-precision approach with vertical guidance. For continuity assurance in terms of hardware failure, it is advisable that the processing hardware, SBAS receiver and VDB transmitter are doubled. That way, in case of a single-point failure, the continuous operation of the GLASS is assured. The hardware reliability of the VDB transmitter was already looked at for GLS and could easily be transferred to the GLASS. The approach procedures could be published as GLS approaches with a higher minimum, and a note could be added to the chart that the service is APV only. Alternatively, a GLS channel could be added to the RNP approach procedure chart. Either way, the required pilot training would be minimal. Apart from the extended time to alert, the system mimics a pure SBAS receiver, and it is our belief that not a whole lot of additional certification is required. Thus, the overall cost of the GLASS can be held low to make it attractive for purchase by airports. Moreover, a portable version of GLASS could be installed airborne using a low-power VHF transmitter. This transmitter would feed directly in the VDB input of the GLS receiver. Additionally, when used in this manner, the issue of different ionosphere pierce points does not occur. The GLASS provides the LPV final approach segment to GLS-only-equipped aircraft such as the 737–800. This can enable increased access to airports that are currently not equipped with an xLS-type approach such as Innsbruck (LOWI). In particular, approaches in France could be of interest, since the government has officially declared to decommission all category 1 ILS installations in favor of RNP approaches with LPV.