# On the Use of a Feedback Tracking Architecture for Satellite Navigation Spoofing Detection
## 3 The ECADLL  
The working principle of the ECADLL is based on distinguishing and tracking separately the satellite signal and the impairment signal, i.e., spoofer or multipath. It uses an architecture made of several DLLs and a feedback loop to remove the extra components from the incoming signal and track each signal individually. The incoming satellite signal at the baseband level for a single satellite, denoted as \(s(t)\) and under impairment presence denoted as \(m(t)\), can be written as:  
\[s(t)=a_{0}D(t-\theta_{0})c_{f}(t-\tau_{0})e^{j(2\pi(f_{IF}+f_{D})t+\theta_{0}) }+m(t) \tag{1}\]  
where,  
\[m(t)=D(t-\theta_{0}-\theta_{n})\sum_{n=1}^{M}a_{n}c_{f}(t-\tau_{0}-\tau_{n})e^ {j(2\pi(f_{IF}+f_{D})t+\theta_{0}+\theta_{n})}+n_{f}(t) \tag{2}\]  
and:  
* \(c_{f}(t)\) is the spreading code of the signal
* \(\tau_{0},a_{0}\) and \(\theta_{0}\) are the satellite signal code delay, amplitude and carrier phase, respectively
* \(\tau_{n},a_{n}\) and \(\theta_{n}\) denote the code delay, amplitude and carrier phase of the n-th impairment ray with respect to the LOS
* \(f_{IF}\) is the intermediate frequency of the front-end
* \(f_{D}\) is the Doppler shift of the signal carrier
* \(D(t)\) is the navigation data information
* \(n_{f}(t)\) is the Gaussian noise  
In (1) and (2), we observe the overall signal that is used by the receiver after the intermediate frequency down-conversion and the radio-frequency front-end filtering. The term (1) shows the signal coming from the satellite, while (2) contains all possible impairment rays along with a model of the noise of the signal. Throughout this paper and in general for spoofing detection, \(M=1\) will be assumed, due to the fact that only one powerful ray is assumed to be present during a spoofing attack. Given that the spoofing signal has the same structure as the satellite signal, the ECADLL uses this intrinsic similarity to track each ray individually, using a special tracking structure referred to as the unit. Each unit consists of a unique DLL, plus a couple of Amplitude Lock Loops (ALL), detailed in [12], that aim at estimating the delay \(\tau_{n}\), the amplitude \(a_{n}\) and the phase \(\theta_{n}\) of the different rays. The input signal of the i-th unit will be:  
\[s_{i}(t)=s(t)-\sum_{n\
eq i}^{N}\hat{a}_{n}\cdot c(t-\hat{\tau}_{n})e^{j(\hat{ \theta}_{n})} \tag{3}\]  
where \(\hat{\tau}_{n},\hat{a}_{n}\) and \(\hat{\theta}_{n}\) are the estimated values obtained from the tracking of Unit\(n\). From (3) and Figure 1, the working principle of the ECADLL can be understood. Using a feedback loop, it subtracts from the overall received signal the sum of the estimated signals in other units. In this way, the structure is able to separate the impairment component from the satellite signal and track each one on a different units. As can be observed in Figure 1, the total structure for one GNSS channel has a single Phase Lock Loop (PLL), plus one unit for each additional signal that has to be tracked. In the case considered in this work, the structure will have two units, one for the Line Of Sight (LOS) signal coming from the satellite and the other to track the spoofing signal. Inside each unit, a DLL using a narrow correlator is used to estimate \(\hat{\tau}_{n}\) and uses the normalized dot-product discriminator:  
\[d\tau=\frac{I_{D}\cdot I_{P}+Q_{D}\cdot Q_{P}}{S_{P}} \tag{4}\]  
where \(I_{P}\) and \(Q_{P}\) are the prompt correlations of the in-phase and quadrature signals, respectively. \(S_{P}=I_{P}^{2}+Q_{P}^{2}\) and \(I_{D}\) and \(Q_{D}\) are the early-minus-late of the I and Q channels. Inside the ALL, the amplitude \(\hat{a}_{n}\) and phase \(\hat{\theta}_{n}\) are estimated as:  
\[\hat{a}_{n}= \sqrt{\hat{a}_{n,i}^{2}+\hat{a}_{n,q}^{2}}\hskip 28.452756 pt\hat{ \theta}_{n}=tan^{-1}(\frac{\hat{a}_{n,q}}{\hat{a}_{n,i}}) \tag{5}\]  
Figure 1: Extended Coupled Amplitude Delay Lock Loop (ECADLL) architecture for a single GNSS channel and configured for spoofing detection. where \(\hat{\theta}_{n}\) is the estimation of \(\theta_{0}+\theta_{n}\).