fix Henrik Comments

main
Sebastian Preisner 3 years ago
parent 441bc02ebe
commit f6426be85d

@ -395,11 +395,11 @@ Beim Empfang eines Advertising-Pakets wird geprüft, ob das Paket von einem der
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
### 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, 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.
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 Referenzentfernung sowie die $scPower$ zu dem jeweiligen Beacon wird ausgelesen und in den Spalten ``deviceDistance`` und ``scPower`` abgelegt.
Im letzten Schritt werden überflüssige Spalten gelöscht. Tabelle \ref{tab:dataclean} zeigt die vorhandenen Spalten nach dem Einlesen.
@ -407,22 +407,22 @@ Im letzten Schritt werden überflüssige Spalten gelöscht. Tabelle \ref{tab:dat
| --------- | ----------------------- |
| Time | Empfangszeitpunkt als Unix-Zeitstempel |
| Test | Benutzerdefinierter Name des durchgeführten Tests |
| Device | \ac{mac}-Adresse des Beacon |
| Device | \ac{mac}-Adresse des Beacons |
| RSSI | Vom Smartphone ermittelter \ac{rssi}-Wert |
| scPower | Ermittelter \ac{rssi}-Referenzwert der benachbarten Beacon auf \SI{1}{\meter} |
| scPower | Ermittelter \ac{rssi}-Referenzwert der benachbarten Beacons auf \SI{1}{\meter} |
| deviceDistance | Physisch ermittelte Entfernung zwischen dem Beacon und Smartphone |
| realPosition | x,y Koordinaten des Smartphones, ermittelt durch die deviceDistance |
: Spaltenübersicht der Messreihen nach dem Einlesen der Daten. \label{tab:dataclean}
### Ermittlung der Messwerte
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.
Die zeitlichen Abstände sowie die Reihenfolge der Advertising-Pakete sind zufällig (vgl. Abb. \ref{fig:messreihe}). Die Beacons 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 Beacons 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 Beacons in dem betrachteten Messausschnitt enthalten sind.
![Ausschnitt aus einer Messreihe. \label{fig:messreihe}](../static/Messreihe.png)
### Umsetzung der Trilateration
Zur Umsetzung der Trilateration wird das Lineare Gleichungssystem aus Formel \ref{eq:lgsTrilateration} zu $p_x$ und $p_y$ aufgelöst. Die daraus resultierenden Formeln \ref{eq:trilaterationAlgorithmus} errechnen aus den ermittelten Abstände $r_1$, $r_2$ und $r_3$ zu den jeweiligen Beacons die Positionen $p_x$ und $p_y$.
Zur Umsetzung der Trilateration wird das lineare Gleichungssystem aus Formel \ref{eq:lgsTrilateration} zu $p_x$ und $p_y$ aufgelöst. Die daraus resultierenden Formeln \ref{eq:trilaterationAlgorithmus} errechnen aus den ermittelten Abstände $r_1$, $r_2$ und $r_3$ zu den jeweiligen Beacons die Positionen $p_x$ und $p_y$.
\begin{equation}\label{eq:trilaterationAlgorithmus}
\begin{aligned}
@ -431,34 +431,34 @@ Zur Umsetzung der Trilateration wird das Lineare Gleichungssystem aus Formel \re
\end{aligned}
\end{equation}
Da die Entfernungsermittlung fehlerbehaftet ist, können verschiedene Szenarien auftreten auf die der angewandte Algorithmus überprüft werden muss. Abbildung \ref{fig:locationAlgorithmTest} zeigt die einzelnen Szenarien die im folgenden kurz beschrieben werden. Die blauen Punkte markieren die Position der Beacon, die durch die übergebenen Radien $r_1$, $r_2$ und $r_3$ sind jeweils durch die roten Kreise symbolisiert. Der ermittelte Punkt $p_x, p_y$ wird als roter Punkt dargestellt:
Da die Entfernungsermittlung fehlerbehaftet ist, können verschiedene Szenarien auftreten, auf die der angewandte Algorithmus überprüft werden muss. Abbildung \ref{fig:locationAlgorithmTest} zeigt die einzelnen Szenarien, die im Folgenden kurz beschrieben werden. Die blauen Punkte markieren die Position der Beacon, die durch die übergebenen Radien $r_1$, $r_2$ und $r_3$ sind jeweils durch die roten Kreise symbolisiert. Der ermittelte Punkt $p_x, p_y$ wird als roter Punkt dargestellt:
![Auswirkungen verschiedener Eingabevariablen auf die Lokalisierung durch den verwendeten Lokalsierungsalgorithmus. \label{fig:locationAlgorithmTest}](../static/Lokalisierungstest.pdf)
![Auswirkungen verschiedener Eingabevariablen auf die Lokalisierung durch den verwendeten Lokalisierungsalgorithmus. \label{fig:locationAlgorithmTest}](../static/Lokalisierungstest.pdf)
1. Die Kreise haben einen eindeutigen Schnittpunkt (oben links und unten rechts)
2. Die Kreise haben gar keinen Schnittpunkt (oben mitte)
3. Die Kreise schneiden sich alle, jedoch nicht an einem gemeinsamen Punkt (oben rechts, unten links)
4. Die Kreise schneiden sich teilweise (unten mitte)
In Abbildung \ref{fig:locationAlgorithmWorking} ist die Vorgehensweise des Algorithmus veranschaulicht. Um jeden Beacon wird ein Kreis mit der ermittelten Entfernung als Radius gezogen. Wenn sich zwei Kreise schneiden, so wird eine Gerade (schwarz dargestellt) durch diesen Schnittpunkt gelegt. Gibt es keinen solchen Schnittpunkt, werden die beiden beteiligten Beacon durch eine Linie verbunden (hellblau dargestellt). Ausgehend vom dritten Beacon, wird eine Gerade im \SI{90}{\degree} Winkel durch diese Verbindungslinie gezogen. Die ermittelte Position ist der Punkt, an dem sich alle drei Geraden schneiden.
In Abbildung \ref{fig:locationAlgorithmWorking} ist die Vorgehensweise des Algorithmus veranschaulicht. Um jeden Beacon wird ein Kreis mit der ermittelten Entfernung gezogen. Wenn sich zwei Kreise schneiden, so wird eine Gerade (schwarz dargestellt) durch diesen Schnittpunkt gelegt. Gibt es keinen solchen Schnittpunkt, werden die beiden beteiligten Beacon durch eine Linie verbunden (hellblau dargestellt). Ausgehend vom dritten Beacon, wird eine Gerade im \SI{90}{\degree} Winkel durch diese Verbindungslinie gezogen. Die ermittelte Position ist der Punkt, an dem sich alle drei Geraden schneiden.
![Ermittlung der Position bei sich nicht überschneidenden Kreise \label{fig:locationAlgorithmWorking}](../static/LocationAlgorithmWorking.pdf)
![Ermittlung der Position bei sich nicht überschneidenden Kreisen. \label{fig:locationAlgorithmWorking}](../static/LocationAlgorithmWorking.pdf)
### Filter Implementierung
### Filter-Implementierung
Bei der Filterung der Messdaten wird, wie in Abschnitt \ref{ermittlung-der-messwerte} ein gleitendes Fenster eingesetzt. Da durch die Filter eine eine Glättung der Messwerte erfolgen soll, kommt ein größeres Fenster von \SI{800}{\milli\second} zum Einsatz. Das Fenster setzt sich aus \SI{600}{\milli\second} vor dem betrachteten Messwert und \SI{200}{\milli\second} nach dem betrachteten Wert zusammen. Das asymmetrische Fenster wurde gewählt um eine möglichst Verzögerungsfreie Berechnung der Daten zu simulieren.
Bei der Filterung der Messdaten wird, wie in Abschnitt \ref{ermittlung-der-messwerte} ein gleitendes Fenster eingesetzt. Da durch die Filter eine eine Glättung der Messwerte erfolgen soll, kommt ein größeres Fenster von \SI{800}{\milli\second} zum Einsatz. Das Fenster setzt sich aus \SI{600}{\milli\second} vor dem betrachteten Messwert und \SI{200}{\milli\second} nach dem betrachteten Wert zusammen. Das asymmetrische Fenster wurde gewählt, um eine möglichst verzögerungsfreie Berechnung der Daten zu simulieren.
Zum Einsatz kommen ein gleitender Mittelwert und ein gewichteter Mittelwert (beschrieben in Abschnitt \ref{filter}). Der gleitende Mittelwert wird aus dem, im vorrangegangenen Absatz beschriebenen gleitenden Fenster gebildet. Dabei wird der Datensatz in einzelne Datensätze je Beacon aufgeteilt und berechnet. Im folgenden sollen die Überlegungen und die Umsetzung des gewichteten Mittelwerts näher beschrieben werden.
Zum Einsatz kommen ein gleitender Mittelwert und ein gewichteter Mittelwert (beschrieben in Abschnitt \ref{filter}). Der gleitende Mittelwert wird aus dem, im vorrangegangenen Absatz beschriebenen gleitenden Fenster gebildet. Dabei wird der Datensatz in einzelne Datensätze je Beacon aufgeteilt und berechnet. Im Folgenden sollen die Überlegungen und die Umsetzung des gewichteten Mittelwerts näher beschrieben werden.
Beim \ac{rssi}-Wert handelt es sich um einen Dämpfungsfaktor. Die Einflüsse bzw. Faktoren wurden in Abschnitt \ref{arten-von-messfehlern} beschrieben. Die Dämpfung eines Signals erhöht sich mit jedem weiteren Einflussfaktor an. Es ist zu erwarten, dass bei konstanten Messbedingungen Abweichungen durch Streuung auftreten. Daher ist Anzunehmen, dass geringere Dämpfungswerte den realen Zustand besser beschreiben als hohe Dämpfungswerte. Der Einsatz des gewichteten Mittelwertfilters soll dafür sorgen, dass niedrigen Dämpfungsfaktoren ein höheres Vertrauen zuteil wird in dem diese Stärke gewichtet in die Berechnung des Mittelwertes einfließen.
Beim \ac{rssi}-Wert handelt es sich um einen Dämpfungsfaktor. Die Einflüsse bzw. Faktoren wurden in Abschnitt \ref{arten-von-messfehlern} beschrieben. Die Dämpfung eines Signals erhöht sich mit jedem weiteren Einflussfaktor an. Es ist zu erwarten, dass bei konstanten Messbedingungen Abweichungen durch Streuung auftreten. Daher ist anzunehmen, dass geringere Dämpfungswerte den realen Zustand besser beschreiben als hohe Dämpfungswerte. Der Einsatz des gewichteten Mittelwertfilters soll dafür sorgen, dass niedrigen Dämpfungsfaktoren ein höheres Vertrauen zuteil wird, indem diese Stärke gewichtet in die Berechnung des Mittelwertes einfließen.
Durch das Sendeintervall von \SI{100}{\milli\second} besteht der betrachtete Datensatz im besten Fall aus 8 Messwerten. Diese weisen oft nur eine geringe Schwankung auf, weswegen ein SOLL/IST vergleich zur Bestimmung des Wichtungsfaktors nicht möglich ist. Aus diesem Grund wird eine feste Wichtung vorgenommen. Dabei wird wie folgt gewichtet:
Durch das Sendeintervall von \SI{100}{\milli\second} besteht der betrachtete Datensatz im besten Fall aus 8 Messwerten. Diese weisen oft nur eine geringe Schwankung auf, weswegen ein SOLL/IST vergleich zur Bestimmung des Wichtungsfaktors nicht möglich ist. Aus diesem Grund wird eine feste Gewichtung vorgenommen. Dabei wird wie folgt gewichtet:
- Sind alle Werte gleich groß, so wird dieser Wert zurück gegeben
- Sind zwei verschiedene Werte im Datensatz, so wird der höhere mit einfach und der niedrige 4-Fach gewichtet.
- Sind drei oder mehr verschiedene Werte im Datensatz, so werden die höchsten Wert einfach, die mittleren Wert 2-Fach und die niedrigsten Wert 4-Fach gewichtet.
- Sind alle Werte gleich groß, so wird dieser Wert zurück gegeben.
- Sind zwei verschiedene Werte im Datensatz, so wird der Höhere mit einfach und der Niedrige 4-Fach gewichtet.
- Sind drei oder mehr verschiedene Werte im Datensatz, so werden die höchsten Werte einfach, die mittleren Wert 2-Fach und die niedrigsten Werte 4-Fach gewichtet.
Zur Einteilung der Messwerte wird die Prozentuale Lage im betrachteten Datensatz herangezogen. Ein hoher Messwert befindet sich in den unteren \SI{40}{\percent}, ein Mittlerer Messwert befindet sich zwischen \SI{40}{\percent} und \SI{70}{\percent} und ein niedriger Messwert wird durch die verbleibenden oberen \SI{30}{\percent} beschrieben.
Zur Einteilung der Messwerte wird die prozentuale Lage im betrachteten Datensatz herangezogen. Ein hoher Messwert befindet sich in den unteren \SI{40}{\percent}, ein Mittlerer Messwert befindet sich zwischen \SI{40}{\percent} und \SI{70}{\percent} und ein niedriger Messwert wird durch die verbleibenden oberen \SI{30}{\percent} beschrieben.
# Versuchsvorbereitung
@ -533,24 +533,24 @@ In Abbildung \ref{fig:calibration} ist der durchschnittliche Fehler auf die einz
# Versuchsaufbau
Dieses Kapitel beschreibt den Versuchsaufbau. Er orientiert sich an den zuvor behandelten Anforderungen, ein besonderes Augenmerk liegt hierbei auf den in Kapitel \ref{versuchsvorbereitung} erhaltenen Daten. Bei der Umsetzung liegt der Fokus auf einem Aufbau, der leicht nachzubildenden ist und dabei ein hohes maß an Genauigkeit ermöglicht.
Dieses Kapitel beschreibt den Versuchsaufbau. Er orientiert sich an den zuvor behandelten Anforderungen, ein besonderes Augenmerk liegt hierbei auf den in Kapitel \ref{versuchsvorbereitung} erhaltenen Daten. Bei der Umsetzung liegt der Fokus auf einem Aufbau, der leicht nachzubilden ist und dabei ein hohes Maß an Genauigkeit ermöglicht.
## Anordnung der Beacon
## Anordnung der Beacons
Die Bluetooth-Beacon werden in einem gleichseitigen Dreieck mit einer Seitenlänge von \SI{1}{\meter} auf einer ebenen Fläche angeordnet (vgl. Abb. \ref{fig:versuchsaufbau}). Hierdurch empfängt jeder Beacon von seinen Nachbarn den \ac{rssi}-Wert auf \SI{1}{\meter} Entfernung und kann somit die $scPower$ zur Entfernungsermittlung an das Smartphone übertragen. Die Ausrichtung der Beacon erfolgt mit \SI{180}{\degree} zum Zentrum des Dreicks. Dieser Versuchsaufbau ermöglicht es, das System um zusätzliche Beacon zu erweitern. Hierdurch ließe sich beispielsweise ein Dreieckspyramide mit 6 gleichlangen Kanten aufbauen, wodurch die Messung auf die 3. Dimension erweitert werden kann.
Die Bluetooth-Beacons werden in einem gleichseitigen Dreieck mit einer Seitenlänge von \SI{1}{\meter} auf einer ebenen Fläche angeordnet (vgl. Abb. \ref{fig:versuchsaufbau}). Hierdurch empfängt jeder Beacon von seinen Nachbarn den \ac{rssi}-Wert auf \SI{1}{\meter} Entfernung und kann somit die $scPower$ zur Entfernungsermittlung an das Smartphone übertragen. Die Ausrichtung der Beacon erfolgt mit \SI{180}{\degree} zum Zentrum des Dreiecks. Dieser Versuchsaufbau ermöglicht es, das System um zusätzliche Beacons zu erweitern. Hierdurch ließe sich beispielsweise eine Dreieckspyramide mit 6 gleichlangen Kanten aufbauen, wodurch die Messung auf die 3. Dimension erweitert werden kann.
![Versuchsaufbau mit dem Smartphone an Messpunkt ``A``. \label{fig:versuchsaufbau}](../static/Versuchsaufbau.jpg)
## Messpunkte
Der Versuchsaufbau wird, wie in Abbildung \ref{fig:zones} dargestellt, in drei Zonen eingeteilt. Die ersten beiden Zonen ergeben sich aus der Geometrie des Versuchsaufbaus. Zone 1 hat einen Radius von \SI{0.289}{\meter} und wird durch das gleichseitige Dreieck begrenzt. In dieser Zone ist kein Beacon weiter als \SI{0.866}{\meter} vom Smartphone entfernt. Zone 2 misst einen Radius von \SI{0.577}{\meter} und schließt das Dreieck ein. Die maximale Distanz zu einem Beacon beträgt in Zone 2 \SI{1.154}{\meter}. Bei Zone 3 liegt der am weitesten entfernte Punkt \SI{1.5}{\meter} von einem Beacon entfernt. Dieser wurde gewählt, da der Messfehler bis \SI{1.5}{\meter} laut dem Artikel [@Cho_2015a] unter \SI{10}{\percent} liegt. Es ergibt sich dabei ein Radius von \SI{0,75}{\meter} um das Zentrum.
Der Versuchsaufbau wird, wie in Abbildung \ref{fig:zones} dargestellt, in drei Zonen eingeteilt. Die ersten beiden Zonen ergeben sich aus der Geometrie des Versuchsaufbaus. Zone 1 hat einen Radius von \SI{0.289}{\meter} und wird durch das gleichseitige Dreieck begrenzt. In dieser Zone ist kein Beacon weiter als \SI{0.866}{\meter} vom Smartphone entfernt. Zone 2 misst einen Radius von \SI{0.577}{\meter} und schließt das Dreieck ein. Die maximale Distanz zu einem Beacon beträgt in Zone 2 \SI{1.154}{\meter}. Bei Zone 3 liegt der am weitesten entfernte Punkt \SI{1.5}{\meter} von einem Beacon entfernt. Dieser wurde gewählt, da der Messfehler bis \SI{1.5}{\meter} laut Cho et al. [@Cho_2015a] unter \SI{10}{\percent} liegt. Es ergibt sich dabei ein Radius von \SI{0,75}{\meter} um das Zentrum.
![Aufteilung des Versuchsaufbaus in Zonen und Messpunkte. \label{fig:zones}](../static/Zonen_und_Messpunkte.pdf){ width=60% }
In Tabelle \ref{tab:messpunkte} sind die einzelnen Messpunkte und Abstände zu den Beacon aufgezeigt. Messpunkt A befindet sich im Zentrum der Kreisrunden Zonen. Messpunkt C und D jeweils am Rand von Zone 2 und Zone 3. Um möglichst viele Messpunkte zu erhalten ist der Messpunkt C nicht mittig zwischen zwei Beacon. Eine Besondere Rolle spiel Messpunkt B. Dieser befindet sich auf einer Kante des Dreiecks und liegt somit genau zwischen zwei Beacon. Er wurde gewählt, um den Einfluss des Smartphones auf die Funkstrecke der Beacon untersuchen zu können.
In Tabelle \ref{tab:messpunkte} sind die einzelnen Messpunkte und Abstände zu den Beacons aufgezeigt. Messpunkt A befindet sich im Zentrum der kreisrunden Zonen, Messpunkt C und D jeweils am Rand von Zone 2 und Zone 3. Um möglichst viele Messpunkte zu erhalten, ist der Messpunkt C nicht mittig zwischen zwei Beacons. Eine besondere Rolle spielt Messpunkt B. Dieser befindet sich auf einer Kante des Dreiecks und liegt somit genau zwischen zwei Beacons. Er wurde gewählt, um den Einfluss des Smartphones auf die Funkstrecke der Beacons untersuchen zu können.
\begin{longtable}{llll}
\caption{Messpunkte und deren Abstände zu den Beacon
\caption{Messpunkte und deren Abstände zu den Beacons.
\label{tab:messpunkte}}\tabularnewline
\toprule
& \multicolumn{3}{l}{Entfernung in cm} \\
@ -566,17 +566,17 @@ C & 74,3 & 39 & 113,2 \\
D & 77,5 & 150 & 85 \\
\end{longtable}
Um eine Konstante Messung zu gewährleisten werden die Beacon mittig auf den Referenzpunkt in gleicher Orientierung positioniert. Auch das Smartphone wird jeweils mittig auf den Messpunkten platziert. Dies gewährleistet einen gleichbleibenden Abstand auch bei Rotation des Smartphones. Die Referenz Entfernung wird somit jeweils von der Mitte der Beacon zur Mitte des Smartphones ermittelt. Um die Winkelabhängige Dämpfung, die in Abschnitt \ref{winkeleinfluss} beschrieben ist zu kompensieren, werden zwei Messreihen pro Messpunkt durchgeführt. Dabei wird das Smartphone zwischen den beiden Messreihen einmal um \SI{180}{\degree} rotiert. Die Spitze des Dreiecks, gekennzeichnet durch den Beacon ``690f`` kennzeichnet dabei die Orientierung \SI{0}{\degree}.
Um eine konstante Messung zu gewährleisten, werden die Beacons mittig auf den Referenzpunkt in gleicher Orientierung positioniert. Auch das Smartphone wird jeweils mittig auf den Messpunkten platziert. Dies gewährleistet einen gleichbleibenden Abstand auch bei Rotation des Smartphones. Die Referenzentfernung wird somit jeweils von der Mitte der Beacon zur Mitte des Smartphones ermittelt. Um die winkelabhängige Dämpfung, die in Abschnitt \ref{winkeleinfluss} beschrieben ist, zu kompensieren, werden zwei Messreihen pro Messpunkt durchgeführt. Dabei wird das Smartphone zwischen den beiden Messreihen einmal um \SI{180}{\degree} rotiert. Die Spitze des Dreiecks, gekennzeichnet durch den Beacon ``690f``, kennzeichnet dabei die Orientierung \SI{0}{\degree}.
# Ergebnisse
Zunächst soll der Einfluss der Kalibrierung auf die Entfernungsberechnung betrachtet werden. Die Ermittlung der Entfernung findet mit Formel \ref{eq:beacondistance} statt. Gegenübergestellt werden die Konstanten aus der Android Beacon Library für das Nexus 4 ($A = 0,89976$, $B = 7,7095$, $C = 0,111$) sowie die Konstanten aus der Kalibrierung ($A = 1,7358$, $B = 7,5924$, $C = -0,1688$) (siehe Abschnitt \ref{durchfuxfchrung-der-kalibrierung}). Dabei wird der relative Fehler über die gemessenen Entfernungen betrachtet. Abbildung \ref{fig:erg-kalibrierung} zeigt das Verhältnis vom durchschnittlichen relative Fehler gegenüber den verschiedenen Referenz Entfernungen. Die Verbindungslinien zwischen den Messpunkten dienen der besseren Visualisierung und stellen keine Interpolation der Zwischenwerte da. Die roten Linien kennzeichnen den Einsatz der $txPower$, die blaun Linien die der $scPower$. Dabei steht die durchgezogene Linie für die Verwendung der Nexus 4 Konstanten und die gestrichelte Linie für den Einsatz der kalibrierten Konstanten.
Zunächst soll der Einfluss der Kalibrierung auf die Entfernungsberechnung betrachtet werden. Die Ermittlung der Entfernung findet mit Formel \ref{eq:beacondistance} statt. Gegenübergestellt werden die Konstanten aus der Android Beacon Library für das Nexus 4 ($A = 0,89976$, $B = 7,7095$, $C = 0,111$) sowie die Konstanten aus der Kalibrierung ($A = 1,7358$, $B = 7,5924$, $C = -0,1688$) (siehe Abschnitt \ref{durchfuxfchrung-der-kalibrierung}). Dabei wird der relative Fehler über die gemessenen Entfernungen betrachtet. Abbildung \ref{fig:erg-kalibrierung} zeigt das Verhältnis vom durchschnittlichen relativen Fehler gegenüber den verschiedenen Referenzentfernungen. Die Verbindungslinien zwischen den Messpunkten dienen der besseren Visualisierung und stellen keine Interpolation der Zwischenwerte da. Die roten Linien kennzeichnen den Einsatz der $txPower$, die blauen Linien die der $scPower$. Dabei steht die durchgezogene Linie für die Verwendung der Nexus 4 Konstanten und die gestrichelte Linie für den Einsatz der kalibrierten Konstanten.
![Einfluss der Kalibrierung auf die Bestimmung der Entfernung. Die Messpunkte sind nur zur besseren visuellen Darstellung mit Linien verbunden. \label{fig:erg-kalibrierung}](../static/DistanceErrorKalibration.pdf)
Zu erkennen ist, dass der relative Fehler durch den Einsatz der kalibrierten Konstanten zunimmt. Im Mittel steigt der Fehler über die gemessenen Entfernungen unter Einsatz der $txPower$ von \SI{102,03}{\percent} für die Nexus 4 Konstanten auf \SI{183,47}{\percent} bei den kalibrierten Konstanten. Unter Verwendung der $scPower$ liegt der mittlere Fehler bei \SI{63,97}{\percent} für die Nexus 4 Konstanten und \SI{108,13}{\percent} bei den kalibrierten Konstanten. Der Fehler ist für alle 4 betrachteten Methoden bei \SI{0.577}{\meter} am größten.
Zu erkennen ist, dass der relative Fehler durch den Einsatz der kalibrierten Konstanten zunimmt. Im Mittel steigt der Fehler über die gemessenen Entfernungen unter Einsatz der $txPower$ von \SI{102,03}{\percent} für die Nexus 4 Konstanten auf \SI{183,47}{\percent} bei den kalibrierten Konstanten. Unter Verwendung der $scPower$ liegt der mittlere Fehler bei \SI{63,97}{\percent} für die Nexus 4 Konstanten und \SI{108,13}{\percent} bei den kalibrierten Konstanten. Der Fehler ist für alle vier betrachteten Methoden bei \SI{0.577}{\meter} am größten.
Die angewandte Methode zur Kalibrierung hat somit einen negativen Einfluss auf die Entfernungsberechnung. Ein Grund hierfür kann die Beschränkung des Messbereichs zur Kalibrierung auf \SI{2}{\meter} sein. Durch die Anpassung des Kalibrierungsbereichs wird das System allgemein instabiler da sich Schwankungen stärker Auswirken. Dies lässt sich anhand der Referenzmessung aus Abschnitt \ref{winkeleinfluss} Smartphone Rotation zeigen. Hierbei ändert sich der gemessene \ac{rssi}-Wert bei gleicher Entfernung zum Beacon je nach Einfallswinkel. Tabelle \ref{tab:einfallswinkeleinfluss} stellt den relativen Fehler bei der Ermittlung der Distanz unter verschiedenen Einfallswinkeln dar. Es ist zu Erkennen, dass Änderungen des \ac{rssi}-Werts bei den kalibrierten Konstanten zu einer stärkeren Abweichung führen als bei den Nexus 4 Konstanten. Die Differenz der relativen Fehler nimmt mit steigendem \ac{rssi}-Wert zu, was für eine höhere Empfindlichkeit auf Änderungen spricht. Aus diesem Grund werden im weiteren Verlauf die Auswertungen mittels Nexus 4 Konstanten vorgenommen.
Die angewandte Methode zur Kalibrierung hat somit einen negativen Einfluss auf die Entfernungsberechnung. Ein Grund hierfür kann die Beschränkung des Messbereichs zur Kalibrierung auf \SI{2}{\meter} sein. Durch die Anpassung des Kalibrierungsbereichs wird das System allgemein instabiler, da sich Schwankungen stärker auswirken. Dies lässt sich anhand der Referenzmessung aus Abschnitt \ref{winkeleinfluss} Smartphone Rotation zeigen. Hierbei ändert sich der gemessene \ac{rssi}-Wert bei gleicher Entfernung zum Beacon je nach Einfallswinkel. Tabelle \ref{tab:einfallswinkeleinfluss} stellt den relativen Fehler bei der Ermittlung der Distanz unter verschiedenen Einfallswinkeln dar. Es ist zu erkennen, dass Änderungen des \ac{rssi}-Werts bei den kalibrierten Konstanten zu einer stärkeren Abweichung führen als bei den Nexus 4 Konstanten. Die Differenz der relativen Fehler nimmt mit steigendem \ac{rssi}-Wert zu, was für eine höhere Empfindlichkeit auf Änderungen spricht. Aus diesem Grund werden im weiteren Verlauf die Auswertungen mittels Nexus 4 Konstanten vorgenommen.
\begin{longtable}{lllll}
\caption{Vergleich zwischen den Nexus 4 Konstanten und den Konstanten aus der Kalibrierung anhand der Referenzmessung des Einfallswinkels aus Abschnitt \ref{winkeleinfluss} Smartphone Rotation.}
@ -604,17 +604,17 @@ Die angewandte Methode zur Kalibrierung hat somit einen negativen Einfluss auf d
\SI{315}{\degree} & -77,17 & 178,49 & 336,52 & 158,03 \\ \cline{1-5}
\end{longtable}
Als nächstes wird die Auswirkung der $scPower$ anstelle der $txPower$ bei der Entfernungsberechnung untersucht. Aus Abbildung \ref{fig:erg-kalibrierung} geht hervor, dass die $scPower$ einen positiven Einfluss auf die Entfernungsermittlung hat. Dabei liegt der durchschnittliche Fehler beim Einsatz der $scPower$ über die verschiedenen Referenzentfernungen um \SI{35,85}{\percent} niedriger als bei der Verwendung der $txPower$. Abbildung \ref{fig:distScTx} veranschaulicht die Verteilung der errechneten Entfernungen mittels $txPower$ und $scPower$. Es ist zu erkennen, dass die ermittelten Entfernungswerte der $scPower$ dichter beieinander liegen und weniger stark Streuen.
Als Nächstes wird die Auswirkung der $scPower$ anstelle der $txPower$ bei der Entfernungsberechnung untersucht. Aus Abbildung \ref{fig:erg-kalibrierung} geht hervor, dass die $scPower$ einen positiven Einfluss auf die Entfernungsermittlung hat. Dabei liegt der durchschnittliche Fehler beim Einsatz der $scPower$ über die verschiedenen Referenzentfernungen um \SI{35,85}{\percent} niedriger als bei der Verwendung der $txPower$. Abbildung \ref{fig:distScTx} veranschaulicht die Verteilung der errechneten Entfernungen mittels $txPower$ und $scPower$. Es ist zu erkennen, dass die ermittelten Entfernungswerte der $scPower$ dichter beieinander liegen und weniger stark streuen.
![Gegenüberstellung der Entfernungsermittlung auf verschiedenen Distanzen von $scPower$ und $txPower$. \label{fig:distScTx}](../static/DeviceDistanceScTxPower.pdf)
Durch die Filterung der \ac{rssi}-Werte sollen Schwankungen in den Messwerten ausgeglichen und die Entfernungsberechnung verbessert werden. Abbildung \ref{fig:err-filter} bestätigt eine positive Auswirkung durch den Einsatz von Filtern. Dabei werden die relativen Fehler zu den Referenz Entfernungen für die Ungefilterten RSSI Werte (rote), dem gleitenden Mittelwert (gelbe) und dem gewichteten Mittelwert (blaue) gegenübergestellt. Der farbige Schatten zeigt die Standardabweichung an.
Durch die Filterung der \ac{rssi}-Werte sollen Schwankungen in den Messwerten ausgeglichen und die Entfernungsberechnung verbessert werden. Abbildung \ref{fig:err-filter} bestätigt eine positive Auswirkung durch den Einsatz von Filtern. Dabei werden die relativen Fehler zu den Referenzentfernungen für die ungefilterten RSSI Werte (rote), dem gleitenden Mittelwert (gelbe) und dem gewichteten Mittelwert (blaue) gegenübergestellt. Der farbige Schatten zeigt die Standardabweichung an.
![Einfluss der verschiedenen Filtermethoden auf die Entfernungsberechnung mittels $scPower$ \label{fig:err-filter}](../static/DistanceErrorFilter.pdf)
Unter Verwendung der $scPower$ lag der durchschnittliche Fehler der Rohdaten bei \SI{75.68}{\percent}, der des gleitenden Mittelwerts bei \SI{73,99}{\percent} und der des gewichteten Mittelwerts bei \SI{70.07}{\percent}. Damit ist die Auswirkung des gewichteten Mittelwerts mit einer um \SI{7.42}{\percent} geringeren Fehlerquote am größten.
Im weiteren soll überprüft werden ob sich die zuvor gewonnenen Erkenntnisse auch auf die Lokalisierung übertragen lassen. Da die Messung des \ac{rssi}-Wertes am Smartphone vom Einstrahlwinkel beeinflusst wird (siehe Abschnitt \ref{winkeleinfluss}), wurden die Messungen in zwei Orientierungen durchgeführt, dadurch soll der winkelabhängige Einfluss minimieren werden. In Abbildung \ref{fig:orientierung} ist zu erkennen, dass der Lokalisierungsfehler je nach Orientierungen abhängig vom Messpunkt ist. \SI{180}{\degree} (gelb) liefert bei den Messpunkten A und B einen geringeren Fehler gegenüber \SI{0}{\degree} (blau), welcher bei den Messpunkten C und D einen geringeren Fehler aufweist. In rot ist die mittlung beider Orientierungen dargestellt, welche für die weitere Betrachtung herangezogen wird.
Im Weiteren soll überprüft werden, ob sich die zuvor gewonnenen Erkenntnisse auch auf die Lokalisierung übertragen lassen. Da die Messung des \ac{rssi}-Wertes am Smartphone vom Einstrahlwinkel beeinflusst wird (siehe Abschnitt \ref{winkeleinfluss}), wurden die Messungen in zwei Orientierungen durchgeführt, dadurch soll der winkelabhängige Einfluss minimieren werden. In Abbildung \ref{fig:orientierung} ist zu erkennen, dass der Lokalisierungsfehler je nach Orientierungen abhängig vom Messpunkt ist. \SI{180}{\degree} (gelb) liefert bei den Messpunkten A und B einen geringeren Fehler gegenüber \SI{0}{\degree} (blau), welcher bei den Messpunkten C und D einen geringeren Fehler aufweist. In rot ist die Mittlung beider Orientierungen dargestellt, welche für die weitere Betrachtung herangezogen wird.
![Auswirkung der Orientierung des Smartphones auf die verschiedenen Messpunkte \label{fig:orientierung}](../static/Loc0180.pdf){ width=90% }
@ -672,8 +672,5 @@ Abschließend wurde der entwickelte Versuchsaufbau experimentellen Tests unterzo
- Relativer Fehler zwischen ermittelten Radii und Radii des errechneten Punkts (hier würde 0 raus kommen wenn die kreise einen gemeinsamen Schnittpunkt haben)
- Einsatz Gaußfilter auf die Messdaten
# Zusammenfassung
## Fazit
## Ausblick
Loading…
Cancel
Save