## 2 TCAPLL Architecture
### GPS Assisted PLL  
The feed-forward component to assist the GPS PLL of satellite '\(k\)' is computed as:  
\[f_{aiding}^{k}=f_{Doppler_{ns}}^{k}+f_{oscillator}=f_{Doppler_{ns}}^{k}+\delta t _{d}\ /\ \lambda_{\lambda_{1}} \tag{10}\]  
where \(f_{Doppler_{ns}}^{k}\) is the Doppler frequency of satellite '\(k\)' computed from the INS navigation solution and \(\lambda_{L1}\) is the wavelength of the GPS L1 signal. This component slightly modifies the typical design of the PLL. Figure 2 shows the GPS PLL and DLL tracking loops used in the TCAPLL architecture. Once the feed-forward component is enabled, the PLL and DLL are reset, and the feed-forward component is added to the output of the PLL loop filter. The input to the carrier NCO is expressed as :  
\[f_{PLL}=f_{aiding}+f_{PLL_{noe}} \tag{11}\]  
Figure 2: GPS-assisted PLL and DLL loops. where \(f_{PLL_{min}}\) is the thermal noise of the PLL. The input to the carrier NCO is also used as assistance to the DLL by multiplying it with a scale factor (SF) and adding it to the output of the DLL filter. The input to the code NCO is expressed as:  
\[f_{DLL}=\frac{f_{PLL}}{\text{SF}}+f_{DLL_{max}}=f_{PLL_{- additive}}+f_{DLL_{max}} \tag{12}\]  
where \(f_{DLL_{max}}\) is the thermal noise frequency of the DLL, and SF is equal to 1,540 (_i.e._, \(f_{L}\)/\(f_{C\lambda}\)). As we intend to use low-quality MEMS inertial sensors for the INS, it is important to evaluate the quality of aiding that can be expected from such sensors and their impact on the PLL loops. In order to do so, we need first to derive what is the error tolerable by the assisted PLL loops. In the presence of assistance, the 1-sigma rule of thumb PLL tracking threshold is expressed as:  
\[\sigma_{PLL}=\sqrt{\sigma_{\mu PLL}^{2}+\sigma_{v}^{2}+\sigma_{A}^{2}}+\frac{ e_{f-f}}{3}\leq 15^{o} \tag{13}\]  
where \(\sigma_{\mu PLL}\) is the thermal noise jitter, \(\sigma_{v}\) is the vibration-induced oscillator jitter, and \(\sigma_{A}\) is the Allan-variance-induced oscillator jitter. Their expressions can be found in [17]. \(e_{f-f}\) is the error induced from the feed-forward component, which is dependent on the error sources of the IMU and can be highly correlated in time. In the case of INS assistance with no error corrections, _i.e._, the sensor measurements are not corrected by the integration filter, \(e_{f-f}\) (restricted to the horizontal plane) is expressed as [19]:  
\[e_{f-f}=\frac{0.2809}{B_{n}^{2}}\Bigg{(}\delta f_{h}^{b}\cos(\omega_{f}t)+ \delta\omega_{h}^{b}g\frac{\sin(\omega_{f}t)}{\omega_{s}}\Bigg{)} \tag{14}\]  
where g is the acceleration due to gravity, \(\omega_{s}\) is the Schuler frequency, and \(t\) is time. It is clear that with assistance, the PLL dynamic stress error no longer depends solely on the dynamics of the receiver, but also on time, because it depends on the inertial solution, which degrades over time. For example, let us assume that the INS has low-quality IMU having acceleration and angular velocity drifts of 0.12 m/s\({}^{2}\) and 2,000 deg/h respectively. In this case the aiding component coming from the INS will drift in time and a 2 nd order PLL (which is used typically in aided tracking loops [20]) with a bandwidth of 5 Hz and integration time of 1 ms will not be able to compensate the drift and according to Figure 3, it will lose lock after roughly 20 s. This means that MEMS inertial sensors cannot be used directly to assist a PLL. Hence error corrections through an EKF are mandatory to meet the PLL support requirements. In this case the assistance error depends not only on time, but also on the filter states' uncertainty, and in particular on the oscillator drift and estimated velocity which is used to compute the Doppler aiding.