Introduction

The Global Navigation Satellite System (GNSS) technology, both hardware and software subsystems, is developing rapidly. To meet the requirements of different applications, more accurate GNSS positioning techniques are used, including real-time kinematic (RTK), precise point positioning (PPP), network real-time kinematic (NRTK), and PPP-RTK. In regional or global reference station networks, PPP-RTK offers many flexibilities for precise positioning, and at the same time, with the support of regional atmospheric corrections as well as other network-based phase bias corrections, PPP-RTK can deliver integer ambiguity-fixed high accuracy positioning solutions. PPP-RTK therefore has the potential to combine the advantages of both NRTK and PPP (Teunissen et al. 2010; Teunissen and Khodabandeh 2015).

In some real-world navigation applications, however, it is not enough to only generate high accuracy positioning results. Such positioning results should be also trustworthy. This means that a positioning system should have the ability to detect potential faults. If even after error detection and exclusion, the integrity of the system is unavailable, users of the positioning results should receive a timely warning message. Such a procedure is called integrity monitoring (IM).

Protection levels (PLs) are computed in the IM procedure to indicate the maximum threshold of positioning error based on a pre-defined probability of hazardous misleading information (PHMI) and compared to the alert limit (AL) to determine the availability of the system integrity. In most applications, the coordinate frame used for bounding position error monitoring is the east, north, and vertical system (Blanch et al. 2012, 2015).

Advanced receiver autonomous integrity monitoring (ARAIM) is one of the most popular approaches for computing the PLs in the user receiver based on the multiple hypothesis model, including the solution separation test (SST) (Blanch 2011; Blanch et al. 2012, 2015; Working Group C 2016; Jöerger and Pervan 2016). The theory of multiple hypothesis solution separation (MHSS) ARAIM was applicable for the integrity monitoring when using the least squares (LS) estimator. However, the widely used estimator in PPP or PPP-RTK is the extended Kalman filter (EKF). One of the main differences between the LS and EKF is that the EKF is implemented in a recursive manner using the predicted states in the EKF from previous solution epochs.

For implementing the ARAIM method in KF-based kinematic positioning, some researchers have assumed that there are no faults in the predicted states from the previous epochs (El-Mowafy and Kubo 2020; Wang et al. 2020a, 2021). Another strategy is to run multiple EKFs simultaneously, which will take into account potential faults in the previous epochs (Gunning et al. 2018, 2019; Phelts et al. 2020). As a starting point for this study, these two methods were investigated in order to select the optimal estimation procedure for use in the proposed IM scheme for PPP-RTK.

The method based on running multiple EKFs simultaneously leads to another problem, that is, with the increase in time, more observations will be accumulated, and thus multiple faults may occur. Detecting multiple faults in many observations is impractical for real-time PPR-RTK positioning. In order to reduce and control the probability of multiple faults, Blanch et al. (2020) proposed to reinitialize the banks of EKFs with short intervals. Impacts of the lengths of filtering intervals on the IM performance in PPP-RTK have been investigated.

Furthermore, previous studies of PPP IM have not taken into account the potential faults within regional atmospheric corrections. While atmospheric corrections (including both ionospheric and tropospheric corrections) are critical to the speed of convergence in PPP-RTK (Aggrey and Bisnath 2019), the potential faults in these atmospheric corrections may affect many satellites simultaneously, similar to the effect of constellation faults. Therefore, a more generalized threat model for PPP-RTK IM has been developed in this study. Numerical experiments using both static and kinematic GNSS datasets have been conducted to demonstrate the proposed threat model and new IM algorithms.

PPP-RTK

The linearized form of undifferenced GNSS pseudorange and carrier phase observations can be written as:

$$\begin{array}{c}E\left({P}_{r,j}^{s}\right)={{\rho }_{0}}_{r}^{s}+{G}_{r}^{s}{u}_{r}+c(d{t}_{r,sys}-d{t}^{s})+{b}_{r,sys,j}-{b}_{j}^{s}+{T}_{r}^{s}+{I}_{r,j}^{s}\end{array}$$
(1)
$$\begin{aligned}E\left({L}_{\mathrm{r},\mathrm{j}}^{s}\right)=\,{{\rho }_{0}}_{\mathrm{r}}^{s}+{G}_{\mathrm{r}}^{s}{u}_{\mathrm{r}}+c\left({\mathrm{dt}}_{\mathrm{r},\mathrm{sys}}-d{t}^{s}\right)+{\lambda }_{\mathrm{j}}\left({N}_{\mathrm{r},\mathrm{j}}^{s}+{B}_{\mathrm{r},\mathrm{sys},\mathrm{ j}}-{B}_{\mathrm{j}}^{s}\right)\,+{T}_{\mathrm{r}}^{s}-{I}_{\mathrm{r},\mathrm{j}}^{s}\end{aligned}$$
(2)

where \(P\) and \(L\) denote pseudorange and carrier observations, respectively; E(*) denotes mathematical expectation; \(G\) is the unit vectors matrix from the receiver to the satellite; \(u\) is the increments from estimated positions to the linearized point; \(s\) and \(r\) represent the satellite and receiver, respectively; \(sys\) identifies different constellations; the subscript \(j\) denotes the frequency; \(\rho\) is the distance between a satellite and receiver pair; \(c\) and \({\text{dt}}\) are the speed of light and time offsets, respectively;\(\lambda\) is the wavelength; \(N\) is the integer ambiguity; \(b\) and \(B\) represent the hardware and phase delay, respectively; and \(T\) and \(I\) represent tropospheric delay and ionospheric delay, respectively. Relativistic effects, solid tides, antenna offsets and variation, phase wind-up effects, earth rotation, ocean loading and so on are corrected by empirical models.

If precise orbit, clock, code, and phase bias products in the Bias Solution INdependent EXchange format (Bias-SINEX) (Schaer 2016) obtained from the analysis of observations of the global network are available, only tropospheric delays and ionospheric delays need to be estimated in the regional network. Satellite clock \(d{t}^{s}\) can be corrected by the precise clock product, and satellite code and phase biases \({b}_{\mathrm{j}}^{s}\) and \({\lambda }_{\mathrm{j}}{B}_{\mathrm{j}}^{s}\) could also be corrected from the bias-SINEX product. The linearized form of undifferenced GNSS pseudorange and carrier phase observations (with clock, code, and phase bias being corrected for) could be written as (the same as user receiver):

$$\begin{array}{c}E\left({\widehat{P}}_{\mathrm{r},\mathrm{j}}^{s}\right)={G}_{\mathrm{r}}^{s}{u}_{\mathrm{r}}+d{\overline{t} }_{\mathrm{r},\mathrm{sys}}+{\overline{b} }_{\mathrm{r},\mathrm{sys},\mathrm{j}}+{M}_{\mathrm{r}}^{s}{Z}_{\mathrm{r}}+{\mu }_{\mathrm{j}}{\overline{I} }_{\mathrm{r},1}^{s}\end{array}$$
(3)
$$\begin{array}{c}E\left({\widehat{L}}_{\mathrm{r},\mathrm{j}}^{s}\right)={G}_{\mathrm{r}}^{s}{u}_{\mathrm{r}}+d{\overline{t} }_{\mathrm{r},\mathrm{sys}}+{\lambda }_{\mathrm{j}}{\overline{N} }_{\mathrm{r},\mathrm{j}}^{s}+{M}_{\mathrm{r}}^{s}{Z}_{\mathrm{r}}-{\mu }_{\mathrm{j}}{\overline{I} }_{\mathrm{r},1}^{s}\end{array}$$
(4)
$$\begin{array}{*{20}c} {\left\{ {\begin{array}{*{20}l} {cd\bar{t}_{{r,sys}} = cdt_{{r,sys}} + b_{{r,sys,IF}} } \hfill \\ {\bar{b}_{{{\text{r}},{\text{sys}},{\text{j}}}} = \left\{ {\begin{array}{*{20}c} {0\left( {j \le 2} \right)} \\ {b_{{r,sys,j}} - \mu _{j} \frac{{f_{2}^{2} }}{{f_{1}^{2} - f_{2}^{2} }}b_{{r,sys,GF}} - b_{{r,sys,IF}} \left( {j;2} \right)} \\ \end{array} } \right.} \hfill \\ {\lambda _{j} \bar{N}_{{r,j}}^{s} = \lambda _{j} N_{{r,j}}^{s} + \bar{B}_{{r,sys,j}} } \hfill \\ {\bar{B}_{{r,sys,j}} = \lambda _{j} B_{{r,sys,j}} + b_{{r,sys,IF}} + \mu _{j} \frac{{f_{2}^{2} }}{{f_{1}^{2} - f_{2}^{2} }}b_{{r,sys,GF}} } \hfill \\ {\bar{I}_{{r,1}}^{s} = I_{{r,1}}^{s} + \frac{{f_{2}^{2} }}{{f_{1}^{2} - f_{2}^{2} }}b_{{r,sys,GF}} } \hfill \\ \end{array} } \right.} \\ \end{array}$$
(5)

As a result, the zenith tropospheric delay \({Z}_{\mathrm{r}}\) with respective reference station \(r\) and estimated ionospheric delay \({\overline{I} }_{\mathrm{r},1}^{s}\) with respective reference station \(r\) and satellite \(s\) could be estimated individually. The zenith tropospheric delay \({Z}_{\mathrm{r}}\) and estimated ionospheric delay \({\overline{I} }_{\mathrm{r},1}^{s}\) for each reference station are different. The next step is to interpolate and generate regional corrections. It has been demonstrated that different interpolation methods have close performance in a small-scale network (Wang et al. 2020b); thus, the authors use the lower-order surface method which is convenient in broadcasting corrections to users to interpolate the regional atmospheric corrections. The flowchart for how this study implements the PPP-RTK method is shown in Fig. 1.

Fig. 1
figure 1

Flowchart of PPP-RTK procedure

If the atmospheric corrections are generated by the regional network, and the precise clock, code, and phase bias product are obtained from the global network, after correcting the satellite clock, code bias, and phase bias, these ionospheric and tropospheric corrections are used to constrain the PPP-RTK estimation as pseudo-measurements at the user end and could be estimated with equations (34) (Cheng et al. 2017; Zha et al. 2021), which can be written as:

$$\begin{array}{c}{\overline{I} }_{\mathrm{r},1}^{pq}={I}_{\mathrm{interpolate}}^{pq}\end{array}$$
(6)
$$\begin{array}{c}{Z}_{\mathrm{r}}={Z}_{\mathrm{r},\mathrm{interpolate}}\end{array}$$
(7)

with \({(*)}^{pq}={(*)}^{p}-{(*)}^{q}\) and \({(*)}_{r,interpolate}\) is the interpolated correction.

There are different approaches using atmospheric corrections and their dynamic models. Therefore, they are mainly divided into three approaches. The first approach uses the correction at the first epoch and the dynamic model of atmospheric delay is also used to constrain the atmospheric delay variation in the latter epochs (Banville et al. 2014; Laurichesse and Privat 2015; Aggrey and Bisnath 2019). The second approach uses the correction at every epoch, and atmospheric (especially ionospheric) delays were estimated to be unlinked in time (Psychas et al. 2019; Zha et al. 2021). The third approach uses the correction at every epoch, and the dynamic model of atmospheric delay is also used to constrain the atmospheric delay variation in the latter epochs (Xiang et al. 2020). The correction at the first epoch could be implemented as either a priori value with a given uncertainty or a pseudo-measurement being used with a priori value for the parameter using infinite uncertainty. The correction at the latter epochs could be implemented as pseudo-measurements. In this study, the first approach will be used and the dynamic model of atmospheric delays is modeled as a random walk with a defined STD. The transition model is applied that the predicted atmospheric delay equals to the previous epoch.

After correcting for the satellite biases, from (34), integer nature of ambiguities could be recovered by single differencing. In addition, R ratio test (Euler and Schaffrin 1991) with empirical value 3 is used to validate the results. In this study, the minimum number of fixed satellites is defined based on the number of key estimable parameters, including three coordinates and receiver time offsets for each system used in ambiguity fixing.

Integrity monitoring scheme for PPP-RTK

In the ARAIM framework, a fault detection procedure is an essential part of the process. The fault detection using the solution separation test (SST) approach is implemented here, where the threshold is (Blanch et al. 2012):

$$\begin{array}{c}{T}_{\mathrm{k},\mathrm{q}}={K}_{\mathrm{fa},\mathrm{q}}{\sigma }_{\mathrm{ss},\mathrm{q}}^{\left(k\right)}\end{array}$$
(8)
$$\begin{array}{c}{\sigma }_{ss,q}^{\left(k\right)2}={\sigma }_{q}^{\left(k\right)2}-{\sigma }_{q}^{\left(0\right)2}\end{array}$$
(9)
$$\begin{array}{c}{K}_{fa,1}={K}_{fa,2}={Q}^{-1}\left(\frac{{P}_{{\mathrm{FA}}_{\mathrm{Horizontal}}}}{4N}\right)\end{array}$$
(10)
$$\begin{array}{c}{K}_{fa,3}={Q}^{-1}\left(\frac{{P}_{{\mathrm{FA}}_{\mathrm{Vertical}}}}{2N}\right)\end{array}$$
(11)

where \(k\) is the index of subsets where 0 indicates the all-in-view solution and \(q=1, 2, 3\) are the estimated east, north and vertical coordinate components; \(\sigma\) is the standard deviation of the unknown; \({Q}^{-1}(p)\) is the quantile of the standard normal distribution for \((1-p)\);\({P}_{\mathrm{FA}\_\mathrm{Vertical}}\) and \({P}_{\mathrm{FA}\_\mathrm{Horizontal}}\) are the false alarm probabilities in the vertical and horizontal directions, respectively; and \(N\) is the number of subsets. The absolute value of the difference between subset solutions \({x}_{\mathrm{q}}^{(k)}\) and all-in-view solutions \({x}_{\mathrm{q}}^{(0)}\) will be tested, and a fault is assumed detected when \(\frac{\left|{x}_{\mathrm{q}}^{\left(k\right)}-{x}_{\mathrm{q}}^{\left(0\right)}\right|}{{T}_{\mathrm{k},\mathrm{q}} }>1\).

The PL is defined as:

$$\begin{array}{c}\sum P\left(\mathrm\,{position \,error};\,PL\; \,\mathrm{test\, passed}\right)\,P(fault \,occurance);\,PHMI\end{array}$$
(12)

which can be further represented as:

$$\begin{array}{c}\sum\limits_{i=0}^{N}P\left(\left|x-\widehat{x}\right|;\,PL\&\; \,y\in\Omega \,\right| {H}_{i})P({H}_{i});\,PHMI\end{array}$$
(13)

where \(P(*)\) is the notation of probability; \(x\) and \(\widehat{x}\) are the state and all-in-view estimated state; \({H}_{\mathrm{i}}\) is the hypothesis \(i\); and \(\Omega\) is the measurement region based on the test statistics. The PLs can be computed using half interval search for the \(q\) component (Blanch et al. 2012):

$$\begin{array}{*{20}c} {2Q\left( {\frac{{PL_{{\text{q}}} - b_{{\text{q}}}^{{\left( 0 \right)}} }}{{\sigma _{{\text{q}}}^{{\left( 0 \right)}} }}} \right) + \mathop \sum \limits_{{i = 0}}^{N} Q\left( {\frac{{PL_{{\text{q}}} - T_{{{\text{i}},{\text{q}}}} - b_{{\text{q}}}^{{\left( i \right)}} }}{{\sigma _{{\text{q}}}^{{\left( i \right)}} }}} \right)P\left( {H_{i} } \right) = {\text{PHMI}}_{{\text{q}}} \left( {1 - \frac{{P_{{{\text{unmonitored}}}} }}{{PHMI_{{o{\text{verall}}}} }}} \right)\# } \\ \end{array}$$
(14)

where \({\mathrm{PHMI}}_{\mathrm{overall}}\) is the overall budget for PHMI and \({\mathrm{PHMI}}_{\mathrm{q}}\) are the allocated budgets for \(qth\) component; \({P}_{\mathrm{unmonitored}}\) represents the probability of unmonitored faults; \({b}_{\mathrm{q}}^{\left(i\right)}\) is the effect of the nominal bias on \(qth\) component of the unknown caused.

The worst-case effect caused by the bias vector \({b}_{nominal}\) at epoch \(t\) in the EKF which has a sign that maximizes its effect be estimated as (Wang and El-Mowafy 2021; Crespillo 2022):

$$\begin{array}{c}b=\left|{S}_{t}\right|{\mathrm{b}}_{\mathrm{nominal}}\end{array}$$
(15)

with

$$\begin{array}{c}\left\{\begin{array}{l}{S}_{1}={K}_{1} \left(t=1\right)\\ {S}_{t}=\left(I-{K}_{t}{A}_{t}\right){\Phi }_{t}{S}_{t-1}+{K}_{t} \left(t>1\right)\end{array}\right.\end{array}$$
(16)

where \({A}_{\mathrm{t}}\) is the design matrix of the measurements; \({\Phi }_{\mathrm{t}}\) is the dynamic propagation matrix; \({K}_{\mathrm{t}}\) is the Kalman gain at epoch \(t\). \({b}_{\mathrm{q}}^{\left(i\right)}\) then is extracted for the \(q\) component of \(b\) in the EKF of the \(kth\) subset.

Fault models for PPP-RTK positioning

In the solution separation subset selection approach, selecting subsets based on every observation is not realistic, and not efficient because of the large number of observations in PPP. To overcome the above challenges in PPP positioning, previous studies have proposed strategies to reduce the number of subset solutions for SST-based IM (Gunning et al. 2018, 2019; Blanch et al. 2020), by grouping all observations of one satellite as one fault and only consider this satellite fault in the model. This method avoids detecting and protecting which exactly measurement is faulty and reduced computational burden.

In the traditional ARAIM method, faults are only categorized into satellite faults and constellation faults (Blanch et al. 2012, 2015). In the PPP-RTK positioning model used in this study, some faults may affect many observations simultaneously. For example, since tropospheric delays are modeled as a zenith tropospheric delay projecting into all observations with a mapping function, tropospheric corrections generated by reference stations in zenith direction will affect all observations at the same time. If one only monitors subsets by excluding individual satellites, one cannot properly mitigate the effect of faults in the tropospheric corrections. Furthermore, considering the effect of ionospheric scintillation, faults in the regional ionospheric corrections may also affect many satellites simultaneously. Therefore, the faults in PPP-RTK should be carefully considered and categorized into several types, including both ionospheric and tropospheric correction fault types, based on their effects on different parameters and observations in SST-based IM. Based on the failure modes mentioned in Du et al. (2021) for PPP-RTK positioning, the authors classify the faults according to their effects on observations and unknowns, as listed in Table 1. Some failure modes cannot be monitored by the ARAIM process, for example those that are common to all observations, such as incorrect receiver antenna phase center information, which should be calibrated before its use in a navigation system.

Table 1 Fault categories of PPP-RTK

Based on the above classification, all fault events can be divided into three types: satellite-related faults, constellation-related faults, and atmospheric fault events (including ionospheric correction faults and tropospheric correction faults). The probabilities of these types of faults are identified as: \({P}_{\mathrm{sat}}\), \({P}_{\mathrm{const}}\) and \({P}_{\mathrm{atm}}\), respectively. The impact of these assumed settings on the PPP-RTK integrity performance has been investigated in the latter sections. The risk of incorrect ambiguity fixing is ignored in this study; a compromised method is that the probability of wrong fixing can be taken from the PHMI budget. This method is analyzed in the later section.

PPP-RTK integrity monitoring with banks of Kalman filtering

As mentioned earlier, the above MHSS ARAIM approach was first designed for LS framework. The Kalman filter can be transferred to the LS format (Welch and Bishop 1995; Mysen 2017). If the subsets result is only computed based on the one-step update of the Kalman filter, it should be assumed that time-update states are properly accounted for in the stochastic model without faults. However, the IM process cannot guarantee that all faults are detected and eliminated, especially for ramping errors. Here, the authors describe a simple simulation example to illustrate this issue.

A simulated GPS-only dual-frequency PPP result based on actual satellite geometry with a satellite clock ramping error added to SV G04 started from the 500th epoch to increase from zero with a speed of 3 mm/s. Only single-satellite fault is considered and \(P\left({H}_{i}\right)={10}^{-5}\), \(\mathrm{PHMI}={10}^{-7}\) and \({P}_{\mathrm{FA}}={10}^{-6}\). The stochastic model matches the simulated noise, and the single-satellite fault is considered in the assumption. However, it can be noticed that the faults are not detected even though the positioning errors (PEs) have significantly exceeded the PLs using the one-step update EKF method in Fig. 2. In contrast, the ARAIM approach based on banks of Kalman filtering can detect the fault before PEs exceeds the PLs for this case. The authors have tested these methods many times, based on different geometries, with similar outcomes. This has confirmed that the ARAIM approach based on the one-step update EFK cannot perform properly when ramping errors are present.

Fig. 2
figure 2

PLs and PEs until faults are detected using the ARAIM approach based on one-step update EKF (left) and the banks of Kalman filters (right) with simulated faults in the three different directions

Since a large part of the errors in PPP-RTK might be ramping errors, a realistic implementation of the proposed PPP-RTK IM method should be based on banks of the Kalman filter, e.g., the Kalman filter is running multiple simultaneous Kalman filters with subsets that are fault-tolerant. This process is theoretically equivalent to the batch LS approach with subsets eliminating observations at every epoch (Blanch et al. 2020). As a result, ramp errors could be detected by the solution separation test if the effects caused by the ramp errors to the estimated unknowns are larger than the threshold.

Controlling the probability of the multiple faults in the banks of Kalman filtering

Due to the possibility of multiple faults, the number of expected simultaneous faults should be defined. The maximum number of simultaneous monitored fault events \({N}_{\mathrm{max}\_event}\) could by a defined threshold (Blanch et al. 2012):

$$\begin{array}{c}\underset{{N}_{\mathrm{max}\_\mathrm{event}}}{\mathrm{min}}\left(P\left(\mathrm{Number\,of \,Events}>{N}_{\mathrm{max}\_\mathrm{event}} \right)\right)={P}_{\mathrm{unmonitored}}<{P}_{\mathrm{threhold}}\end{array}$$
(17)

where \({P}_{\mathrm{threhold}}\) is the defined threshold for the probability of unmonitored events. \({P}_{\mathrm{threhold}}\) can be defined differently based on the application of interest.

In real applications, the settings of \(PHMI\) and \({P}_{\mathrm{FA}}\) could also be defined differently depending on purpose and requirements. The fault probability \({P}_{\mathrm{fault}}\) could be defined by an assumption that it could be calculated by the probability of fault rate \({P}_{\mathrm{fault}\_\mathrm{rate}}\) with the length of the filter \({T}_{\mathrm{interval}}\) as (Blanch et al. 2020) when \({T}_{\mathrm{interval}}\) is not extremely short:

$$\begin{array}{c}{P}_{\mathrm{fault}}\approx {P}_{\mathrm{fault}\_\mathrm{rate}}*{T}_{\mathrm{interval}}\end{array}$$
(18)

Therefore, restarting the filter to shorten the \({T}_{\mathrm{interval}}\) could reduce the number of simultaneous faults that need to be monitored. To avoid the PPP-RTK positioning filters converging from the beginning when filters are reinitialized, the method of running two batches of EKFs sequentially is used with half of the given intervals (Blanch et al. 2020). This method is shown in Fig. 3, where the overall results will be based on the results from the banks of filters when it runs more than half of the intervals, except for the first batch.

Fig. 3
figure 3

Illustration of running two batches of EKFs sequentially

PPP-RTK integrity monitoring implementation

The flowchart of the implementation of PPP-RTK IM is shown in Fig. 4. For float solutions, if the step errors are detected in the one-step update EKF, the corresponding fault will be excluded. If the faults are detected in the parallel filters, the corresponding fault will be excluded and filters will be restarted. For ambiguity-fixed solutions, if faults are detected, the ambiguity-fixed solutions will be rejected. In contrast to previous PPP IM studies, the proposed new scheme deals with both ambiguity-float and ambiguity-fixed PPP-RTK solutions.

Fig. 4
figure 4

Flowchart for PPP-RTK integrity monitoring scheme

PPP-RTK integrity monitoring performance with a static dataset

Datasets collected by permanent reference stations usually have a high observation quality, and thus it is comparatively easy to test IM methods. These “clean” datasets will be used to investigate the IM performance for PPP-RTK.

As shown in Fig. 5, the dataset comprises the GOPE “user” station located in Czechia surrounded by a reference station network of four. One-hour dataset for March 13, 2021, was analyzed. Four GNSS constellations—GPS, GLONASS, Galileo, and Beidou—were considered. The precise clock and ephemeris information was obtained from the German Research Centre for Geosciences (GFZ) and satellite biases from the Centre National D'Etudes Spatiales (CNES). Atmospheric corrections were generated by the single reference station, and the reference stations were used for interpolation. Some characteristics of the stochastic model are listed in Table 2. These were used in all of the experiments reported in this research unless otherwise specified.

Fig. 5
figure 5

Station distribution of PPP-RTK experiment: user station GOPE (red), reference stations (blue)

Table 2 Some characteristics of the observation process stochastic models for PPP-RTK

IM performance with simulated faults

Considering that the fault probabilities are difficult to reflect in the simulated fault, we set the \({P}_{\mathrm{sat}}={10}^{-6}\) and other fault probabilities and PHMI as \({10}^{-8}\) in this experiment to evaluate the IM performance with injected faults. In this section, the method of two batches of sequential restarted filters will not be used to better present the process of fault detection because the filter will be restarted when faults are detected.

To simulate satellite faults, ramp errors with the speed of 3 mm/s are synthetically added to the G04 satellite clock starting from the 500th epoch. The results are presented in Fig. 6, and it can be noticed that the fault is detected and the filters are restarted. In this process, the estimated PLs have correctly bound the PEs.

Fig. 6
figure 6

PPP-RTK PLs and PEs with the simulated ramp errors in satellite G04 with (right) and without (left) ambiguity-fixed solutions. The misses of PEs in (right) represent the failure of ambiguity fixing

To simulate the constellation fault, ramp errors with the speed of 3 mm/s are added to the G03 and G22 satellite clocks starting from epoch 200. The results are presented in Fig. 7 and the estimated PLs correctly bound the PEs. It can be noticed that the fault is detected as faults in G03 and G22 individually and results in the re-initialization of the filter two times. This is because the constellation fault can be considered as some faults of the satellites in this constellation, and the threshold of satellite fault is significantly tighter than the constellation fault in SST because the geometry changes of excluding one satellite are significantly smaller than excluding one constellation. This is the same as the traditional ARAIM process. However, the constellation fault is still critical and necessary to correctly bound the PEs because the simultaneous fault in many satellites in the same constellation will be out of the fault models if we only consider single-satellite faults.

Fig. 7
figure 7

PPP-RTK PLs and PEs with the simulated ramp errors in GPS constellations with (right) and without (left) ambiguity-fixed solutions. The misses of PEs in (right) represent the failure of ambiguity fixing

To simulate the ionospheric correction fault, errors of 1 m are added to the ionospheric corrections of G04 and E03. The results are presented in Fig. 8 and the estimated PLs correctly bound the PEs. Two faults are detected as faults in satellites individually. The phenomenon is similar to the constellation fault, and the reasons are also identical. This is because the ionospheric correction fault can be considered as serval individual faults of the satellites similar to satellite fault versus constellation fault, and it is still critical to bound the PE correctly.

Fig. 8
figure 8

PPP-RTK PLs and PEs with the simulated errors in ionospheric corrections with (right) and without (left) ambiguity-fixed solutions. The misses of PEs in (right) represent the failure of ambiguity fixing

To simulate the tropospheric correction fault, 0.5 m errors are added to the tropospheric corrections. The results are presented in Fig. 9, and the fault is detected and filters are restarted. The estimated PLs correctly bound the PEs.

Fig. 9
figure 9

PPP-RTK PLs and PEs with the simulated errors in tropospheric corrections with (right) and without (left) ambiguity-fixed solutions. The misses of PEs in (right) represent the failure of ambiguity fixing

Impacts of filter interval length on IM performance

Assume the following values: \(\mathrm{PHMI}={10}^{-7}\),\({P}_{\mathrm{FA}}={10}^{-6}\) (Gunning et al. 2018), \({P}_{\mathrm{sat}\_\mathrm{rate}}={10}^{-5}/\mathrm{hr}\)(Renfro et al. 2021), \({P}_{\mathrm{const}\_\mathrm{rate}}={10}^{-7}/\mathrm{hr}\), \({P}_{\mathrm{atm}}={10}^{-8}/\mathrm{approach}\) and \({P}_{\mathrm{threhold}}=6\times {10}^{-8}\). Using (17), only the single-fault scenario is considered in the one-hour dataset. Figure 10 is a plot of the PLs with different \({T}_{\mathrm{interval}}\). Two conclusions can be drawn:

  • For PLs estimated in the ambiguity-float solutions, with an increase of the \({T}_{\mathrm{interval}}\), the PLs of the epochs before \({T}_{\mathrm{interval}}/2\) will increase and the PLs of the epochs after \({T}_{\mathrm{interval}}/2\) will decrease.

  • For PLs estimated in the ambiguity-fixed solutions, the PLs will increase slightly with \({T}_{\mathrm{interval}}\) increase because the fault probabilities will increase.

Fig. 10
figure 10

PLs with different lengths of interval (6 min and 20 min) with (right) and without (left) ambiguity-fixed solutions

When \({T}_{\mathrm{interval}}\) is too short, the process of ambiguity fixing may not be successful and the PLs may be too large. On the other hand, when \({T}_{\mathrm{interval}}\)is too long, there may be an increase in the number of simultaneous faults, which results in a large computational load. Therefore, \({T}_{\mathrm{interval}}\) should be varied for different applications. In this study, the authors use \({T}_{\mathrm{interval}}\) with the value of 6 min, derived empirically to obtain a balance between successful ambiguity fixing and manageable computational burden.

Impacts of probabilities of different fault types on IM performance

Assuming there are no faults in simulated observations, the authors defined several probability settings for events within \({T}_{\mathrm{interval}}\) for investigation:

Setting 1: \({P}_{sat}={10}^{-5}/\mathrm{hr}\), \({P}_{\mathrm{const}}={10}^{-7}/\mathrm{hr}\), \({P}_{\mathrm{atm}}={10}^{-8}/\mathrm{approach}\)

Setting 2: \({P}_{\mathrm{sat}}={10}^{-4}/\mathrm{hr}\), \({P}_{\mathrm{const}}={10}^{-7}/\mathrm{hr}\), \({P}_{\mathrm{atm}}={10}^{-8}/\mathrm{approach}\)

Setting 3: \({P}_{\mathrm{sat}}={10}^{-5}/\mathrm{hr}\), \({P}_{\mathrm{const}}={10}^{-7}/\mathrm{hr}\), \({P}_{\mathrm{atm}}={10}^{-7}/\mathrm{approach}\)

Setting 4: \({P}_{\mathrm{sat}}={10}^{-5}/\mathrm{hr}\), \({P}_{\mathrm{const}}={10}^{-6}/\mathrm{hr}\), \({P}_{\mathrm{atm}}={10}^{-8}/\mathrm{approach}\)

Based on (17) and these four assumed fault probabilities, only single-fault scenarios were considered so as to reduce the computational burden in the multi-frequency, multi-constellation undifferenced and uncombined PPP model. The results for different fault rates are shown in Fig. 11.

Fig. 11
figure 11

PLs with different settings and PEs with (right) and without (left) ambiguity-fixed solutions

Since some of the results are very close, the median values of the estimated PLs are summarized in Table 3. Comparing the results with the above probability settings, it should be easily noted that:

  • The effect of \({P}_{sat}\) is very small in the ambiguity-float solutions, but it will slightly affect the results of ambiguity-fixed solutions.

  • \({P}_{const}\) affects both PPP-RTK ambiguity-float and kinematic results, but the effect is not particularly large.

  • \({P}_{atm}\) has a significant impact on the ambiguity-float solution, but is not that significant in PPP-RTK ambiguity-fixed solution.

Table 3 Median values of PLs with different probabilities for PPP-RTK results

PPP-RTK integrity monitoring performance with kinematic datasets

The performance of this IM method for PPP-RTK was tested with data from actual kinematic experiments. Dataset A is a 34-min dataset collected at the university (UNSW) car park on November 16, 2021, in the city of Sydney (Australia). Dataset B is a 34-min dataset collected on the highway on November 17, 2021, in the town of Goulburn (Australia). Dataset C is a 90-min dataset collected on April 03, 2021, in the town of Yass (Australia), where the car was mainly driven on the highway but also traveled some regions with signal obstructions in the town. The trajectories are plotted in Fig. 12, Fig. 13, and Fig. 14. Information on the datasets is summarized in Table 4.

Fig. 12
figure 12

Trajectory of the kinematic experiment Dataset A

Fig. 13
figure 13

Trajectory of the kinematic experiment Dataset B

Fig. 14
figure 14

Trajectory of the kinematic experiment Dataset C

Table 4 Some key information the GNSS frequencies tracked in the kinematic datasets
Fig. 15
figure 15

PPP-RTK PLs and PEs of dataset A with (right) and without (left) ambiguity-fixed solutions. The PEs of float solutions are also presented in (right) when ambiguities are not fixed

Fig. 16
figure 16

PPP-RTK PLs and PEs of dataset B with (right) and without (left) ambiguity-fixed solutions. The PEs of float solutions are also presented in (right) when ambiguities are not fixed

Fig. 17
figure 17

PPP-RTK PLs and PEs of the dataset C with (right) and without (left) ambiguity-fixed solutions. The PEs of float solutions are also presented in (right) when ambiguities are not fixed

To estimate the position error, reference positions of the receiver are required. For this purpose, the post-processing RTK results computed by the commercial software Inertial Explorer were adopted as the reference values for the experiments. The ionospheric corrections and tropospheric corrections were generated by the reference stations using ambiguity-fixed results. Datasets A and B use a network with inter-station distances about 10 km and 100 km, respectively. Dataset C uses a single reference station near the starting point. The stochastic model characteristics are the same as those used in the static experiments.

Kinematic data results

The ARAIM-related parameters were defined as: \(\mathrm{PHMI}={10}^{-8}\) (Reid et al. 2019),\({P}_{\mathrm{FA}}={10}^{-6}\), \({P}_{\mathrm{sat}\_\mathrm{rate}}={10}^{-5}/hr\), \({P}_{\mathrm{const}\_\mathrm{rate}}={10}^{-7}/hr\), \({P}_{\mathrm{atm}}={10}^{-8}/\mathrm{approach}\) and \({P}_{\mathrm{threhold}}=6\times {10}^{-9}\). The authors used a 20-degree cut-off elevation angle to reduce the effect of NLOS errors. Only satellites for which both dual-frequency pseudorange and carrier phase measurements were available were used for positioning. This reduces the potential faults caused by the receiver tracking problems. Results for the three datasets are presented in Figs. 15, 16, 17. Only PEs of ambiguity-float solutions are presented in the results of ambiguity-fixed solutions to indicate the situation that ambiguities are not fixed at that time. The PLs of these ambiguity-float solutions could refer to the results of ambiguity-float solutions. This is applied to all the following figures.

In addition, Stanford integrity diagram for these three datasets is presented in Fig. 18. It can be noticed that there is no misleading information obtained in these cases.

Fig. 18
figure 18

Stanford integrity diagram of the PPP-RTK results with (bottom) and without (top) ambiguity-fixed solutions. The results in three directions are merged into the figure

There are small gaps in the time series of ambiguity-fixed solutions. There are also some large PLs for Dataset C due to unsuccessful ambiguity fixing caused by the lower observation quality and bad satellite geometry, and hence only ambiguity-float solutions are available for those observations. This mainly occurs in urban areas with nearby signal obstructions. Note that the ambiguity-float PLs are usually at the level of a few meters. This could already meet the requirement of maritime applications and railway applications on medium-density lines (GSA 2021). Differently, the ambiguity-fixed PLs could reach less than one meter in the horizontal direction components when the observation condition is good. In autonomous driving applications, the horizontal alert limit (HAL) is defined by lateral and longitudinal position components. However, attitude information needs to be obtained from other sensor technologies. In comparison with the positioning requirements for autonomous vehicles (Reid et al. 2019), it is encouraging that PPP-RTK techniques have the potential to meet the location integrity requirement at the level of \({10}^{-8}\) for autonomous driving on a freeway. However, working in a more complex environment, for example, the urban environment, a more conservative assumption is required for both stochastic models, nominal biases, and fault probabilities to meet reality. In addition, the alert limit requirement in the urban area is considered smaller than on a freeway (Reid et al. 2019). It is still difficult to achieve a small PHMI budget and small alert limit at the same time, and thus, it is necessary to work with other sensors and GNSS takes only a part of the overall PHMI budget.

Existing issues of ionospheric correction implementation

As mentioned earlier implementations, the ionospheric corrections can be implemented with different methods. The authors also investigated ARAIM performance using different approaches. Approaches using corrections at every epoch and the ionospheric delays estimated linked and unlinked in time are all tested.

Reasonable results can be obtained for some datasets. For example, the results of kinematic Dataset A using these two approaches are shown in Figs. 19 and 20, respectively. It can be noticed that the increase in estimated PLs is significant if the ionospheric delays are estimated unlinked in time.

Fig. 19
figure 19

PLs and PEs of the PPP-RTK results of dataset A which uses ionospheric corrections at every epoch and the dynamic model of ionospheric delays is modeled as random walk with (right) and without (left) ambiguity-fixed solutions

Fig. 20
figure 20

PLs and PEs of the PPP-RTK results of dataset A, which uses ionospheric corrections at every epoch and ionospheric delays are estimated unlinked in time with (right) and without (left) ambiguity-fixed solutions

Nevertheless, in some datasets, one can see that some faults are detected in these two methods. For example, the SST results of Dataset A and B for these two approaches are shown in Fig. 21 and Fig. 22, respectively. Note that the results of SST of dataset B exceed the threshold at many epochs.

Fig. 21
figure 21

SST results of dataset A (left) and dataset B (right) which uses ionospheric corrections at every epoch and the dynamic model of ionospheric delays is modeled as random walk: ambiguity-float solutions (top) and ambiguity-fixed solutions (bottom)

Fig. 22
figure 22

SST results of dataset A (left) and dataset B (right) which uses ionospheric corrections at every epoch and ionospheric delays are estimated unlinked in time: ambiguity-float solutions (top) and ambiguity-fixed solutions (bottom)

In these experiments, this occurred not only happens in this kinematic test, but also in some static tests. This could be due to the unrealistic modeling for the ionospheric correction errors, and some remaining errors causing temporal correlations. It is reasonable to ignore the effect of temporal correlations in GNSS observation. Nevertheless, the temporal correlations for ionospheric correction errors may sometimes be significant. To address this issue, the authors propose a strategy of using ionospheric corrections over certain intervals to reduce the effect of the temporal correlations. SST results using ionospheric corrections every 5 s are plotted in Figs. 23 and 24. While a promising strategy, more investigation of temporal correlations is planned in the future.

Fig. 23
figure 23

SST results of dataset A (left) and dataset B (right), which uses ionospheric corrections at every 5 s and the dynamic model of ionospheric delays is modeled as a random walk: ambiguity-float solutions (top) and ambiguity-fixed solutions (bottom)

Fig. 24
figure 24

SST results of dataset A (left) and dataset B (right), which uses ionospheric corrections at every 5 s and ionospheric delays are estimated unlinked in time: ambiguity-float solutions (top) and ambiguity-fixed solutions (bottom)

Impacts of wrong ambiguity fixing

In this study, the ARAIM has been used in integrity monitoring for two types of carrier phase-based positioning solutions: the ambiguity-float solutions and the ambiguity-fixed solutions. While the float ambiguities (which are real-valued parameters) have no difference from other parameters in the LS/KF estimation process, there will be likelihood of wrong ambiguity fixings in the ambiguity-fixed solutions.

As mentioned in the previous section, the probability of wrong fixing is ignored in this study. Nevertheless, the wrong ambiguity fixing may not be ignorable in estimating PLs of ambiguity-fixed solutions; otherwise, the estimated PLs may be too optimistic. To overcome this problem, assuming from practice that the unmonitored wrong ambiguity-fixing probability is very small, it could be added to the probability of unmonitored fault \({P}_{\mathrm{unmonitored}}\) in Eq. (14) similar to other unmonitored multiple simultaneous faults. An example of dataset C is used to present the difference between considering the probability of wrong ambiguity fixing as \({10}^{-9}/\mathrm{approach}\) and ignoring the wrong ambiguity fixing shown in Fig. 25. It can be noticed that the difference, in this case, is very small, especially with good observation environments.

Fig. 25
figure 25

Differences between the estimated PLs of ambiguity-fixed solutions considering the probability of wrong ambiguity fixing as \({10}^{-9}/approach\) and ignoring wrong ambiguity fixing in three directions using dataset C

It is clear that a limitation of this method is that the \({P}_{\mathrm{unmonitored}}\) should be smaller than the defined PHMI. Therefore, when the probability of wrong ambiguity fixing increases to \({10}^{-8}/\mathrm{approach}\), this method is no longer available if the PHMI is still defined as \({10}^{-8}/\mathrm{approach}\). In this scenario, the PPP float solutions could be used; otherwise, the budget of PHMI should increase to, i.e., \({10}^{-7}/\mathrm{approach}\) and the scheme of computing the PLs will be unchanged. Figure 26 presents the PL results for both ambiguity-float and fixed solutions for the case when the PHMI is set as \({10}^{-7}/\mathrm{approach}\) and the probability of wrong ambiguity fixing increases to \({10}^{-8}/\mathrm{approach}\). It is clear that the estimated PLs decrease compared to the results of the PHMI set as \({10}^{-8}/\mathrm{approach}\) which are shown in Fig. 18.

Fig. 26
figure 26

PPP-RTK PLs and PEs of the dataset C with (left) and without (right) ambiguity-fixed solutions with PHMI set as \({10}^{-7}/approach\). The PEs of float solutions are also presented in (right) when ambiguities are not fixed

In this case, this integrity monitoring scheme could be used to accommodate the larger probability of wrong ambiguity fixing because of the increase in the PHMI budget. As shown in Fig. 27. The PL differences between considering or ignoring the probability of wrong ambiguity fixing is still small.

Fig. 27
figure 27

Difference of estimated PLs of ambiguity-fixed solutions between considering the probability of wrong ambiguity fixing as \({10}^{-8}/approach\) and ignoring wrong ambiguity fixing with PHMI defined as \({10}^{-7}/approach\) in three directions using dataset C

Overall, our new results have shown that the impacts of wrong ambiguity fixing on the protection levels for ambiguity-fixed solutions are not significant (less than 5 cm in the horizontal directions, less than 8 cm for the vertical direction under poor observing conditions) if the probability of wrong fixing is small.

In order to have more flexibility in protecting the risk against wrong ambiguity fixing, a new integrity monitoring method may be further developed to extend the fault types listed in Table 1 to include wrong ambiguity-fixing faults. Such further investigation is beyond the scope of this paper and will be conducted in the future.

Concluding remarks

To enable the use of GNSS PPP-RTK for safety–critical positioning applications, the authors have proposed an integrity monitoring scheme that includes solution-separation-based fault detection and integrity risk models. This new IM scheme has been tested with simulated datasets, IGS station static datasets, and actual vehicle kinematic datasets. The main contributions of this study are summarized below.

  1. (1)

    A more generalized fault category model for use in PPP-RTK with regional atmospheric corrections has been developed, which is based on the impacts of faults on the estimators considering possible faults in undifferenced and uncombined measurements. Faults are categorized into not only satellite-related faults and constellation-related faults, but also other independent fault events, including the faults in regional ionospheric and tropospheric corrections.

  2. (2)

    Different types of faults, including ramp errors, and their effect on performance using the ARAIM theory have been investigated. Considering the effect of ramp errors, the IM method of running multiple EKFs simultaneously can be used for PPP-RTK. In addition, the effects of using different length intervals and their impact on the fault probabilities were analyzed.

  3. (3)

    The effects of fixing integer ambiguities on PPP-RTK positioning integrity have been studied. The numerical results have shown that, in comparison with the ambiguity-float solutions, the PLs estimated by ambiguity-fixed solutions can be significantly reduced under the assumption that the probability of wrong ambiguity fixing is very small and thus can be ignored.

Further investigation on the probabilities of different types of faults, such as the probabilities of wrong ambiguity fixing under various observing conditions, will be conducted in the future. Such studies need to collect large amount of GNSS data sets from real-world application environments.