This repository has been archived on 2020-04-08. You can view files and clone it, but cannot push or open issues or pull requests.
Files
OTHER2017/tex/chapters/work.tex
2017-04-11 13:40:51 +02:00

212 lines
10 KiB
TeX

\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.
\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}
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 Model}
\begin{equation}
\mRssi = \mTXP{} + 10 \mPLE{} + \log_{10} \frac{d}{d_0} + \mGaussNoise{}
\label{eq:logDistModel}
\end{equation}
The log distance model \todo{cite} in \refeq{eq:logDistModel} is a commonly used signal strength prediction model that
is intended for line-of-sight predictions. However, depending on the surroundings, the model is versatile enough
to also serve for indoor purposes.
%
This model predicts an \docAP{}'s signal strength
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 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 real-time use on a smartphone, a (discretized) model pre-computation might thus be necessary
\todo{cite competition}.
\begin{equation}
x = \mTXP{} + 10 \mPLE{} + \log_{10} \frac{d}{d_0} + \numFloors{} \mWAF{} + \mGaussNoise{}
\label{eq:logNormShadowModel}
\end{equation}
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 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 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 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 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{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: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.
}
\end{figure}
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
a) bekannte pos + empirische params
b) bekannte pos + opt params (fur alle APs gleich) [simplex]
c) bekannte pos + opt params (eigene je AP) [simplex]
d) alles opt: pos und params (je ap) [range-random]
wenn man nur die fingerprints des floors nimmt in dem gelaufen wird, ist alles gut
sobald man andere floors drueber/drunter dazu nimmt, ist es nicht mehr gnaz so gut, oder wird schlechter
das spricht dafuer dass das modell nicht gut passt
koennte man zeigen indem man den durchschnittlichen fehler je fingerprint plottet???
the optimization-result also depends on the optimzation target:
a) the (average) error between measurment and model prediction
b) the (average) probability for the model's prediction given the fingerprint, ...
c) ...
probleme bei der optimierung beschreiben. convex usw..
wo geht simplex gut, wo eher nicht
harte WAF übergänge scheinen beim optimieren als auch beim matchen nicht so gut
gleitende übergänge mittels sigmoid wirken besser
war eine wichtige erkenntnis
die vom AP bekannte position wird NICHT als input fuer die alles-OPT funktion benutzt
die ist wirklich 'irgendwo'
range-random algo
domain bekannt [map groesse, txp/exp/waf in etwa]
genetic refinement mit cooling [= erst grob, dann fein]
optimierung ist tricky. auch wegen dem WAF der ja sprunghaft dazu kommt, sobald messung und AP in zwei unterschiedlichen
stockwerken liegen.. und das selbst wenn hier vlt sichtkontakt möglich wäre, da der test 2D ist und nicht 3D
aps sind (statistisch) unaebhaengig. d.h., jeder AP kann fuer sich optimiert werden.
optimierung des gesamtsystems ist nicht notwendig.
pro AP also 6 params. pos x/y/z, txp, exp, waf