
\section{Experiments}

wir betrachten nur die fest-installierten APs die man meist anhand einer bestimmten mac-range  ausmachen kann
portable geraete von studenten, beamer, aehnliches werden ignoriert

modell direkt fuer den gelaufenen pfad optimiert (also wirklich jede wifi messung direkt auf den ground-truth)
der fehler wird zwar kleiner, ist aber immernoch deutlich spürbar. das spricht dafür, dass das modell einfach nicht
gut geeignet ist.

outdoor fehler kann gemnindert werden mit z.B.
nicht nur die APs nehmen die ich sehe, sondern auch die, die ich sehen müsste
dann wird klar, dass es nicht gut passt. allerdings ist das auch gefaehrlich
[nicht immer tauchen alle APs im scan auf] und welchen fehler bzw. welche
dBm zahl nimmt man fuer fehlende APs an? das ist eine hardware-frage.

ein workaround fuer steigende fehler durch optimierung koennte sein,
dass man nicht jeden AP einzeln optimiert, sondern das gesamtsystem.
und auch nicht den dB fehler, sondern 'die wahrscheinlichkeit an dieser stelle zu sein'
bzw: 'die wahrscheinlichkeit aller anderen positionen minimieren' dass keine
fehl-positionierungen [wie outdoor] mehr stattfinden. allerdings ist das
problematisch da man auch hier entscheiden müsste wann ein AP nicht mehr
sichtbar ist etc.

walk1 hat eine issue kurz bevor man zur tuer zum hoersaalgebaude reingeht
je nach resampling killt dieser wlan error evtl alle partikel!


optimierungs input: alle 4 walks samt ground-truth
dann kommt fuer die 4 typen [fixed, all same par, each par, each par pos]
log probability 50 75,	meter 50, 75









reines wifi eval mittels num-opt springt stark durch die gegend
d.h. das bewegungsmodell rettet uns
kann man auch testen wenn man beim particle-filter das resampling ganz aus macht





	% -------------------------------- optimization -------------------------------- %
	
	% used reference measurements 
	\begin{figure}
		{
			\centering
			\input{gfx/all_fingerprints.tex}
		}
		\label{fig:referenceMeasurements}
		\caption{
			Locations of the 121 reference measurements.
			The size of each square denotes the number of permanently installed \docAPshort{}s
			that are visible at this location,
			and ranges between 2 and 22 with an average of 9.
		}
	\end{figure}
	
	% visible APs:
	% cnt(121)	min(2.000000)	max(22.000000)	range(20.000000)	med(8.000000)	avg(9.322314)	stdDev(4.386709)

	\begin{figure}
		\input{gfx/wifi_model_error_0_95.tex}
		\input{gfx/wifi_model_error_95_100.tex}
		\label{fig:wifiModelError}%
		\caption{%
			Comparison between different optimization strategies by examining the error (in \decibel) at each reference measurement.%
			The higher the number of variable parameters, the better the model resembles real world conditions. %
		}%
	\end{figure}
	

	
	\begin{figure}
	\centering
	\input{gfx/compare-wifi-in-out.tex}
	\caption{
		Measurable signal strengths of a testing \docAPshort{} (black dot).
		While the signal diminishes slowly along the corridor (upper rectangle)
		the metallised windows (dashed outline) attenuate the signal by over \SI{30}{\decibel} (lower rectangle).
	}
	\end{figure}
	
	fenster sind metallbedampft und schirmen stark ab
	siehe beispielgrafik
	
	\todo{
		distance between AP pos estimation and real position???
	}


	% -------------------------------- number of fingerprints -------------------------------- %

		wie viele fingerprints sind genug?
		
		Haengt vom modell ab
		
		bei den einfachen modellen aendert sich erstmal nicht viel. man hat ja viele testdaten für ein modell mit wenigen parametern.
		je mehr variable wird, z.B. position, und das ganze pro AP und nicht füer alle, desto wichtiger wird, dass die fingerprints passen.
		
		neuralgische schwachpunkte wie betonierte treppenhäuser kann man weglassen, dadurch wird der rest etwas besser,
		die treppenhäuser ansich aber natürlich nochmal schlechter. siehe \ref{fig:wifiNumFingerprints}

		\begin{figure}
			\input{gfx/wifi_model_error_num_fingerprints_method_5_0_90.tex}
			\input{gfx/wifi_model_error_num_fingerprints_method_5_90_100.tex}
			\label{fig:wifiNumFingerprints}%
			\caption{%
				number of fingerprints
			}%
		\end{figure}
	
	


	% -------------------------------- wifi walk error -------------------------------- %
	
		Using aforementioned model setups and the measurements $\mRssiVec$ determined by scanning for nearby \docAPshort{}s,
		we can directly perform a location estimation by rewriting \refeq{eq:wifiProb}:
		
		\begin{equation}
			p(\mPosVec \mid \mRssiVec) =
				\frac{p(\mRssiVec \mid \mPosVec) p(\mPosVec)}{p(\mRssiVec)}
			\approx p(\mRssiVec \mid \mPosVec),\enskip
			p(\mPosVec) = p(\mRssiVec) = \text{const}
			.
			\label{eq:wifiBayes}
		\end{equation}
		
		The pedestrian's current location $\mPosVec^*$ given $\mRssiVec$ satisfies
				
		\begin{equation}
			\mPosVec^* = \argmax_{\mPosVec} 
			p(\mRssiVec \mid \mPosVec)
			.
			\label{eq:bestWiFiPos}
		\end{equation}
		
		The quality of the estimated location is determined by comparing the estimation 
		$\mPosVec^*$ with the pedestrian's ground truth at the time the scan $\mRssiVec$
		has been received.
		
		We therefore conducted 10 walks on 5 different paths within our building,
		each of which is defined by connecting several marker points at well known positions
		(see figure \ref{fig:allWalks}).
		Whenever the pedestrian reached such a marker, the current time was recorded.
		Due to constant walking speeds, the ground-truth for any timestamp can be approximated
		using linear interpolation between adjacent markers.
	
		% walked paths
		\begin{figure}
			{
				\centering
				\input{gfx/all_walks.tex}
			}
			\label{fig:allWalks}
			\caption{
				Overview of all conducted paths.
				Outdoor areas are marked in green.
			}
		\end{figure}
		
		To estimate the performance of the prediction models, we compare the position estimation
		for each \docWIFI{} measurement within the recorded paths (3756 \docAPshort{} scans in total)
		against the corresponding ground-truth, which indicates the absolute 3D error in meter. 
		
		\begin{figure}
			\input{gfx/modelPerformance_meter.tex}
			\label{fig:modelPerformance}
			\caption{
				Error between ground truth and estimation using \refeq{eq:bestWiFiPos} depending
				on the underlying signal strength prediction model
			}
		\end{figure}
		
		As can be seen in figure \ref{fig:modelPerformance}, the quality of the location estimation
		directly scales with the quality of the signal strength prediction model.
		However, depending on the model, the maximal estimation error might increase (see \optParamsPosEachAP{}).
		%
		This is either due to multimodalities, where more than one area is possible based on the recent
		\docWIFI{} observation, or optimization yields an overadaption where the average signal
		strength prediction error is small, but the maximum error is dramatically increased for some regions.
				
			
	
	% -------------------------------- plots indicating optimization issues -------------------------------- %
		
		\begin{figure}
			\input{gfx/wifiMultimodality.tex}
			\label{fig:wifiMultimodality}
			\caption{
				Location probability \refeq{eq:bestWiFiPos} for three scans. Higher color intensities are more likely.
				Ideally, places near the ground truth (black) are highly highly probable (green).
				Often, other locations are just as likely as the ground truth (blue),
				or the location with the highest probability does not match at all (red).
			}
		\end{figure}
		
		Figure \ref{fig:wifiMultimodality} depicts aforementioned issues of multimodal (blue) or wrong (red) location 
		estimations. Filtering (\refeq{eq:recursiveDensity}) thus is highly recommended as minor errors are compensated
		using other sensors and/or a movement model that prevents the estimation from leaping within the building.
		However, if wrong sensor values (red) are observed for longer time periods, even filtering will produce erroneous 
		results and might get stranded (density is trapped e.g. within a room),
		as the movement model is constrained by the actual floorplan.


	% -------------------------------- other distributions, unseen APs, etc -------------------------------- %
	
		To reduce the amount such of misclassifications, where other locations within the building are 
		as likely as the pedestrians actual location, we examined various approaches.
		Unfortunately, none of which provided a viable enhancement under all conditions for the performed walks:
		
		One possibility to dissolve an equal \docWIFI{}-likelihood between two (or more) locations within in the building
		is, to not only consider the \docAPshort{}s seen by the Smartphone, but also the \docAPshort{}s not seen
		by the Smartphone. This additional information can be used to rule out all locations where this
		\docAP{} should be received (high signal strength from the prediction model).
		% There might be an \docAP{} that should be visible at the other locations. However,
		%as the Smartphone did not see this \docAPshort{} the other location can be ruled out.
		While this works in theory, evaluations revealed several issues:
		
		There is a chance that even a nearby \docAPshort{} is unseen during a scan due to packet collisions or
		temporal effects within the surrounding. It thus might make sense to opt-out other locations
		only, if at least two \docAPshort{}s are missing. On the other hand, this obviously requires (at least)
		two \docAPshort{}s to actually be different between the two locations, and requires a lot of permanently 
		installed transmitters to work out.
		
		Furthermore, this requires the signal strength prediction model to be fairly accurate. Within our testing 
		walks, several places are surrounded by concrete walls, which cause a harsh, local drop in signal strength.
		The models used within this work will not accurately predict the signal strength for such locations.
		Including \docAPshort{}s unseen by the Smartphone thus often increases the estimation error instead
		of fixing the multimodality.
		
		
		
		We therefore examined variations of the probability calculation from \refeq{eq:wifiProb}.
		Removing the strongest/weakest \docAPshort{} from $\mRssiVecWiFi{}$ yielded similar results.
		While some estimations were improved, the overall estimation error increased for our walks,
		as there are many situations where only a handful \docAP{}s can be seen. Removing (valid)
		information will highly increase the error for such situations.
		
		Using a more strict exponential distribution for the model vs. scan comparison in \refeq{eq:wifiProb}
		had a positive effect on the misclassification error for some of the walks, but slightly increased 
		the estimation error (see figure \reffig{fig:normalVsExponential}) and thus produced negative side effects.
		
		\begin{figure}
			\input{gfx/wifiCompare_normalVsExp_cross.tex}
			\input{gfx/wifiCompare_normalVsExp_meter.tex}
			\label{fig:normalVsExponential}
			\caption{
				Comparison between normal- (black) and exponential-distribution (red) for \refeq{eq:wifiProb}.
				While misclassifications are slightly reduced (upper chart),
				the median error between ground-truth and estimation (lower chart) increases by
				about \SI{1}{\meter}.		 		
			}
		\end{figure}
		
		\todo{
			wir wollen nicht, dass die position des ground-truths durch das wifi so wahrscheinlich wie möglich ist,
			wir wollen dass die position des ground-truth einfach eine höhere wahrscheinlichkeit hat, als alle anderen punkte im gebäude
			das pruefen wir ab
		}
	
	



	

\todo{
	erkenntnisse:
	
	schlechte messwerte (niedrige RSSI) aus der messung ignorieren hilft nur sehr sehr bedingt.. eher im gegenteil. meist geht der fehler (stark) hoch
	
	schlechteste messung weglassen ist auch schlecht
	
	sigma je nach signalstärke anpassen bringt leider auch nichts. wenn man das aber macht,
	dann: fuer grosse signalstaerken ein grosses sigma! andersrum gehts nach hinten los!
	
	veto funktioniert auch nicht immer. es gibt stellen da ist ein AP wegen abschattung in der realität nicht sichtbar
	das smpartphone sieht ihn deshalb nicht, im model ist er aber fälschlicherweise da deshalb falsches veto
	oder das smartphone sieht einen AP wegen kollisionen nicht oder weil er durch den rücken stark verdeckt wird
	
	es gibt einfach stellen an denen das wifi nicht eindeutig ist, die an anderen stellen quasi exakt genauso vorliegen
	da laesst sich dann nicht viel machen
	
}


	% REAL WALKS
		\todo{obwohl das angepasste modell doch recht gut laeuft und der fehler recht klein wird, sind immernoch stellen dabei,
		wo es einfach nicht gut passt, unguenstige mehrdeutigkeiten vorliegen, oder regionen einfach nicht passen wie sie sollten.
		das liegt teils auch daran, dass die fingerprints drehend aufgenommen wurden und beim laufen nach hinten durch den
		menschen abgeschottet wird. auch zeitlicher verzug kann ein problem darstellen.}
		
		\todo{GPS ist leider kaum eine hilfe. entweder kein empfang wegen ueberdachung oder abschattung, oder
		zu kurz draußen um einen guten gps-fix zu bekommen.}


		\todo{
			das bbox modell hat probleme an den uebergängen zwischen bboxes da dort teils starke spruenge sind
			die nicht immer in der realität so auch vorliegen. z.B. z-wechsel machen teils probleme.
			hier wäre ein kontinuierliches modell hilfreich bzw interpolation in randbereichen
		}

		\todo{
			wenn ich beim fingerprinten einen AP an einer stelle NICHT gesehen habe,
			ist das auch eine aussage für die model optimierung.. da kann dann sicher keine signatlstaerke > -90 an der stelle raus kommen
		}
		
		\todo{gps wird so schnell nicht warm, versagt denn auf dem hof als hilfestellung}





ware das grid-model nicht da, wuerde der outdoor teil richtig schlecht laufen,
weil das wlan hier absolut ungenau ist.. da die partikel aber aufgrund des vorherigen
walks schon recht dicht beisamen sind, kittet das das ganze sehr gut.
kann man testen, indem man z.B. weniger resampling macht und mehr alte partikel aufhebt.
geht sofort kaputt sobald man aus dem gebäude raus kommt

signalstaerke limitieren, wie : alles was im model oder scan < -90 ist, wird auf -90 abgeschnitten hilft
zwar an manchen stellen, im groben und ganzen führt es aber eher zu fehlern als zu verbesserungen.
zudem ist zu erwarten, dass diese zahl stark vom geraet/hardware abhaengt

jeweils beim weighting die niedrigste wifi probability weglassen [je nach particle also ein anderer AP]
bringt auch nicht immer was.. killt gelegentlich floor-changes. zudem stehen am ende nur sehr wenige
APs zur verfügung. da einen zu ignorieren, macht noch mehr kaputt

auch ein versuch wie werfe alle APs aus dem handy-scan weg, die kleiner -90 sind, birgt die selben risiken
es scheint wirklich am sinnvollsten, die scan-daten einfach 1:1 zu nehmen wie sie sind


kurz vor ende von path 2 will die estimation nicht in die cafeteria, weil ein paar particle
die treppe richtung h.1.5 hochgehen und durch das wlan sehr sehr hoch gewichtet werden.
die mittelwert-estimation versagt hier


\input{gfx/wifi-opt-error-hist-methods.tex}

\input{gfx/wifi-opt-error-hist-stair-outdoor.tex}
outdoor hat insgesamt nicht all zu viel einfluss, da die meisten APs
an den outdoor punkten kaum gesehen werden. auf einzelne APs kann
der einfluss jedoch recht groß sein, siehe den fingerprint plot von
dem einen ausgewählten AP

wenn noch zeit ist: wie aendert sich die model prediction wenn man z.B. nur die haelfte der referenzmessungen nimmt?



