\section{Sensors}

	\subsection{Barometer}
		As stated by \cite{ipin2015} \todo{and the other paper directly}, ambient pressure readings are highly influenced
		by environmental conditions like the weather, time-of-day and others. Thus, relative pressure readings are
		preferred over absolute ones. However, due to noisy sensors \todo{cite oder grafik? je nach platz}, one
		single reading is not enough as a relative base. Harnessing the usual setup time of a navigation-system (
		route calculation, user checking the route) we use the average of all barometer readings during this
		timeframe as realtive base $\overline{\mObsPressure}$. However, it is often necessary to omit the first few
		sensors readings, as the sensor needs some time to settle and the estimated base would otherwise be far off
		the real values (see fig. \ref{fig:baroSetupError}). Besides, we use the system's setup time to estimate the
		sensors uncertainty $\sigma_\text{baro}$ for later use within the evaluation.
		
		\begin{figure}
			\include{gfx/baro/baro_setup_issue}
			\caption{Sometimes the barometer provides erroneous \SI{}{\hpa} readings during the first seconds. Those
			need to be omitted before $\sigma_\text{baro}$ and $\overline{\mObsPressure}$ are estimated.}
			\label{fig:baroSetupError}
		\end{figure}
		
		During each transition from $\mStateVec_{t-1}$ to $\mStateVec_t$, we need a corresponding, relative pressure
		prediction $\mStatePressure$ which is adjusted according to the resulting $z$-change, if any:
		
		\begin{equation}
			\mState_{t}^{\mStatePressure} = \mState_{t-1}^{\mStatePressure} + \Delta z \cdot \SI{0.105}{\hpa}
			,\enskip
			\Delta z = \mState_{t-1}^{z} - \mState_{t}^z
			.
			\label{eq:baroTransition}
		\end{equation}
		
		\commentByToni{Woher kommen die 0.105hPa? Sollte man dazu schreiben.}
		The evaluation following the transition then compares the predicted relative pressure with the observed one
		using a normal distribution with the previously estimated $\sigma_\text{baro}$:
		
		\begin{equation}
			p(\mObsVec_t \mid \mStateVec_t)_\text{baro} = \mathcal{N}(\mObs_t^{\mObsPressure} \mid \mState_t^{\mStatePressure}, \sigma_\text{baro}).
			\label{eq:baroEval}
		\end{equation}
		
		
		
		
		
		
	\subsection{Wi-Fi \& iBeacons}
		For additional absolute location hints, we use the Smartphones Wi-Fi and iBeacon sensor to measure the signal-strengths
		of nearby transmitters. As the positions of both \docAP{}s and and \docIBeacon{}s are known beforehand, we compare
		each measurement with its corresponding signal strength prediction which is defined by the 3D distance $d$
		and the number of floors $\Delta f$ between the \docAPshort{} and the particle
		
		\begin{equation}
			P_r(d, \Delta f) = \mTXP - 10 \mPLE \log_{10}{\frac{\mMdlDist}{\mMdlDist_0}} + \Delta{f} \mWAF,
		\end{equation}
		
		and calculate the resulting probability as described in \cite{ipin2015}:
		
		\begin{equation}
			\mProb(\mObsVec_t \mid \mStateVec_t)_\text{wifi} =
			\prod\limits_{i=1}^{n} \mathcal{N}(\mRssi_\text{wifi}^{i} \mid P_{r}(\mMdlDist_{i}, \Delta{f_{i}}), \sigma_{\text{wifi}}^2).
			\label{eq:wifiTotal}
		\end{equation}
				
		For the \docWIFI{} component we thus need two parameters per \docAPshort{}: $\mTXP$ measured at a distance 
		$\mMdlDist_0$ (usually \SI{1}{\meter}) and the path-loss exponent $\mPLE$ describing the environment.
		To reduce complexity and system setup time, we use the same values for all \docAP{}s at the cost of accuracy.
		While, $\mTXP$ is best determined using averaged measurements at a single location,
		a good estimation of $\mPLE$ requires several measurements and numerical optimization \cite{etwas_aus_der_MA}.
		$\mPLE$ is thus chosen empirically.
		
		For the \docIBeacon{} component we also use \refeq{eq:wifiTotal} but $\mTXP$ is transmitted by each beacon.
		Again, $\mPLE$ is determined emprically. \todo{faellt hier meist kleiner aus, weil ja kuerzere reichweite etc}
	
	
	
	
	
	\subsection{Step- \& Turn-Detection}
		
		To prevent degradation within the particle-filter \cite{??} due to downvoting of particles with increased
		heading deviation, we incorporate the turn-detection as control-data \commentByToni{ich würde es jetzt nicht unbedingt  controldata nennen. einfach nur das wir die observation in die transition integrieren. fertig.} directly into the transition
		$p(\mStateVec_{t} \mid \mStateVec_{t-1}, \mObsVec_{t-1})$.
		\cite{thrun?}\cite{lukas2014?} to get a more directed sampling instead of a truly random one.
		
		
		
		\commentByFrank{todo: wie wird die unsicherheit in der transition eingebracht, sigma, ..} 
		
		
		
