## 3 Methodology
### MDDA Augmented GNSS/INS Integration
#### 3.6.6 TC Integration Model  
Unlike LC, in TC integration, the raw measurements of the GNSS receiver (such as pseudo-range and pseudorange-rate) of all MDDA visible satellites are integrated into the sensor fusion system. The system state vector will be [50]  
\[\delta x_{17\times 1}^{l}=[\delta p_{3\times 1}^{l}\;\delta vel_{3\times 1}^{l }\;\varepsilon_{3\times 1}^{l}\;\delta\omega_{3\times 1}\;\delta ax_{3\times 1} \;\delta b_{r}\;\delta d_{r}]^{\mathsf{T}} \tag{48}\]  
where \(\delta b_{r}\,,\delta d_{r}\) is the receiver clock bias and drift. Also, the additional part is added to the \(F\), \(G\), and \(H\) matrices. Depending on Equation (31), the final system model will be where \(\sigma_{b},\sigma_{d}\) is the standard deviation for the clock bias and drift, respectively. The crucial component of the GNSS receiver that needs to be evaluated is the pseudorange. Smartphones give all the components for evaluating the pseudorange, but not its value. The period of time it takes for a navigation message to be transmitted from the satellite to the receiver provides the pseudorange between the \(m^{th}\) satellite and the GNSS receiver. Pseudorange can be calculated as follows:  
\[\rho^{m}=[t_{RX}-t_{TX}]c \tag{50}\]  
where \(\rho^{m}\) is the pseudorange from the \(m^{th}\) satellite; \(t_{TX},t_{RX}\) are the times of transmission and arrival, respectively; and \(c\) is the speed of light. On the other hand, the pseudorange rate for the \(m^{th}\) satellite \(\rho^{m}\) can be determined as  
\[\dot{\rho}^{m}=\frac{-D^{m}c}{L_{1}} \tag{51}\]  
where \(D^{m}\) is the Doppler shift, which is based on the receiver and satellite motion, and \(L_{1}\) is the transmission frequency of the satellite. \[D^{m}=\frac{[(vel^{m}-vel)\cdot\mathbf{1^{m}}]L_{1}}{c} \tag{52}\]  
where \(vel,vel^{m}\) are the velocity vector of the receiver and the \(m^{th}\) satellite in ECEF, respectively, and \(\mathbf{1^{m}}\) is the line-of-sight (LOS) unit vector from the \(m^{th}\) satellite to the GNSS receiver, expressed as  
\[\mathbf{1^{m}}=\frac{[(x-x^{m}),(y-y^{m}),(z-z^{m})]^{T}}{\sqrt{((x-x^{m})^{2} +(y-y^{m})^{2}+(z-z^{m})^{2})}} \tag{53}\]  
where \(x,y,\) and \(z\) are the receiver position and \(x^{m},y^{m},\) and \(z^{m}\) are the position of the \(m^{th}\) satellite in ECEF. The linearization of Equations (50) and (51) leads to the TC measurement model:\[ \begin{bmatrix}\delta\rho^{1}\\ \vdots\\ \delta\rho^{m}\\ \vdots\\ \delta\rho^{m}\end{bmatrix} =[H]_{2m\times 17} \begin{bmatrix}\delta p_{3\times 1 }^{l}\\ \delta vel_{3\times 1}^{l}\\ \delta v_{3\times 1}\\ \delta\alpha_{3\times 1}\\ \delta x_{3\times 1}\\ \delta b_{r}\\ \delta d_{r}\end{bmatrix} + \begin{bmatrix}v_{\rho}^{1}\\ \vdots\\ v_{\rho}^{m}\\ v_{\rho}^{1}\\ \vdots\\ v_{\rho}^{m}\end{bmatrix}  \tag{54}\]  
where \(\delta\rho^{m}\) and \(\delta\rho^{m}\) are the pseudorange error from the \(m^{th}\) satellite and pseudorange rate error, respectively; \(v_{\rho}^{m}\) is the effect of residual errors; and \(v_{\rho}^{m}\) is the observation error. The flowchart depicted in Figure 5 provides an overview of the comprehensive MDDA-TC integration process. It commences with the selection of the most suitable weighting matrix that delivers the best 3D position accuracy. Following this, the initial step of the satellite selection strategy is implemented. This entails selecting the satellite with the minimum 3D position error from among three methods: eliminating satellites with \(C/N_{o}\) values lower than the average of the \(C/N_{o}\) values on the horizon, eliminating satellites with elevation angles less than \(5^{\circ}\), or retaining all satellites without elimination. Subsequently, a check is performed to ascertain if the number of available satellites exceeds the receiver's channel capacity. If there are more satellites than available channels, the dawndate satellite selection method is applied to identify the best subset. This constitutes the primary segment of the proposed algorithm, hereafter referred to as MDDA. Figure 5: MDDA-TC algorithm flowchart.