@ -399,11 +399,11 @@ Beim Empfang eines Advertising-Pakets wird geprüft, ob das Paket von einem der
## Auswertung
Die Auswertung der Messreihen wird auf dem Computer durchgeführt. Dies bietet im Gegensatz zur direkten Auswertung auf dem Smartphone den Vorteil, auch im Nachhinein Änderungen an der Auswertung vornehmen zu können. Als Programmiersprache kommt Python zum Einsatz, welche eine Vielzahl an Bibliotheken zur Arbeit mit großen Datenmenge und zur wissenschaftlichen Auswertung bereithält. Im Anhang dieser Arbeit befindet sich eine Liste der verwendeten Bibliotheken und deren Versionen.
Die Auswertung der Messreihen wird auf dem Computer durchgeführt. Dies bietet im Gegensatz zur direkten Auswertung auf dem Smartphone den Vorteil, auch im Nachhinein Änderungen vornehmen zu können. Als Programmiersprache kommt Python zum Einsatz, welche eine Vielzahl an Bibliotheken zur Arbeit mit großen Datenmenge und zur wissenschaftlichen Auswertung bereithält. Im Anhang dieser Arbeit befindet sich eine Liste der verwendeten Bibliotheken und deren Versionen.
### Daten Einlesen
In einem ersten Schritt werden die Daten eingelesen und bereinigt. Zur Bereinigung werden die ersten \SI{5}{\second} und die letzten \SI{10}{\second} der Messreihe entfernt, um den Einfluss durch die Bedienung des Smartphones aus den Messreihen zu beseitigen. Bei der Übermittlung der Daten werden nicht vorhandene Messdaten mit einer 0 initialisiert. Dies würde bei Berechnungen zu Fehlern führen. Um dies zu verhindern werden alle 0 Werte aus den eingelesenen Daten gelöscht.
In einem ersten Schritt werden die Daten eingelesen und bereinigt. Zur Bereinigung werden die ersten \SI{5}{\second} und die letzten \SI{10}{\second} der Messreihe entfernt, um den Einfluss durch die Bedienung des Smartphones aus den Messreihen zu beseitigen. Bei der Übermittlung der Daten werden nicht vorhandene Messdaten mit einer 0 initialisiert. Dies würde bei Berechnungen zu Fehlern führen, weswegen alle 0 Werte aus den eingelesenen Daten gelöscht werden.
Um mit den Daten einfacher arbeiten zu können und eine bessere Übersicht zu erhalten, werden die Spalten aus Tabelle \ref{tab:datastore} umgeformt. Hierzu wird der Referenzpunkt aus den Referenzentfernungen zu den Beacons ermittelt und in der neuen Spalte ``realPosition`` gespeichert. Die Referenz-Entfernung sowie die $scPower$ zu dem jeweiligen Beacon wird ausgelesen und in den Spalte ``deviceDistance`` und ``scPower`` abgelegt.
@ -420,21 +420,24 @@ Im letzten Schritt werden überflüssige Spalten gelöscht. Tabelle \ref{tab:dat
| realPosition | x,y Koordinaten des Smartphones, ermittelt durch die deviceDistance |
: Spaltenübersicht der Messreihen nach dem Einlesen der Daten. \label{tab:dataclean}
### Filterung der RSSI Messwerte
### Ermittlung der Messwerte
Zur Anwendung kommen zwei Filter zum Einsatz. ^
Die zeitlichen Abstände sowie die Reihenfolge der Advertising-Pakete sind zufällig (vgl. Abb. \ref{fig:messreihe}). Die Beacon senden zwar in einem konstanten Intervall von \SI{100}{\milli\second}, jedoch kann es bei der Übertragung zu Kollisionen kommen. Auch Aussetzer in der Übertragung oder andere Störeinflüsse führen zum Ausbleiben eines Advertising-Pakets. Um bei Berechnungen aus den Messdaten stets alle eingesetzten Beacon zu berücksichtigen, wird ein Fenster aus \SI{400}{\milli\second} betrachtet. Der zu betrachtende Messwert wird dabei aus einem Fenster von \SI{\pm 200}{\milli\second} gemittelt. Die Wahl der Fenstergröße wurde durch folgende Überlegungen getroffen: Das Fenster sollte nicht zu groß sein, um Schwankungen in den Messdaten möglichst wenig zu beeinflussen (vgl. Abschnitt \ref{filter}); Das Fenster sollte nicht zu klein sein, so dass möglichst immer alle 3 Beacon in dem betrachteten Messausschnitt enthalten sind.
![Ausschnitt aus einer Messreihe. \label{fig:messreihe}](../static/Messreihe.png)
### Berechnung der Messwerte
### Umsetuzng der Filter
Die zeitlichen Abstände sowie die Reihenfolge der Advertising-Pakete sind sehr unterschiedlich. Zwar senden die Beacon in einem konstanten Intervall von \SI{100}{\milli\second}, jedoch kann es zu Aussetzern oder Kollisionen bei der Übertragung kommen. Des weiteren sind die Beacon nicht Synchronisiert wodurch die Beacon in zufälliger Reihenfolge Advertisen und vom Smartphone empfangen werden. Da zur Positionsbestimmung immer alle drei verwendeten Beacon eingesetzt werden müssen, wird zur Ermittlung der Position ein gleitendes Fenster, verwendet. Dabei wird für jeden Einzelmesswert ein Fenster von \SI{\pm200}{\milli\second} betrachtet. Das Fenster von insgesamt \SI{400}{\milli\second} ist dabei zufällig gewählt worden und sollte dabei nicht zu lang sein.
Zur Anwendung kommen zwei Filter zum Einsatz. ^
**Ergänzen**
Beim \ac{rssi} handelt es sich um einen Dämpfungsfaktor. In Abschnitt \ref{arten-von-messfehlern} ist beschrieben wodurch dieser Faktor beeinflusst wird. Die Dämpfung eines Signals steigt mit jedem dämpfenden Einflussfaktor an. Die Annahme ist nun, dass ein niedriger Dämpfungsfaktor stets näher am wahren Wert ist als ein höherer Dämpfungsfaktor. Um den Einfluss durch die Dämpfung zu minimieren wird ein gewichteter Mittelwert verwendet.
- Ermittlung der $scPower$
**Ergänzen**
- Ermittlung eines geglätteten RSSI
- Gaußfilterung
-
- Gleitender Filter, Nutzung von Referenzmesswerten zur Ermittlung der wichtungsfaktoren.
# Versuchsvorbereitung
Um ein besseres Verständnis über das System und seine Eigenschaften zu erhalten, werden verschiedene Referenzmessungen durchgeführt. Betrachtet werden hierbei die Auswirkungen der Orientierung von Smartphone und Beacon sowie eventuelle Abweichungen der verwendeten Hardware. Mit dieser Erkenntnis kann im weiteren Verlauf eine Kalibrierung des Systems vorgenommen und der Versuchsaufbau, beschrieben in Kapitel \ref{fig:versuchsaufbau}, optimiert werden.