143 lines
6.3 KiB
TeX
143 lines
6.3 KiB
TeX
\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
|
|
|
|
\subsection{Sensor Fusion}
|
|
|
|
Gesamtsystem
|
|
dann einzel-komponenten
|
|
|
|
\subsection{Signal Strength Prediction}
|
|
|
|
\begin{equation}
|
|
x = \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 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
|
|
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
|
|
\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 for the model.
|
|
In \refeq{eq:logNormShadowModel}, floors/ceilings
|
|
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
|
|
$\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.
|
|
%
|
|
While it is possible to use empiric values for \mTXP, \mPLE and \mWAF \cite{Ebner-15}, the positions are mandtatory.
|
|
|
|
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.
|
|
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}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
\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.}
|
|
\end{figure}
|
|
|
|
\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}
|
|
|
|
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
|
|
|
|
|
|
|
|
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) ...
|
|
|
|
|
|
|
|
|
|
|
|
\subsection {VAP grouping}
|
|
VAP grouping erklaeren
|
|
|
|
|
|
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
|