current TeX
This commit is contained in:
@@ -1,19 +1,40 @@
|
||||
\section{Indoor Positioning System}
|
||||
|
||||
nur grob beschreiben wie unser system funktioniert,
|
||||
dass die absolute positionierung aus dem wlan kommt,
|
||||
dass man dafür entweder viele fingerprints oder ein modell braucht
|
||||
dann kommts zu dem modell
|
||||
\section{WiFi Optimization}
|
||||
|
||||
The WiFi sensor infers the pedestrian's current location based on a comparison between live measurements
|
||||
(the smartphone continuously scans for nearby \docAP{}s) and reference measurements / predictions
|
||||
with well known location.
|
||||
|
||||
\subsection{Sensor Fusion}
|
||||
\begin{equation}
|
||||
p(\vec{o}_t \mid \vec{q}_t)_\text{wifi} =
|
||||
p(\mRssiVecWiFi \mid \mPosVec) =
|
||||
\prod p(\mRssi_{i} \mid \mPosVec),\enskip
|
||||
%\mPos = (x,y,z)^T
|
||||
\mPosVec \in \R^3
|
||||
\label{eq:wifiObs}
|
||||
\end{equation}
|
||||
%
|
||||
\begin{equation}
|
||||
p(\mRssi_i \mid \mPosVec) =
|
||||
\mathcal{N}(\mRssi_i \mid \mu_{i,\mPosVec}, \sigma_{i,\mPosVec}^2)
|
||||
\label{eq:wifiProb}
|
||||
\end{equation}
|
||||
|
||||
Gesamtsystem
|
||||
dann einzel-komponenten
|
||||
In \refeq{eq:wifiProb} $\mu_{i,\mPosVec}$ denotes the average signal strength for the \docAPshort{} identified by $i$,
|
||||
that should be measurable given the location $\mPosVec = (x,y,z)^T$. This value can be determined using various
|
||||
methods. Most common, as of today, seems fingerprinting, where hundreds of locations throughout the building
|
||||
are scanned beforehand, and the received \docAP{}s including their signal strength denote the location's fingerprint.
|
||||
\todo{cite}
|
||||
%
|
||||
While allowing for highly accurate location estimations, given enough fingerprints, such a setup is costly.
|
||||
We therefore use a model prediction instead, that just relies on the \docAPshort{}'s position
|
||||
$\mPosAPVec{} = (x,y,z)^T$
|
||||
and some parameters.
|
||||
|
||||
|
||||
\subsection{Signal Strength Prediction}
|
||||
\subsection{Signal Strength Prediction Model}
|
||||
|
||||
\begin{equation}
|
||||
x = \mTXP{} + 10 \mPLE{} + \log_{10} \frac{d}{d_0} + \mGaussNoise{}
|
||||
\mRssi = \mTXP{} + 10 \mPLE{} + \log_{10} \frac{d}{d_0} + \mGaussNoise{}
|
||||
\label{eq:logDistModel}
|
||||
\end{equation}
|
||||
|
||||
@@ -22,19 +43,19 @@
|
||||
to also serve for indoor purposes.
|
||||
%
|
||||
This model predicts an \docAP{}'s signal strength
|
||||
for an arbitrary location given the distance between both and two environmental parameters:
|
||||
for an arbitrary location $\mPosVec{}$ given the distance between both and two environmental parameters:
|
||||
The \docAPshort{}'s signal strength \mTXP{} measurable at a known distance $d_0$ (usually \SI{1}{\meter}) and
|
||||
the signal's depletion over distance \mPLE{}, which depends on the \docAPshort{}'s surroundings like walls
|
||||
and other obstacles.
|
||||
\mGaussNoise{} is a zero-mean Gaussian noise and models the uncertainty.
|
||||
|
||||
The log normal shadowing model is a slight modification, to adapt the log distance model to indoor use cases.
|
||||
It introduces an additional parameter, that models obstalces between (line-of-sight) the \docAPshort{} and the
|
||||
It introduces an additional parameter, that models obstacles between (line-of-sight) the \docAPshort{} and the
|
||||
location in question by attenuating the signal with a constant value.
|
||||
%
|
||||
Depending on the use case, this value describes the number and type of walls, ceilings, floors etc. between both locations.
|
||||
For obstacles, this requires an intersection-test of each obstacle with the line-of-sight, which is costly
|
||||
for larger buildings. For realtime use on a smartphone, a (discretized) model pre-computation might thus be necessary
|
||||
for larger buildings. For real-time use on a smartphone, a (discretized) model pre-computation might thus be necessary
|
||||
\todo{cite competition}.
|
||||
|
||||
\begin{equation}
|
||||
@@ -42,57 +63,105 @@
|
||||
\label{eq:logNormShadowModel}
|
||||
\end{equation}
|
||||
|
||||
Throughout this work, walls are ignored and only floors/ceilings are considered for the model.
|
||||
In \refeq{eq:logNormShadowModel}, floors/ceilings
|
||||
Throughout this work, walls are ignored and only floors/ceilings are considered.
|
||||
In \refeq{eq:logNormShadowModel}, those
|
||||
are included using a constant attenuation factor \mWAF{} multiplied by the number of floors/ceilings \numFloors{}
|
||||
between sender and the location in question. Assuming \todo{passendes wort?} buildings, this number can be determined
|
||||
without costly intersection checks and thus allows for realtime use cases.
|
||||
The attenuation \mWAF{} depends on the building's architecture and for common, steel enforced concrete floors
|
||||
without costly intersection checks and thus allows for real-time use cases.
|
||||
The attenuation \mWAF{} per element depends on the building's architecture and for common, steel enforced concrete floors
|
||||
$\approx 8.0$ might be a viable choice \todo{cite}.
|
||||
|
||||
|
||||
|
||||
\subsection {Model Setup}
|
||||
|
||||
As previously mentioned, for the prediction model to work, one needs to know the locations of all
|
||||
permanently installed \docAP{}s within the building plus their environmental parameters.
|
||||
|
||||
\subsection {Model Parameters}
|
||||
|
||||
As previously mentioned, for the prediction model to work, one needs to know the location $\mPosAPVec_i$ for every
|
||||
permanently installed \docAP{} $i$ within the building plus its environmental parameters.
|
||||
%
|
||||
While it is possible to use empiric values for \mTXP, \mPLE and \mWAF \cite{Ebner-15}, the positions are mandtatory.
|
||||
While it is possible to use empiric values for \mTXP{}, \mPLE{} and \mWAF{} \cite{Ebner-15}, the positions are mandatory.
|
||||
|
||||
For many installations, there should be floorplans that include the locations of all installed transmitters.
|
||||
If so, a model setup takes only several minutes to (vaguely) position the \docAPshort{}s within a virtual
|
||||
map and assigning them some fixed, empirically choosen parameters for \mTXP, \mPLE and \mWAF.
|
||||
map and assigning them some fixed, empirically chosen parameters for \mTXP{}, \mPLE{} and \mWAF{}.
|
||||
Depending on the building's architecture this might already provide enough accuracy for some use-cases
|
||||
where a vague location information is sufficient.
|
||||
|
||||
|
||||
\subsection{Parameter Optimization}
|
||||
\subsection{Model Parameter Optimization}
|
||||
|
||||
As a compromise between fingerprinting and pure empiric model parameters, one can optimize
|
||||
the model parameters based on a few reference measurements throughout the building.
|
||||
Obviously, the more parameters are unknown ($\mPosAPVec{}, \mTXP{}, \mPLE{}, \mWAF{}$) the more
|
||||
reference measurements are necessary to provide a viable optimization.
|
||||
|
||||
Just optimizing \mTXP{} and \mPLE{} usually means optimizing a convex function
|
||||
as can be seen in figure \ref{fig:wifiOptFuncTXPEXP}. For such functions,
|
||||
algorithms like gradient descent \todo{cite} and (downhill) simpelx \todo{cite}
|
||||
are well suited.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
\begin{figure}
|
||||
\input{gfx/wifiop_show_optfunc_params}
|
||||
\label{fig:wifiOptFuncParams}
|
||||
\caption{The average error (in \SI{}{\decibel}) between reference measurements and model predictions for one \docAPshort{} dependent on \docTXP{} and \docEXP{} [fixed position and \mWAF{}] denotes a convex function.}
|
||||
\label{fig:wifiOptFuncTXPEXP}
|
||||
\caption{
|
||||
The average error (in \SI{}{\decibel}) between reference measurements and model predictions
|
||||
for one \docAPshort{} dependent on \docTXP{} \mTXP{} and \docEXP{} \mPLE{}
|
||||
[fixed position $\mPosAPVec{}$ and \mWAF{}] denotes a convex function.
|
||||
}
|
||||
\end{figure}
|
||||
|
||||
However, optimizing the transmitter's position usually means optimizing a non-convex function,
|
||||
especially when the $z$-coordinate, that influences the number of attenuating floors/ceilings,
|
||||
is involved. While the latter can be mitigated by introducing a continuous function for the
|
||||
number $n$ of floors/ceilings, like a sigmoid, this will still not work for all situations.
|
||||
As can be seen in figure \ref{fig:wifiOptFuncPosYZ}, there are two local minima and only one of
|
||||
both also is a global one.
|
||||
|
||||
\begin{figure}
|
||||
\input{gfx/wifiop_show_optfunc_pos_yz}
|
||||
\label{fig:wifiOptFuncPosYZ}
|
||||
\caption{The average error (in \SI{}{\decibel}) between reference measurements and model predictions for one \docAPshort{} dependent on $y$- and $z$-position [fixed $x$, \mTXP{}, \mPLE{} and \mWAF{}] usually denotes a non-convex function with multiple [here: two] local minima.}
|
||||
\caption{
|
||||
The average error (in \SI{}{\decibel}) between reference measurements and model predictions
|
||||
for one \docAPshort{} dependent on $y$- and $z$-position [fixed $x$, \mTXP{}, \mPLE{} and \mWAF{}]
|
||||
usually denotes a non-convex function with multiple [here: two] local minima.
|
||||
}
|
||||
\end{figure}
|
||||
|
||||
while optimizing txp and exp usually means optimizing a concave function,
|
||||
optimzing the positiong usually isn't. Especially when the z-coordinate
|
||||
[influencing the WAF] is involved. While this can be mitigated by introducing
|
||||
a continuous function for the WAF like a sigmoid, this will still not work
|
||||
for all situations
|
||||
Such functions demand for optimization algorithms, that are able to deal with non-convex functions,
|
||||
like genetic approaches. However, initial tests indicated that while being superior to simplex
|
||||
and similar algorithms, the results were not satisfactorily.
|
||||
|
||||
As the Range of the six to-be-optimized parameters is known ($\mPosAPVec{}$ within the building,
|
||||
\mTXP{}, \mPLE{}, \mWAF{} within a sane interval), we used some modifications.
|
||||
The initial population is uniformly sampled from the known range. During each iteration
|
||||
the best \SI{25}{\percent} of the population are kept and the remaining entries are
|
||||
re-created by modifying the best entries with uniform random values within
|
||||
\SI{10}{\percent} of the known range. To stabilize the result, the allowed modification range
|
||||
is adjusted over time, known as cooling \todo{cite}.
|
||||
|
||||
|
||||
\subsection{Modified Signal Strength Model}
|
||||
|
||||
During the initial eval, some issues were discovered. While aforementioned optimization was able to
|
||||
reduce the error between reference measurements and model estimations to \SI{50}{\percent},
|
||||
the position estimation \ref{eq:wifiProb} did not benefit from improved model parameters.
|
||||
To the contrary, there were several situations throughout the testing walks, where
|
||||
the inferred location was more erroneous than before.
|
||||
|
||||
|
||||
\subsection {VAP grouping}
|
||||
|
||||
Assuming normal conditions, the received signal strength at one location will (strongly) vary
|
||||
due to environmental conditions like temperature, humidity, open/closed doors, RF interference.
|
||||
Fast variations can be addressed by averaging several consecutive measurements at the expense
|
||||
of a delay in time.
|
||||
To prevent this delay we use the fact, that many buildings use so called virtual access points
|
||||
where one physical hardware \docAP{} provides more than one virtual network to connect to.
|
||||
They can usually be identified, as only the last digit of the MAC-address is altered among the virtual networks.
|
||||
%
|
||||
As those virtual networks normally share the same frequency, they are unable to transmit at the same time.
|
||||
When scanning for \docAPshort{}s one will thus receive several responses from the same hardware, all with
|
||||
a very small delay in time (micro- to milliseconds). Such measurements may be grouped using some aggregate
|
||||
function like average, median or maximum.
|
||||
|
||||
|
||||
wie wird optimiert
|
||||
@@ -113,10 +182,10 @@ c) ...
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
\subsection {VAP grouping}
|
||||
VAP grouping erklaeren
|
||||
|
||||
|
||||
probleme bei der optimierung beschreiben. convex usw..
|
||||
|
||||
Reference in New Issue
Block a user