## 5 Model Validation
### Criterion  
Model validity is checked by comparing the predicted and measured tracking standard deviation, using the expression [18]:  
\[\mathrm{var}\{\tau_{k}^{u}|\tau_{k}^{s}\}=\frac{\mathrm{var}\big{\{}e(\varepsilon )|\tau_{k}^{s}\big{\}}}{C_{s}^{4}K^{2}} \tag{25}\]  
where \(K\) is code tracking loop gain and \(C_{s}\) the measured signal power. \(\mathrm{var}\{e(\varepsilon)\mid\tau^{s}_{k}\}\) is measured discriminator output variance. \(\mathrm{var}\{\tau^{u}_{k}\mid\tau^{s}_{k}\}\) is variance of the unsmoothed code delay estimate \(\tau^{u}_{k}\), which is predicted by using Equation (26) [19]:  
\[\mathrm{var}\{\tau_{k}^{u}|\tau_{k}^{s}\}=\frac{B_{L}\int_{-B_{r}/2}^{B_{r}/2}G _{s}(f)G_{w}(f)\sin^{2}(\pi f\Delta)df}{(2\pi)^{2}C_{s}\Big{(}\int_{-B_{r}/2}^ {B_{r}/2}fG_{s}(f)\sin(\pi f\Delta)df\Big{)}^{2}}\Bigg{[}1+\frac{1}{T\Big{(} \frac{C_{s}}{N_{0}}\Big{)}_{eff}\int_{-B_{r}/2}^{B_{r}/2}G_{s}(f)df}\Bigg{]} \tag{26}\]  
which is the analytical form of code tracking variance. The term '\((C_{s}/N_{0})_{eff}\)' is effective carrier to noise ratio, and is equal to \(C_{s}-I_{0}\), where \(C_{s}\) is the measured signal power and \(I_{0}\) the equivalent white noise as defined in Equation (16) and transformed into dB. Here \(I_{0}\) includes self-interference effects, to be evaluated using the proposed model (Equations (16) and (20)). Both \(C_{s}\) and \(I_{0}\) are in dB and  
\begin{table}
\begin{tabular}{l l} \hline
**1:** & **while GPS measurement do** \\
**2:** & Use true range \(r\) to obtain transit time \(t\) by \(t=r/c\), \\  & where \(c\) is the speed of light in vacuum. \\
**3:** & Use relative received power \(p\_rel\) to obtain actual \\  & received power \(p\) by \(p=p\_rel+p\_ref\), where \\  & \(p\_ref\) is the reference power set in the software simulator. \\
**4:** & Obtain differential Doppler \(f\) by differencing the first satellite with the rest. \\
**5:** & Obtain differential transit time \(\Delta\) by differencing the first satellite with the rest. \\
**6:** & Obtain the number of \(1\)ms in \(A\), \(K\) by \(K=\) floor (absolute value of \(\Delta\times 10^{3}\)). \\
**7:** & Obtain the number of code chips in \(\Delta\), \(C\) by \(C=\) round(\((\Delta-K)\times\)chip\_rate \(\times\)\(10^{-3}\)). \\
**8:** & **if**\(C\) is equal to code period (2046) **then** \\
**9:** & reset \(C\). \\
**10:** & increment \(K\). \\
**11:** & **endif** \\
**12:** & Use Equations (20) and (23) to obtain \(SSC_{B1\text{-}I}\). \\
**13:** & \(I_{0}=p+SSC_{B1\text{-}I}\). \\
**14:** & **end while** \\ \hline \end{tabular}
\end{table}
Table 2: Model utilization procedure.  
should be converted back to non-logarithmic unit when it is used in Equation (26). If the model is correct, the squared root of the two sides of Equation (25) should agree within a small error tolerance for a specific channel in a software receiver:  
\[\left|\sqrt{\text{var}\big{\{}\tau_{k}^{u}\big{|}\tau_{k}^{s}\big{\}}}-\sqrt{ \frac{\text{var}\big{\{}e(\epsilon)\big{|}\tau_{k}^{s}\big{\}}}{C_{s}^{4}K^{2} }}\right|<\lambda \tag{27}\]  
where \(\lambda\) is a tolerance value and we set it as follows. We compare our prediction accuracy with accuracy of most recent analytical methods for self-interference, such as the work by [PERSON] et al. [4], where the accuracy of prediction, i.e., the difference between predicted and measured carrier tracking standard deviation is 0.5 degrees. This translates into a prediction accuracy of 0.0264 cm (0.5/360 \(\times\) 19) in range by phase measurements, which is in turn, translated into code tracking prediction accuracy of 6.6 cm by a scale factor of 250, since code tracking loop is 100 (with multipath) to 250 (without multipath; this is the case with current validation settings described in Table 3, and is also the case with the benchmark work by [PERSON] et al. [3]) times noisier than carrier tracking loop in terms of tracking standard deviation [20]. Therefore, we set \(\lambda\) = 0.066 m.