current TeX
This commit is contained in:
@@ -1,8 +1,8 @@
|
||||
\section{WiFi Location Estimation}
|
||||
\label{sec:optimization}
|
||||
|
||||
The \docWIFI{} sensor infers the pedestrian's current location based on a comparison between recent measurements
|
||||
(the smartphone continuously scans for nearby \docAP{}s) and reference measurements or
|
||||
The \docWIFI{} sensor infers the pedestrian's current location based on a comparison between live observations
|
||||
(the smartphone continuously scans for nearby \docAP{}s) and fingerprints or
|
||||
signal strength predictions for well known locations:
|
||||
|
||||
\begin{equation}
|
||||
@@ -22,15 +22,12 @@
|
||||
|
||||
In \refeq{eq:wifiProb}, $\mu_{i,\mPosVec}$ and $\sigma_{i,\mPosVec}$ denote the average signal strength
|
||||
and corresponding standard deviation for the \docAPshort{} identified by $i$,
|
||||
that should be measurable given the location $\mPosVec = (x,y,z)^T$. Those two value can be determined using various
|
||||
methods. Most common, as of today, seems fingerprinting, where hundreds of locations throughout the building
|
||||
are scanned beforehand. The received \docAP{}s including their average signal strength and deviation
|
||||
denote each location's fingerprint \cite{radar}.
|
||||
that should be measurable given the location $\mPosVec = (x,y,z)^T$. Those two values can be determined using various
|
||||
methods. Most common and accurate, as of today, is fingerprinting, where hundreds of locations throughout the building
|
||||
are scanned beforehand. The received \docAP{}s including their (average) signal strength and deviation
|
||||
denote each location's fingerprint.
|
||||
%
|
||||
While allowing for highly accurate location estimations, given enough fingerprints, such a setup is costly,
|
||||
as fingerprinting is a manual process.
|
||||
%
|
||||
We therefore use a model to predict the average signal strength for each location,
|
||||
To prevent the time-consuming setup process, we use a model to predict the average signal strength for each location,
|
||||
based on the \docAPshort{}'s position $\mPosAPVec{} = (x,y,z)^T$ and a few additional parameters.
|
||||
|
||||
|
||||
@@ -65,22 +62,23 @@
|
||||
Depending on the use case, this value describes the number and type of walls, ceilings, floors etc. between both positions.
|
||||
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
|
||||
\cite{competition}. Furthermore this requires a detailed floorplan, that includes material information
|
||||
for walls, doors, floors and ceilings.
|
||||
\cite{competition2016}.
|
||||
%Furthermore this requires a detailed floorplan, that includes material information
|
||||
%for walls, doors, floors and ceilings.
|
||||
|
||||
Throughout this work, we thus use a tradeoff between both models, where walls are ignored and only floors/ceilings are considered.
|
||||
Assuming buildings with even floor levels, the number of floors/ceilings between two position can be determined
|
||||
without costly intersection checks and thus allows for real-time use cases.
|
||||
without costly intersection checks and thus allows for real-time use cases running on smartphones.
|
||||
|
||||
\begin{equation}
|
||||
x = \mTXP{} + 10 \mPLE{} + \log_{10} \frac{d}{d_0} + \numFloors{} \mWAF{} + \mGaussNoise{}
|
||||
\mRssi = \mTXP{} + 10 \mPLE{} + \log_{10} \frac{d}{d_0} + \numFloors{} \mWAF{} + \mGaussNoise{}
|
||||
\label{eq:logNormShadowModel}
|
||||
\end{equation}
|
||||
|
||||
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.
|
||||
In \refeq{eq:logNormShadowModel}, a constant attenuation factor \mWAF{} is
|
||||
multiplied by the number \numFloors{} of floors/ceilings between sender and the location in question.
|
||||
The attenuation \mWAF{} (per element) depends on the building's architecture and for common,
|
||||
steel enforced concrete floors $\approx 8.0$ is a viable choice \cite{TODO}.
|
||||
steel enforced concrete floors $\approx 8.0$ is a viable choice \cite{ElectromagneticPropagation}.
|
||||
|
||||
|
||||
|
||||
@@ -100,65 +98,100 @@
|
||||
|
||||
\subsection{Model Parameter Optimization}
|
||||
|
||||
\begin{figure}[t!]
|
||||
\input{gfx/wifiop_show_optfunc_params}
|
||||
\caption{
|
||||
The average error (in \SI{}{\decibel}) between all reference measurements and corresponding model predictions
|
||||
for one \docAPshort{} dependent on \docTXP{} \mTXP{} and \docEXP{} \mPLE{}
|
||||
[known position $\mPosAPVec{}$, fixed \mWAF{}] denotes a convex function.
|
||||
}
|
||||
\label{fig:wifiOptFuncTXPEXP}
|
||||
\end{figure}
|
||||
%\begin{figure}
|
||||
% \input{gfx/wifiop_show_optfunc_params}
|
||||
% \caption{
|
||||
% The average error (in \SI{}{\decibel}) between all reference measurements and corresponding model predictions
|
||||
% for one \docAPshort{} dependent on \docTXP{} \mTXP{} and \docEXP{} \mPLE{}
|
||||
% [known position $\mPosAPVec{}$, fixed \mWAF{}] denotes a convex function.
|
||||
% }
|
||||
% \label{fig:wifiOptFuncTXPEXP}
|
||||
%\end{figure}
|
||||
|
||||
For systems that demand a higher accuracy, one can choose a compromise between fingerprinting and
|
||||
pure empiric model parameters where (some) model parameters are optimized,
|
||||
aforementioned pure empiric model parameters by optimizing those 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 stable optimization.
|
||||
Obviously, the more parameters are staged for optimization ($\mPosAPVec{}, \mTXP{}, \mPLE{}, \mWAF{}$) the more
|
||||
reference measurements are necessary to provide a stable result.
|
||||
Depending on the desired accuracy, setup time and whether the transmitter positions are known or unknown,
|
||||
several optimization strategies arise, where not all 6 parameters are optimized, but only some of them.
|
||||
|
||||
Just optimizing \mTXP{} and \mPLE{} with constant \mWAF{} and known transmitter position
|
||||
usually means optimizing a convex function as can be seen in figure \ref{fig:wifiOptFuncTXPEXP}.
|
||||
For such error functions, algorithms like gradient descent and simplex \cite{gradientDescent, downhillSimplex1, downhillSimplex2}
|
||||
are well suited and will provide the global minima:
|
||||
|
||||
The target function \refeq{eq:optTarget} optimizes the model-parameters for one \docAP{} by reducing the squared error between
|
||||
reference measurements $s_{\mPosVec} \in \vec{s}$ with well-known location $\mPosVec$ and corresponding
|
||||
model predictions $\mu_{\mPosVec}$.
|
||||
|
||||
\begin{equation}
|
||||
argmin_{bla} blub()
|
||||
TODO TODO TODO
|
||||
\epsilon^* =
|
||||
\argmin_{\mPosAPVec, \mTXP, \mPLE, \mWAF}
|
||||
\sum_{s_{\mPosVec} \in \vec{s}}
|
||||
(s_{\mPosVec} - \mu_{\mPosVec})^2
|
||||
\enskip,\enskip\enskip
|
||||
\mu_{\mPosVec} =
|
||||
\mTXP{} + 10 \mPLE{} + \log_{10} \| \mPosVec-\mPosAPVec \| + \text{floors}(\mPosVec,\mPosAPVec) \mWAF{}
|
||||
\label{eq:optTarget}
|
||||
\end{equation}
|
||||
|
||||
|
||||
|
||||
|
||||
Just optimizing \mTXP{} and \mPLE{} with constant \mWAF{} and known transmitter position
|
||||
usually means optimizing a convex function, as can be seen in figure \ref{fig:wifiOptFuncTXPEXP}.
|
||||
For such error functions, algorithms like gradient descent and simplex \cite{gradientDescent, downhillSimplex1, downhillSimplex2}
|
||||
are well suited and will provide the global minima.
|
||||
|
||||
However, optimizing an unknown transmitter position usually means optimizing a non-convex, discontinuous
|
||||
function, especially when the $z$-coordinate, that influences the number of attenuating floors/ceilings,
|
||||
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, the function is not necessarily convex.
|
||||
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}[t!]
|
||||
\input{gfx/wifiop_show_optfunc_pos_yz}
|
||||
number $n$, e.g. a sigmoid, the function is not necessarily convex.
|
||||
Figure \ref{fig:wifiOptFuncPosYZ} depicts two local minima and only one of both also is a global one.
|
||||
|
||||
\begin{figure*}
|
||||
\centering
|
||||
\begin{subfigure}{0.48\textwidth}
|
||||
%\centering
|
||||
\input{gfx/wifiop_show_optfunc_params}
|
||||
\caption{
|
||||
Modifying \docTXP{} \mTXP{} and \docEXP{} \mPLE{}
|
||||
[known position $\mPosAPVec{}$, fixed \mWAF{}] denotes a convex function.
|
||||
}
|
||||
\label{fig:wifiOptFuncTXPEXP}
|
||||
\end{subfigure}%
|
||||
\enskip\enskip
|
||||
\begin{subfigure}{0.48\textwidth}
|
||||
%\centering
|
||||
\input{gfx/wifiop_show_optfunc_pos_yz}
|
||||
\caption{
|
||||
Modifying $y$- and $z$-position [fixed $x$, \mTXP{}, \mPLE{} and \mWAF{}]
|
||||
denotes a non-convex function with multiple local minima.
|
||||
}
|
||||
\label{fig:wifiOptFuncPosYZ}
|
||||
\end{subfigure}
|
||||
\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.
|
||||
Average error (in \SI{}{\decibel}) between all reference measurements and corresponding model predictions
|
||||
for one \docAPshort{}.
|
||||
}
|
||||
\label{fig:wifiOptFuncPosYZ}
|
||||
\end{figure}
|
||||
\end{figure*}
|
||||
|
||||
%\begin{figure}
|
||||
% \input{gfx/wifiop_show_optfunc_pos_yz}
|
||||
% \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.
|
||||
% }
|
||||
% \label{fig:wifiOptFuncPosYZ}
|
||||
%\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 and the optimization often did not converge.
|
||||
|
||||
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.
|
||||
\mTXP{}, \mPLE{}, \mWAF{} within a sane interval around empiric values), we used some modifications.
|
||||
The algorithms 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
|
||||
$\pm$\SI{10}{\percent} of the known range. To stabilize the result, the allowed modification range
|
||||
(starting at \SI{10}{\percent}) is reduced over time, known as cooling \cite{todo}.
|
||||
%(starting at \SI{10}{\percent})
|
||||
is reduced over time, often referred to as {\em cooling} \cite{Kirkpatrick83optimizationby}.
|
||||
|
||||
|
||||
\subsection{Modified Signal Strength Model}
|
||||
@@ -174,43 +207,56 @@
|
||||
%the inferred location was more erroneous than before.
|
||||
|
||||
As the used model tradeoff does not consider walls, it is expected to provide erroneous values
|
||||
for regions that are heavily shrouded by e.g. steel-enforced concrete or metallised glass.
|
||||
for regions that are heavily shrouded, e.g. by steel-enforced concrete or metallised glass.
|
||||
|
||||
Instead of using only one optimized model per \docAP{}, we use several instances with different
|
||||
parameters that are limited to some region within the building:
|
||||
parameters that are limited to some region within the building. By reducing the area
|
||||
that the model has to describe, we expect the limited number of model parameters to
|
||||
provide better (local) results.
|
||||
|
||||
{\bf \optPerFloor{}} will use one model for each story, that is optimized using
|
||||
{\em \optPerFloor{}} will use one model for each story, that is optimized using
|
||||
only the fingerprints that belong to the corresponding floor. During evaluation,
|
||||
the $z$-value from $\mPosVec{}$ in \refeq{eq:wifiProb} is used to select the model
|
||||
the $z$-value from $\mPosVec{}$ in \refeq{eq:wifiProb} is used to select the correct model
|
||||
for this location's signal strength estimation.
|
||||
|
||||
{\bf \optPerRegion{}} works similar, except that the model is limited to a predefined,
|
||||
axis-aligned bounding box. This approach allows a distinction between in- and outdoor-regions
|
||||
or locations that are expected to highly differ from their surroundings.
|
||||
{\em \optPerRegion{}} works similar, except that each model is limited to a predefined,
|
||||
axis-aligned bounding box. This approach allows for an even more refined distinction between
|
||||
several areas like in- and outdoor-regions or locations that are expected to highly differ
|
||||
from their surroundings.
|
||||
|
||||
\todo{AP wird in einer region nur dann beruecksichtigt, wenn mindestanzahl an messungen vorhanden ist!}
|
||||
Especially the second model imposes a potential issue we need to address:
|
||||
If an \docAPshort{} is seen only once or twice within such a bounding box, it is impossible
|
||||
to optimize its parameters, just like a line can not be defined using one single point.
|
||||
However, due to \refeq{eq:wifiProb}, we need each model to provide the same number of
|
||||
\docAP{}s. Otherwise regions with less known transmitters would automatically be more
|
||||
likely than others. We therefore use fixed model parameters,
|
||||
\mTXP = \SI{-100}{\decibel{}m}, \mPLE = 0 and \mWAF = \SI{0}{\decibel}. This yields
|
||||
a model that always returns \SI{-100}{\decibel{}m}, independent of the distance from the transmitter.
|
||||
While this most probably is not the correct reading for all locations, it works
|
||||
for most cases, as usual smartphones are unable to measure signals below this threshold.
|
||||
|
||||
\todo{das heißt aber, dass an unterschiedlichen stellen unterschiedlich viele APs verglichen werden. das geht ned. deshalb feste -100}
|
||||
%\todo{AP wird in einer region nur dann beruecksichtigt, wenn mindestanzahl an messungen vorhanden ist!}
|
||||
%\todo{das heißt aber, dass an unterschiedlichen stellen unterschiedlich viele APs verglichen werden. das geht ned. deshalb feste -100}
|
||||
|
||||
\subsection{\docWIFI{} quality factor}
|
||||
|
||||
Evaluations within previous works showed, that there are many situations where the \docWIFI{} location estimation
|
||||
Evaluations within previous works showed, that there are many situations where the overall \docWIFI{} location estimation
|
||||
is highly erroneous. Either when the signal strength prediction model does not match real world
|
||||
conditions or the received measurements are ambiguous and there is more than one location
|
||||
within the building that matches those readings. Both cases can occur e.g. in areas surrounded by
|
||||
concrete walls where the model does not match the real world conditions as those walls are not considered,
|
||||
concrete walls, where the model does not match the real world conditions as those walls are not considered,
|
||||
and the smartphone barely receives \docAPshort{}s due to the high attenuation.
|
||||
|
||||
If such a sensor error occurs only for a short time period, the recursive density estimation
|
||||
\refeq{eq:recursiveDensity} is able to compensate those errors using other observations and the transition
|
||||
If such a sensor error occurs only for a short time period, the recursive density estimation from
|
||||
\refeq{eq:recursiveDensity} is able to compensate using other observations and the transition
|
||||
model. However, if the sensor-fault persists for a longer time period, such an error will slowly distort
|
||||
the posterior distribution. As our movement model depends on the actual floorplan, the density
|
||||
might get trapped e.g. within a room if the other sensors are unable to compensate for
|
||||
the \docWIFI{} error.
|
||||
|
||||
Thus, we try to determine the quality of received \docWIFI{} measurements, which allows for
|
||||
Thus, we try to determine the quality of received measurements, which allows for
|
||||
temporarily disabling \docWIFI{}'s contribution within the evaluation \refeq{eq:evalDensity}
|
||||
for situations where the quality is insufficient.
|
||||
if the quality is insufficient.
|
||||
|
||||
In \refeq{eq:wifiQuality} we use the average signal strength of all \docAP{}s seen within one measurement
|
||||
and scale this value to match a region of $[0, 1]$ depending on an upper- and lower bound.
|
||||
@@ -219,7 +265,7 @@
|
||||
\begin{equation}
|
||||
\newcommand{\leMin}{l_\text{min}}
|
||||
\newcommand{\leMax}{l_\text{max}}
|
||||
q(\mRssiVec) =
|
||||
\text{quality}(\mRssiVec) =
|
||||
\max(0,
|
||||
\min(
|
||||
\frac{
|
||||
@@ -237,21 +283,21 @@
|
||||
\label{sec:vap}
|
||||
|
||||
Assuming normal conditions, the received signal strength at one location will also (strongly) vary over time
|
||||
due to environmental conditions like temperature, humidity, open/closed doors and RF interference.
|
||||
due to environmental conditions like temperature, humidity, open / closed doors and 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.
|
||||
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 instant in time.
|
||||
As those normally share the same frequency, they are unable to transmit at the same instant in time.
|
||||
When scanning for \docAPshort{}s one will thus receive several responses from the same hardware, all with
|
||||
a very small delay (micro- to milliseconds). Such measurements may be grouped using some aggregate
|
||||
function like average, median or maximum.
|
||||
function like average, median or maximum instead of using each single measurement.
|
||||
|
||||
Furthermore, VAP grouping can be used to suppress unlikely observations: If a physical hardware is known
|
||||
to provide six virtual networks, it is unlikely to only see one of those networks. This is likely due to
|
||||
temporal effects and/or multipath signal propagation and the received signal strength will often be far from
|
||||
to provide six virtual networks, it is unlikely for the smartphone to only see one of those networks.
|
||||
This is due to temporal effects or multipath signal propagation and the received signal strength will often be far from
|
||||
the normal average. It thus makes sense to just omit such unlikely observations, focusing on the remaining, stable ones.
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user