\section{Indoor Positioning System} \label{sec:system} Our smartphone-based indoor localization system estimates a pedestrian's current location and heading using recursive density estimation seen in \refeq{eq:recursiveDensity}. \begin{equation} %\arraycolsep=1.2pt %\begin{array}{ll} p(\mStateVec_{t} \mid \mObsVec_{1:t}) \propto\\ \underbrace{p(\mObsVec_{t} \mid \mStateVec_{t})}_{\text{evaluation}} \int \underbrace{p(\mStateVec_{t} \mid \mStateVec_{t-1}, \mObsVec_{t-1})}_{\text{transition}} \underbrace{p(\mStateVec_{t-1} \mid \mObsVec_{1:t-1})d\vec{q}_{t-1}}_{\text{recursion}} \enspace, %\end{array} \label{eq:recursiveDensity} \end{equation} A movement model, based on random walks on a graph, samples only those transitions, that are allowed by the buildings floorplan. %$p(\mStateVec_{t} \mid \mStateVec_{t-1}, \mObsVec_{t-1})$ The smartphone's accelerometer, gyroscope, magnetometer, GPS- and \docWIFI{}-module provide the observations for both, the transition and the following evaluation step to infer the hidden state, namely the pedestrian's location and heading \cite{Ebner2016OPN, Fetzer2016OMC}. This hidden state $\mStateVec$ is given by \begin{equation} \mStateVec = (x, y, z, \mStateHeading),\enskip x, y, z, \mStateHeading \in \R \enspace, \end{equation} % where $x, y, z$ represent the pedestrian's position in 3D space and $\mStateHeading$ his current (absolute) heading. The corresponding observation vector is defined as % \begin{equation} \mObsVec = (\mRssiVecWiFi{}, \mObsSteps, \mObsHeadingRel, \mObsHeadingAbs, \mPressure, \mObsGPS) \enspace. \end{equation} % $\mRssiVecWiFi$ contains the signal strength measurements of all \docAP{}s (\docAPshort{}s) currently visible to the smartphone, $\mObsSteps$ describes the number of steps detected since the last filter-step, $\mObsHeadingRel$ the (relative) angular change since the last filter-step, $\mObsHeadingAbs$ the vague absolute heading as provided by the magnetometer, $\mPressure$ the ambient pressure in hPa and $\mObsGPS = ( \mObsGPSlat, \mObsGPSlon, \mObsGPSaccuracy)$ the current location (if available) given by the GPS. Assuming statistical independence, the state-evaluation density can be written as % \begin{equation} p(\vec{o}_t \mid \vec{q}_t) = p(\vec{o}_t \mid \vec{q}_t)_\text{wifi}\enskip p(\vec{o}_t \mid \vec{q}_t)_\text{gps}\enskip p(\vec{o}_t \mid \vec{q}_t)_\text{abshead}\enskip p(\vec{o}_t \mid \vec{q}_t)_\text{activity}\enskip \enspace. \label{eq:evalDensity} \end{equation} % Absolute location information is provided by $p(\vec{o}_t \mid \vec{q}_t)_\text{wifi}$ and $p(\vec{o}_t \mid \vec{q}_t)_\text{gps}$, if available. The vague absolute heading provided by the smartphone's magnetometer is included using a simple heuristic for $p(\vec{o}_t \mid \vec{q}_t)_\text{abshead}$. Finally, the barometer is used to distinguish between normal walking and climbing stairs within $p(\vec{o}_t \mid \vec{q}_t)_\text{activity}$. % The remaining observations, derived from aforementioned smartphone sensors, namely: detected steps, and relative heading are used within the transition model, where potential movements $p(\mStateVec_{t} \mid \mStateVec_{t-1}, \mObsVec_{t-1})$ are not only constrained by the buildings floorplan but also by those additional observations. As this work focuses on \docWIFI{} optimization, not all parts of the localization system are discussed in detail. For missing explanations please refer to \cite{Ebner2016OPN}. % Compared to this reference, absolute heading and GPS have been added as additional sensors to further enhance the localization. Their values are incorporated by simply comparing the sensor readings against a distribution that models the sensor's uncertainty. \todo{verteilung fuer gps und abs-heading} %\todo{neues resampling? je nach dem was sich noch in der eval zeigt} As GPS will only work outdoors, e.g. when moving from one building into another, the system's absolute position indoors is solely provided by \docWIFI{}. Therefore its crucial for this component to supply location estimations that are as accurate as possible, while ensuring fast setup and maintenance times. \todo{ueberleitung holprig?}