Keywords

1 Introduction

The performance of the navigation satellite receiver is determined by users’ location solving algorithm and integrity monitoring methods. The integrity monitoring technique is an indispensable part of the aircraft navigation system, meanwhile, which is a measure metrics of capability for timely warning when the location and guidance information provided by satellite navigation terminal could not meet the requirements of flight activity. The new generation of global satellite navigation systems (GNSS) represented by BeiDou is developing to the globalization, multi-frequency signal, multi-system compatible interoperability direction [13]. As the appearance of novel technologies for improving receiver positioning performance, the location accuracy of terminal is becoming easy to meet the flight equipment, but the integrity monitoring technology of satellite navigation information for aerospace applications is developing relatively slowly. How to effectively improve the integrity monitoring capability of GNSS receiver to ensure the navigation information reliable is the main research background of this article.

The current receiver autonomous integrity monitoring algorithms (RAIM) was the “snapshot” methods mostly based on single-frequency signals, which included the least squares residuals method [4], parity vector method [5] and the pseudorange comparison method [6]. When five visible satellites were observed, this algorithms could detect the fault satellite, and it would identify the fault satellite when six visible satellites were observed. In addition, for the existing single-frequency “snapshot” RAIM algorithms, when the pseudorange deviation was small or slowly changing, the algorithms would have no ability to detecting and correcting errors [2, 3]. To solve these shortcomings currently, the main method was accumulating non-coherent integration of multi-epoch parity vector to improve the monitoring performance of the algorithm [7], but due to the accumulation of information from multiple epochs, the existing algorithm had a very long alarming time. It was difficult to meet the targets of aviation navigation systems, and this algorithm cannot work out the above problem in essential.

With the development of the global navigation satellite system (GNSS), the GNSS receiver will use multi-frequency signals to position and navigate in the future. Therefore, how to enhance the navigation signal integrity monitoring capacity by effectively using multi-frequency information is becoming a hot topic and the mainstream of RAIM development [810]. But the multi-frequency practical researches are relatively rare comparing to the single-frequency methods. New theories are urgently needed to develop. The multi-frequency RAIM algorithms given by conference [2, 3] were based on the algorithms of integrated navigation system, which performed integrity detection by using different frequencies in different systems. But the essence was still single-frequency integrity algorithm. The paper [9] fused redundant informations of different frequencies to the observation, proposing a multi-frequency RAIM method. However, the assumption that the noise of each frequency was independent did not comply with the real triple-frequency signals. Then the computational complexity of this algorithm is very large and difficult to accomplish in multi-frequency user receiver. Although the reference [10] giving a reasonable assumption for each frequency noise of the triple-frequency RAIM algorithm, but did not explain why triple-frequency algorithm could improve the system integrity, so the result of this paper needs to be further deepened.

Researches showed that different pseudorange of the same satellite was related to the ionosphere delay in the transmission [11]. However, this information had’t been used in the existing receiver RAIM technologies [9, 10]. Therefore, this paper focused on: single-frequency GNSS receiver how to deduce the receiver “unused” frequency ionosphere delay by the ionosphere delay of known carrier frequency. Based on the “virtual” multi-frequency ionosphere delay model of single-frequency receiver, the paper proposed a novel virtual multi-frequency integrity monitoring technique for single-frequency receiver. Taking virtual triple-frequency for instance, the paper gave the detailed steps of the new algorithm. For the issues that measurement error covariance matrix is not diagonal, the paper propose a new method for pre-whitening which could easily implemented in a receiver. The results showed that the “virtual multi-frequency” RAIM method not only broke the traditional RAIM algorithms limit on the number of visible satellite, but also greatly enhanced the integrity performance of the receiver monitoring without changing the hardware structure of single-frequency receiver. The researches of this paper may have a harmonious theoretical significance and practical value to the RAIM technique.

The structure of this paper is as follows: the first section mainly introduced how to obtain and calculate the virtual triple-frequency ionosphere delay vector; the second section introduced virtual triple-frequency observation equations and the pre-whitening processing method, and this section also analysed the virtual triple-frequency RAIM fault detection and recognition algorithms; Finally the feasibility of the algorithm were verified by simulations.

2 Virtual Triple-Frequency Ionosphere Delay Model

GNSS dual-frequency receiver (assume L1 and L2 frequency) can directly determine the ionosphere delay by using dual-frequency measurements without any mathematical model [11]. If the pseudorange measurements on L1 and L2 carriers launched by the same satellite at the same time represent with ρ 1 and ρ 2, the pseudorange observation equations can be expressed as follows:

$$ \rho_{1} = r + \delta t_{u} - \delta t^{(s)} + I_{1} + T + \varepsilon_{\rho_{1}} $$
(13.1)
$$ \rho_{2} = r + \delta t_{u} - \delta t^{(s)} + I_{2} + T + \varepsilon_{\rho_{2}} $$
(13.2)

where r is the geometrical distance between satellite and receiver. \( \delta t_{u} \) and \( \delta t^{\left( s \right)} \) are the receiver clock error and the satellite clock error. I 1 and I 2 are two frequencies ionosphere delay. Respectively, T is the tropospheric delay, and \( \varepsilon_{{\rho_{1} }} \) and \( \varepsilon_{{\rho_{2} }} \) are zero mean Gaussian measurement noise for the dual-frequency signals.

Due to the ionosphere delay for various frequency is different, ρ 1 and ρ 2 are also different. However, because of the difference between I 1 and I 2 is not obvious, the difference between ρ 1 and ρ 2 is also not obvious. As is known that the ionosphere is a diffuse medium related to the electromagnetic wave frequency [11], and the geometric distance r, receiver clock error \( \delta t_{u} \) and satellite clock error \( \delta t^{\left( s \right)} \) are public. If we don’t consider the measurement noise, there are only the difference of ionospheric delay on right sides of the Eq. (13.1) and the Eq. (13.2).

Equation (13.1) minus Eq. (13.2):

$$ \rho_{1} - \rho_{2} = I_{1} - I_{2} $$
(13.3)

With the relationship between the carrier frequency and the ionosphere delay [11], dual-frequency ionosphere delay can be represented as:

$$ I_{1} = 40.28\frac{{N_{e} }}{{f_{1}^{2} }} = \frac{\kappa }{{f_{1}^{2} }} $$
(13.4)
$$ I_{2} = 40.28\frac{{N_{e} }}{{f_{2}^{2} }} = \frac{\kappa }{{f_{2}^{2} }} $$
(13.5)

where, \( \kappa = 40.28N_{e} \) is the ionosphere delay parameters. f 1 and f 2 are carrier frequencies. \( \kappa \) is defined as the ionosphere delay parameters. It can be obtained from the above equations:

$$ I_{1} \cdot f_{1}^{2} = I_{2} \cdot f_{2}^{2} = \kappa $$
(13.6)

Brought the Eq. (13.6) into the Eq. (13.3):

$$ \rho_{1} - \rho_{2} = I_{1} - I_{2} = I_{1} - \frac{{I_{1} \cdot f_{1}^{2} }}{{f_{2}^{2} }} = \frac{{f_{2}^{2} - f_{1}^{2} }}{{f_{2}^{2} }} \cdot I_{1} = I_{1} - I_{2} = \frac{{I_{2} \cdot f_{2}^{2} }}{{f_{1}^{2} }} - I_{2} = \frac{{f_{2}^{2} - f_{1}^{2} }}{{f_{1}^{2} }} \cdot I_{2} $$
(13.7)

By Eq. (13.7) it can get:

$$ I_{1} = \frac{{f_{2}^{2} }}{{f_{2}^{2} - f_{1}^{2} }}(\rho_{1} - \rho_{2} ) $$
(13.8)
$$ I_{2} = \frac{{f_{1}^{2} }}{{f_{2}^{2} - f_{1}^{2} }}(\rho_{1} - \rho_{2} ) $$
(13.9)

So far, as long as getting L1 frequency ionosphere delay (see paper [11]), we can calculate L2 frequency ionosphere delay by Eqs. (13.8) and (13.9). This procedure is the core of the theory of virtual multi-frequency RAIM method.

In following, we will build a virtual multi-frequency RAIM ionosphere delay model.

For a single-frequency GNSS receiver (set to L1 frequency), the pseudorange measurements on L1 carrier launched by the same satellite represent with ρ 1. At the same time, assuming the receiver also can receive L2 and L5 frequencies pseudorange measurements represented by the ρ 2 and ρ 3, those can be get by:

$$ \rho_{1} = r + \delta t_{u} - \delta t^{(s)} + I_{1} + T + \varepsilon_{\rho_{1}} $$
(13.10)
$$ \rho_{2} = r + \delta t_{u} - \delta t^{(s)} + I_{2} + T + \varepsilon_{\rho_{2}} $$
(13.11)
$$ \rho_{3} = r + \delta t_{u} - \delta t^{(s)} + I_{3} + T + \varepsilon_{\rho_{3}} $$
(13.12)

Refer to the Eq. (13.7), by Eqs. (13.10) and (13.12) it can get:

$$ \rho_{1} - \rho_{3} = I_{1} - I_{3} = I_{1} - \frac{{I_{1} \cdot f_{1}^{2} }}{{f_{3}^{2} }} = \frac{{f_{3}^{2} - f_{1}^{2} }}{{f_{3}^{2} }} \cdot I_{1} = I_{1} - I_{3} = \frac{{I_{3} \cdot f_{3}^{2} }}{{f_{1}^{2} }} - I_{3} = \frac{{f_{3}^{2} - f_{1}^{2} }}{{f_{1}^{2} }} \cdot I_{3} $$
(13.13)

By Eq. (13.13) it can get:

$$ I_{1} = \frac{{f_{3}^{2} }}{{f_{3}^{2} - f_{1}^{2} }}(\rho_{1} - \rho_{3} ) $$
(13.14)
$$ I_{3} = \frac{{f_{1}^{2} }}{{f_{3}^{2} - f_{1}^{2} }}(\rho_{1} - \rho_{3} ) $$
(13.15)

The single-frequency receiver can only receive L1 signal. After get the I 1 (see [11]) ionosphere delay, we can calculate the L2 frequency ionosphere delay I 2 by Eqs. (13.8), (13.9) and calculate the L5 ionosphere delay I 3 by Eqs. (13.14), (13.15).

Virtual triple-frequency signals are obtained by the above, the ionosphere delay models described as: \( I = \left[ {\begin{array}{*{20}c} {I_{1} } & {I_{2} } & {I_{3} } \\ \end{array} } \right] \).

3 Virtual Triple-Frequency RAIM Algorithm

3.1 Virtual Triple-Frequency Pseudorange Observation Model

The signals delay are different when various frequencies signal across the ionosphere. Here the paper introduce the ionosphere delay parameters (available from the Eq. (13.6)). Assuming that the receiver can observe n visible satellites, then the virtual triple-frequency linear observation equations can be expressed:

$$ \left[ {\begin{array}{*{20}c} {y_{1} } \\ {y_{2} } \\ {y_{3} } \\ \end{array} } \right] = \left[ {\begin{array}{*{20}l} {H_{\text{n} \times 4} } \hfill & {I_{n} } \hfill \\ {H_{\text{n} \times 4} } \hfill & {c_{1} I_{n} } \hfill \\ {H_{\text{n} \times 4} } \hfill & {c_{2} I_{n} } \hfill \\ \end{array} } \right] \cdot \left[ {\begin{array}{*{20}c} {x_{TF} } \\ {f_{1}^{ - 2} \kappa_{{\text {n}} \times 1} } \\ \end{array} } \right] + \left[ {\begin{array}{*{20}c} {e_{1} } \\ {e_{2} } \\ {e_{3} } \\ \end{array} } \right] $$
(13.16)

where y 1 is the N dimensional measurement vector for a traditional single-frequency RAIM algorithm (here set as L1 frequency). y 2 and y 3 are L2 and L5 signals which can get from Eqs. (13.7), (13.13) which are N dimensional measurement vector. \( H_{\text{n} \times 4} \) is single-frequency observation equation coefficient matrix, x TF is 4 × 1 state vector represented the positioning deviation parameters and user clock bias deviation parameters; \( \kappa_{\text{n} \times 1} \) represents ionosphere delay parameters of n satellites (can be obtained from Eq. (13.6)); e 1, e 2 and e 3 are Gaussian noises vector with different covariance; \( c_{1} = f_{1}^{2} /f_{2}^{2} ,c_{2} = f_{1}^{2} /f_{3}^{2} , \) f 1, f 2 and f 3 are the carrier frequencies for triple-frequency signals.

Briefly, Eq. (13.16) is depicted as:

$$ y_{TF} = G_{TF} \cdot \tilde{x}_{TF} + e_{TF} $$
(13.17)

Further analysis shows that the measurement error vectors of the virtual triple-frequency observation Eq. (13.17) include the clock error, troposphere delay, multipath and receiver noise, etc. The user range error variance for (URE) is in follows:

$$ \sigma_{URA}^{2} = \sigma_{URA}^{2} + \sigma_{e}^{2} + \sigma_{\varepsilon }^{2} $$
(13.18)

where \( \sigma_{URA}^{2} \) is defined as the covariance of the user measure precision; \( \sigma_{e}^{2} \) is the covariance of multipath and receiver noise; \( \sigma_{\varepsilon }^{2} \) is the noise covariance of the clock error and tropospheric delay.

In traditional multi-frequency RAIM algorithm analysis, errors were independent of each other among different satellites. But in the virtual triple-frequency model, the calculating process using the same satellite clocks and ephemeris, therefore the clock error and tropospheric delay between the triple-frequency points of the same satellite is exactly the same (here again simplifies the complexity of the traditional multi-frequency RAIM algorithm). The multipath and receiver noise in different frequency of the same satellite should be independent of each other. But due to the other two frequency point information are completely virtual, we can identify multipath and receiver noise the same. As a results, the error covariance matrix of virtual triple-frequency observation equation can be defined as follows:

$$ C_{TF} = E\left[ {e_{TF} e_{TF}^{T} } \right] = \left[ {\begin{array}{*{20}l} {\left( {\sigma_{e}^{2} + \sigma_{\varepsilon }^{2} } \right)I_{n} } \hfill & {\sigma_{\varepsilon }^{2} I_{n} } \hfill & {\sigma_{\varepsilon }^{2} I_{n} } \hfill \\ {\sigma_{\varepsilon }^{2} I_{n} } \hfill & {\left( {\sigma_{e}^{2} + \sigma_{\varepsilon }^{2} } \right)I_{n} } \hfill & {\sigma_{\varepsilon }^{2} I_{n} } \hfill \\ {\sigma_{\varepsilon }^{2} I_{n} } \hfill & {\sigma_{\varepsilon }^{2} I_{n} } \hfill & {\left( {\sigma_{e}^{2} + \sigma_{\varepsilon }^{2} } \right)I_{n} } \hfill \\ \end{array} } \right]_{3n \times 3{\text {n}}} $$
(13.19)

Due to C TF is not a diagonal matrix, the originally parity vector method used for single-frequency signal cannot be used directly [11]. The observation equation needs pre-whiten processing to transform the \( \tilde{e}_{TF} \) covariance matrix of the transformation to the diagonal matrix, which need to meet that diagonal elements are the same, namely each frequency noise are subject to the same distribution.

If C TF is a symmetric matrix, then there will be an orthogonal array P, satisfying [11]:

$$ P^{ - 1} C_{TF} P = P^{T} C_{TF} P = \lambda $$
(13.20)

The λ is the diagonal matrix whose diagonal elements are the eigenvalues of the C TF . All the matrices of Eq. (13.20) are the 3n × 3n matrices.

$$ P = \left[ {\begin{array}{*{20}l} { - \frac{1}{\sqrt 2 }I_{n} } \hfill & { - \frac{1}{\sqrt 6 }I_{n} } \hfill & {\frac{1}{\sqrt 3 }I_{n} } \hfill \\ {\frac{1}{\sqrt 2 }I_{n} } \hfill & { - \frac{1}{\sqrt 6 }I_{n} } \hfill & {\frac{1}{\sqrt 3 }I_{n} } \hfill \\ 0 \hfill & {\frac{2}{\sqrt 6 }I_{n} } \hfill & {\frac{1}{\sqrt 3 }I_{n} } \hfill \\ \end{array} } \right]_{3n \times 3{\text {n}}} $$
(13.21)
$$ \lambda = \left[ {\begin{array}{*{20}l} {\sigma_{e}^{2} I_{n} } \hfill & 0 \hfill & 0 \hfill \\ 0 \hfill & {\sigma_{e}^{2} I_{n} } \hfill & 0 \hfill \\ 0 \hfill & 0 \hfill & {\left( {\sigma_{e}^{2} + 3\sigma_{\varepsilon }^{2} } \right)I_{n} } \hfill \\ \end{array} } \right]_{3n \times 3{\text {n}}} $$
(13.22)

Let’s continue to transform the Eq. (13.22). Make the same covariance of the transformed noise vector so that it subject to the same normal distribution. The whitened virtual triple-frequency linearized observation equations is denoted as follows:

$$ \tilde{y}_{TF} = \tilde{G}_{TF} \cdot \tilde{x}_{TF} + \tilde{e}_{TF} $$
(13.23)

where \( \tilde{y}_{TF} \) is the 3n × 1 vector; \( \tilde{G}_{TF} \) is a 3n × (n + 4) matrix; \( \tilde{x}_{TF} \) is the (n + 4) × 1 vector; \( \tilde{e}_{TF} \) is the 3n × 1 vector.

After the pre-whitening procedure, the measurement noise \( \tilde{e}_{TF} \) will obey to the standard normal distribution. Therefore, it can use least squares residuals method [4], parity vector method [5] and pseudorange comparison method [6] and other traditional RAIM algorithm to the monitor integrity of receiver.

3.2 Fault Detection of Virtual Triple-Frequency RAIM Algorithm

There are 3n equations and (n + 4) unknown in virtual triple-frequency observation equation. Therefore the dimension of the generated parity space is (2n − 4). The configured parity matrix is (2n − 4) × 3n matrix. The paper [5] pointed out that the parity space matrix must satisfy:

$$ P_{TF} \tilde{G}_{TF} = 0 $$
(13.24)
$$ P_{TF} P_{TF}^{T} = I_{2n - 4} $$
(13.25)

For the \( \tilde{G}_{TF} \) matrix is 3n × (n + 4) matrix, using QR decomposition method to solve parity matrix is rather complexed. The conference [10] gave a resolution.

$$ P_{TF} = \left[ {\begin{array}{*{20}l} {r_{1} P_{{\left( {n - 4} \right) \times n}} } \hfill & {r_{2} P_{{\left( {n - 4} \right) \times n}} } \hfill & {r_{3} P_{{\left( {n - 4} \right) \times n}} } \hfill \\ {d_{1} I_{n} } \hfill & {d_{2} I_{n} } \hfill & {d_{3} I_{n} } \hfill \\ \end{array} } \right]_{(2n - 4) \times 3n} $$
(13.26)

There: \( P_{(n - 4) \times n} \) is the single-frequency parity matrix. \( r_{1} = \frac{1}{{\sqrt {1 + \alpha^{2} + \beta^{2} } }}, r_{2} = \frac{\alpha }{{\sqrt {1 + \alpha^{2} + \beta^{2} } }}, r_{3} = \frac{\beta }{{\sqrt {1 + \alpha^{2} + \beta^{2} } }}, \) α and β are the following expressions: \( \alpha = \frac{{b(1 + c_{1} - 2c_{2} )}}{{a(1 - c_{1} )}}, \beta = \frac{{a^{2} (c_{1} - 1)^{2} + b^{2} (1 + c_{1} - 2c_{2} )^{2} }}{{ac(1 - c_{1} )(1 + c_{1} + c_{2} )}}. \) c 1 and c 2 have been given definitions in the observation equation. \( d_{1} = \frac{{b(1 + c_{1} - 2c_{2} )}}{{\sqrt {a^{2} (c_{1} - 1)^{2} + b^{2} (1 + c_{1} - 2c_{2} )^{2} } }}, d_{2} = \frac{{a(c_{1} - 1)}}{{\sqrt {a^{2} (c_{1} - 1)^{2} + b^{2} (1 + c_{1} - 2c_{2} )^{2} } }}, \) d 3 \( = \) 0, After getting the virtual triple-frequency parity matrix P TF , virtual triple-frequency parity vector can be represented as:

$$ P_{TF} = P_{TF} \cdot \tilde{y}_{TF} = P_{TF} \cdot \tilde{e}_{TF} $$
(13.27)

The virtual triple-frequency parity vector P is (2n − 4) × 1 vector. The reference [5] pointed out that test statistics can be expressed by \( SSE = P_{TF}^{T} P_{TF} \). Therefore, the SSE is \( \chi^{2} (2n - 4) \), where \( \chi^{2} (v) \) represents the chi-square distribution with v degrees of freedom. According to the single-frequency parity vector method, it can determine the detection threshold T. SSE will be compared with a threshold T to judge whether the system is failed or not. In theory, as long as the number of visible satellites not less than 3 it could be used to identify the fault detection. Due to parity vector of the Eq. (13.26) is obtained by the QR decomposition, which limit the number of visible satellites cannot under five. Therefore as long as the number of satellites greater than four the receiver can be executed the RAIM algorithm in order to confirm the availability of current visible satellites before location.

3.3 Fault Detection of Virtual Triple-Frequency RAIM Algorithm

The virtual triple-frequency observation equations brought the spread of the ranging fault after the pre-whitening procedure. So we can’t directly use the traditional identification methods to identify fault satellites. Equation (13.23) shows that the fault deviation spread as follows:

$$ \tilde{e}_{TF} = W_{TF}^{T} \cdot (e + b) = \left[ {\begin{array}{*{20}l} { - aI_{n} } \hfill & { - bI_{n} } \hfill & {cI_{n} } \hfill \\ {aI_{n} } \hfill & { - bI_{n} } \hfill & {cI_{n} } \hfill \\ 0 \hfill & {2bI_{n} } \hfill & {cI_{n} } \hfill \\ \end{array} } \right]_{3n \times 3{\text {n}}}^{T} \cdot \left[ {\begin{array}{*{20}c} {e_{1} + b_{1} } \\ {e_{2} + b_{2} } \\ {e_{3} + b_{3} } \\ \end{array} } \right]_{3n \times 1} $$
(13.28)

where b 1 is the n dimensional column vector of L1 frequency fault offset. For the remaining two frequency data is virtual, we consider there is no fault deviation. That is, b 2 \( = \) b 3 \( = \) 0 n×1. In general, assuming that the failure occured on the first satellite, then:

$$ W_{TF}^{T} \cdot b = \left[ {\begin{array}{*{20}l} { - aI_{n} } \hfill & { - bI_{n} } \hfill & {cI_{n} } \hfill \\ {aI_{n} } \hfill & { - bI_{n} } \hfill & {cI_{n} } \hfill \\ 0 \hfill & {2bI_{n} } \hfill & {cI_{n} } \hfill \\ \end{array} } \right]_{3n \times 3{\text {n}}}^{T} \cdot \left[ {\begin{array}{*{20}c} {bias} \\ {0_{(3{\text {n}} - 1) \times 1} } \\ \end{array} } \right]_{3{\text {n}} \times 1} = \left[ {\begin{array}{*{20}l} {( - a) \cdot bias} \hfill \\ {0_{({\text {n}} - 1) \times 1} } \hfill \\ {( - b) \cdot bias} \hfill \\ {0_{({\text {n}} - 1) \times 1} } \hfill \\ {\text{c} \cdot bias} \hfill \\ {0_{({\text {n}} - 1) \times 1} } \hfill \\ \end{array} } \right]_{3{\text {n}} \times 1} $$
(13.29)

By formula (13.29), if the first satellite was failure, after pre-whitening process the deviation spread to the second and third frequency point in the satellite. So when identifying the fault, it can refer to the single-frequency parity vector method. Only detecting the three columns of virtual triple-frequency parity matrix at the same time, it can detect the fault by linear combine the three columns of the virtual triple-frequency parity matrix.

The virtual triple-frequency parity matrix is (2n − 4) × 3n matrix. The first n columns can identify the L1 frequency of satellite fault, and the remaining 2n columns can identify the satellite fault of L2 and L5 frequency points. According to the situations of the spread of the bias b, it can obtain the characteristic deviation vector that could recognize the satellite fault.

$$ v_{1,i} = ( - a) \cdot p_{1,i} - b \cdot p_{2,i} + \text{c} \cdot p_{3,i} $$
(13.30)

where v 1,i is the (2n − 4) × 1 failure identification vector of the first frequency of ith satellite. p 1,i is the ith column of virtual triple-frequency parity matrix. p 2,i is the (n + i)th column of virtual triple-frequency parity matrix. p 3,i is the (2n + i)th column of virtual triple-frequency parity matrix. For the virtual triple-frequency RAIM algorithm only consider the fault identification of single-frequency. Therefore, it can’t consider for the fault identification of the other two frequency point.

Virtual triple-frequency parity vector p TF can directly reflect the observation error information, which can be saw from Type (30) that observation error reflects on the three columns of the parity vector through the virtual triple-frequency parity matrix P TF . The p TF and the three columns of P TF have inseparable relations, so we can identify the fault of the satellite by the geometric relationships between them.

Supposed that there were 4 visible satellites and a deviation bias on the first satellite. Ignoring the effects of observation noise, as is shown there is a bias in the type (29), the projection of the deviation can be expressed as follows:

$$ \begin{aligned} \left[ {\begin{array}{*{20}c} {p_{{TF_{1} }} } \\ {p_{{TF_{2} }} } \\ {p_{{TF_{3} }} } \\ {p_{{TF_{4} }} } \\ \end{array} } \right]_{4 \times 1} & = \left[ {\begin{array}{*{20}l} {p_{1,1} } \hfill & \ldots \hfill & {p_{1,4} } \hfill & {p_{2,1} } \hfill & \ldots \hfill & {p_{2,4} } \hfill & {p_{3,1} } \hfill & \ldots \hfill & {p_{3,4} } \hfill \\ \end{array} } \right]_{4 \times 12} \left[ {\begin{array}{*{20}l} {( - a) \cdot bias} \hfill \\ {0_{3 \times 1} } \hfill \\ {( - b) \cdot bias} \hfill \\ {0_{3 \times 1} } \hfill \\ {\text{c} \cdot bias} \hfill \\ {0_{3 \times 1} } \hfill \\ \end{array} } \right]_{12 \times 1} \\ & = \left[ {\begin{array}{*{20}l} {( - a) \cdot p_{1,1} } \hfill & {0_{4 \times 3} } \hfill & {( - b) \cdot p_{2,1} } \hfill & {0_{4 \times 3} } \hfill & {\text{c} \cdot p_{3,1} } \hfill & {0_{4 \times 3} } \hfill \\ \end{array} } \right]_{4 \times 12} \cdot bias \\ & = \left[ {\begin{array}{*{20}l} {( - a) \cdot p_{{TF_{1,1} }} } \hfill & {0_{1 \times 3} } \hfill & {( - b) \cdot p_{{TF_{1,5} }} } \hfill & {0_{1 \times 3} } \hfill & {\text{c} \cdot p_{{TF_{1,9} }} } \hfill & {0_{1 \times 3} } \hfill \\ {( - a) \cdot p_{{TF_{2,1} }} } \hfill & {0_{1 \times 3} } \hfill & {( - b) \cdot p_{{TF_{2,5} }} } \hfill & {0_{1 \times 3} } \hfill & {\text{c} \cdot p_{{TF_{2,9} }} } \hfill & {0_{1 \times 3} } \hfill \\ {( - a) \cdot p_{{TF_{3,1} }} } \hfill & {0_{1 \times 3} } \hfill & {( - b) \cdot p_{{TF_{3,5} }} } \hfill & {0_{1 \times 3} } \hfill & {\text{c} \cdot p_{{TF_{3,9} }} } \hfill & {0_{1 \times 3} } \hfill \\ {( - a) \cdot p_{{TF_{4,1} }} } \hfill & {0_{1 \times 3} } \hfill & {( - b) \cdot p_{{TF_{4,5} }} } \hfill & {0_{1 \times 3} } \hfill & {\text{c} \cdot p_{{TF_{4,9} }} } \hfill & {0_{1 \times 3} } \hfill \\ \end{array} } \right]_{4 \times 12} \cdot bias \\ \end{aligned} $$
(13.31)

where \( P_{{TF_{i,j} }} \) is the ith row jth column elements of the virtual triple-frequency parity matrix. By type (30), the effect of the first satellite deviation caused by the parity vector will be located in the corresponding three columns on the parity matrix.

For the virtual triple-frequency RAIM algorithm, the rule of isolated failure satellite is—making the parity vector p TF projection to the feature bias line v 1,i then standardized treatment. The satellite which has the largest projection length is fault satellite.

If the equation \( \frac{{\left| {p_{TF}^{T} \cdot v_{1,k} } \right|}}{{\left| {v_{1,k} } \right|}} = \mathop {\hbox{max} }\limits_{1 \le i \le n} \left( {\left| {\frac{{\left| {p_{TF}^{T} \cdot v_{1,i} } \right|}}{{\left| {v_{1,i} } \right|}}} \right|} \right) \) is set up, we can identify that the fault satellite is the kth satellite which must be ruled out.

Due to virtual triple-frequency RAIM algorithm is fault identification algorithm based on single-frequency point, it doesn’t need to consider which frequency point signal is wrong. The method simplifies the traditional multi-frequency RAIM recognition algorithm.

It brought the spread of the ranging fault due to pre-whitening process in the virtual triple-frequency observation equations. The previous sections have analyzed the fault diffusion in detail. When there is a fault satellite, triple-frequency parity vector as shown in type (27). \( \tilde{e}_{TF} \) is 3n × 1 column. Because of the deviation diffusion after pre-whitening processing, it allows three elements of \( \tilde{e}_{TF} \) to grow in deviation under the influence of the deviation bias and also lead to the modules of parity vector becomes larger. Reference [5] points out that test statistic SSE is virtually the modulus square of parity vector. The spread of the fault lead to SSE increases exponentially. Even if the pseudorange deviation is small, the SSE can also exceed the detection threshold T. So the virtual triple-frequency RAIM algorithm can still be executed when the pseudorange deviation is small; Secondly, the extensive SSE makes the recognition rate and fault detection are better than single-frequency RAIM algorithm at each sampling instant, which can make up for the single-frequency RAIM algorithm of detecting low recognition rate.

4 Simulation Results

The simulation conditions:

Selecting the 24 satellites of GPS navigation system. Set the satellite elevation angle is 7.5°. Ionosphere parameters were calculated from the intermediate frequency of data which were received by the GNSS receiver (GNRF0302). Respectively, the frequency of the triple-frequency points as follows: \( f_{1} = 1575.42\,{\text{MHz}},\,f_{2} = 1227.60\,{\text{MHz}},\,f_{3} = 1176.45\,{\text{MHz}}, \) Missing alarm rate set at 0.001. In general, assuming that the geographical position of user receiver is (116, 40, 500), trajectory is parallel to the equator orbit, the user is westward movement and the speed is 300 m/s. The trajectory as shown in Fig. (13.1).

Fig. 13.1
figure 1

Aircraft trajectories

The pseudorange error is shown in Table (13.1)

Table 13.1 Pseudorange error table

First of all, assumed that the geographical position of user receiver was (116, 40, 500). The data sampling time of receiver was 3600 s, sampling every 10 s at a time. The range error variance was set form −10 to 10 m. Step length was 1 m. Figure 13.2 is the HDOP comparison the single-frequency and virtual triple-frequency algorithm. Figure 13.2 shows that virtual triple-frequency HDOP value is smaller than single-frequency algorithm. This is because there are 3n virtual triple-frequency algorithm equations, equaling to 3n visible satellites to participate in the positioning solution.

Fig. 13.2
figure 2

HDOP comparison of two algorithms

In order to verify the performance of virtual triple-frequency RAIM algorithm in fault detection and identification, and analyze the performance compared with the traditional single-frequency RAIM algorithm and real triple-frequency RAIM algorithm, it set the first satellite the fault satellite and add 0–200 m bias to the satellite which deviation of step length is 1 m. Figure 13.3 shows the contrast figure of the fault detection results.

Fig. 13.3
figure 3

Three contrast figure RAIM algorithm for fault detection

From the Fig. 13.3 can be seen that the satellite fault detection effect of two kinds of triple frequency RAIM algorithm is superior to single-frequency RAIM algorithm. When the deviation is greater than 40 m, the detection rate of single-frequency algorithm is gradually increasing, until to 100 % detection with the deviation of 120 m. When the deviation is less than 40 m, the detection rate is close to zero and the fault satellite can’t been detected. However, for the triple-frequency and virtual triple-frequency RAIM algorithm, the detection rate can reach 50 % at the deviation of 10 m. Still deviation is higher than 17 m, it can detect the fault 100 %. In addition, the virtual triple-frequency RAIM algorithm of satellite fault detection results is similar with triple-frequency RAIM algorithm. The satellite fault detection performance of Virtual triple-frequency RAIM algorithm is the same as the real triple-frequency RAIM algorithm without any increase in frequency point information under the situation of excess.

The Fig. 13.4 shows three RAIM algorithm for identifying the fault satellite chart. It can be seen from the diagram, the single-frequency GPS RAIM algorithm for fault recognition effect is very poor. When the deviation increased to 200 m, the recognition rate was still less than 100 %. There is still a breakdown satellite at some point that can’t be identified. There is no guarantee for the reliability of the receiver positioning results. When the deviation is small, recognition effect is not obvious, and when the deviation is less than 30 m, recognition rate is 0. While the other two RAIM algorithms have good effects. The recognition rate is 97 % at the deviation of up to 20 m, and it would reach 100 % when deviation is higher than 27 m. Identification performance of virtual triple-frequency RAIM algorithm and the real triple-frequency RAIM algorithm is better. But virtual triple-frequency RAIM algorithm doesn’t need to be further identified which frequency point is wrong, so the calculation is more straightforward. Furthermore, the triple-frequency RAIM algorithm can not only identify the malfunctioned satellite, but also identify the wrong frequency of this satellite, so the alarm time is longer than virtual triple-frequency RAIM algorithm. In addition, in identifying the fault satellite, virtual triple-frequency RAIM algorithm only need to rule out the fault satellite, however the real triple-frequency RAIM algorithm at the moment need to further analysis the troubleshoot satellite or troubleshoot fault frequency in the satellite.

Fig. 13.4
figure 4

The fault identification contrast figure of three kinds of RAIM algorithm

Figure 13.5 shows the relationship between detection threshold and test statistics for the algorithm of single-frequency. When t \( = \) 30–120 s, the 40 m fault bias is applied to a satellite. As is shown in the figure that the statistics were smaller than the threshold at some points, and couldn’t achieve 100 % to detect the fault.

Fig. 13.5
figure 5

Fault detection curve of a single-frequency unexpected accident (bias \( = \) 40 m)

Figure 13.6 shows the relationship graph between detection threshold and test statistics for the algorithm of Virtual triple-frequency. When t \( = \) 30–120 s, the 30 m fault bias is applied to a satellite. As is shown the statistics in a deviation is greater than detection threshold. In other times, the statistics are smaller than the threshold value.

Fig. 13.6
figure 6

Fault detection curve of a virtual triple-frequency unexpected accident (bias \( = \) 30 m)

5 Conclusion

Based on the theory of triple-frequency RAIM algorithm, without changing the hardware structure of single-frequency receiver, we generated the virtual triple-frequency ionosphere delay vector only using an ionosphere delay of single-frequency point I 1 through the analysis of satellite ionosphere delay between different frequency signals. Then virtual triple-frequency monitoring RAIM algorithm was given. The results showed that the “virtual multi-frequency” RAIM method not only beaked the traditional RAIM algorithms limit on the number of visible satellites, but also greatly enhanced the integrity performance of the receiver monitoring and positioning accuracy, which would have a promising theoretical and practical value. At the same time, the research which may further promote the theory and technologies of navigation to maturity, the theoretical and practical values are very significant.