summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRefik Hadzialic2012-09-05 19:02:17 +0200
committerRefik Hadzialic2012-09-05 19:02:17 +0200
commit607b860f2954f915e258240a60ccf489c0d2cb89 (patch)
treef8d498740369ac24cab561f76d6e7955f9c1ea8e
parentRRLP corrections (diff)
downloadmalign-607b860f2954f915e258240a60ccf489c0d2cb89.tar.gz
malign-607b860f2954f915e258240a60ccf489c0d2cb89.tar.xz
malign-607b860f2954f915e258240a60ccf489c0d2cb89.zip
Changes
-rw-r--r--vorlagen/thesis/maindoc.pdfbin15870751 -> 8534080 bytes
-rw-r--r--vorlagen/thesis/src/bib/literatur.bib23
-rw-r--r--vorlagen/thesis/src/img/RRLPReqExplained.pdfbin29048 -> 29044 bytes
-rw-r--r--vorlagen/thesis/src/img/RRLPReqExplained.svg104
-rw-r--r--vorlagen/thesis/src/img/smartPhoneWindow.jpgbin3451971 -> 151283 bytes
-rw-r--r--vorlagen/thesis/src/img/smartRoomTable.jpgbin4128850 -> 135299 bytes
-rw-r--r--vorlagen/thesis/src/kapitel_A.tex375
-rw-r--r--vorlagen/thesis/src/kapitel_x.tex673
-rw-r--r--vorlagen/thesis/src/maindoc.lof51
-rw-r--r--vorlagen/thesis/src/maindoc.lol17
-rw-r--r--vorlagen/thesis/src/maindoc.lot13
-rw-r--r--vorlagen/thesis/src/maindoc.tex13
12 files changed, 617 insertions, 652 deletions
diff --git a/vorlagen/thesis/maindoc.pdf b/vorlagen/thesis/maindoc.pdf
index d41ca63..a196c45 100644
--- a/vorlagen/thesis/maindoc.pdf
+++ b/vorlagen/thesis/maindoc.pdf
Binary files differ
diff --git a/vorlagen/thesis/src/bib/literatur.bib b/vorlagen/thesis/src/bib/literatur.bib
index 20e65d0..6cb8273 100644
--- a/vorlagen/thesis/src/bib/literatur.bib
+++ b/vorlagen/thesis/src/bib/literatur.bib
@@ -3,14 +3,6 @@
% This file was created with JabRef 2.7b.
% Encoding: ISO8859_1
-@misc{phraseBook,
- author = "John Morley",
- howpublished = "\url{http://www.phrasebank.manchester.ac.uk/index.htm}",
- note = "[Online; accessed 5-April-2012]",
- title = "Academic Phrasebank",
- year = "2005"
-}
-
@techreport{3gppequations,
author = "3GPP-Coordinates",
booktitle = "{3rd Generation Partnership Project; Technical Specification Group Core Network; Universal Geographical Area Description (GAD) (Release 6) }",
@@ -792,18 +784,3 @@ ISSN={0018-9251},}
year = "2012"
}
-@misc{silentPolice,
- author = "Das Datenschutzportal der mksult GmbH",
- howpublished = "\url{https://www.unwatched.org/EDRigram_10.2_Polizei_setzt_haeufig_Stille_SMS_zur_Ortung_Verdaechtiger_ein}",
- note = "[Online; accessed 2-September-2012]",
- title = "Polizei setzt häufig Stille SMS zur Ortung Verdächtiger ein",
- year = "2012"
-}
-
-@misc{silentPolice1,
- author = "European Digital Rights",
- howpublished = "\url{http://www.edri.org/edrigram/number10.2/silent-sms-tracking-suspects}",
- note = "[Online; accessed 2-September-2012]",
- title = "Police Frequently Uses Silent SMS To Locate Suspects",
- year = "2012"
-}
diff --git a/vorlagen/thesis/src/img/RRLPReqExplained.pdf b/vorlagen/thesis/src/img/RRLPReqExplained.pdf
index 63a5336..8004fe4 100644
--- a/vorlagen/thesis/src/img/RRLPReqExplained.pdf
+++ b/vorlagen/thesis/src/img/RRLPReqExplained.pdf
Binary files differ
diff --git a/vorlagen/thesis/src/img/RRLPReqExplained.svg b/vorlagen/thesis/src/img/RRLPReqExplained.svg
index 13e12ce..ffacf96 100644
--- a/vorlagen/thesis/src/img/RRLPReqExplained.svg
+++ b/vorlagen/thesis/src/img/RRLPReqExplained.svg
@@ -9,8 +9,8 @@
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- width="606.50525"
- height="164.6973"
+ width="613.12555"
+ height="159.61334"
id="svg2"
version="1.1"
inkscape:version="0.48.3.1 r9886"
@@ -138,8 +138,8 @@
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="2.8"
- inkscape:cx="99.461614"
- inkscape:cy="71.59406"
+ inkscape:cx="108.72843"
+ inkscape:cy="70.990578"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
showgrid="true"
@@ -169,7 +169,7 @@
spacingx="0.2mm"
spacingy="0.2mm"
originx="17.34974mm"
- originy="-161.72555mm" />
+ originy="-161.89587mm" />
</sodipodi:namedview>
<metadata
id="metadata7">
@@ -187,7 +187,7 @@
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
- transform="translate(61.475456,-314.62164)">
+ transform="translate(61.475456,-319.10211)">
<path
style="fill:none;stroke:#989898;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 35.433068,422.11889 0,3.07797 60.6629,0 0,-3.43511"
@@ -425,15 +425,15 @@
<text
xml:space="preserve"
style="font-size:16px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
- x="5.0714302"
+ x="-6.9285698"
y="350.78738"
id="text3969"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan3971"
- x="5.0714302"
+ x="-6.9285698"
y="350.78738"
- style="font-size:10px">referenceNumber = 2</tspan></text>
+ style="font-size:12px">referenceNumber = 2</tspan></text>
<path
style="fill:none;stroke:#000000;stroke-width:0.88582677;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Lend)"
d="m 60.23622,354.33069 0,27.31721"
@@ -448,19 +448,19 @@
xml:space="preserve"
style="font-size:16px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="122.02065"
- y="462.71933"
+ y="461.00842"
id="text4443"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
x="122.02065"
- y="462.71933"
+ y="461.00842"
id="tspan4447"
- style="font-size:10px">RRLP-Component = 0</tspan><tspan
+ style="font-size:12px">RRLP-Component = 0</tspan><tspan
sodipodi:role="line"
x="122.02065"
- y="475.21933"
+ y="476.00842"
id="tspan4543"
- style="font-size:10px">(msrPositionReq)</tspan></text>
+ style="font-size:12px">(msrPositionReq)</tspan></text>
<path
style="fill:none;stroke:#000000;stroke-width:0.88582677;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Lend)"
d="m 206.42857,345.1198 0,36.5281"
@@ -469,20 +469,20 @@
<text
xml:space="preserve"
style="font-size:16px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
- x="202.68185"
- y="326.2193"
+ x="206.68185"
+ y="328.2193"
id="text3969-6"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan3971-5"
- x="202.68185"
- y="326.2193"
- style="font-size:10px">Type of included</tspan><tspan
+ x="206.68185"
+ y="328.2193"
+ style="font-size:12px">Type of included</tspan><tspan
sodipodi:role="line"
- x="202.68185"
- y="338.7193"
+ x="206.68185"
+ y="343.2193"
id="tspan4696"
- style="font-size:10px">data in the packet</tspan></text>
+ style="font-size:12px">data in the packet</tspan></text>
<path
style="fill:none;stroke:#000000;stroke-width:0.88582677;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Lend)"
d="m 269.71425,450.78457 0,-27.31721"
@@ -492,19 +492,19 @@
xml:space="preserve"
style="font-size:16px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="270.14151"
- y="465.50058"
+ y="461.21936"
id="text3969-6-9"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
x="270.14151"
- y="465.50058"
+ y="461.21936"
id="tspan4539"
- style="font-size:10px">methodType = 1</tspan><tspan
+ style="font-size:12px">methodType = 1</tspan><tspan
sodipodi:role="line"
x="270.14151"
- y="478.00058"
+ y="476.21936"
id="tspan4547"
- style="font-size:10px">(msBased)</tspan></text>
+ style="font-size:12px">(msBased)</tspan></text>
<path
style="fill:none;stroke:#000000;stroke-width:0.88582677;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Lend)"
d="m 347.85714,354.33069 0,27.31721"
@@ -513,32 +513,32 @@
<text
xml:space="preserve"
style="font-size:16px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
- x="312.5"
+ x="300.5"
y="350.6864"
id="text4573"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan4575"
- x="312.5"
+ x="300.5"
y="350.6864"
- style="font-size:10px">Accuracy = 60</tspan></text>
+ style="font-size:12px">Accuracy = 60</tspan></text>
<text
xml:space="preserve"
style="font-size:16px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="399.70425"
- y="463.79077"
+ y="461.21936"
id="text4577"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan4579"
x="399.70425"
- y="463.79077"
- style="font-size:10px">PositionMethod = 1</tspan><tspan
+ y="461.21936"
+ style="font-size:12px">PositionMethod = 1</tspan><tspan
sodipodi:role="line"
x="399.70425"
- y="476.29077"
+ y="476.21936"
id="tspan4581"
- style="font-size:10px">(gps)</tspan></text>
+ style="font-size:12px">(gps)</tspan></text>
<path
style="fill:none;stroke:#000000;stroke-width:0.88582677;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Lend)"
d="m 402.07645,450.78457 0,-27.31721"
@@ -546,21 +546,21 @@
inkscape:connector-curvature="0" />
<path
style="fill:none;stroke:#000000;stroke-width:0.88582677;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Lend)"
- d="m 439.98312,325.98423 0,55.66367"
+ d="m 429.98312,338.62278 0,43.02512"
id="path3973-8-4-1"
inkscape:connector-curvature="0" />
<text
xml:space="preserve"
style="font-size:16px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
- x="441.83612"
- y="322.2193"
+ x="433.83612"
+ y="334.2193"
id="text4631"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
- x="441.83612"
- y="322.2193"
+ x="433.83612"
+ y="334.2193"
id="tspan4637"
- style="font-size:10px">MeasureResponseTime = 7</tspan></text>
+ style="font-size:12px">MeasureResponseTime = 7</tspan></text>
<path
style="fill:none;stroke:#000000;stroke-width:0.88582677;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Lend)"
d="m 478.21429,354.33069 0,27.31721"
@@ -569,28 +569,28 @@
<text
xml:space="preserve"
style="font-size:16px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
- x="444.78568"
- y="350.86218"
+ x="431.35712"
+ y="350.78741"
id="text4667"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan4669"
- x="444.78568"
- y="350.86218"
- style="font-size:10px">UseMultipleSets = 1</tspan></text>
+ x="431.35712"
+ y="350.78741"
+ style="font-size:12px">UseMultipleSets = 1</tspan></text>
<text
xml:space="preserve"
style="font-size:16px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
- x="-57.679974"
- y="322.2193"
+ x="-59.679974"
+ y="332.2193"
id="text4671"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan4673"
- x="-57.679974"
- y="322.2193"
- style="font-size:10px"><tspan
- style="font-size:10px;fill:#800080;fill-opacity:1"
+ x="-59.679974"
+ y="332.2193"
+ style="font-size:12px"><tspan
+ style="font-size:12px;fill:#800080;fill-opacity:1"
id="tspan4675">0</tspan> - Extension or spare bits</tspan></text>
<text
xml:space="preserve"
diff --git a/vorlagen/thesis/src/img/smartPhoneWindow.jpg b/vorlagen/thesis/src/img/smartPhoneWindow.jpg
index 56976bb..51ca888 100644
--- a/vorlagen/thesis/src/img/smartPhoneWindow.jpg
+++ b/vorlagen/thesis/src/img/smartPhoneWindow.jpg
Binary files differ
diff --git a/vorlagen/thesis/src/img/smartRoomTable.jpg b/vorlagen/thesis/src/img/smartRoomTable.jpg
index abe8c1d..f0723f0 100644
--- a/vorlagen/thesis/src/img/smartRoomTable.jpg
+++ b/vorlagen/thesis/src/img/smartRoomTable.jpg
Binary files differ
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}
diff --git a/vorlagen/thesis/src/kapitel_x.tex b/vorlagen/thesis/src/kapitel_x.tex
index 765d946..fd7947b 100644
--- a/vorlagen/thesis/src/kapitel_x.tex
+++ b/vorlagen/thesis/src/kapitel_x.tex
@@ -239,10 +239,12 @@ than the sampled frequency and with an 8 bit Analog to Digital Converter (ADC) t
data oriented and the networks become packet networks this type of modulating data had to be changed,
3G and 4G networks use different frequency ranges and technique to modulate and demodulate data.
+\newpage
The idea of employing TDMA on FDMA in the GSM900 band can be seen in figure \ref{img:GSMFreqTime}.
Each time slot duration is $\approx$577 $\mu s$, all 8 time slots have a period of $\approx$ 4.615 $ms$
\citep{dennis} \citep{0890064717}. By applying this technique each GSM user can send data inside of the assigned time slot
without disturbing users on different time slots.
+
\begin{figure}[ht!]
\centering
\includegraphics[scale=0.50]{img/GSMFreqTime.pdf}
@@ -541,9 +543,9 @@ E-OTD &Yes& Works on most new& $\approx 50-200$ m& Handset\\
& &Expensive because LMU&\\ \midrule
UL-TDOA&Yes&Works on any cell phone& $\approx 50-300$ m& Network\\
& &Expensive because LMU&&\\ \midrule
-AGPS&Yes/No&Works on some cell& $\approx 5-20$ m& Hybrid\\
- & &phones with AGPS&\\
- & &receivers, Very precise&\\ \midrule
+%AGPS&Yes/No&Works on some cell& $\approx 5-20$ m& Hybrid\\
+% & &phones with AGPS&\\
+% & &receivers; Very precise&\\ \midrule
AOA &Yes&Works on any cell phone;& Depends if MS is& Network\\
& &Expensive because LMU&in line of sight&\\\midrule
Google maps&No&Requires a smart phone&$\approx 5-30$ m& Handset\\
@@ -557,38 +559,34 @@ with WiFi& &with Google maps and& &with aid\\
\subsection{Assisted-GPS}
Another positioning technique is Assisted-GPS (AGPS). It has recently gained popularity
-because of the great number of smart phones with an embedded AGPS receiver and the introduction
-of 3G/4G networks. These networks are clock-synchronized since
-high-bandwidth wireless services require synchronous working operation \citep{oscilloquartz} \citep{3gNetworkSpeed}.
-AGPS receivers can decrease the waiting time required to estimate the position if the
-``exact'' time is known \citep[Chapter 4]{diggelen2009a-gps}.
-It works by exploiting the existing
-navigation satellite network.
-In the event where mobile users are in urban environments, the GPS satellite signals are blocked
-by the buildings. Further analyses showed that the received signals arrive at the cell phone
-with errors because of multiple propagation reflection and are often hardly
-distinguishable from noise \citep[Chapter 2]{diggelen2009a-gps}.
-The power of received signals on a GPS receiver is in the range
-of 100 attowatts\footnote{1 attowatt = $10^{-16} W$.
-The reception quality depends on the receiver's antenna and RF front-end design as well.}
-when the GPS receiver is outdoors.
-The signal strength becomes even smaller by a factor of 10-1000 if the user is
-between tall buildings or indoors \citep[Chapter 2]{diggelen2009a-gps}. All these factors
-affect the acquisition of GPS signals and make the correct reception of GPS signals unrealisable
-and impractical.
-Instead of searching manually for the GPS satellites and waiting
-for the orbiting parameters to arrive from the satellites, which are required to estimate the
-position, information about the orbiting GPS satellites is transmitted over an existing GSM
-network infrastructure. This provides the AGPS receiver additional data to track weak signals.
-The theoretical foundation of how GPS and AGPS receivers estimate the position is addressed
-in more detail in chapter \ref{gpsTheoryChatper}.
+because of the great number of smart phones with an embedded AGPS receiver.
+AGPS receivers can drastically decrease the waiting time required to estimate the position
+compared to GPS receivers if ``exact time'' is known \citep[Chapter 4]{diggelen2009a-gps}.
+AGPS works by exploiting the existing navigation satellite network.
This method does not work on every cell phone as do the aforementioned methods.
It requires the cell phones to be equiped with an AGPS receiver.
From this point on, cell phones with an AGPS receiver shall be refered to as smart phones
since they have another potential use aside from the default communication application. The AGPS
position estimation technique is a hybrid-based technique because the position is estimated
-with the help of the handset, that estimates the position, and the network provider since
-it delivers the required data for faster acquisition time.
+with the help of the handset, i.e. it estimates the position, and the network provider since
+it delivers the required assistance data for faster acquisition time.
+
+%Further analyses showed that the received signals arrive at the cell phone
+%with errors because of multiple propagation reflection and are often hardly
+%distinguishable from noise \citep[Chapter 2]{diggelen2009a-gps}.
+%The power of received signals on a GPS receiver is in the range
+%of 100 attowatts\footnote{1 attowatt = $10^{-16} W$.
+%The reception quality depends on the receiver's antenna and RF front-end design as well.}
+%when the GPS receiver is outdoors.
+%The signal strength becomes even smaller by a factor of 10-1000 if the user is
+%between tall buildings or indoors \citep[Chapter 2]{diggelen2009a-gps}. All these factors
+%affect the acquisition of GPS signals and make the correct reception of GPS signals unrealisable
+%and impractical.
+%Instead of searching manually for the GPS satellites and waiting
+%for the orbiting parameters to arrive from the satellites, which are required to estimate the
+%position, information about the orbiting GPS satellites is transmitted over an existing GSM
+%network infrastructure. This provides the AGPS receiver additional data to track weak signals.
+
@@ -1281,291 +1279,6 @@ the search first is known this time \citep[Chapter 3]{diggelen2009a-gps}.
Hot start works in the same manner, only the ephemeris data and time data are precisely
known (time ought to be known in accuracy of submilliseconds).
-
-\section{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{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}.
-
-
-
-
\section{Assisted GPS in wireless networks}
\label{sec:agps}
In the following paragraphs Assisted GPS (AGPS) shall be presented and how it works.
@@ -1667,9 +1380,7 @@ location services for the GSM network \citep{3GPPTS03.71}. SMLC is located on th
Station Controller (BSC) \citep{3GPPTS03.71}. SMLC' primary function is to manage
the overall coordination and scheduling of resources required to perform the localization of the MS.
SMLC controls the LMU's as well but since in this work no LMU were available this part
-can be skipped as well as the description of E-OTD and UL-TDOA localization.
-
-Before an attempt is made, of requesting the SMLC to initialize an RRLP request, an SDCCH connection
+can be skipped as well as the description of E-OTD and UL-TDOA localization. Before an attempt is made, of requesting the SMLC to initialize an RRLP request, an SDCCH connection
channel has to be initialized to the MS, this connection can not be seen by the MS user\footnote{However,
it is possible to take into consideration that something is going on the cell phone if the MSs battery
is drained faster because an active RF connection drains the battery faster than a passive MS
@@ -1710,9 +1421,7 @@ all the RRLP assistance data were sent and then the RRLP position request. This
because in the GSM network operating software (OpenBSC), it was required to access the database and fetch the response.
For the simple reason, since this system is a real time system, waiting for the database to respond may have
corrupted the state machine of the GSM network and this would led to the malfunction and eventually failure of
-the complete network!
-
-The structure of the RRLP messages (requests, assistance data and response) is well defined using
+the complete network! The structure of the RRLP messages (requests, assistance data and response) is well defined using
Abstract Syntax Notation One (ASN.1) in the technical specifications 3GPP 04.31
and ETSI TS 144 031 \citep{49.031V8.1.0} \citep{ETSITS144031}. ASN.1 is a conventional notation
for denoting the abstract syntax of data used inside of protocols or data
@@ -1725,12 +1434,33 @@ of ASN.1 types before proceeding with an RRLP example. A short summary for the u
types elements will be provided parallely to the RRLP message structure. Structure of the
RRLP message encoding for transmission can be seen in listing \ref{lst:RRLP}.
The IE from listing \ref{lst:RRLP} are variables that can take certain values. The domain of these values
-is shown in listings \ref{lst:RRLPReq} and \ref{lst:RRLPReqData}.
-The explanation of listings \ref{lst:RRLP}, \ref{lst:RRLPReq} and \ref{lst:RRLPReqData}
+is shown in listing \ref{lst:RRLPReq}.
+The explanation of listings \ref{lst:RRLP} and \ref{lst:RRLPReq}
will follow in short after the reader has been introduced to the ASN.1 and RRLP message
format standard.
%Without the explanation it is not possible to understand the message structure
%and build RRLP packets. Then it will be followed by an example of an RRLP request packet.
+
+A type of \textbf{SEQUENCE} is used to
+reference a ``fixed, ordered list of types (some of which may be declared to be
+optional); each value of the sequence type is an ordered list of values,
+one from each component type'' \citep{ITU-TX.691} while the
+IE (fields) of \textbf{OPTIONAL} type do not need to be included and are not mandatory.
+Variables defined by \textbf{CHOICE} are used to reference ``a list of distinct types;
+each value of the choice type is derived from the value of one of the
+component types'' \citep{ITU-TX.691}, i.e. only one element is selected from the
+list and the elements of the list are defined according to their variable type.
+Variables of type \textbf{ENUMERATED} are ``simple types whose values are given
+distinct identifiers as part of the type notation'' \citep{ITU-TX.691}. These simple types
+are used to distinguish a choice by identifying it with an incremented number from the previous
+element where the first element is always of value zero. Variables defined by \textbf{INTEGER} are of the ``simple
+type with distinguished values which are the positive and negative whole numbers,
+including zero (as a single value)'' \citep{ITU-TX.691}.
+At this point, the meaning of RRLP data elements marked in red, blue and orange from listing \ref{lst:RRLP} will be explained.
+To construct an RRLP PDU sequence (packet) these fields need to be known: \textit{referenceNumber}
+and \textit{RRLP-Component}. \textbf{referenceNumber}
+specifies the reference number of the request and is used for the purpose of identifying
+the response from the MS. It can take any value between 0 and 7.
\newpage
\begin{lstlisting}[label=lst:RRLP,
caption={\textbf{Structure of the RRLP message in ASN.1}},
@@ -1771,28 +1501,7 @@ RRLP-Component ::= CHOICE {
}
END
\end{lstlisting}
-A type of \textbf{SEQUENCE} is used to
-reference a ``fixed, ordered list of types (some of which may be declared to be
-optional); each value of the sequence type is an ordered list of values,
-one from each component type'' \citep{ITU-TX.691} while the
-IE (fields) of \textbf{OPTIONAL} type do not need to be included and are not mandatory.
-Variables defined by \textbf{CHOICE} are used to reference ``a list of distinct types;
-each value of the choice type is derived from the value of one of the
-component types'' \citep{ITU-TX.691}, i.e. only one element is selected from the
-list and the elements of the list are defined according to their variable type.
-Variables of type \textbf{ENUMERATED} are ``simple types whose values are given
-distinct identifiers as part of the type notation'' \citep{ITU-TX.691}. These simple types
-are used to distinguish a choice by identifying it with an incremented number from the previous
-element where the first element is always of value zero. Variables defined by \textbf{INTEGER} are of the ``simple
-type with distinguished values which are the positive and negative whole numbers,
-including zero (as a single value)'' \citep{ITU-TX.691}.
-At this point, the meaning of RRLP data elements marked in red, blue and orange from listing \ref{lst:RRLP} will be explained.
-To construct an RRLP PDU sequence (packet) these fields need to be known: \textit{referenceNumber}
-and \textit{RRLP-Component}. \\\textbf{referenceNumber}
-specifies the reference number of the request and is used for the purpose of identifying
-the response from the MS. It can take any value between 0 and 7. Since these values will be later
-binary encoded, at least three bits are required to represnt eight different values ($2^3=8$).
\textbf{component} is of the type RRLP-Component,
which is a CHOICE list. RRLP-Component is used for defining what type of information the
packet shall include (assistance data, request, response, error, etc.). For this particular example
@@ -1809,6 +1518,7 @@ compact representation of an inquiry for the MS to differentiate between all the
position measurements it could perform, how long it is allowed to measure
the position (time duration) and how many position estimations it is allowed to perform.
If it is allowed to perform more position estimations then all of them will be included in the returned response.
+\newpage
\begin{lstlisting}[label=lst:RRLPReq,
caption={\textbf{Structure of the RRLP request in ASN.1}},
backgroundcolor=\color{light-gray},
@@ -1846,8 +1556,21 @@ to perform the position estimation. Otherwise, if it takes longer the MS
to report back than the specified time period, the MS is allowed to disconnect (close the SDCCH channel) without responding back.
This time period can be calculated using the equation
given in \eqref{eq:responseTime}, where $N$ is the number of seconds the MS is allowed to perform the
-position estimation.
-
+position estimation. After the ASN.1 parameters of an RRLP request have been understood, they can be
+choosen and set according to the position measurement request which the network operator wants to perform.
+In the next step the RRLP packet shall be encoded from ASN.1 notation to the Packed Encoding
+Rules (PER) notation. PER is one of the telecommunication
+standards used for encoding and decoding messages inside of protocols specified in the ASN.1
+notation \citep{ITU-TX.691}.
+\begin{equation}
+\label{eq:uncerAccuracy}
+r=10((1.1)^{K}-1)
+\end{equation}
+\begin{equation}
+\label{eq:responseTime}
+MeasureResponseTimeBitValue=\frac{ln(N)}{ln(2)}
+\end{equation}
+\newpage
\begin{lstlisting}[label=lst:RRLPReqData,
caption={\textbf{Structure of the data types from RRLP request in ASN.1}},
backgroundcolor=\color{light-gray},
@@ -1894,82 +1617,69 @@ UseMultipleSets ::= ENUMERATED {
oneSet (1) -- sending of multiple is not allowed
}
\end{lstlisting}
-\begin{equation}
-\label{eq:uncerAccuracy}
-r=10((1.1)^{K}-1)
-\end{equation}
-\begin{equation}
-\label{eq:responseTime}
-MeasureResponseTimeBitValue=\frac{ln(N)}{ln(2)}
-\end{equation}
-
-After the ASN.1 parameters of an RRLP request have been understood, they can be
-choosen and set according to the position measurement request which the network operator wants to perform.
-In the next step the RRLP packet shall be encoded from ASN.1 notation to the Packed Encoding
-Rules (PER) notation. PER is one of the telecommunication
-standards used for encoding and decoding messages inside of protocols specified in the ASN.1
-notation \citep{ITU-TX.691}. PER is intended for use in circumstances where
-minimizing the size of the representation of values is the major concern
-in the choice of encoding rules \citep{ITU-TX.691}. In other words, it compresses the data
-in the PDU packets by limiting the bit field length to the minimal amount of bits required
-to define the minimal and maximal variable values defined in the standard.
-There are two variations of PER, aligned and nonaligned \citep{ITU-TX.691}.
+PER is intended for use in circumstances where minimizing the bit length of values that
+can be represented is of major concern \citep{ITU-TX.691}. In other words, it compresses the data
+in the PDU packets by limiting the bit field length to the minimal number of bits required
+to represent the lowest and highest variable values. For instance to represent 8 distinct values
+between 0 and 7 or -1 and 6, at least three bits are required. There are two variations of PER,
+aligned and nonaligned \citep{ITU-TX.691}.
In the RRLP protocol the nonaligned type of PER is used. The major difference between
aligned and nonaligned PER lies in the fact that some data structures are aligned on octet
boundaries in aligned PER, i.e. there are some wasted padding bits which are set to zero if
not used according to the size of the packets.
-To construct the RRLP request query from the above given ASN.1 specifications is straightforward.
-The choosen values are only concatenated
-into a binary string. A simple
-RRLP request in PER encoded form is shown in figure \ref{img:RRLPReqExplained} and the previous conversion
-process might become more clear, different variables have been colored with distinguishable colors to its neighbor
-variables so that it is easy to recognize different variables. The five red zeros define what type of data
-shall be included in the current RRLP packet. This becomes more understandable by looking at the listing \ref{lst:RRLPReqPER}.
-After the concationation it can be converted to the
-desired notation system (binary, hexadecimal, etc.). In this particular example the RRLP request to be sent
-using the RRLP protocol in hexadecimal notation is: \textbf{400178F8}. This message is transmitted to the MS
-via the opened SDCCH channel. However, before sending this request the assistance data can be sent. In the
-folowing section \ref{sec:rrlpassistance} more details of how assistance data are sent shall be presented.
+Construction of the RRLP request query is straightforward.
+The choosen values are simply concatenated
+into a binary string. A simple RRLP request in PER encoded form is shown in figure \ref{img:RRLPReqExplained}.
+As an illustration, in figure \ref{img:RRLPReqExplained} the bits have been colored with distinguishable
+colors with the intention to recognize easier the different variables in ASN.1 notation.
+The six red zeros define what type of data will be included in the current RRLP packet.
+This will become obvious by looking at the listing \ref{lst:RRLPReqPER}. On the left side of listing
+\ref{lst:RRLPReqPER} one can see the PER notation, whereas on the right side is the ASN.1 notation.
+After the concationation it can be converted to the desired notation system (binary, hexadecimal, etc.).
+In this particular example, the RRLP request, can be represented in hexadecimal notation:
+\textbf{400178F8}. This RRLP message (packet) is transmitted to the MS via the opened SDCCH channel.
+However, before sending this request the assistance data can be sent. In the
+folowing section \ref{sec:rrlpassistance} more details of how assistance data are sent shall be provided.
+
\begin{figure}[ht!]
\centering
- \includegraphics[scale=0.80]{img/RRLPReqExplained.pdf}
- \caption{An example RRLP request. Constructing a binary RRLP request in PER from ASN.1. Violet zero bits
- are extension markers or spare bits. Image courtesy of \citep{harper2010server-side}.}
+ \includegraphics[scale=0.70]{img/RRLPReqExplained.pdf}
+ \caption{An example of constructing an RRLP request. Image courtesy of \citep{harper2010server-side}.}
\label{img:RRLPReqExplained}
\end{figure}
-\newpage
\begin{lstlisting}[label=lst:RRLPReqPER,
caption={\textbf{Encoding an RRLP request from ASN.1 to PER}},
backgroundcolor=\color{light-gray},
+escapechar=@,
basicstyle=\scriptsize\ttfamily]
RRLP Message:
-40 010..... referenceNumber = 2
+40 @\textcolor{tamnozelena}{\textbf{010}}@..... referenceNumber = 2
component:
- ...0.... Extension of RRLP-Component = 0 :Absent
- ....000. RRLP-Component = 0 :msrPositionReq
+ ...@\textcolor{ljubicasta}{\textbf{0}}@.... Extension of RRLP-Component = 0 :Absent
+ ....@\textcolor{blue}{\textbf{000}}@. RRLP-Component = 0 :msrPositionReq
MsrPosition-Req:
- .......0 Extension of MsrPosition-Req = 0 :Absent
-01 0....... referenceAssistData = 0 :Absent
- .0...... msrAssistData = 0 :Absent
- ..0..... systemInfoAssistData = 0 :Absent
- ...0.... gps-AssistData = 0 :Absent
- ....0... extensionContainer = 0 :Absent
+ .......@\textcolor{ljubicasta}{\textbf{0}}@ Extension of MsrPosition-Req = 0 :Absent
+01 @\textcolor{red}{\textbf{0}}@....... referenceAssistData = 0 :Absent
+ .@\textcolor{red}{\textbf{0}}@...... msrAssistData = 0 :Absent
+ ..@\textcolor{red}{\textbf{0}}@..... systemInfoAssistData = 0 :Absent
+ ...@\textcolor{red}{\textbf{0}}@.... gps-AssistData = 0 :Absent
+ ....@\textcolor{red}{\textbf{0}}@... extensionContainer = 0 :Absent
PositionInstruct:
- .....0.. environmentCharacter = 0 :Absent
+ .....@\textcolor{red}{\textbf{0}}@.. environmentCharacter = 0 :Absent
MethodType:
- ......01 MethodType = 1 :msBased
+ ......@\textcolor{tamnozelena}{\textbf{01}}@ MethodType = 1 :msBased
Accuracy:
-78 0111100. Accuracy = 60
+78 @\textcolor{blue}{\textbf{0111100}}@. Accuracy = 60
PositionMethod:
- .......0 PositionMethod = 1 :gps
-F8 1.......
+ .......@\textcolor{red}{\textbf{0}}@ PositionMethod = 1 :gps
+F8 @\textcolor{red}{\textbf{1}}@.......
MeasureResponseTime:
- .111.... MeasureResponseTime = 7
+ .@\textcolor{tamnozelena}{\textbf{111}}@.... MeasureResponseTime = 7
UseMultipleSets:
- ....1... UseMultipleSets = 1 :oneSet
- .....000 Spare Bits = 000b
+ ....@\textcolor{blue}{\textbf{1}}@... UseMultipleSets = 1 :oneSet
+ .....@\textcolor{ljubicasta}{\textbf{000}}@ Spare Bits = 000b
\end{lstlisting}
@@ -1977,46 +1687,45 @@ F8 1.......
\section{RRLP Assistance data}
\label{sec:rrlpassistance}
Assistance data are of the most important value when it comes to RRLP response time.
-If the assistance data are present, the response time ought to be shorter since
+If the assistance data are present, the response time may be shorter since
the AGPS receiver knows the orbital information of the satellites and the exact time
which allows the AGPS to find immediatelly the Doppler frequency and phase shift of
the visible GPS satellite. In the assistance data packets, same as in the request
packet, one has to specify what type of assistance information are included in the RRLP assistance packets.
-In this thesis, as assistance data only the almanac, ephemeris, UTC model, ionospheric
+In this thesis, as assistance data, only the almanac, ephemeris, UTC model, ionospheric
model and reference location are transmitted to the MS. There are also other assistance
data like differential GPS corrections (DGPS), real time integrity, acquisition assistance
-and reference time but none of these were available to the author, so they were avoided. The reasons for
-this decision were explained earlier as cost and complexity issues.
+and reference time but none of these were available to the author, so they were avoided.
+The reasons for not including them are of cost and complexity nature.
-DGPS corrections give additional accuracy to the GPS measurement reports between $1-3$ m \citep{489522} and they
-are rarely used \citep[Chapter 4]{harper2010server-side}. Real
-time integrity is a list of satellites the AGPS receiver ought not use because these satellites
-have an integrity problems \citep[Chapter 4]{harper2010server-side}.
+DGPS corrections' main task is to give additional accuracy to the GPS measurement reports between $1-3$ m \citep{489522}, however
+they are rarely used \citep[Chapter 4]{harper2010server-side}. Real
+time integrity is a list of satellites the AGPS receiver is not allowed to use in its position estimation because they
+have integrity problems \citep[Chapter 4]{harper2010server-side}.
This helps the AGPS receiver to know why assistance data for satellites with errors
-are not included in the ephemeris or almanac and to be aware not to use instead the old
-cached data \citep[Chapter 4]{harper2010server-side}. Reference time can be considered as
-the ``most valuable'' data for the MS because it provides ``exact time'' to the AGPS receiver.
+are not included in the ephemeris or almanac as well as to be aware of not using the old
+ephemeris or almanac cached data instead \citep[Chapter 4]{harper2010server-side}.
+Reference time can be considered as the ``most valuable'' data for the MS because it provides ``exact time''
+to the AGPS receiver.
This helps the AGPS receiver to better estimate the phase shift required to detect GPS
-signal which in return allows the AGPS receiver better integration period $\tau$ to detect
+signals. This phase shift estimation in return allows the AGPS receiver better integration period $\tau$ to detect
weaker signals in cities or buildings (see section \ref{sec:SigDemod}
and page \pageref{sec:CAdemod} for better understanding) \citep[Chapter 4]{harper2010server-side}.
By knowing the reference time, it is straightforward for the AGPS receiver to predict the TLM and
HOW starting words of the transmitted GPS packets from the satellites
-(refer to section \ref{sec:gpsDataAndSignal}). Reference time data can include the relationship
+(refer to section \ref{sec:gpsDataAndSignal}) required for synchronization and distance calculation. Reference time data can include the relationship
between the GSM network and GPS time, as well as the GSM frame number to help the MS to
synchronize with the BTS (earlier this was described as time synchronized GSM networks which is
required for methods like E-OTD) \citep[Chapter 4]{harper2010server-side}. Acquisition assistance
data, as the name itself says provides the AGPS receiver directly with acquisition data. Acquisition data
-are the Doppler frequencies and phase shift precalculated on the BTS for the MS. If this type of data is
-provided to the AGPS receiver, it does not require to compute and search for the given data from the provided time
-on its on \citep[Chapter 4]{harper2010server-side}. This would speed up the process of getting a
+are the Doppler frequencies and phase shift precalculated on the BTS for the MS. If this type of data are
+provided to the AGPS receiver, it does not require to compute and search on its on for Doppler frequencies and phase shift
+from the provided reference time \citep[Chapter 4]{harper2010server-side}. This would speed up the process of getting a
position and would help weak signals to be detected which in return would minimize the reception errors.
-More information on the assistance data transmitted within the RRLP protocol
-in this work shall be presented here. As listed above,
-almanac, ephemeris, UTC model, ionospheric model and reference location are transmitted to the MS. Reference
+As listed above, almanac, ephemeris, UTC model, ionospheric model and reference location are transmitted to the MS. Reference
location is the location of the BTS and provides the MS with an approximate location which can be used
-for the position determination in equations given in section \ref{sec:distanceAndPosition}.
+for the position determination in equations given in appendix \ref{sec:distanceAndPosition}.
Furthermore, this limits the search space in time and frequency domain for satellites
to lock on, since if the AGPS receiver has access to these data it can not expect to see satellites
which send signals on the opposite side of the Earth \citep[Chapter 4]{harper2010server-side}.
@@ -2025,19 +1734,37 @@ data so that the AGPS receiver inside the MS can determine and limit the time an
The ionospheric model includes data for correcting errors introduced by the radio wave transmission through
the ionosphere \citep[Chapter 4]{harper2010server-side}. These data are not satellite dependent therefore they
are not sent for each satellite seperately but once and they are valid for
-all satellites \citep[Chapter 4]{harper2010server-side}. Navigation data in RRLP terminology are the ephemeris data.
-The transmitted assistance data can be seen in the following tables \ref{tbl:utcModel}, \ref{tbl:navMessage},
-\ref{tbl:almanacMessage} and \ref{tbl:ionoModel}, on the following pages \pageref{tbl:utcModel},
-\pageref{tbl:navMessage} and \pageref{tbl:almanacMessage}. How other
-data are encoded shall be given in the implementation chapter, chapter \ref{Implementation}.
+all satellites \citep[Chapter 4]{harper2010server-side}. Ephemeris data in RRLP terminology named as navigation data.
+If the reader is interested in the exact description of the transmitted assistance data,
+they can be seen in the following tables \ref{tbl:utcModel}, \ref{tbl:navMessage},
+\ref{tbl:almanacMessage} and \ref{tbl:ionoModel} in the appendix.
+
+\begin{lstlisting}[label=lst:GPSAssisData,
+caption={\textbf{Structure of data types of GPS assistance data in ASN.1}},
+backgroundcolor=\color{light-gray},
+basicstyle=\scriptsize\ttfamily]
+-- Control header of the GPS assistance data
+ControlHeader ::= SEQUENCE {
+ -- Field type Present information
+ referenceTime ReferenceTime OPTIONAL,
+ refLocation RefLocation OPTIONAL,
+ dgpsCorrections DGPSCorrections OPTIONAL,
+ navigationModel NavigationModel OPTIONAL,
+ ionosphericModel IonosphericModel OPTIONAL,
+ utcModel UTCModel OPTIONAL,
+ almanac Almanac OPTIONAL,
+ acquisAssist AcquisAssist OPTIONAL,
+ realTimeIntegrity SeqOf-BadSatelliteSet OPTIONAL
+}
+\end{lstlisting}
The packets are constructed in the same manner as RRLP requests with a slight difference of selecting
-different RRLP components and including assistance data. In this particular example,
+other RRLP components and including assistance data. In this particular example,
only a packet with the reference location shall be presented, a ``complete'' 211 bytes PDU packet constructed by author's
software would require at least four pages to be shown. Instead of RRLP request (\textit{msrPositionReq})
in \textbf{RRLP-Component} one has to choose assistance data (\textit{assistanceData}) (for the purpose
of better understanding in this listening different colors have been used,
-this particular difference was bolded in listing \ref{lst:RRLPAssisPER}). Afterwords one
+this particular difference was bolded in listing \ref{lst:RRLPAssisPER}). Afterwards, one
needs to specify what type of assistance the packet includes, in this case it is GPS assistance
data (\textit{gps-AssistData}, marked in red color in listing \ref{lst:RRLPAssisPER}). GPS assistance data were described in the
two previous paragraphs and therefore shall be omitted here. They shall be only listed in the order as
@@ -2055,40 +1782,7 @@ bottom variable (\textit{realTimeIntegrity}) would be the last to be included
in the RRLP assistance PDU packet. The reference location has to be converted
into an ellipsoid point with altitude and uncertainty ellipsoid as described
in the standard \citep{3gppequations} under section \textit{7.3.6}, as shown
-in figure \ref{img:refLocStandard}.
-
-\begin{lstlisting}[label=lst:GPSAssisData,
-caption={\textbf{Structure of data types of GPS assistance data in ASN.1}},
-backgroundcolor=\color{light-gray},
-basicstyle=\scriptsize\ttfamily]
--- Control header of the GPS assistance data
-ControlHeader ::= SEQUENCE {
-
- -- Field type Present information
- referenceTime ReferenceTime OPTIONAL,
- refLocation RefLocation OPTIONAL,
- dgpsCorrections DGPSCorrections OPTIONAL,
- navigationModel NavigationModel OPTIONAL,
- ionosphericModel IonosphericModel OPTIONAL,
- utcModel UTCModel OPTIONAL,
- almanac Almanac OPTIONAL,
- acquisAssist AcquisAssist OPTIONAL,
- realTimeIntegrity SeqOf-BadSatelliteSet OPTIONAL
-}
-\end{lstlisting}
-
-The reference location consists of longitude, latitude, altitude, uncertainty semi-major,
-uncertainty semi-minor, orientation of major axis, uncertainty of altitude and confidence
-level. \textbf{S} is sign of the latitude, it is set to zero if it is North and one if
-it is South. \textbf{D} is the altitude direction, it is set to zero if the altitude that
-follows is height and to one if it is depth. Uncertainty semi-major and uncertainty semi-minor
-are uncertainties for longitude and latitude. Orientation of major axis is the orientation angle
-of the BTS between the major axis and North pole in degrees. These terms are depicted in figure
-\ref{img:earthElipsoid} by showing the World Geodetic System 1984 (WGS84). The latitude,
-longitude and altitude need to be encoded into a format recognized by the RRLP standard. This is
-straightforward and can be proceeded using the equations shown in \eqref{eq:latLong}, where $\varphi$
-is the latitude and $\lambda$ is the longitude value in decimal degrees.
-Longitude is encoded as second compliment binary number \citep{3gppequations}.
+in figure \ref{img:refLocStandard}, described in the following text.
\begin{figure}[ht!]
\centering
\includegraphics[scale=0.5]{img/ElipsoidPoint.pdf}
@@ -2096,12 +1790,25 @@ Longitude is encoded as second compliment binary number \citep{3gppequations}.
specified in the standard \citep{3gppequations} under section \textit{7.3.6}. Image courtesy of \citep{3gppequations}.}
\label{img:refLocStandard}
\end{figure}
+The reference location consists of longitude, latitude, altitude, uncertainty semi-major,
+uncertainty semi-minor, orientation of major axis, uncertainty of altitude and confidence
+level. \textbf{S} is sign of the latitude, it is set to zero if it is North and one if
+it is South. \textbf{D} is the altitude direction, it is set to zero if the altitude that
+follows is height and to one if it is depth. Uncertainty semi-major and uncertainty semi-minor
+are uncertainties for longitude and latitude. Orientation of major axis is the orientation angle
+of the BTS between the major axis and North pole in degrees. These terms are depicted in figure
+\ref{img:earthElipsoid} by showing the World Geodetic System 1984 (WGS84).
\begin{figure}[ht!]
\centering
\includegraphics[scale=0.5]{img/EarthElipsoid.pdf}
\caption{World Geodetic System 1984. Image courtesy of \citep{harper2010server-side}.}
\label{img:earthElipsoid}
\end{figure}
+The latitude,
+longitude and altitude need to be encoded into a format recognized by the RRLP standard. This is
+straightforward and can be proceeded using the equations shown in \eqref{eq:latLong}, where $\varphi$
+is the latitude and $\lambda$ is the longitude value in decimal degrees.
+Longitude is encoded as second compliment binary number \citep{3gppequations}.
The altitude is encoded as it is where one bit increments represent one meter increments.
The uncertainties for latitude, longitude and altitude were not used since it did not affect
the position estimation process. Orientation of major axis is not used in this work so it
@@ -2109,7 +1816,7 @@ was set to zero. Confidence describes the level by which the sent BTS reference
known to be correct. The confidence is a 7 bit number but ought to take values
between 0 and 100 since it represents the percentage. In this work it was set
to zero, i.e. no information is available about the confidence for our reference
-location. It did not change the output behaviour from the MS.
+location. It did not change the output behaviour from the MS.
If the reference location is included in the RRLP assistance packet, it is
important to specify the octet length of the reference location. The length of the reference
@@ -2125,9 +1832,8 @@ mechanism for error control, if the numbers do not match when the transmitted bi
then the MS can return an error and ask for retransmission of the data. Information related to the reference
location in the example listing \ref{lst:RRLPAssisPER} are marked with orange color. Once the assistance data
have been transmitted to the MS, it shall respond back with an acknowledgement or error depending if the
-data were correctly received and parsed by the MS. The acknowledgement shall have the same reference number
-as the assistance packet. This can be seen as well in figure \ref{img:RRLPReqProt}.
-In the next section more details shall be given on the RRLP response from the MS.
+data were correctly received and parsed by the MS. The acknowledgement is going to have the same reference number
+as the assistance packet. In the next section more details shall be given on the RRLP response from the MS.
\begin{equation}
\label{eq:latLong}
\begin{array}{l}
@@ -2149,7 +1855,7 @@ In the next section more details shall be given on the RRLP response from the MS
\end{array}
\end{equation}
-\clearpage
+
\begin{lstlisting}[label=lst:RRLPAssisPER,
caption={\textbf{Encoding reference location from ASN.1 to PER}},
backgroundcolor=\color{light-gray},
@@ -2190,20 +1896,10 @@ emphstyle={[2]\color{blue}}]
D9 1101....
....1001 @\textcolor{narandzasta}{Ext-GeographicalInformation = 904445940594B200000707000700h}@
04 00000100
-44 01000100
-59 01011001
-40 01000000
-59 01011001
-4B 01001011
-20 00100000
-00 00000000
-00 00000000
-70 01110000
-70 01110000
-00 00000000
-70 01110000
+ .
+ . (binary data were removed because of length)
+ .
00 0000....
-
....0000 Spare Bits = 0000b
\end{lstlisting}
\clearpage
@@ -2838,7 +2534,6 @@ mostly inside of a closed building, inside of three different rooms in the mathe
computer pool of the University of Freiburg (German: $Mathematik$ $Rechenzentrum$)
and outside of the computer pool.
-\newpage
\subsection{Smart phones tested}
The requirement for a cell phone to be taken into account for testing was its
classification as a smart phone (having at least an AGPS receiver) and
@@ -2918,19 +2613,19 @@ assistance data.
\centering
\begin{subfigure}[b]{0.3\textwidth}
\centering
- \includegraphics[width=\textwidth]{img/smartPhoneWindow.jpg}
- \caption{Smart phones on the window.}
+ \includegraphics[height=\textwidth]{img/smartPhoneWindow.jpg}
+ \caption{On the window.}
\label{fig:window}
\end{subfigure}
~ %add desired spacing between images, e. g. ~, \quad, \qquad etc.
%(or a blank line to force the subfigure onto a new line)
\begin{subfigure}[b]{0.3\textwidth}
\centering
- \includegraphics[width=\textwidth]{img/smartRoomTable.jpg}
- \caption{Smart phones on the table.}
+ \includegraphics[height=\textwidth]{img/smartRoomTable.jpg}
+ \caption{On the table.}
\label{fig:table}
\end{subfigure}
- \caption{Test room 2 with the positions of the smart phones}\label{fig:animals}
+ \caption{Test room 2 with the positions of the smart phones.}\label{fig:animals}
\label{img:smartphonepositions}
\end{figure}
@@ -3012,8 +2707,8 @@ As it can be seen in figure \ref{img:googlemapsResults}, the tests were performe
at the blue dot and around it and the estimated positions were 1-5 m off of
the real position. The estimated positions are shown in a blue rectangle with an O
in the left corner of it.
-
-\begin {table}[ht]
+\newpage
+\begin {table}[hb!]
\caption{Smart phone RRLP test results}
\label{tbl:resultsByTest}\centering
%\rowcolor{2}{light-gray}{}
@@ -3039,7 +2734,7 @@ $Blade$&No&No&Yes&/
\end {tabular}
\end {table}
-In table \ref{tbl:resultsByTest} the list of all results is shown. The abbreviations
+In table \ref{tbl:resultsByTest}, the list of all results is shown. The abbreviations
used in the table are explained in this paragraph. RRLP indicates the MS has delivered its
position only when an RRLP position request without any assistance data has been sent.
RRLP(E) indicates the MS has delivered its position only when an RRLP request contained
@@ -3201,7 +2896,7 @@ of cell phone users.
-
+\addcontentsline{toc}{chapter}{Dictionary of acronyms}
\chapter*{Dictionary of acronyms}
\begin{itemize}
\item \emph{ARFCN} - Absolute Radio Frequency Channel Number - The channel number specifies the physical frequency channel used for transmission and reception of radio waves inside of an BTS covered area.
@@ -3214,4 +2909,4 @@ of cell phone users.
\item \emph{TRX} -
\item \emph{UART} - Universal Asynchronous Receiver Transmitter - A serial communication interface used by computers or other peripheral devices to communicate.
\item \emph{UMTS} - Universal Mobile Telecommunications System - Third generation mobile network based on the GSM standards.
-\end{itemize} \ No newline at end of file
+\end{itemize}
diff --git a/vorlagen/thesis/src/maindoc.lof b/vorlagen/thesis/src/maindoc.lof
index 5cb7578..1dfa7da 100644
--- a/vorlagen/thesis/src/maindoc.lof
+++ b/vorlagen/thesis/src/maindoc.lof
@@ -12,34 +12,31 @@
\contentsline {figure}{\numberline {2.9}{\ignorespaces Basic idea of the Angle-of-Arrival positioning technique. The angle of the reception signal on the BTS antenna is measured. By knowing at least two angles on two BTS's, it is possible to interpolate the intersection point where the MS is located.\relax }}{17}{figure.caption.16}
\contentsline {figure}{\numberline {2.10}{\ignorespaces Wireless Access Point tagging. The MS could be located anywhere where all three access points are visible, this area has a wavy background and is between access points 1, 2 and 4.\relax }}{17}{figure.caption.17}
\addvspace {10\p@ }
-\contentsline {figure}{\numberline {3.1}{\ignorespaces GPS Simple working principle, a) example in 3D space with spheres b) example in 2D space with circles.\relax }}{21}{figure.caption.19}
-\contentsline {figure}{\numberline {3.2}{\ignorespaces One frame of 1500 bits on L1 frequency carrier. Image courtesy of \citep {harper2010server-side}.\relax }}{23}{figure.caption.20}
-\contentsline {figure}{\numberline {3.3}{\ignorespaces Subframes always start with telemetry and handover words\relax }}{23}{figure.caption.21}
-\contentsline {figure}{\numberline {3.4}{\ignorespaces BPSK Modulation - First signal is the carrier wave, and it is multiplied (mixed) with the second signal, which are the data to be transmitted. The resulting signal at the output of the satellite antenna is the third one.\relax }}{25}{figure.caption.22}
-\contentsline {figure}{\numberline {3.5}{\ignorespaces Modulation of the GPS signal L1. Image courtesy of \citep {harper2010server-side}.\relax }}{25}{figure.caption.23}
-\contentsline {figure}{\numberline {3.6}{\ignorespaces Two equivalent carrier waves with the same frequency but different phase shift\relax }}{28}{figure.caption.24}
-\contentsline {figure}{\numberline {3.7}{\ignorespaces Demodulation of the L1 GPS signal\relax }}{29}{figure.caption.25}
-\contentsline {figure}{\numberline {3.8}{\ignorespaces Effects of the low frequency term on the demodulated output C/A wave on the GPS receiver (the explanations and figures are from top to bottom). If the synthesized frequency is correct, $f_{1}=f_{2}$, the low frequency term becomes a DC term and does not modify the output $d_{C/A}$ wave (first figure). If the frequency matches but the phase not, in this case the phase is shifted for $\pi $, then $d_{C/A}$ is inverted (second figure). If the phase shifts with time, then the amplitude and phase of $d_{C/A}$ shall vary as well (third figure). Image courtesy of \citep {diggelen2009a-gps}.\relax }}{30}{figure.caption.26}
-\contentsline {figure}{\numberline {3.9}{\ignorespaces Comparison between the original C/A code generated on the GPS satellite with two synthesized PRN codes with a different phase shift on the receiver. Image courtesy of \citep {understandGPS}.\relax }}{31}{figure.caption.27}
-\contentsline {figure}{\numberline {3.10}{\ignorespaces Cross-correlation on three different signals. Image courtesy of \citep {understandGPS}.\relax }}{32}{figure.caption.28}
-\contentsline {figure}{\numberline {3.11}{\ignorespaces Segment of the frequency/code delay search space for a single GPS satellite. Image courtesy of \citep {diggelen2009a-gps}.\relax }}{34}{figure.caption.29}
-\contentsline {figure}{\numberline {3.12}{\ignorespaces The total search space.\relax }}{35}{figure.caption.30}
-\contentsline {figure}{\numberline {3.13}{\ignorespaces Idea of the frequency searching algorithm.\relax }}{35}{figure.caption.31}
-\contentsline {figure}{\numberline {3.14}{\ignorespaces Basic distance estimation principle for one satellite. Image courtesy of \citep {understandGPS}.\relax }}{37}{figure.caption.32}
-\contentsline {figure}{\numberline {3.15}{\ignorespaces Estimating the distance by phase shift $\Delta t =t_2 - t_1 =\tau $. Image courtesy of \citep {understandGPS}.\relax }}{37}{figure.caption.33}
-\contentsline {figure}{\numberline {3.16}{\ignorespaces Taylor series approximation for a point $a=0.5$ where $n$ is the Taylor polynomial degree.\relax }}{40}{figure.caption.34}
-\contentsline {figure}{\numberline {3.17}{\ignorespaces Basic AGPS principle\relax }}{43}{figure.caption.35}
+\contentsline {figure}{\numberline {3.1}{\ignorespaces GPS Simple working principle, a) example in 3D space with spheres b) example in 2D space with circles.\relax }}{19}{figure.caption.19}
+\contentsline {figure}{\numberline {3.2}{\ignorespaces One frame of 1500 bits on L1 frequency carrier. Image courtesy of \citep {harper2010server-side}.\relax }}{21}{figure.caption.20}
+\contentsline {figure}{\numberline {3.3}{\ignorespaces Subframes always start with telemetry and handover words\relax }}{21}{figure.caption.21}
+\contentsline {figure}{\numberline {3.4}{\ignorespaces BPSK Modulation - First signal is the carrier wave, and it is multiplied (mixed) with the second signal, which are the data to be transmitted. The resulting signal at the output of the satellite antenna is the third one.\relax }}{23}{figure.caption.22}
+\contentsline {figure}{\numberline {3.5}{\ignorespaces Modulation of the GPS signal L1. Image courtesy of \citep {harper2010server-side}.\relax }}{23}{figure.caption.23}
+\contentsline {figure}{\numberline {3.6}{\ignorespaces Two equivalent carrier waves with the same frequency but different phase shift\relax }}{26}{figure.caption.24}
+\contentsline {figure}{\numberline {3.7}{\ignorespaces Demodulation of the L1 GPS signal\relax }}{27}{figure.caption.25}
+\contentsline {figure}{\numberline {3.8}{\ignorespaces Effects of the low frequency term on the demodulated output C/A wave on the GPS receiver (the explanations and figures are from top to bottom). If the synthesized frequency is correct, $f_{1}=f_{2}$, the low frequency term becomes a DC term and does not modify the output $d_{C/A}$ wave (first figure). If the frequency matches but the phase not, in this case the phase is shifted for $\pi $, then $d_{C/A}$ is inverted (second figure). If the phase shifts with time, then the amplitude and phase of $d_{C/A}$ shall vary as well (third figure). Image courtesy of \citep {diggelen2009a-gps}.\relax }}{28}{figure.caption.26}
+\contentsline {figure}{\numberline {3.9}{\ignorespaces Comparison between the original C/A code generated on the GPS satellite with two synthesized PRN codes with a different phase shift on the receiver. Image courtesy of \citep {understandGPS}.\relax }}{29}{figure.caption.27}
+\contentsline {figure}{\numberline {3.10}{\ignorespaces Cross-correlation on three different signals. Image courtesy of \citep {understandGPS}.\relax }}{30}{figure.caption.28}
+\contentsline {figure}{\numberline {3.11}{\ignorespaces Segment of the frequency/code delay search space for a single GPS satellite. Image courtesy of \citep {diggelen2009a-gps}.\relax }}{32}{figure.caption.29}
+\contentsline {figure}{\numberline {3.12}{\ignorespaces The total search space.\relax }}{33}{figure.caption.30}
+\contentsline {figure}{\numberline {3.13}{\ignorespaces Idea of the frequency searching algorithm.\relax }}{33}{figure.caption.31}
+\contentsline {figure}{\numberline {3.14}{\ignorespaces Basic AGPS principle\relax }}{35}{figure.caption.32}
\addvspace {10\p@ }
-\contentsline {figure}{\numberline {4.1}{\ignorespaces RRLP Request protocol. Assistance data can be sent before the request is made. If the assistance data are sent, their reception acknowledgement is sent as a response from the MS. Image courtesy of \citep {harper2010server-side} and \citep {04.31V8.18.0}.\relax }}{46}{figure.caption.36}
-\contentsline {figure}{\numberline {4.2}{\ignorespaces An example RRLP request. Constructing a binary RRLP request in PER from ASN.1. Violet zero bits are extension markers or spare bits. Image courtesy of \citep {harper2010server-side}.\relax }}{52}{figure.caption.37}
-\contentsline {figure}{\numberline {4.3}{\ignorespaces Reference location is a 14 octet stream built according to the given rule as specified in the standard \citep {3gppequations} under section \textit {7.3.6}. Image courtesy of \citep {3gppequations}.\relax }}{56}{figure.caption.38}
-\contentsline {figure}{\numberline {4.4}{\ignorespaces World Geodetic System 1984. Image courtesy of \citep {harper2010server-side}.\relax }}{56}{figure.caption.39}
-\contentsline {figure}{\numberline {4.5}{\ignorespaces Requested AGPS assistance data to be delivered. Image courtesy of \citep {49.031V8.1.0}.\relax }}{60}{figure.caption.40}
+\contentsline {figure}{\numberline {4.1}{\ignorespaces RRLP Request protocol. Assistance data can be sent before the request is made. If the assistance data are sent, their reception acknowledgement is sent as a response from the MS. Image courtesy of \citep {harper2010server-side} and \citep {04.31V8.18.0}.\relax }}{38}{figure.caption.33}
+\contentsline {figure}{\numberline {4.2}{\ignorespaces An example of constructing an RRLP request. Image courtesy of \citep {harper2010server-side}.\relax }}{43}{figure.caption.34}
+\contentsline {figure}{\numberline {4.3}{\ignorespaces Reference location is a 14 octet stream built according to the given rule as specified in the standard \citep {3gppequations} under section \textit {7.3.6}. Image courtesy of \citep {3gppequations}.\relax }}{46}{figure.caption.35}
+\contentsline {figure}{\numberline {4.4}{\ignorespaces World Geodetic System 1984. Image courtesy of \citep {harper2010server-side}.\relax }}{47}{figure.caption.36}
+\contentsline {figure}{\numberline {4.5}{\ignorespaces Requested AGPS assistance data to be delivered. Image courtesy of \citep {49.031V8.1.0}.\relax }}{50}{figure.caption.37}
\addvspace {10\p@ }
-\contentsline {figure}{\numberline {5.1}{\ignorespaces nanoBTS with two external antennas and five connection ports\relax }}{64}{figure.caption.42}
-\contentsline {figure}{\numberline {5.2}{\ignorespaces Cable connections, showing interconnection diagram\relax }}{65}{figure.caption.43}
-\contentsline {figure}{\numberline {5.3}{\ignorespaces Flowchart for the RRLP assistance data generators\relax }}{70}{figure.caption.44}
+\contentsline {figure}{\numberline {5.1}{\ignorespaces nanoBTS with two external antennas and five connection ports\relax }}{54}{figure.caption.39}
+\contentsline {figure}{\numberline {5.2}{\ignorespaces Cable connections, showing interconnection diagram\relax }}{55}{figure.caption.40}
+\contentsline {figure}{\numberline {5.3}{\ignorespaces Flowchart for the RRLP assistance data generators\relax }}{60}{figure.caption.41}
\addvspace {10\p@ }
-\contentsline {figure}{\numberline {6.1}{\ignorespaces Test rooms as well as the results delivered by the smart phones. Image courtesy of Google Maps.\relax }}{75}{figure.caption.46}
-\contentsline {figure}{\numberline {6.2}{\ignorespaces Test room 2 with the positions of the smart phones\relax }}{76}{figure.caption.47}
+\contentsline {figure}{\numberline {6.1}{\ignorespaces Test rooms as well as the results delivered by the smart phones. Image courtesy of Google Maps.\relax }}{65}{figure.caption.43}
+\contentsline {figure}{\numberline {6.2}{\ignorespaces Test room 2 with the positions of the smart phones.\relax }}{66}{figure.caption.44}
\addvspace {10\p@ }
diff --git a/vorlagen/thesis/src/maindoc.lol b/vorlagen/thesis/src/maindoc.lol
index f7bb90b..d68b645 100644
--- a/vorlagen/thesis/src/maindoc.lol
+++ b/vorlagen/thesis/src/maindoc.lol
@@ -3,13 +3,18 @@
\addvspace {10\p@ }
\addvspace {10\p@ }
\contentsline {lstlisting}{\numberline {4.1}\textbf {Structure of the RRLP message in ASN.1}}{42}{lstlisting.4.1}
-\contentsline {lstlisting}{\numberline {4.2}\textbf {Structure of the RRLP request in ASN.1}}{42}{lstlisting.4.2}
+\contentsline {lstlisting}{\numberline {4.2}\textbf {Structure of the RRLP request in ASN.1}}{43}{lstlisting.4.2}
\contentsline {lstlisting}{\numberline {4.3}\textbf {Structure of the data types from RRLP request in ASN.1}}{44}{lstlisting.4.3}
-\contentsline {lstlisting}{\numberline {4.4}\textbf {Encoding an RRLP request from ASN.1 to PER}}{46}{lstlisting.4.4}
-\contentsline {lstlisting}{\numberline {4.5}\textbf {Structure of data types of GPS assistance data in ASN.1}}{49}{lstlisting.4.5}
-\contentsline {lstlisting}{\numberline {4.6}\textbf {Encoding reference location from ASN.1 to PER}}{54}{lstlisting.4.6}
+\contentsline {lstlisting}{\numberline {4.4}\textbf {Encoding an RRLP request from ASN.1 to PER}}{45}{lstlisting.4.4}
+\contentsline {lstlisting}{\numberline {4.5}\textbf {Structure of data types of GPS assistance data in ASN.1}}{47}{lstlisting.4.5}
+\contentsline {lstlisting}{\numberline {4.6}\textbf {Encoding reference location from ASN.1 to PER}}{50}{lstlisting.4.6}
+\contentsline {lstlisting}{\numberline {4.7}\textbf {Decoding an error RRLP response from Samsung Galaxy S3}}{51}{lstlisting.4.7}
+\contentsline {lstlisting}{\numberline {4.8}\textbf {Possible location error reasons}}{52}{lstlisting.4.8}
+\contentsline {lstlisting}{\numberline {4.9}\textbf {Structure of data types of location info data in ASN.1}}{53}{lstlisting.4.9}
+\contentsline {lstlisting}{\numberline {4.10}\textbf {Decoding a successful RRLP response from iPhone 3GS}}{54}{lstlisting.4.10}
\addvspace {10\p@ }
+\contentsline {lstlisting}{\numberline {5.1}\textbf {Data structure containing the RRLP assistance data.}}{63}{lstlisting.5.1}
+\contentsline {lstlisting}{\numberline {5.2}\textbf {Function required to transmit assistance data.}}{64}{lstlisting.5.2}
\addvspace {10\p@ }
\addvspace {10\p@ }
-\addvspace {10\p@ }
-\contentsline {lstlisting}{[}{72}{lstlisting..-3}
+\contentsline {lstlisting}{[}{78}{lstlisting..-3}
diff --git a/vorlagen/thesis/src/maindoc.lot b/vorlagen/thesis/src/maindoc.lot
index 6ef400b..62ac1bd 100644
--- a/vorlagen/thesis/src/maindoc.lot
+++ b/vorlagen/thesis/src/maindoc.lot
@@ -7,16 +7,9 @@
\contentsline {table}{\numberline {2.4}{\ignorespaces Overview of the localization techniques.\relax }}{18}{table.caption.18}
\addvspace {10\p@ }
\addvspace {10\p@ }
-\contentsline {table}{\numberline {4.1}{\ignorespaces Requested AGPS assistance data bit meaning. Table courtesy of \citep {49.031V8.1.0}.\relax }}{61}{table.caption.41}
+\contentsline {table}{\numberline {4.1}{\ignorespaces Requested AGPS assistance data bit meaning. Table courtesy of \citep {49.031V8.1.0}.\relax }}{51}{table.caption.38}
\addvspace {10\p@ }
\addvspace {10\p@ }
-\contentsline {table}{\numberline {6.1}{\ignorespaces Smart phone models used for testing in the thesis.\relax }}{74}{table.caption.45}
-\contentsline {table}{\numberline {6.2}{\ignorespaces Smart phone RRLP test results\relax }}{78}{table.caption.48}
+\contentsline {table}{\numberline {6.1}{\ignorespaces Smart phone models used for testing in the thesis.\relax }}{64}{table.caption.42}
+\contentsline {table}{\numberline {6.2}{\ignorespaces Smart phone RRLP test results\relax }}{68}{table.caption.45}
\addvspace {10\p@ }
-\contentsline {table}{\numberline {A.3.1}{\ignorespaces Example uncertainties (latitude and longitude) for various integer values of $K$\relax }}{93}{table.caption.53}
-\contentsline {table}{\numberline {A.3.2}{\ignorespaces Example uncertainties (altitude) for various integer values of $K$\relax }}{94}{table.caption.54}
-\contentsline {table}{\numberline {B.0.3}{\ignorespaces GPS UTC Model content. Table courtesy of \citep {harper2010server-side}.\relax }}{96}{table.caption.56}
-\contentsline {table}{\numberline {B.0.4}{\ignorespaces GPS Ionosphere Model content. Table courtesy of \citep {harper2010server-side}.\relax }}{96}{table.caption.57}
-\contentsline {table}{\numberline {B.0.5}{\ignorespaces Navigation message (ephemeris) content. Table courtesy of \citep {harper2010server-side}.\relax }}{97}{table.caption.58}
-\contentsline {table}{\numberline {B.0.6}{\ignorespaces Almanac message content. Table courtesy of \citep {harper2010server-side}.\relax }}{98}{table.caption.59}
-\contentsline {table}{\numberline {C.0.7}{\ignorespaces Indicator LED status on the nanoBTS. Table courtesy of \citep {installnanoBTS}.\relax }}{99}{table.caption.60}
diff --git a/vorlagen/thesis/src/maindoc.tex b/vorlagen/thesis/src/maindoc.tex
index 3c40f23..d2be790 100644
--- a/vorlagen/thesis/src/maindoc.tex
+++ b/vorlagen/thesis/src/maindoc.tex
@@ -145,11 +145,12 @@ stepnumber=1, numbersep=5pt, numbers = none}
%\usepackage[disable=true]{todonotes}
+%ADDS LIST OF FIGURES AND TABLES TO INDEX
+%\usepackage{tocbibind}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Buntes (Grafiken, Links, Farben) %%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%erlaubt Graphiken einzubinden
\usepackage{graphicx}
\usepackage{xcolor}
@@ -241,8 +242,18 @@ stepnumber=1, numbersep=5pt, numbers = none}
%% Literatur %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\selectbiblanguage{english}
+\cleardoublepage
+\addcontentsline{toc}{chapter}{List of tables}
\listoftables
+
+\cleardoublepage
+\addcontentsline{toc}{chapter}{List of figures}
\listoffigures
+
+%\cleardoublepage
+%\addcontentsline{toc}{chapter}{List of listings}
+%\lstlistoflistings
+
\bibliographystyle{abbrvnat}
\bibliography{bib/literatur}