summaryrefslogtreecommitdiffstats
path: root/vorlagen/thesis/src/kapitel_A.tex
diff options
context:
space:
mode:
Diffstat (limited to 'vorlagen/thesis/src/kapitel_A.tex')
-rw-r--r--vorlagen/thesis/src/kapitel_A.tex375
1 files changed, 331 insertions, 44 deletions
diff --git a/vorlagen/thesis/src/kapitel_A.tex b/vorlagen/thesis/src/kapitel_A.tex
index f25587a..13bb98d 100644
--- a/vorlagen/thesis/src/kapitel_A.tex
+++ b/vorlagen/thesis/src/kapitel_A.tex
@@ -1,6 +1,9 @@
\addchap{Appendix}
\numberwithin{equation}{subsection}
\numberwithin{table}{subsection}
+\captionsetup[figure]{list=no}
+\captionsetup[table]{list=no}
+
\section{Installation and configuration guide}
In order to evaluate the localization system, it is required to install OpenBSC
and to modify the proper source files and compile the system. The aim of this
@@ -444,7 +447,49 @@ used from a local GNSS station, refresh time of the ephemeris data should be set
every 30 minutes or 0.5 hours. The almanac data are valid for up to 180 days \citep{GPS-Guide} but are updated
usually every day\footnote{Almanac update times can be found here:
\url{http://www.navcen.uscg.gov/?pageName=currentNanus&format=txt}} \citep{GPS-Pentagon}.
-\newpage
+
+\clearpage
+\section{Troubleshooting the BTS}
+While the work has been performed on OpenBSC, to open a data channel (SDCCH),
+the BTS was sometimes sent in erroneous states. These states are reported
+through a LED light on the BTS. Based on the color and flash type of the LED
+one can find out the state of the BTS. These states are given in table
+\ref{tbl:LEDStatus} with their appropriate meaning. They may help the
+developer to troubleshoot and find the bug.
+
+\begin {table}[ht]
+\caption{Indicator LED status on the nanoBTS. Table courtesy of \citep{installnanoBTS}.}
+\label{tbl:LEDStatus}\centering
+%\rowcolor{2}{light-gray}{}
+\scriptsize\fontfamily{iwona}\selectfont
+\begin{tabular}{llll}
+\toprule
+%$D$&&$P_u$&$\sigma_N$\\
+State&Color \& Pattern&When&Precedence\\\toprule
+Self-test failure&Red - Steady &In boot or application code when a power&1 (High) \\
+ &&on self-test fails\\\midrule
+Unspecified failure&Red - Steady &On software fatal errors&2\\\midrule
+No ethernet&Orange - Slow flash &Ethernet disconnected&3\\\midrule
+Factory reset&Red - Fast blink &Dongle detected at start up and the&4\\
+ &&factory defaults have been applied\\\midrule
+Not configured&Alternating Red/&The unit has not been configured&5\\
+ &Green Fast flash\\\midrule
+Downloading code&Orange - Fast flash &Code download procedure is in progress&6\\\midrule
+Establishing XML&Orange - Slow blink &A management link has not yet been established&7\\
+ &&but is needed for the TRX to become operational.\\
+ &&Specifically: for a master a Primary OML or\\
+ &&Secondary OML is not yet established; for a\\
+ &&slave an IML to its master or a Secondary \\
+ &&OML is not yet established. \\\midrule
+Self-test &Orange - Steady &From power on until end of backhaul&8\\
+ &&power on self-test\\\midrule
+NWL-test &Green - Fast flash& OML established, NWL test in progress&9\\\midrule
+OCXO Calibration &Alternating Green/& The unit is in the fast calibrating state [SYNC]&10\\
+ &Orange - Slow blink\\\midrule
+Not transmitting &Green - Slow flash & The radio carrier is not being transmitted &11\\\midrule
+Operational &Green - Steady & Default condition if none of the above apply&12 (Low)\\\bottomrule
+\end {tabular}
+\end {table}
\clearpage
\section{GPS assistance data}
@@ -495,7 +540,8 @@ $\beta_{3}$&Coefficient 3 of period of the model
\end {tabular}
\end {table}
-\begin {table}[ht]
+\newpage
+\begin {table}[ht!]
\caption{Navigation message (ephemeris) content. Table courtesy of \citep{harper2010server-side}.}
\label{tbl:navMessage}\centering
%\rowcolor{2}{light-gray}{}
@@ -543,8 +589,8 @@ Idot&Rate of inclination angle (semicircles/second)
\\\bottomrule
\end {tabular}
\end {table}
-
-\begin {table}[ht]
+\newpage
+\begin {table}[ht!]
\caption{Almanac message content. Table courtesy of \citep{harper2010server-side}.}
\label{tbl:almanacMessage}\centering
%\rowcolor{2}{light-gray}{}
@@ -578,48 +624,289 @@ Week&Week number since the last reset (i.e. since year 1980 modulo 1024 weeks)
\end {tabular}
\end {table}
+
+
\clearpage
-\section{Troubleshooting the BTS}
-While the work has been performed on OpenBSC, to open a data channel (SDCCH),
-the BTS was sometimes sent in erroneous states. These states are reported
-through a LED light on the BTS. Based on the color and flash type of the LED
-one can find out the state of the BTS. These states are given in table
-\ref{tbl:LEDStatus} with their appropriate meaning. They may help the
-developer to troubleshoot and find the bug.
+\section{GPS distance and position estimation}
+\label{sec:distanceAndPosition}
+In this section the focus is set on distance and position estimation inside of the GPS receiver.
+GPS system, as discussed earlier, takes advantage of the TOA ranging concept
+to determine user position. Time is measured how long it takes for a signal to arrive from a
+known location.
+\begin{figure}[ht!]
+ \centering
+ \includegraphics[scale=0.50]{img/Localization.pdf}
+ \caption{Basic distance estimation principle for one satellite. Image courtesy of \citep{understandGPS}.}
+\label{img:SatLocalization}
+\end{figure}
+In figure \ref{img:SatLocalization}, an example concept can be seen, where $\vec{u}=(x_u,y_u,z_u)$ represents the unknown
+GPS user position vector with respect to Earth-Centered, Earth-Fixed\footnote{ECEF is a Cartesian coordinate system
+where the point $(0,0,0)$ is defined as the center of mass of the Earth \citep{earthCoordinates}.}
+(ECEF) coordinate system, $\vec{r}$ is the distance vector from the satellite to the user and $\vec{s}=(x_s,y_s,z_s)$
+represents the GPS satellite position with respect to ECEF at a timepoint. Vector $\vec{s}$ is computed from ephemeris data broadcasted
+by the satellite. The distance vector $\vec{r}$, distance between the satellite and user, can be computed using equation \eqref{eq:r} and its magnitude is
+given in equation \eqref{eq:rMag}.
+\begin{equation}
+\label{eq:r}
+\vec{r}=\vec{s}-\vec{u}
+\end{equation}
+\begin{equation}
+\label{eq:rMag}
+r=\Vert s-u\Vert
+\end{equation}
+The geometric distance of $r$ is computed by measuring the signal propagation time, this is illustrated in figure \ref{img:TimingLoc}
+and it was discussed in section \ref{sec:CAdemod}. The PRN code generated on the GPS satellite
+at time $t_1$ arrives at the time $t_2$, the difference between these two time stamps, $\Delta t$, represents the
+propagation time. By multiplying the propagation time, $\Delta t$, with the speed of light, $c$, the
+geometric distance $r$ is computed, as given in equation \eqref{eq:rDist}.
+\begin{figure}[ht!]
+ \centering
+ \includegraphics[scale=0.50]{img/TimingLoc.pdf}
+ \caption{Estimating the distance by phase shift $\Delta t =t_2 - t_1 =\tau$. Image courtesy of \citep{understandGPS}.}
+\label{img:TimingLoc}
+\end{figure}
+\begin{equation}
+\label{eq:rDist}
+r=c\Delta t
+\end{equation}
+Since the clocks are not synchronized,
+as described in sections \ref{sec:SigDemod} and \ref{sec:2dSearch},
+clock error offsets have to be added to
+the geometric distance $r$. This new distance is called \textit{pseudorange}, $\rho$, because the range is
+determined using the difference of two nonsynchronized clocks (one on the GPS satellite and
+the other one on the receiver) that generate PRN codes\footnote{pseudo - Not genuine; sham; not perfect.}. Pseudorange is calculated as given in equation \eqref{eq:rho}, where
+$t_{u}$ is the advance of the receiver clock with respect to the system time\footnote{System
+time is the exact time on Earth and it is the most precise time known!} and $\delta t$ is the offset of the
+satellite clock from the system time \citep{understandGPS}.
+\begin{equation}
+\label{eq:rho}
+\rho=r + c(t_{u}-\delta t)
+\end{equation}
+Equation \eqref{eq:rMag} can be rewritten as \eqref{eq:rhoR} with respect to equation \eqref{eq:rho}.
+\begin{equation}
+\label{eq:rhoR}
+\rho - c(t_{u}-\delta t) = \Vert s-u\Vert
+\end{equation}
+Offset of the satellite clock from the system time, $\delta t$, is updated from Earth, as discussed in \ref{sec:SigDemod}
+and for that reason it can be removed for sake of simplicity, i.e. it is not an unknown term anymore,
+then the eqaution \eqref{eq:rhoR} can be rewritten as \eqref{eq:rhoNew}.
+\begin{equation}
+\label{eq:rhoNew}
+\rho - ct_{u} = \Vert s-u\Vert
+\end{equation}
+In order to estimate the user (GPS receiver) position,
+advance of the receiver clock with respect to the system time, $t_u$, has to be found, in other words equation \eqref{eq:rhoSats}
+has to be solved, where $i$ is the index of visible satellites at the moment of signal reception \citep{understandGPS}.
+\begin{equation}
+\label{eq:rhoSats}
+\rho_i= \Vert s_i-u\Vert + ct_u
+\end{equation}
+The estimated position of the user, $\vec{u}=(x_u,y_u,z_u)$, is a three dimensional vector and as stated
+above the clock offset, $t_u$, is unknown as well. This four dimensional space requires to have at least four pseudorange
+equations \eqref{eq:rhoSats} to find all the four unknown terms.
+As a result of this fact, at least four satellites have to be visible at
+the same time to estimate the position of the target user. Equation given in \eqref{eq:rhoSats} takes the form in
+\eqref{eq:rhoSatsNew} because the coordinate system is Cartesian and $\rho_i$ is nothing else but Euclidean distance
+where $i=1,2,...,n$ such that $n\geq4$ and $\vec{s_i}=(x_i,y_i,z_i)$ is the satellite position estimated from the ephemeris data.
+\begin{equation}
+\label{eq:rhoSatsNew}
+\rho_i= \sqrt{(x_i-x_u)^2+(y_i-y_u)^2+(z_i-z_u)^2} + ct_u
+\end{equation}
+Undoubtedly, the given equation in \eqref{eq:rhoSatsNew} is a nonlinear
+equation\footnote{Nonlinear
+equations, also known as polynomial equations, are equations that can not satisfy both
+of the linearity properties:
+additivity $f(x+y)=f(x)+f(y)$ and homogeneity $f(\alpha x) = \alpha f(x)$, $\alpha \in \mathbb{R}$ \citep{nonlinear}.}.
+It is not straightforward to find explicit solutions of nonlinear equations, it is more difficult than
+compared to linear equations.
+There are different techniques to solve sets of nonlinear equations \citep[Chapter 7]{understandGPS}
+but in this work the linearization method\footnote{Linear approximation is a technique where a function
+is approximated using a linear function.}
+shall be presented to find the unknown terms $(x_u,y_u,z_u,t_u)$, i.e. out of an approximate position and clock
+offset the true user position and the true clock offset shall be calculated.
+\begin{equation}
+\label{eq:rhoSatsNewFun}
+\rho_i= \sqrt{(x_i-x_u)^2+(y_i-y_u)^2+(z_i-z_u)^2} + ct_u = f(x_u,y_u,z_u,t_u)
+\end{equation}
+Let the equation \eqref{eq:rhoSatsNew} for pseudoranges, be rewritten as a function $f$ of four
+unknown terms $x_u$, $y_u$, $z_u$ and $t_u$, as
+given in \eqref{eq:rhoSatsNewFun} \citep[Chapter 2]{understandGPS}. Suppose that the approximation of the
+position and the clock offset are known,
+denoted as $\hat{x_u}$, $\hat{y_u}$, $\hat{z_u}$ and $\hat{t_u}$, then equation \eqref{eq:rhoSatsNewFun}
+can be rewritten as an approximate pseudorange \eqref{eq:rhoSatsNewFunApprox}.
+\begin{equation}
+\label{eq:rhoSatsNewFunApprox}
+\hat{\rho_i}= \sqrt{(x_i-\hat{x_u})^2+(y_i-\hat{y_u})^2+(z_i-\hat{z_u})^2} + c\hat{t_u} = f(\hat{x_u},\hat{y_u},\hat{z_u},\hat{t_u})
+\end{equation}
+In other words, the unknown true position terms $x_u$, $y_u$, $z_u$ and the clock offset term $t_u$, of the GPS receiver,
+shall be expressed by the approximate values and an incremental component as shown in equation \eqref{eq:userCoordinates} \citep{understandGPS}.
+\begin{equation}
+\label{eq:userCoordinates}
+\begin{array}{l}
+x_u = \hat{x_u}+\Delta x_u \\
+y_u = \hat{y_u}+\Delta y_u \\
+z_u = \hat{z_u}+\Delta z_u \\
+t_u = \hat{t_u}+\Delta t_u
+\end{array}
+\end{equation}
+By inserting the terms from \eqref{eq:userCoordinates} into equation \eqref{eq:rhoSatsNewFun}, a new equation is derived
+as in \eqref{eq:rhoSatsNewFunwithApprox}.
+\begin{equation}
+\label{eq:rhoSatsNewFunwithApprox}
+f(x_u,y_u,z_u,t_u) = f(\hat{x_u}+\Delta x_u, \hat{y_u}+\Delta y_u, \hat{z_u}+\Delta z_,\hat{t_u}+\Delta t_u)
+\end{equation}
+In the next step the pseudorange function shall be approximated using Taylor series\footnote{Taylor
+series ``is a representation of a
+function as an infinite sum of terms that are calculated from the values of the function's
+derivatives at a single point'' \citep[Chapter 11]{taylor}.} (linearization of the nonlinear equation). Taylor
+series for a function $f(x)$ is given in equation \eqref{eq:taylor}, where as $a$ approaches $x$ the estimation
+error shall be smaller and smaller, i.e. $f(x) = f(a)$ when $x=a$. The approximation error
+depends on Taylor polynomial degree (the amount of terms or taken derivatives of the function)
+and how far away the point $a$ is from $x$ \citep[Chapter 11.9]{taylor}.
+The basic idea of the principle can be seen in figure \ref{img:taylorSeries}.
+\begin{equation}
+\label{eq:taylor}
+f(x) = \sum_{n=0}^{\infty}\frac{f^{(n)}(a)}{n!}(x-a)^n = f(a) + \frac{f'(a)}{1!}(x-a)+\frac{f''(a)}{2!}(x-a)^2+...
+\end{equation}
-\begin {table}[ht]
-\caption{Indicator LED status on the nanoBTS. Table courtesy of \citep{installnanoBTS}.}
-\label{tbl:LEDStatus}\centering
-%\rowcolor{2}{light-gray}{}
-\scriptsize\fontfamily{iwona}\selectfont
-\begin{tabular}{llll}
-\toprule
-%$D$&&$P_u$&$\sigma_N$\\
-State&Color \& Pattern&When&Precedence\\\toprule
-Self-test failure&Red - Steady &In boot or application code when a power&1 (High) \\
- &&on self-test fails\\\midrule
-Unspecified failure&Red - Steady &On software fatal errors&2\\\midrule
-No ethernet&Orange - Slow flash &Ethernet disconnected&3\\\midrule
-Factory reset&Red - Fast blink &Dongle detected at start up and the&4\\
- &&factory defaults have been applied\\\midrule
-Not configured&Alternating Red/&The unit has not been configured&5\\
- &Green Fast flash\\\midrule
-Downloading code&Orange - Fast flash &Code download procedure is in progress&6\\\midrule
-Establishing XML&Orange - Slow blink &A management link has not yet been established&7\\
- &&but is needed for the TRX to become operational.\\
- &&Specifically: for a master a Primary OML or\\
- &&Secondary OML is not yet established; for a\\
- &&slave an IML to its master or a Secondary \\
- &&OML is not yet established. \\\midrule
-Self-test &Orange - Steady &From power on until end of backhaul&8\\
- &&power on self-test\\\midrule
-NWL-test &Green - Fast flash& OML established, NWL test in progress&9\\\midrule
-OCXO Calibration &Alternating Green/& The unit is in the fast calibrating state [SYNC]&10\\
- &Orange - Slow blink\\\midrule
-Not transmitting &Green - Slow flash & The radio carrier is not being transmitted &11\\\midrule
-Operational &Green - Steady & Default condition if none of the above apply&12 (Low)\\\bottomrule
-\end {tabular}
-\end {table}
+\begin{figure}[ht!]
+ \centering
+ \includegraphics[scale=0.50]{img/TaylorSeries.pdf}
+ \caption{Taylor series approximation for a point $a=0.5$ where $n$ is the Taylor polynomial degree.}
+\label{img:taylorSeries}
+\end{figure}
+Due to the four unknown terms, Taylor series for multivariables
+have to be used. The general formula is given in
+equation \eqref{eq:Multitaylor}, where vector $\mathbf{x}\in\mathbb{R}^n$ denotes
+$n$ variables, $\nabla$ (nabla) is the Del\footnote{Del, $\nabla$,
+is the vector differential operator.} operator given in \eqref{eq:Del} and $\mathbf{a}$ is the
+linearization point of interest
+\citep{multiTaylor}.
+\begin{equation}
+\label{eq:Multitaylor}
+f(\mathbf{x}) \approx f(\mathbf{a}) + \nabla f |_{\mathbf{x=a}} \cdot (x-a)
+\end{equation}
+\begin{equation}
+\label{eq:Del}
+\nabla^{T} = \left[\frac{\partial}{\partial x_{1}}...\frac{\partial}{\partial x_{n}}\right]
+\end{equation}
+One can note that in equation \eqref{eq:Multitaylor} the Taylor series polynomial is of the first degree.
+This is because of one reason, it linearizes the approximation of the function $f(\mathbf{x})$ at point $\mathbf{a}$
+and as a consequence it removes the nonlinearities \citep{understandGPS} \citep[Chapter 11.10]{taylor}, as seen
+in figure \ref{img:taylorSeries}, for $n=1$ the resulting function is linear.
+In the previously described step, one would calculate a hyperplane tangent to a
+point $a$ in a $n$-Dimensional space. By inserting equation \eqref{eq:rhoSatsNewFunwithApprox} in
+equation \eqref{eq:Multitaylor}, it yields equation \eqref{eq:MultitaylorFour} where $\mathbf{x}=(x_u,y_u,z_u,t_u)$
+and $\mathbf{a}=(\hat{x_u},\hat{y_u},\hat{z_u},\hat{t_u})$.
+\begin{equation}
+\label{eq:MultitaylorFour}
+\begin{array}{l}
+f(\hat{x_u}+\Delta x_u, \hat{y_u}+\Delta y_u, \hat{z_u}+\Delta z_,\hat{t_u}+\Delta t_u) \approx
+ f(\hat{x_u},\hat{y_u},\hat{z_u},\hat{t_u}) \\[0.5em]
+ + \dfrac{\partial f(\hat{x_u},\hat{y_u},\hat{z_u},\hat{t_u})}{\partial \hat{x_u}}\Delta x_u
++\dfrac{\partial f(\hat{x_u},\hat{y_u},\hat{z_u},\hat{t_u})}{\partial \hat{y_u}}\Delta y_u \\
++\dfrac{\partial f(\hat{x_u},\hat{y_u},\hat{z_u},\hat{t_u})}{\partial \hat{z_u}}\Delta z_u
++\dfrac{\partial f(\hat{x_u},\hat{y_u},\hat{z_u},\hat{t_u})}{\partial \hat{t_u}}\Delta t_u
+\end{array}
+\end{equation}
+The terms from equation \eqref{eq:MultitaylorFour} are solved individually in
+equations \eqref{eq:MultitaylorDeriv} where $\sqrt{(x_i-\hat{x_u})^2+(y_i-\hat{y_u})^2+(z_i-\hat{z_u})^2}$
+has been subsituted with $\hat{r_i}$.
+\begin{equation}
+\label{eq:MultitaylorDeriv}
+\begin{array}{l}
+\dfrac{\partial f(\hat{x_u},\hat{y_u},\hat{z_u},\hat{t_u})}{\partial \hat{x_u}} = \dfrac{1}{2}\dfrac{-2(x_{i}-\hat{x_{u}})}{\sqrt{(x_i-\hat{x_u})^2+(y_i-\hat{y_u})^2+(z_i-\hat{z_u})^2}}
+=-\dfrac{x_i-\hat{x_u}}{\hat{r_i}}\\[0.9em]
+\dfrac{\partial f(\hat{x_u},\hat{y_u},\hat{z_u},\hat{t_u})}{\partial \hat{y_u}} = \dfrac{1}{2}\dfrac{-2(y_{i}-\hat{y_{u}})}{\sqrt{(x_i-\hat{x_u})^2+(y_i-\hat{y_u})^2+(z_i-\hat{z_u})^2}}
+=-\dfrac{y_i-\hat{y_u}}{\hat{r_i}}\\[0.9em]
+\dfrac{\partial f(\hat{x_u},\hat{y_u},\hat{z_u},\hat{t_u})}{\partial \hat{z_u}} = \dfrac{1}{2}\dfrac{-2(z_{i}-\hat{z_{u}})}{\sqrt{(x_i-\hat{x_u})^2+(y_i-\hat{y_u})^2+(z_i-\hat{z_u})^2}}
+=-\dfrac{z_i-\hat{z_u}}{\hat{r_i}}\\[0.9em]
+\dfrac{\partial f(\hat{x_u},\hat{y_u},\hat{z_u},\hat{t_u})}{\partial \hat{t_u}} = c
+\end{array}
+\end{equation}
+Then by substituting the equation terms from \eqref{eq:MultitaylorDeriv}, \eqref{eq:rhoSatsNewFun} and \eqref{eq:rhoSatsNewFunApprox}
+into \eqref{eq:MultitaylorFour}, the resulting equation is given in \eqref{eq:MultitaylorDerivAfter}.
+\begin{equation}
+\label{eq:MultitaylorDerivAfter}
+\begin{array}{l}
+\rho_i = \hat{\rho_i} -\dfrac{x_i-\hat{x_u}}{\hat{r_i}}\Delta x_u -\dfrac{y_i-\hat{y_u}}{\hat{r_i}}\Delta y_u -\dfrac{z_i-\hat{z_u}}{\hat{r_i}}\Delta z_u + c\Delta t_u
+\end{array}
+\end{equation}
+At this step, by solving equation \eqref{eq:MultitaylorFour}, the linearization of the nonlinear equations is completed.
+\begin{equation}
+\label{eq:MultitaylorDerivAfterRearange}
+\begin{array}{l}
+\hat{\rho_i} - \rho_i = \dfrac{x_i-\hat{x_u}}{\hat{r_i}}\Delta x_u +\dfrac{y_i-\hat{y_u}}{\hat{r_i}}\Delta y_u +\dfrac{z_i-\hat{z_u}}{\hat{r_i}}\Delta z_u - c\Delta t_u
+\end{array}
+\end{equation}
+\begin{equation}
+\label{eq:SubsTerms1}
+\Delta\rho = \hat{\rho_i} - \rho_i \\[0.7em]
+\end{equation}
+\begin{equation}
+\label{eq:SubsTerms2}
+\alpha_{xi} = \dfrac{x_i - \hat{x_u}}{\hat{r_i}} \hspace{1.5em} \alpha_{yi} = \dfrac{y_i - \hat{y_u}}{\hat{r_i}} \hspace{1.5em} \alpha_{zi} = \dfrac{z_i - \hat{z_u}}{\hat{r_i}}
+\end{equation}
+By rearanging the equation \eqref{eq:MultitaylorDerivAfter} one derives equation \eqref{eq:MultitaylorDerivAfterRearange}.
+And then by substituting the terms in \eqref{eq:SubsTerms1} and \eqref{eq:SubsTerms2} into \eqref{eq:MultitaylorDerivAfterRearange},
+the equation resembles the one given in \eqref{eq:userPosition}.
+\begin{equation}
+\label{eq:userPosition}
+\Delta\rho_i = \alpha_{xi}\Delta x_u + \alpha_{yi}\Delta y_u + \alpha_{zi}\Delta z_u - c\Delta t_u
+\end{equation}
+There are four unknowns, $\Delta x_u$, $\Delta y_u$, $\Delta z_u$ and $\Delta t_u$, in equation \eqref{eq:userPosition}.
+By solving this set of linear equations, which shall result in finding $\Delta x_u$, $\Delta y_u$, $\Delta z_u$ and $\Delta t_u$,
+the GPS receiver position $(x_u, y_u, z_u)$ and clock offset $t_u$ is computed by replacing the
+same into equations in \eqref{eq:userCoordinates}. Equation \eqref{eq:userPosition} can be rewritten for four satellites
+in the matrix form as in \eqref{eq:userPositionMatrix}.
+\begin{equation}
+\label{eq:userPositionMatrix}
+\Delta\boldsymbol{\rho} = \boldsymbol{\alpha} \Delta \boldsymbol{x}
+\end{equation}
+
+\begin{equation}
+\Delta\boldsymbol{\rho}=
+\begin{bmatrix}
+\Delta \rho_1 \\
+\Delta \rho_2 \\
+\Delta \rho_3 \\
+\Delta \rho_4
+\end{bmatrix}
+\hspace{1.5em}
+\boldsymbol{\alpha}=
+\begin{bmatrix}
+\alpha_{x1} & \alpha_{y1} & \alpha_{z1} & 1 \\
+\alpha_{x2} & \alpha_{y2} & \alpha_{z2} & 1 \\
+\alpha_{x3} & \alpha_{y3} & \alpha_{z3} & 1 \\
+\alpha_{x4} & \alpha_{y4} & \alpha_{z4} & 1
+\end{bmatrix}
+\hspace{1.5em}
+\Delta \boldsymbol{x}=
+\begin{bmatrix}
+\Delta x_u \\
+\Delta y_u \\
+\Delta z_u \\
+-\Delta ct_u
+\end{bmatrix}
+\end{equation}
+Finally, by multiplying both left sides\footnote{Matrix multiplication is not communitative, $\mathbf{AB\neq BA}$.} of the equation \eqref{eq:userPositionMatrix}
+with the inverse term of $\boldsymbol{\alpha}$, it yields the result of the unknown terms, as given in equation \eqref{eq:userPositionMatrixFinal}.
+\begin{equation}
+\label{eq:userPositionMatrixInverseMult}
+\boldsymbol{\alpha}^{-1}\Delta\boldsymbol{\rho} = \boldsymbol{\alpha}^{-1}\boldsymbol{\alpha} \Delta \boldsymbol{x}
+\end{equation}
+\begin{equation}
+\label{eq:userPositionMatrixFinal}
+\Delta \boldsymbol{x} = \boldsymbol{\alpha}^{-1} \Delta\boldsymbol{\rho}
+\end{equation}
+Linearization is repeated in a loop, where in the next round the approximate positions are set
+to the just derived position values, that is, $\hat{x_u}=x_u$, $\hat{y_u}=y_u$, $\hat{z_u}=z_u$ and
+$\hat{t_u}=t_u$. This process is repeated until the approximated positions converge to their final
+values. It is not necessarily required that the initial positions are very accurate
+and the results are usually obtained by 4-5 itterations \citep{pseudorangeError}.
+Risks exist that the solutions shall still be corrupted but there are different error avoiding
+mechanisms to solve these problems, like minimizing the error contribution using more than four satellite
+measurements \citep{pseudorangeError} \citep[Chapter 7]{understandGPS}.
%\clearpage
%\section{GPS Constants and equations}