# Detecting and Mitigating Attacks on GPS Devices
## 3 GNSS Overview
### GNSS Performance Expectations  
GNSS positioning accuracy can vary based on receiver complexity, such as the type of signal processing; variation in receiver quality, such as hardware quality; environmental conditions; location; time of day; and geometry. GNSS receivers actually do not determine a range to each satellite but rather a pseudorange, which is just an estimate of range. Ideally, this pseudorange, \(\overset{\sim}{\rho}\), would match the actual range to the satellite, \(\rho\), and would be a function of the speed of light, \(c\), the time, \(t_{R}\), and the time of the transmitter clock, \(t_{T}\), such that \(\overset{\sim}{\rho}=c(t_{R}-t_{T})=\rho(t_{R},t_{T})\)[31]. However, in practice, this range estimation varies from the actual range due to a variety of degradation factors, including atmospheric effects, multipath propagation effects, clock errors, Earth tides, and relativistic effects, among other noise terms. Because of these various degradation factors, the pseudorange observable takes the following form [31]:  
\[\overset{\sim}{\rho}=\rho(t_{R},t_{T})-c(\delta t_{R}-\delta t_{T})+\delta_{ IONO}+\delta_{TROPO}+\delta_{TIDE}+\delta_{PATH}+\delta_{REL}+\varepsilon \tag{1}\]  
where  
\(\delta t\) represents clock errors;  
\(\delta_{IONO}\) and \(\delta_{TROPO}\) represents atmospheric effects of the ionosphere and troposphere;  
\(\delta_{TIDE}\) represents errors introduced by Earth's tidal cycles;  
\(\delta_{PATH}\) represents errors introduced by multipath propagation;  
\(\delta_{REL}\) represents relativistic errors;  
\(\varepsilon\) represents all other unmodeled error sources [31]. Clock errors can be present on the satellite or receiver and can be caused by epermis errors, receiver clock drift and bias, and measurement error. Ionospheric delay is a function of electron density along the signal's propagation path. Tropospheric delay is a function of environmental conditions along the signal's propagation path, such as temperature, barometric pressure, and humidity. Tropospheric propagation also introduces signal attenuation based on conditions. Multipath fading introduces delays due to signals traveling different propagation paths and can also lead to large-scale and/or small-scale fading (i.e., constructive and/or destructive combining at the receiver of signals taking different propagation paths). Other sources of error can include factors such as receiver noise, external noise/interference, and other propagation effects (e.g., blockage) that reduce the quality of the received signal. Figure 3: Spectrum allocations for worldwide GNSS civilian navigation signals. As previously mentioned, some GNSS receivers make carrier-phase measurements of the GNSS signal to gain higher precision than is available through the code observable. However, there are error components that arise in this measurement. Two issues surrounding phase measurement are (1) phase ambiguity and (2) cycle slip. Phase ambiguity is due to the fact that adding integer multiples of the signal cycle will result in exactly the same measured phase. There are numerous methods that deal with phase ambiguity in GNSS receivers. But generally, these receivers do not distinguish between carrier cycles and generally measure fractional phases and then track phase changes. GNSS receivers will attempt to estimate an unknown initial ambiguity from the GNSS data. However, errors are generally present in the phase measurement. Cycle slip refers to the need for GNSS receivers to continually track signal phase; intermittent outages (e.g., signal shadowing) will change the value of the phase ambiguity. In this case, carrier phase tracking must start over, and there will be a period of time with degraded performance.