% !TEX root = ../toptesi-scudo-example.tex
% !TEX encoding = UTF-8 Unicode
%*****************************************************************
%*********************** Third chapter ***************************
%*****************************************************************

%%%%% CHAPTER 3. Global Navigation Satellite Systems
\chapter{Global Navigation Satellite Systems}\label{GlobalNavigationSatelliteSystems}

% ********************** Define Graphics Path ********************
    \graphicspath{{Chapter5/}}

\par This chapter provides an overview of the fundamentals of GNSS with GNSS signals, GNSS receivers and the standard GNSS positioning algorithm explained in some detail. A brief overview of GNSS errors is provided at the end. %EDIT AFTER FINISHING

%What is GNSS
\section{Introduction}\label{Introduction}

\par The Global Navigation satellite system (GNSS) was born out of the growing need to determine accurate positions for military applications during the Cold War between the United States of America (USA) and the former Soviet Union (USSR). They had already basic forms of regional satellite navigation systems in the form of ‘TRANSIT’ and ‘Cicada’ for the USA and USSR respectively, both following the concept of Doppler based positioning. Along with evolving technology and need for a positioning system with a global coverage, both nations started conceptualizing and developing the Global Positioning System (GPS) (USA) and the Globalnaya Navigatsionnaya Sputnikovaya Sistema (GLONASS) (USSR) simultaneously during the 1970s, achieving full operational capability by the mid-nineties. Although the main application was to be towards the military, it soon found application in the civilian domain with separate civilian use signals being added to the systems eventually. The range of civilian application of the satellite navigation signals increased manifold and there are many different domains dependent on them today ranging from atmospheric monitoring to banking and finance. 

\par Other navigation systems existing today include Satellite Laser Ranging (SLR), Lunar Laser Ranging (LLR), Precise Range and Range Rate Equipment (PRARE), Doppler Orbitography and Radio Positioning Integrated by Satellite (DORIS) and different Space Based Augmentation systems (SBAS). Among the many advantages of using GNSS are it being an accurate, all-weather, all time (continuous), multi-purpose real time system with its 3-dimensional coordinates being consistent throughout the globe. This allows GNSS to transcend all other positioning sensors with most systems like Radars, Radar Becons, AIS (marine), Inertial systems, Barometers, Gyroscopes, etc., being used to augment or supplement GNSS positioning today.

\par Any GNSS system generally consists of three basic segments: Space Segment, User Segment and Control Segment as shown in Figure \ref{Fig.gnss_segments}.

\begin{figure*}[!hbt]
\centering
\includegraphics[width=0.90\textwidth]{GNSSsegments.png}
\caption{GNSS segments.}
\label{Fig.gnss_segments}
\end{figure*}

\par The Space segment consists of basically the satellite constellation. A nominal constellation is made of 24 satellites which can provide global coverage with 4-10 satellites visible at any given point on the earth. The orbits are typically circular at altitudes between 19,000-23,600 km from the earth. A constellation could consist of 3-6 planes typically with 55-65 degrees of orbital inclination. The satellites have radio transmitters, atomic clocks, computers and other additional equipment on board.

\par The Control segment consist of the ground control centre, monitoring stations and uplink stations. Its main objectives are to maintain each satellite in its orbit, make corrections and adjustments to the satellite clocks and track the satellites to generate the navigation data for each satellite. The control centre basically controls the system collecting tracking data from the monitoring stations, calculating the satellite orbital and clock parameters and passing on this data to the uplink stations to be uplinked to the satellites. 

\par The User Segment basically consists of military and civilian users with a various range of receivers including standard code pseudorange receivers, code/carrier receivers, precise code receivers, multi-frequency receivers and multi-constellation multi-frequency receivers.

\par GPS, GLONASS, Galileo and BEIDOU (COMPASS) are the global GNSS constellations. The Japanese QZSS and Indian IRNSS (NAVIC) are the regional constellations with special orbits different from global constellations. The former is expected to be fully operational by 2023 while IRNSS completed its satellite constellation on April 12th, 2018. They provide full positioning coverage in specific regions while also acting as a supplement to the global constellations. The Space Based Augmentation Systems (SBAS) - WAAS, MSAS, EGNOS, GAGAN, SDCM, BDSBAS and KASS act only to augment the performance of the global and regional constellations providing updated corrections, integrity and higher performance to its users. %rewrite and add figure

The following sections give a brief overview on the workings architecture of GNSS signals, receivers and processeses towards position computation. Further detailed explanation into the fundamentals of GNSS is covered in several books such as \cite{Groves2013, kaplan2017understanding,misra2006global, HofmannBook, Grewal2001}.

%IMP: Section on Time in GNSS
\section{GNSS Signals}\label{GNSS_Signals}
\par The propagation of GNSS signals through space relies on electromagnetic waves and their transmission from GNSS satellites towards 	the earth occurs in the L frequency band. A standard GNSS signal is a Right-Hand Circularly Polarized (RHCP) wave which will contain a carrier frequency, a ranging code to determine the time of flight from the satellite to the receiver and the navigation data which provides information on the satellite ephemeris, satellite clock parameters, almanac (coarse information of satellites in the constellation) and other complementary information such as satellite health status. The basic block diagram of signal generation in a GNSS satellite is shown in Figure \ref{Fig.Signalgeneration}. 

\begin{figure*}[!hbt]
\centering
\includegraphics[width=0.90\textwidth]{Signalgeneration.png}
\caption{Signal Generated from a GNSS Satellite.}
\label{Fig.Signalgeneration}
\end{figure*}

\par Atomic clocks on board the GNSS satellites provide a consistent time reference for the RF carrier and codes genarated. An unique PRN ranging code sequence is generated in each satellite which acts as the spreading code for the binary-coded (0 and 1) navigation data modulated according to a defined digital modulation scheme. For example, a Binary Phase Shift Keying (BPSK) modulation \cite{Groves2013} scheme is applied in most of the existing GNSS signals to combine the code and navigation data. A BPSK modulated signal can be written as: 

\begin{equation}\label{BPSK}
\centering
s_{\textrm{BPSK}}(t)\,=\,\sqrt{2P}\,s(t)\,\cos\left ({2\pi f_{0}t + \phi}  \right )
\end{equation} 
where $P$ is the transmitted signal power, $f_0$ is the carrier frequency, $\phi$ is the carrier phase, and $s(t)$ is the bipolar (i.e. $+1$, $-1$) representation of modulo-2 addition of the spreading code and  navigation data \cite{UcarPhDThesis}. The carrier phase $(\phi)$ is either $0^\circ$ or $180^\circ$ depending on transmitted digital $0$ and $1$ over successive bit intervals of the navigation message.

\par With modern day multiple multi-frequency constellations, different GNSS signals employ different Direct Sequence Spread Spectrum (DSSS) modulation \cite{kaplan2017understanding}. It should be noted that the use of unique satellite PRN ranging codes by constellations with the same carrier frequency is known as Code Division Multiple Access (CDMA). Only GLONASS differs from CDMA by using the same ranging codes, but transmitting in multiple frequencies within the L1 and L2 bands and this is known as Frequency Division Multiple Access (FDMA). Towards modernization of GLONASS, some CDMA signals have been added as well recently.


\section{GNSS Receiver Architecture}\label{Receiver_Architecture}

\par The GNSS receiver process the satellite signals and provides the user with an estimated PVT solution. There are various processing blocks in a GNSS receiver, the front of which is generally hardware based and then software signal processing based to compute the PVT solution. Figure \ref{Fig.StandardReceiverArcitecture} is a generic block diagram of a GNSS receiver showing the processes the satellite signal passes through to procure the final PVT solution.

\begin{figure*}[!hbt]
\centering
\includegraphics[width=0.90\textwidth]{StandardReceiverArcitecture.png}
\caption{Block diagram of a standard GNSS receiver}
\label{Fig.StandardReceiverArcitecture}
\end{figure*}

\par The front end block receives the signal from the GNSS antenna and the signal goes through amplifiers, filters, down conversion to an intermediate or baseband frequency and sampling. In a GNSS receiver, the RF front end stage determines the cost, size and power consumption of the receiver and its design has the primary importance \cite{SpringerHandbookCh13}. The Low Noise Amplifier (LNA) along with bandpass filters play a key role in supressing strong spectral noise and amplifying the weak GNSS signals. A local oscillator is present at the front end and used for the down-conversion of the signals. The Analog to Digital Converter (ADC) sits at the end of the front end to procure IF digital samples. The Automatic Gain Control (AGC) stage is closely related to the down-conversion and quantization steps, and is responsible for adjusting the gain of the front end section in order to take benefit from the full dynamic range \cite{bastide2003automatic}.

\par The role of the acquisition stage is to find out all the visible satellites in the incoming digitized signal samples from the front end. A rough estimate of the doppler frequency and code phase values are also fed from the acquisition to the tracking stage. This is achieved by rough synchronization of locally generated replica signals with the incoming signal by the use of correllators and the Cross Ambiguity Function (CAF) analysis technique \cite{SpringerHandbookCh14}. After the coarse estimate of initial code delay and carrier Doppler by the acquisition block, the signal tracking is performed to obtain fine estimates of signalparameters of interest. A number of traditional signal tracking loop architectures such as phase-locked-loop (PLL) for carrier-phase tracking, frequency-lockedloop (FLL) for carrier Doppler frequency shift tracking, and delay-locked-loop (DLL) for code delay tracking are widely used as engineering standards in modern digital GNSS receivers \cite{SpringerHandbookCh14}. In deeply coupled GNSS-sensor(like INS) integrations, information from the sensors are fed into this stage to help in achieving faster tracking times.

\par Outputs of the Baseband Processing stage include the demodulated navigation message of the incoming signal(s) and raw data such as carrier phase measurements, code pseudoranges and doppler values. This is fed into PVT computation algorithms and are also transmitted or stored for other applications. The PVT computation benefits from augmentation data (e.g. EGNOS, PPP) or INSs, improving the accuracy and availability in harsh environments \cite{gsa2018using}.

\section{User Position Computation}\label{User_Position_Computation}

\par Ignoring systematic errors, GNSS pseudorange \ref{basic_pseudorange} and carrier phase \ref{basic_carrierphase} equations for a generic user u and a generic satellite j at time t are as follows:

\begin{equation}\label{basic_pseudorange}
\centering
P_u^j=\rho_u^j-c\delta t^j+c\delta t_u+T_u^j+I_u^j+E_u^j
\end{equation}

\begin{equation}\label{basic_carrierphase}
\centering
\lambda\varphi_u^j=\rho_u^j+\lambda N_u^j-c\delta t^j+c\delta t_u+T_u^j-I_u^j+E_u^j
\end{equation}

Where,
\begin{equation}\label{geometric_range}
\centering
 {\rho^j}_u=\sqrt{(x^j-x_u)^2+(y^j-y_u)^2+(z^j-z_u)^2}
\end{equation}

represents the geometric range between receiver-satellite considering Earth-Centered Earth-Fixed (ECEF) positions (m) and
$(c)$ is the speed of light (m/s);
$(\delta t^{j})$ is the satellite clock error (s);
$(\delta t_{u})$ is the receiver clock error (s); 
$(T_{u}^{j}, I_{u}^{j}, E_{u}^{j})$ are the tropospheric and ionospheric error and ephemeris biases respectively; 
$\lambda$ is the wavelength of the incoming signal; and 
$(N)$ is the number of full wave cycles received at receiver, commonly defined as integer phase ambiguity.

\par Typically, a single difference approach consists of two different receivers (installed in two different points) that see one common satellite: in this case, differencing their code or carrier phase observations it is possible to remove the satellite clock bias (Blewitt, 1997). The atmospheric and ephemeris biases are also reduced or eliminated for short baselines less than around 20km (Blewitt, 1997). In such case, the single-difference pseudorange (\ref{single_diff_ps}) and carrier phase (\ref{single_diff_cp}) equations for two receivers m and r and a satellite j neglecting systematic errors would be:

\begin{equation}\label{single_diff_ps}
P_{m r}^{j}(t)=\rho_{m}^{j}(t)-\rho_{r}^{j}(t)-c \Delta t_{m r}
\end{equation}

\begin{equation}\label{single_diff_cp}
\lambda \varphi_{m r}^{j}(t)=\rho_{m r}^{j}(t)+\lambda N_{m r}^{j}-c \Delta t_{m r}(t)
\end{equation}

where ${N}^{j}{ }_{m r}$ is the integer ambiguity difference between receiver $m$ and $r$ from satellite $j$.
$\Delta t_{m r}=\delta t_{m}-\delta t_{r}$ is the relative clock bias between the two receivers.

\par The most widely used algorithm for position computation is non-linear least squares (LS) method. The non-linear system of equations requires an iterative procedure in order to provide a feasible solution. \ref{basic_pseudorange} is the basic observation equation for the pseudorange $P_{u}^{j}$, and the non-linear term represents the geometric range between satellite $j$ and user $u$.
From the linearization of \ref{geometric_range} it is possible to derive the generic linear system for least squares or Kalman approach:

\begin{equation}\label{linearize}
\centering
 y=A x+b
\end{equation}

Where $y$ represents the observables vector, $A$ is the design matrix, $x$ the vector of unknowns and $b$ the known vector.

\par Considering a generic number n of satellites, the design matrix $A1$ and the known vector $B1$ can be expressed as follows:

\begin{equation}\label{A1}
A 1=\left[\begin{array}{cccc}
\frac{x^{1}-x_{r}}{\rho_{r}^{1}} & \frac{y^{1}-y_{r}}{\rho_{r}^{1}} & \frac{z^{1}-z_{r}}{\rho_{r}^{1}} & 1 \\
\frac{x^{2}-x_{r}}{\rho_{r}^{2}} & \frac{y^{2}-y_{r}}{\rho_{r}^{2}} & \frac{z^{2}-z_{r}}{\rho_{r}^{2}} & 1 \\
\cdots & \vdots & \vdots & \vdots \\
\frac{x^{n}-x_{r}}{\rho_{r}^{n}} & \frac{y^{n}-y_{r}}{\rho_{r}^{n}} & \frac{z^{n}-z_{r}}{\rho_{r}^{n}} & 1
\end{array}\right]
\end{equation}

\begin{equation}\label{B1}
B 1=\left[\begin{array}{llll}
b^{1} & b^{2} & \cdots & b^{n}
\end{array}\right]^{T}
\end{equation}

Where, for differential pseudorange positioning
\begin{equation}
b^{j}=P_{m}^{j}-P_{r}^{j}+\rho_{m}^{j}-\rho_{r}^{j}-c \delta t_{m}
\end{equation}

$P_{m}^{j}$ and $\rho_{m}^{j}$ are the pseudorange and geometric range from satellite $j$ to the master $m$ respectively.
$P_{r}^{j}$ and $\rho_{r}^{j}$ are the pseudorange and geometric range from satellite $j$ to the linearization point of the rover receiver $r$.

\par The receiver coordinates are updated at every iteration till the threshold of normally either 1 mm difference or 30 iterations. A converging solution requires less than 10 iterations to attain such precision \cite{he2011iterative}. 

\section{Error Sources in GNSS Positioning}\label{Error_Sources}

\par Errors in GNSS position estimation could arrive from a multitude of sources. They can be generally categorized into three categories.
\subsection{Systemic Errors}\label{Systemic_Sources}
\par These are the errors arrising from system or at the space control level. Some common systemic error sources are.
\subsubsection{Dilution of Precision Errors(DOP)}
\par DOP or Geometric DOP is the general term to describe the geometry of total satellites visible to a GNSS receiver on earth. Hence DOP errors arrise from 'poor' relative positions in the three-dimensional space of satellites with respect to the GNSS receiver. If the satellites are cluttered in a narrow angle of vision to the receiver, the uncertainty regions of range of each satellite will coincide with each other much more than if the satellites are spread across the sky in a broader azimuth and elevation sense. Therefore the quality of precision of measurements is greatly affected by poor values.
\subsubsection{Satellite Ephemeris and Clock Errors}
Small (upto 1-2 meters) errors may arrise occasionally due to older satellite ephemeris data but for satellite ephemeris and clock errors to affect a GNSS receiver greatly, there has to be a systematic failure in one or multiple satellites of a constellation. This phenomenon may be rare but there had been an incident as recent as 2019 to the Galileo constellation due to ephemeris update problems.

\subsection{Atmospheric Errors}\label{Atmospheric_Error_Sources}
Although there are sufficient models to compensate for Ionospheric and Tropospheric models, the Ionosphere could constitute one of the biggest sources of errors to single frequency receivers during Ionospheric Scintillation events which cannot be predicted. In general errors caused by the troposphere is smaller than the ionospheric error, but cannot completely be eliminated by calculation. 

\subsection{Receiver Level Errors}\label{Receiver_Level_Errors}
This category forms the most prevalent source of errors in modern day GNSS receivers, as it could either be both intentional or unintentional.  The various hardware components and circuits in a GNSS receiver contribute to receiver noise and though generally they are standardized, it could be a significant error source in low quality low cost COTS GNSS receivers, as seen in smartphones in \cite{Gogoi_2018}. GNSS signal power quality also contributes to loss of accuracy and precision in GNSS solutions and it is categorized by low Signal to Noise Ratio (SNR) and/or Carrier to Noise Ratio $(C/N_{0})$. The most prevalent sources of receiver level errors are however due to harsh or unsuitable environments which enable high multipath conditions of loss of satellite visibility. One of the most dangerous receiver level errors however is interference to GNSS signals which if intentional could lead to dire consiquences in critical applications. Section \ref{InterferenceThreats} provides a broader overview on the threat of GNSS interference.


\vspace{\baselineskip}