## 2 TCAPLL Architecture
### Monitoring System  
Low-cost MEMS inertial sensors are not well suited to be used directly as assistance to the GPS PLL loops. Therefore in addition to the error corrections that are provided continuously from the integration filter, a data monitoring system is implemented as part of the TCAPLL architecture in order to check the  
Figure 4: PLL tolerable assistance frequency error when \(T_{int}=1\) ms (**left**) and \(B_{n}=5\) Hz (**right**). Figure 3: Assisted PLL phase error when \(B_{n}=5\) Hz, \(T_{int}=1\) ms, \(\delta f_{ib}^{b}=0.12\) m/s\({}^{2}\), and \(\delta\omega_{ib}^{b}=2\),000 deg/h. quality of the feed-forward component and the measurements from the GPS. The overall monitoring system, implemented on each GPS receiver channel, is shown in Figure 5, where the blue blocks correspond to the INS and the integration filter, and the red blocks correspond to the GPS receiver. The data monitoring system first looks at the covariance matrix of the integration filter **P**. If it converges, the feed-forward component is enabled, _i.e._, interrupter C in Figure 5 is closed, and the PLL starts to receive assistance. The convergence criteria can take into consideration different parameters of the filter states. In the TCAPLL architecture, we selected the geometry dilution of precision (GDOP) parameter by computing the uncertainty of the position and clock bias from the state covariance matrix and comparing it to a certain error threshold:  
\[GDOP=\sqrt{\sigma_{{}_{x}}^{2}+\sigma_{{}_{y}}^{2}+\sigma_{{}_{z}}^{2}+\sigma _{{}_{\delta}}^{2}}\leq e_{GDOP} \tag{17}\]  
Where \(\sigma_{{}_{Tx}}.\sigma_{{}_{Ty}}\) and \(\sigma_{{}_{Tx}}\) are the uncertainty of the position, \(\sigma_{{}_{\delta_{t}}}\) is the uncertainty of the clock bias, and \(e_{GDOP}\) is the error threshold. The latter depends on the quality of the MEMS IMU sensors, the GPS clock receiver and the targeted accuracy requirements, and typically it can take a value between n 2 and 5. In the TCAPLL evaluation, the value of \(e_{GDOP}\) is set to 3. Once the feed-forward component is enabled, a jump detection is performed where the aiding frequency component of satellite \(S\) is compared to its previous value. If the difference is higher than the corresponding maximum tolerable frequency of the PLL loop filter, then the carrier NCO is reset. This can be described as:  
\[\left[\mathit{cond}_{jump}\right]_{S}=\left[\mathit{f}_{aiding}\left(t_{k} \right)-\mathit{f}_{aiding}\left(t_{k-1}\right)\right]_{S}<\left[\max(e_{{}_{ f-f}})\right]_{S} \tag{18}\]  
where \(\left[\max(e_{{}_{f-f}})\right]_{S}\) can be obtained using Equation (13). Next, a test is performed on the GPS tracking loops to check whether satellite \(S\) is visible by computing the Phase Lock Indicator (PLI) and the \(C/N_{o}\) on its corresponding channel, and comparing them to two thresholds:  
Figure 5: TCAPLL monitoring system implemented on each channel of the GPS receiver. \[cond_{{}_{track}}=\left[PLI_{{}_{S}}>TH_{{}_{PLI}}\right]\text{ AND }\left[\left[C\,/\,N_{{}_{0}}\right]_{{}_{S}}>TH_{{}_{CN_{0}}}\right] \tag{19}\]  
where \(TH_{PLI}\) is the PLI threshold, which is selected to be 0.7 in this paper, and \(TH_{{}_{CN_{0}}}\) is the \(C\)/\(N_{{}_{0}}\) threshold, which depends on the integration time and PLL filter bandwidth [17]. If \(cond_{{}_{track}}\) is true, the tracking continues normally. If not, then the satellite is declared non-visible, and the feedback components from the PLL and DLL loop filters are disabled, _i.e._, interrupters A and B in Figure 5 are opened. At this moment, a condition related to the frequency aiding uncertainty is checked:  
\[cond_{{}_{eff-f}}=\left[\left[e_{{}_{f-f}}\right]_{{}_{S}}<\max(e_{{}_{f-f}}) \right]\text{ OR }\left[\left[e_{{}_{f-f}}\right]_{{}_{S}}\times\left[t_{{}_{Dis}}\right]_{{}_{S }}/\text{SF}<0.5\right] \tag{20}\]  
The left condition of Equation (20) ensures that the aiding frequency maintains a carrier frequency error less than the maximum tolerable error of the PLL.