## 3 Implementation of Constellation Dynamic Selection in ARAIM
### Detailed Implementation of Constellation Dynamic Selection
#### 3.2.2 Best Constellation Combination Selection  
For the best constellation combination selection, two selection rules are experimented and evaluated in this paper. Rule 1: the two constellations with the minimum VDOPs. Rule 2: the dual-constellation combination with the minimum VDOP. Corresponding to Rule 1, the constellations will be sorted by VDOP of single constellation from small to large. The top two constellations are the choices into ARAIM calculation. Then under the circumstance of Rule 2, the constellations will be combined to dual-constellation combination, only the one with the minimum VDOP is the target of constellation dynamic selection. The following part is the particular implementation of two rules in receiver algorithm.  
Under Rule 1, as shown in Equation (14), it is a standard format of geometry matrix of single constellation. Then the two constellations are chosen using the following equation  
\[\text{VDOP}_{\text{min}}=\text{min}\Bigg{\{}j\in[1,m]\Bigg{|}\sqrt{\left( \mathbf{G}_{j}^{\prime}\mathbf{G}_{j}^{\prime}\right)^{-1}{}_{(3,3)}}\Bigg{\}} \tag{15}\]  
Under Rule 2, the Jacobian matrices of different constellations need be recombined into dual-constellation form as follows  
\[\mathbf{G}_{j+k}=\left[\begin{array}{ccc}\mathbf{G}_{j}&\mathbf{T}_{1}^{ \prime}\\ \mathbf{G}_{k}^{-}&\mathbf{T}_{2}^{\prime}\\ \end{array}\right] \tag{16}\]  
where \(\mathbf{T}_{1}^{\prime}\) and \(\mathbf{T}_{2}^{\prime}\) are the receiver clock offset parts, corresponding to constellation \(j\) and \(k\).  
\[\mathbf{T}_{1}^{\prime}=\left[\begin{matrix}\mathbf{1}_{1\times n_{j}}&\mathbf{ 0}_{1\times n_{j}}\\ \end{matrix}\right] \tag{17}\]  
\[\mathbf{T}_{2}^{\prime}=\left[\begin{matrix}\mathbf{0}_{1\times n_{k}}&\mathbf{ 1}_{1\times n_{k}}\\ \end{matrix}\right] \tag{18}\]where \(n_{j}\) and \(n_{k}\) represent the number of satellites in constellation \(j\) and \(k\).  
The number of combinations is \(C_{m}^{2}\), the minimum VDOP is calculated among these combinations:  
\[\text{VDOP}_{\text{min}}=\text{min}\Bigg{\{}j,k\in[1,m],j<k\Bigg{|}\sqrt{\left( \mathbf{G}_{j+k}{}^{T}\mathbf{G}_{j+k}\right)^{-1}}_{(3,3)}\Bigg{\}} \tag{19}\]  
Finally, the Jacobian matrix of the selected dual-constellation combination \(\mathbf{G}_{new}\) will replace the original \(\mathbf{G}\) and is sent to the ARAIM part to determine the fault subsets and calculate the positioning, with the assist of ARAIM ISM information. The fault-tolerant positioning solutions \(\hat{\mathbf{x}}^{(k)}\) are calculated with the new Jacobian matrix as follows:  
\[\hat{\mathbf{x}}^{(k)}=\left(\mathbf{G}_{new}W^{(k)}\mathbf{G}_{new}\right)^{ -1}\mathbf{G}_{new}^{T}W^{(k)}\mathbf{y} \tag{20}\]  
where \(W^{(k)}\) is the weighted matrix determined by the pseudorange error diagonal covariance matrices. \(k=0\) corresponds to the all-in-view positioning solution \(\hat{\mathbf{x}}^{(0)}\). The positioning differences between \(\hat{\mathbf{x}}^{(0)}\) and \(\hat{\mathbf{x}}^{(k)}\) will then be used for the threshold test, integrity evaluation and output the availability as mentioned in the Problem Statement.  
The superiority of 'dynamic' is that not only the constellation selected in different epoch can be different, but also the selection in the same epoch can be different. Once one fault is detected and excluded, no matter whether it is a satellite fault or constellation fault, the program will return to constellation selection to select the best two constellations again.