The DFRE calculation based on the projection method includes satellite ephemeris–clock correction and DFRE calculations. The process flow is shown in Fig. 1. First, the ephemeris correction, clock correction, and ephemeris–clock covariance matrix were calculated using the pseudo-range residual error; subsequently, the maximal projection direction was obtained by mathematical derivation based on the covariance matrix, and the projection of the covariance matrix on this direction was regarded as the DFRE.

### Calculation of ephemeris/clock correction

Using the L1 and L5 pseudo-range measurements and carrier phase measurements from the monitoring stations, the data processing station first performs data preprocessing and subsequently eliminates the ionospheric delay, tropospheric delay, satellite ephemeris distance, satellite clock bias, and other factors from the smoothed pseudo-range. After synchronizing the interstation clock bias, the pseudo-range residual error is obtained using the following equation:

$$\Delta \rho_{i}^{j} = \Delta R^{jT} \Delta l_{i}^{j} + \Delta B^{j} + v_{i}^{j} ,$$

(1)

where \(\Delta \rho_{i}^{j}\) is the pseudo-range residual error of satellite *j* observed by monitoring station *i*; \(\Delta R^{j} = \left[ {\begin{array}{*{20}c} {\Delta x^{j} } & {\Delta y^{j} } & {\Delta z^{j} } \\ \end{array} } \right]^{T}\) is the ephemeris prediction error of satellite *j* in the *X*-, *Y*-, and *Z*-directions in the Earth-centered Earth-fixed (ECEF) coordinate system; \(l_{i}^{j}\) is the unit direction vector from monitoring station *i* to satellite *j*; \(\Delta B^{j}\) is the clock error of satellite *j*; \(v_{i}^{j}\) is the residual error whose variance is \(\sigma_{i}^{j2}\) (Shao 2012).

Using the least-squares method to solve the equation above, the ephemeris correction \(\Delta \hat{R}^{j}\), clock correction \(\Delta \hat{B}^{j}\), and covariance matrix \(P_{DFRE}^{j}\) can be calculated as follows:

$$\left[ {\begin{array}{*{20}c} {\Delta \hat{R}^{jT} } & {\Delta \hat{B}^{j} } \\ \end{array} } \right]^{T} = \left( {H^{jT} R^{j - 1} H^{j} } \right)^{ - 1} H^{jT} R^{j - 1} Z^{j}$$

(2)

$$P_{DFRE}^{j} = \left( {H^{jT} R^{j - 1} H^{j} } \right)^{ - 1} = \left[ {\begin{array}{*{20}c} {P_{o}^{j} } & {P_{oc}^{j} } \\ {P_{oc}^{jT} } & {P_{c}^{j} } \\ \end{array} } \right]_{{\left( {4 \times 4} \right)}} ,$$

(3)

where \(H^{j} = \left[ {\begin{array}{*{20}c} {\begin{array}{*{20}c} {l_{1}^{jT} } \\ \vdots \\ {l_{M}^{jT} } \\ \end{array} } & {\begin{array}{*{20}c} 1 \\ \vdots \\ 1 \\ \end{array} } \\ \end{array} } \right]_{{\left( {M \times 4} \right)}}\), \(R^{j} = \left[ {\begin{array}{*{20}c} {\begin{array}{*{20}c} {\begin{array}{*{20}c} {\sigma_{1}^{j2} } \\ 0 \\ \end{array} } & {\begin{array}{*{20}c} 0 \\ {\sigma_{2}^{j2} } \\ \end{array} } \\ \end{array} } & {\begin{array}{*{20}c} {\begin{array}{*{20}c} \ldots \\ \ldots \\ \end{array} } & {\begin{array}{*{20}c} 0 \\ 0 \\ \end{array} } \\ \end{array} } \\ {\begin{array}{*{20}c} {\begin{array}{*{20}c} \vdots \\ 0 \\ \end{array} } & {\begin{array}{*{20}c} \vdots \\ \ldots \\ \end{array} } \\ \end{array} } & {\begin{array}{*{20}c} {\begin{array}{*{20}c} \ddots \\ 0 \\ \end{array} } & {\begin{array}{*{20}c} \vdots \\ {\sigma_{M}^{j2} } \\ \end{array} } \\ \end{array} } \\ \end{array} } \right]_{{\left( {M \times M} \right)}}\), \(Z^{j} = \left[ {\begin{array}{*{20}c} {\Delta \rho \begin{array}{*{20}c} j \\ 1 \\ \end{array} } \\ \vdots \\ {\Delta \rho \begin{array}{*{20}c} j \\ M \\ \end{array} } \\ \end{array} } \right]_{{\left( {M \times 1} \right)}}\), *M* is the number of monitoring stations that observe satellite *j* simultaneously, \(P_{o}^{j}\) is the 3 × 3 ephemeris prediction error covariance matrix, \(P_{c}^{j}\) is the variance of the clock error, and \(P_{oc}^{j}\) is the 3 × 1 covariance matrix of the ephemeris prediction and clock errors.

### DFRE calculation

The residual error obtained using the ephemeris correction \(\Delta \hat{R}^{j}\) and clock correction \(\Delta \hat{B}^{j}\) can be expressed as follows:

$${\varepsilon }^{j} = \left[ {\begin{array}{*{20}c} {\Delta R^{jT} } & {\Delta B^{j} } \\ \end{array} } \right]^{T} - \left[ {\begin{array}{*{20}c} {\Delta \hat{R}^{jT} } & {\Delta \hat{B}^{j} } \\ \end{array} } \right]^{T}$$

(4)

Let the maximal projection direction of the residual error in the service area be \({u}_{MAX}^{j}\); therefore, the projection of the residual error in the service area satisfies

$${\varepsilon }^{jT} {u}_{MAX}^{j} \ge {\varepsilon }^{jT} {u}_{user}^{j} \forall \,user \in {\text{Service}}\,{\text{Area}},$$

(5)

where \({u}_{MAX}^{j} = \left[ {\begin{array}{*{20}c} { {l}_{MAX}^{jT} } & 1 \\ \end{array} } \right]^{T}\); \({l}_{MAX}^{jT}\) is the unit direction vector on the maximal projection direction from satellite *j*; \({u}_{user}^{j} = \left[ {\begin{array}{*{20}c} { {l}_{user}^{jT} } & 1 \\ \end{array} } \right]^{T}\); \({l}_{user}^{jT}\) is the unit direction vector from the user in the service area to satellite *j*; \({\varepsilon }^{jT} {u}_{user}^{j}\) is the corrected error; \({\varepsilon }^{jT} {u}_{MAX}^{j}\) is the maximal corrected error.

Because the residual error that follows the zero-mean normal distribution (Javier and Didier 2006) cannot be calculated in practical applications, the covariance matrix \(P_{DFRE}^{j}\) of the residual error is used to reflect the characteristics of the maximal corrected error.

$${\text{P}}\left( {\left| { {\varepsilon }^{jT} {u}_{MAX}^{j} } \right| \le K\sqrt { {u}_{MAX}^{jT} P_{DFRE}^{j} {u}_{MAX}^{j} } } \right) = 1 - 2Q\left( { - K} \right),$$

(6)

where \({\text{P}}(\cdot)\) is the probability, \(Q(\cdot)\) is the cumulative probability distribution of the normal distribution, and *K* is the fractile.

The DFRE is a comprehensive reflection of the corrected error on the user side and needs to envelop the maximal corrected error in the service area; therefore, the DFRE can be defined as

$$\sigma_{DFRE} \triangleq \sqrt { {u}_{MAX}^{jT} P_{DFRE}^{j} {u}_{MAX}^{j} } = \sqrt {\mathop {\hbox{max} }\limits_{{user \in {\text{Service Area}}}} \left( { {u}_{user}^{jT} P_{DFRE}^{j} {u}_{user}^{j} } \right)}$$

(7)

As shown in Eq. 7, the key to calculate the DFRE is to obtain the maximum of \({u}_{user}^{jT} P_{DFRE}^{j} {u}_{user}^{j}\), which can be further transformed into

$${u}_{user}^{jT} P_{DFRE}^{j} {u}_{user}^{j} = {l}_{user}^{jT} P_{o}^{j} {l}_{user}^{j} + P_{oc}^{jT} {l}_{user}^{j} + \left( {P_{oc}^{jT} {l}_{user}^{j} } \right)^{T} + P_{c}^{j}$$

(8)

Because \(P_{oc}^{jT} {l}_{user}^{j}\) is a scalar, then \(P_{oc}^{jT} {l}_{user}^{j} = \left( {P_{oc}^{jT} {l}_{user}^{j} } \right)^{T}\); subsequently, Eq. 8 can be transformed into

$$\begin{aligned} {u}_{user}^{jT} P_{DFRE}^{j} {u}_{user}^{j} = {l}_{user}^{jT} P_{o}^{j} {l}_{user}^{j} + 2P_{oc}^{jT} {l}_{user}^{j} + P_{c}^{j} \hfill \\ \le {l}_{user}^{jT} P_{o}^{j} {l}_{user}^{j} + 2\left| {P_{oc}^{jT} {l}_{user}^{j} } \right| + P_{c}^{j} \hfill \\ \end{aligned}$$

(9)

According to the Cauchy–Schwarz inequality \(\left| {x^{T} y} \right| \le \sqrt {x^{T} x} \sqrt {y^{T} y}\) (Gene and Charles 2017), the following can be obtained:

$$\left| {P_{oc}^{jT} {l}_{user}^{j} } \right| = \left| {P_{oc}^{jT} P_{o}^{{j - \frac{1}{2}}} P_{o}^{{j\frac{1}{2}}} {l}_{user}^{j} } \right| \le \sqrt {P_{oc}^{jT} P_{o}^{j - 1} P_{oc}^{j} } \sqrt { {l}_{user}^{jT} P_{o}^{j} {l}_{user}^{j} }$$

(10)

Substituting Eq. 10 into Eq. 9 yields

$${u}_{user}^{jT} P_{DFRE}^{j} {u}_{user}^{j} \le \left( {\sqrt { {l}_{user}^{jT} P_{o}^{j} {l}_{user}^{j} } + a} \right)^{2} - a^{2} + P_{c}^{j} ,$$

(11)

where \(a = \sqrt {P_{oc}^{jT} P_{o}^{j - 1} P_{oc}^{j} }\).

Owing to \(a \ge 0\), \(\left( {\sqrt { {l}_{user}^{jT} P_{o}^{j} {l}_{user}^{j} } + a} \right)^{2} - a^{2} + P_{c}^{j}\) is an increasing function while \(\sqrt { {l}_{user}^{jT} P_{o}^{j} {l}_{user}^{j} }\) is in its valid domain. Therefore, obtaining the maximum of \({u}_{user}^{jT} P_{DFRE}^{j} {u}_{user}^{j}\) can be regarded as obtaining the maximum of \({l}_{user}^{jT} P_{o}^{j} {l}_{user}^{j}\).

As shown in Eq. 3, \(P_{o}^{j}\) is a real symmetric matrix; therefore, a unit orthogonal array *C* exists, thereby validating the following equation:

$$C^{T} P_{o}^{j} C = P_{Y} = diag\left( {\left[ {\begin{array}{*{20}c} {\lambda_{1} } & {\lambda_{2} } & {\lambda_{3} } \\ \end{array} } \right]} \right),$$

(12)

where \(\lambda_{1}\), \(\lambda_{2}\), and \(\lambda_{3}\) are the eigenvalues of \(P_{o}^{j}\) (set \(\lambda_{1} \ge \lambda_{2} \ge \lambda_{3} > 0\)); the column vector of matrix *C* is the eigenvector of \(P_{o}^{j}\) with respect to \(\lambda_{i} \,(i = 1,2,3)\); \(diag\left( \cdot \right)\) is the diagonal matrix.

The ECEF coordinate system can be converted to a new coordinate system by the matrix *C*, the origin of which is located at satellite *j*, and the directions of the x-, y-, and z-axes are indicated by the column vectors of *C*. The unit direction vector from the user to satellite j in the new coordinate system is

$${l}_{u} = C^{T} {l}_{user}^{j} = \left[ {\begin{array}{*{20}c} {x_{u} } & {y_{u} } & {z_{u} } \\ \end{array} } \right]^{T} = \left[ {\begin{array}{*{20}c} {\cos \theta \cos \varphi } & {\cos \theta \sin \varphi } & {\sin \theta } \\ \end{array} } \right]^{T} ,$$

(13)

where \(\theta\) is the angle between \({l}_{u}\) and the XOY plane; \(\varphi\) is the angle between the projection of \({l}_{u}\) on the XOY plane and the x-axis.

$$\begin{aligned} & {l}_{user}^{jT} P_{o}^{j} {l}_{user}^{j} = {l}_{u}^{T} P_{Y} {l}_{u} \triangleq f\left( { {l}_{u} } \right) \\ & = \lambda_{1} \cos^{2} \theta \cos^{2} \varphi + \lambda_{2} \cos^{2} \theta \sin^{2} \varphi + \lambda_{3} \sin^{2} \theta \\ \end{aligned}$$

(14)

The distance from any point \(\left[ {\begin{array}{*{20}c} {\sqrt {\lambda_{1} } \cos \theta \cos \varphi } & {\sqrt {\lambda_{2} } \cos \theta \sin \varphi } & {\sqrt {\lambda_{3} } \sin \theta } \\ \end{array} } \right]^{T}\) on the ellipsoidal surface \(\frac{{x^{2} }}{{\lambda_{1} }} + \frac{{y^{2} }}{{\lambda_{2} }} + \frac{{z^{2} }}{{\lambda_{3} }} = 1\) to the origin is can be expressed as follows:

$$d = \sqrt {\lambda_{1} \cos^{2} \theta \cos^{2} \varphi + \lambda_{2} \cos^{2} \theta \sin^{2} \varphi + \lambda_{3} \sin^{2} \theta }$$

(15)

From Eqs. 14 and 15, \(f\left( { {l}_{u} } \right) = d^{2}\) is obtained; therefore, obtaining the maximum of \(f\left( { {l}_{u} } \right)\) can be regarded as obtaining the maximal distance from the point on the \(\frac{{x^{2} }}{{\lambda_{1} }} + \frac{{y^{2} }}{{\lambda_{2} }} + \frac{{z^{2} }}{{\lambda_{3} }} = 1\) ellipsoidal to the origin. Because \(\lambda_{1} \ge \lambda_{2} \ge \lambda_{3}\), the maximal distance from the point on the ellipsoidal surface to the origin is \(\sqrt {\lambda_{1} }\), and the maximum direction is \({l}_{Y}^{T} = \left[ {\begin{array}{*{20}c} { \pm 1} & 0 & 0 \\ \end{array} } \right]\), i.e., the long-axis direction; therefore,

$$\sqrt { {l}_{MAX}^{jT} P_{o}^{j} {l}_{MAX}^{j} } = \sqrt { {l}_{Y}^{T} P_{Y} {l}_{Y} } = \sqrt {\lambda_{1} }$$

(16)

Substituting Eq. 16 into Eq. 11 yields

$$\begin{aligned} {u}_{MAX}^{jT} P_{DFRE}^{j} {u}_{MAX}^{j} \le & \left( {\sqrt { {l}_{MAX}^{jT} P_{o}^{j} {l}_{MAX}^{j} } + a} \right)^{2} - a^{2} + P_{c}^{j} \\ = & \left( {\sqrt {\lambda_{1} } + a} \right)^{2} - a^{2} + P_{c}^{j} \\ \end{aligned}$$

(17)

According to Eqs. 7 and 17, the DFRE can be calculated as follows:

$$\sigma_{\text{DFRE}} = \sqrt {\left( {\sqrt {\lambda_{1} } + a} \right)^{2} - a^{2} + P_{c}^{j} }$$

(18)