# Development Status and Service Performance Preliminary Analysis for BDSBAS
## 3 Message User Algorithms and Service Performance Evaluation Methods
### Message User Algorithm  
The user algorithms include application methods for differential corrections and integrity information. The satellite position and clock-slow corrections will be added to the satellite coordinate vector and clock offset computed from the broadcast ephemeris. The fast corrections will be applied to correct pseudorange measurements. SBAS ionospheric grid delay corrections should be used for single frequency users, to correct the ionospheric delay error of the observation data. For a given satellite without satellite position and clock corrections, it shall not be used in the position equation. The integrity information is used to indicate an alert condition on one satellite or multiple satellites. Anytime a \"don't use\" or \"not monitored\" indication is received, the corresponding satellite should not be used for navigation. Otherwise UDEIs are used for the evaluation of \(\sigma_{\text{UDE}}^{2}\) indicating the accuracy of combined fast and slow error corrections. The accuracy of ionospheric grid delay corrections indicated in \(\sigma_{\text{GIVE}}^{2}\) is computed form the GIVEIs. These correction accuracies will be applied to determine the weighting matrix for the weighed least squares solution of SBAS user position equation. Compared with the navigation messages broadcast by the core constellations, the information broadcast by the SBAS system has high frequency update. The fast corrections, slow corrections, and ionospheric corrections are all designed to provide the most recent information to the user. However, there is always the possibility that the user will fail to receive one of these messages. To guarantee integrity even when some messages are not received, SBAS designs the degradation factors of this information to monitor the old data to ensure that they remain valid until they time out. To provide increased availability inside the service volume and increased integrity outside, SBAS broadcast the relative covariance matrix for clock and ephemeris errors to calculate the broadcast \(\sigma_{\text{UDE}}^{\text{}}\) degradation values specified as \(\delta\)UDRE, as a function of user position. The degradation information is broadcast through different message types and applied to calculate the model variance for the measurements. The user algorithms of SBAS SF messages are described in detail in RTCA MOPS DO-229D, and the comparable definition of SBAS DFMC operations are given in SBAS L5 DFMC ICD. The calculation processing for SF and DFMC messages are similar. Taking the SF messages as an example, the user computation processing with SBAS messages is introduced as shown in Figure 2.  
According to Figure 2, after receiving GPS L1 signal and SBAS augmentation messages, the satellites used for navigation are selected according to the satellite vehicle (SV) health status, whether the differential corrections were received and the corresponding integrity information. Once the satellite is unhealthy, or its differential corrections are not received, or the UDREI of the satellite is greater than 12, the measurements of the satellite will not be  
Figure 2: Algorithm flowchart of BDSBAS SF messages [19]. used. If the MT 28 messages are received normally, the UDRE degradation value \(\delta\)UDRE will be computed with MT 28 as Equation (1), otherwise \(\delta\)UDRE is equal to 1 [19; 22]. \[\delta\text{UDRE}= \sqrt{l^{T}\cdot C\cdot l}+\varepsilon_{C}\] \[C=(E\cdot Fscal)^{T}\cdot(E\cdot Fscal)\] \[Fscal=2^{(scale-5)}\] \[\varepsilon_{C}=C_{covariance}\cdot Fscal \tag{1}\] \[E=\left[ \begin{array}{cccc}E_{1,1}&E_{1,2}&E_{1,3}&E_{1,4}\\ 0&E_{2,2}&E_{2,3}&E_{2,4}\\ 0&0&E_{3,3}&E_{3,4}\\ 0&0&0&E_{4,4}\end{array} \right]\]  
where \(l\) is the line-of-sight vector from the user to the satellite. \(\varepsilon_{C}\) indicates the quantization errors, derived from \(C_{covariance}\) which is broadcast in an MT 10 message. If MT 10 data are not available, \(\varepsilon_{C}\) is set to zero.