@ -60,7 +60,7 @@ Die Lokalisierung kann verbessert werden, wenn sich mehrere Sendezellen überlap
### Fingerprinting
Das Fingerprinting ist ein Ansatz, der sich die Mehrwegausbreitung (mehr dazu in Abschnitt \ref{messung-fehler-quellen-und-korrekturen}) von Funksignalen zu Nutze macht. Hierbei wird für jeden Empfangsort ein charakteristisches Muster (Fingerabdruck, engl. Fingerprint) aufgezeichnet [@Strang_2008_BOOK]. Dabei gliedert sich dieses Verfahren in zwei Phasen:
Das Fingerprinting ist ein Ansatz, der sich die Mehrwegausbreitung (mehr dazu in Abschnitt \ref{messung-fehler}) von Funksignalen zu Nutze macht. Hierbei wird für jeden Empfangsort ein charakteristisches Muster (Fingerabdruck, engl. Fingerprint) aufgezeichnet [@Strang_2008_BOOK]. Dabei gliedert sich dieses Verfahren in zwei Phasen:
1. Die Offline-Phase: Hierbei werden passende ortsabhängige Parameter bestimmt, durch die eine eindeutige Identifikation eines Ortes möglich ist. Diese Parameter werden für jeden Ort gemessen und in einer Datenbank mit der Ortsinformation verknüpft gespeichert. Die ortsabhängigen Parameter hängen stark von der Umgebung ab. Bei einer Umgebungsänderung müssen diese Parameter aktualisiert werden.
2. Die Online-Phase: Dabei misst der Empfänger den Fingerprint, also den Parameter zur Identifikation, und gleicht diesen mit der Datenbank ab. Dazu werden Mustererkennungsalgorithmen benötigt, welche aus der Datenbank den wahrscheinlichsten Fingerprint ermitteln und damit den wahrscheinlichsten Ort herausgeben.
@ -110,7 +110,7 @@ Das \ac{cellid}-Verfahren hat eine sehr geringe Ortsauflösung. Auch mit einer h
Beim Fingerprinting-Verfahren ist die Ortsauflösung unter anderem vom betriebenen Aufwand bei der Einrichtung abhängig. Auch die gewählten Parameter zum Erstellen des Fingerabdrucks und die Beständigkeit der Umgebung haben großen Einfluss auf die Ortsauflösung. Daher muss die Einrichtung bei Veränderungen an der Umgebung erneut durchgeführt werden, was den Aufwand für diese Methode stark erhöht.
Das \acl{aoa}-Verfahren lässt sich nur umsetzen, wenn das Gerät die benötigte Hardware zur Ermittlung des Eintrittswinkel mitbringt. Die Ortsauflösung ist dann jedoch nur von den Messfehlern, beschrieben in Abschnitt \ref{messung-fehler-quellen-und-korrekturen}, abhängig und kann somit zunächst als sehr hoch eingestuft werden. Der Aufwand ist jedoch, passende Hardware vorausgesetzt, relativ gering.
Das \acl{aoa}-Verfahren lässt sich nur umsetzen, wenn das Gerät die benötigte Hardware zur Ermittlung des Eintrittswinkel mitbringt. Die Ortsauflösung ist dann jedoch nur von den Messfehlern, beschrieben in Abschnitt \ref{messung-fehler}, abhängig und kann somit zunächst als sehr hoch eingestuft werden. Der Aufwand ist jedoch, passende Hardware vorausgesetzt, relativ gering.
Für die Trilateration stehen mehrere Verfahren zur Auswahl. Diese unterscheiden sich hauptsächlich im Aufwand. Die Ortsauflösung ist, wie schon beim \ac{aoa}-Verfahren, abhängig von den Messfehlern der eingesetzten Verfahren. Dabei wird beim \ac{rss}-Verfahren eine etwas geringere Ortsauflösung angenommen, da die Entfernung aufgrund der Signalstärke nicht nur durch Umwelteinflüsse, sondern auch durch das verwendete Modell beeinflusst wird. Der Aufwand für \ac{toa} und \ac{tdoa} wird mit sehr hoch angenommen, da eine genaue Zeitmessung spezielle Hardware voraussetzt. Diese Hardware ist in Smartphones nicht zu finden.
@ -175,7 +175,7 @@ d = A \cdot \left( \cfrac{P_{R_{x}}}{txPower} \right)^{B} + C
\end{aligned}
\end{equation}
Da die Signalstärke Schwankungen unterliegt, mehr dazu in Abschnitt \ref{messung-fehler-quellen-und-korrekturen}, führt die Messung der Entfernung mit einem festen Wert für $txPower$ zu größeren Abweichungen. Dies kann nach [@Cho_2015a] durch den Einsatz eines Kalibrierungs-Beacon im Abstand von \SI{1}{\meter} zum zu messenden Beacon optimiert werden. Dabei misst der Kalibrierungs-Beacon die aktuelle Signalstärke und übermittelt diese an den Scanner. Bei der Berechnung der Entfernung wird nun in Formel \ref{eq:beacondistance-scPower} die $txPower$ durch den aktuell gemessenen \ac{rssi}-Wert auf \SI{1}{\meter}, beschrieben als $scPower$, ersetzt.
Da die Signalstärke Schwankungen unterliegt, mehr dazu in Abschnitt \ref{messung-fehler}, führt die Messung der Entfernung mit einem festen Wert für $txPower$ zu größeren Abweichungen. Dies kann nach [@Cho_2015a] durch den Einsatz eines Kalibrierungs-Beacon im Abstand von \SI{1}{\meter} zum zu messenden Beacon optimiert werden. Dabei misst der Kalibrierungs-Beacon die aktuelle Signalstärke und übermittelt diese an den Scanner. Bei der Berechnung der Entfernung wird nun in Formel \ref{eq:beacondistance-scPower} die $txPower$ durch den aktuell gemessenen \ac{rssi}-Wert auf \SI{1}{\meter}, beschrieben als $scPower$, ersetzt.
Eine Methode zur Reduzierung von systemischen Fehler, beschrieben in Abschnitt \ref{arten-von-messfehlern} Systemische Feher, ist die Kalibrierung. Hierbei werden mehrere Messreihen mit möglichst vielen Messungen angefertigt. Dabei wird darauf geachtet das die äußeren Einflüsse, die auf die Messung einwirken können, weitestgehend eliminiert werden. Durch eine hohe Anzahl von Messungen kann der statistischen Fehler zusätzlich minimiert werden [@jcgm_2012, Nr. 2.19]. Sollte der Mittelwert der Messung nun nicht mit dem Referenzwert übereinstimmen, so ist diese Abweichung auf ein systemischen Fehler zurück zu führen. Um die Linearität des Fehlers zu Beurteilen, müssen mehrere Messreihen mit unterschiedlichen Eingangsvoraussetzungen betrachtet werden. Aus den gewonnenen Daten können so Korrekturfaktoren ermittelt werden, welche den systemischen Fehler reduzieren [@jcgm_2012, Nr. 2.39, Nr. 3.11].
Eine Methode zur Reduzierung von systemischen Fehlern, beschrieben in Abschnitt \ref{arten-von-messfehlern} Systemische Fehler, ist die Kalibrierung. Hierbei werden mehrere Messreihen mit möglichst vielen Messungen angefertigt. Dabei wird darauf geachtet, dass die äußeren Einflüsse, die auf die Messung einwirken können, weitestgehend eliminiert werden. Durch eine hohe Anzahl von Messungen kann der statistische Fehler zusätzlich minimiert werden [@jcgm_2012, Nr. 2.19]. Sollte der Mittelwert der Messung nun nicht mit dem Referenzwert übereinstimmen, so ist diese Abweichung auf ein systemischen Fehler zurückzuführen. Um die Linearität des Fehlers zu beurteilen, müssen mehrere Messreihen mit unterschiedlichen Eingangsvoraussetzungen betrachtet werden. Aus den gewonnenen Daten können so Korrekturfaktoren ermittelt werden, welche den systemischen Fehler reduzieren [@jcgm_2012, Nr. 2.39, Nr. 3.11].
### Filter
@ -367,11 +367,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 vorzunehmen. 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 an der Auswertung vorzunehmen 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.
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. Danach werden alle Messdaten von Geräten die nicht an der Messung beteiligt waren entfernt. Bei der Übermittlung der Daten werden nicht vorhandene Messdaten mit einer 0 initialisiert. Dies würde bei Berechnungen jedoch zu Fehlern führen, daher 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. Um dies zu verhindern werden alle 0 Werte aus den eingelesenen Daten gelöscht.
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 Beacon ermittelt und in der neuen Spalte ``realPosition`` gespeichert. Die ReferenzEntfernung 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 Beacon 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.
Im letzten Schritt werden überflüssige Spalten gelöscht. Tabelle \ref{tab:dataclean} zeigt die vorhandenen Spalten nach dem Einlesen.
@ -384,23 +384,25 @@ Im letzten Schritt werden überflüssige Spalten gelöscht. Tabelle \ref{tab:dat
| scPower | Ermittelter \ac{rssi}-Referenzwert der benachbarten Beacon 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}
: Spaltenübersicht der Messreihen nach dem Einlesen der Daten. \label{tab:dataclean}
**Ergänzen**
- Ermittlung der $scPower$
- Ermittlung eines geglätteten RSSI
- Gaußfilterung?
- Gaußfilterung
# 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{versuchsaufbau}, optimiert werden.
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.
Zur Ermittlung des Abstands zwischen den einzelnen Objekten wird jeweils die Mitte des Objekts verwendet. Dies hat den Vorteil, dass die Orientierung der Geräte keinen Einfluss auf den tatsächlichen Abstand hat.
## Referenzmessung
Die Referenzmessungen bieten einen Einblick in das System. Sie sollen systemische Einflüsse aufzeigen und so die Entwicklung eines optimierten Versuchsaufbaus ermöglichen. Die ersten Messungen werden im Freien durchgeführt, um etwaige Störeinflüsse durch Reflektionen und \ac{wifi}-Signalen zu verringern. Ein Karton dient als ebene Fläche auf einer Wiese. Auf dem Karton werden nicht nur die Messobjekte platziert, sondern auch Markierungen aufgebracht, um die Positionierung und Ausrichtung zu erleichtern. Abbildung \ref{fig:messunge-draußen} zeigt den Versuchsaufbau.
Die Referenzmessungen bieten einen Einblick in das System. Sie sollen systemische Einflüsse aufzeigen und so die Entwicklung eines optimierten Versuchsaufbaus ermöglichen. Die ersten Messungen werden im Freien durchgeführt, um etwaige Störeinflüsse durch Reflektionen und \ac{wifi}-Signalen zu verringern. Ein Karton dient als ebene Fläche auf einer Wiese. Auf dem Karton werden nicht nur die Messobjekte platziert, sondern auch Markierungen aufgebracht, um die Positionierung und Ausrichtung zu erleichtern. Abbildung \ref{fig:messung-outdoor} zeigt den Versuchsaufbau.
![Versuchsaufbau der Referenzmessung im Außenbereich \label{fig:messung-outdoor}](../static/outdoor_versuch.jpg)
Soweit nicht anders beschrieben beträgt der Abstand für die Referenzmessungen \SI{1}{\meter}. Die Messdauer einer Referenzmessung wurde auf eine Minute begrenzt. Die Auswertung findet wie in Abschnitt \ref{auswertung} beschrieben statt.
@ -438,7 +440,7 @@ Als letzte Messungen wird die Rotation eines Beacons in Referenz zu einem zweite
Die Konstanten $A$, $B$, und $C$ aus Formel \ref{eq:beacondistance} werden druch Kalibrierungsmessungen nach der Anleitung der Android Beacon Library [@RadiusNetworks_2021] ermittelt. Die Kalibrierung bezieht sich in dieser Anleitung auf ein anderes System und wird mit Hilfe eines iPhones als Referenzgerät durchgeführt. Außerdem werden in der Anleitung Messreihen von \SI{0.25}{\meter} bis \SI{40}{\meter} angefertigt. Da der maximale Abstand in dieser Arbeit bei \SI{1.5}{\meter} liegt, soll die Kalibrierung auf den Bereich von \SI{0.25}{\meter} bis \SI{2}{\meter} in Schritten zu je \SI{0.25}{\meter} durchgeführt werden. Die $scPower$ wird im späteren Versuch durch die benachbarten Beacon erfasst, daher kommt für die Referenzmessung anstelle des iPhones ein zweiter Beacon zum Einsatz.
Wie aus den Messungen in Abschnitt \ref{beacon-smartphone} hervor geht, weichen die \ac{rssi}-Werte bei feuchter Witterung im Außenbereich stark von denen im Innenbereich ab. Zum Zeitpunkt der Messungen war eine Trockenperiode nicht absehbar, aus diesem Grund wird die Kalibrierung im Innenraum durchgeführt. Um den Einfluss von Störfaktoren wie Reflektionen zu vermindern, wird die Messung möglichst weit entfernt von Wänden und anderen Objekten durchgeführt. Zusätzlich werden alle beweglichen Funkquellen aus der näheren Umgebung des Messbereichs geräumt. Um den Einfluss zufälliger Fehler durch die nicht optimalen Umgebungsbedingungen weiter zu reduzieren, wird die Messsdauer von den, in der Anleitung verwendeten \SI{20}{\second} auf \SI{1}{\minute} angehoben.
Wie aus den Messungen in Abschnitt \ref{beacon-smartphone} hervor geht, weichen die \ac{rssi}-Werte bei feuchter Witterung im Außenbereich stark von denen im Innenbereich ab. Zum Zeitpunkt der Messungen war eine Trockenperiode nicht absehbar, aus diesem Grund wird die Kalibrierung im Innenraum durchgeführt. Um den Einfluss von Störfaktoren wie Reflektionen zu vermindern, wird die Messung möglichst weit entfernt von Wänden und anderen Objekten durchgeführt. Zusätzlich werden alle beweglichen Funkquellen aus der näheren Umgebung des Messbereichs geräumt. Um den Einfluss zufälliger Fehler durch die nicht optimalen Umgebungsbedingungen weiter zu reduzieren, wird die Messsdauer von den in der Anleitung verwendeten \SI{20}{\second} auf \SI{1}{\minute} angehoben.
Mit der aus Formel \ref{eq:beacondistance} entstammenden Formel \ref{eq:regress} wird nun eine Regression auf die Messdaten der Kalibrierung durchgeführt. Dabei werden Parameter für die Konstanten $A$ und $B$ ermittelt, durch die die Berechnungen der Messdaten möglichst gut mit der Distanz $d$ übereinstimmen.
@ -448,7 +450,7 @@ d = A \cdot \left( \cfrac{P_{R_{x}}}{txPower} \right)^{B}
\end{aligned}
\end{equation}
Die Konstante $C$ beschreibt den Korrekturfaktor für \SI{1}{\meter} Entfernung. Hierzu werden die Konstanten $A = 1.7358$ und $B = 7.5924$ aus der Regression in die Formel \ref{eq:korrektur} eingesetzt und die Messwerte für die Referenzentfernung $d = \SI{1}{\meter}$ eingesetzt.
Die Konstante $C$ beschreibt den Korrekturfaktor für \SI{1}{\meter} Entfernung. Hierzu werden die Konstanten $A = 1,7358$ und $B = 7,5924$ aus der Regression in die Formel \ref{eq:korrektur} eingesetzt und die Messwerte für die Referenzentfernung $d = \SI{1}{\meter}$ eingesetzt.
\begin{equation}\label{eq:korrektur}
@ -457,7 +459,7 @@ C = d - A \cdot \left( \cfrac{P_{R_{x}}}{txPower} \right)^{B}
\end{aligned}
\end{equation}
In Abbildung \ref{fig:calibration} ist der durchschnittliche Fehler auf die einzelnen Entfernungen aufgetragen. Verglichen wird der Fehler unter Verwendung der Kalibrierungsfaktoren zur Verwendung der Standard Werte der Android Beacon Library. Die $txPower$, welche sich aus der Kalibrierung ergibt und für die weiteren Messungen eingesetzt wird beträgt \SI{-67}{\dB}. Es ist zu erkennen, dass die Fehlerquote nach Kalibrierung, ab \SI{0.75}{\meter} niedriger ist als mit den Standard Werten.
In Abbildung \ref{fig:calibration} ist der durchschnittliche Fehler auf die einzelnen Entfernungen aufgetragen. Verglichen wird der Fehler unter Verwendung der Kalibrierungsfaktoren zur Verwendung der Standardwerte der Android Beacon Library. Die $txPower$, welche sich aus der Kalibrierung ergibt und für die weiteren Messungen eingesetzt wird beträgt \SI{-67}{\dB}. Es ist zu erkennen, dass die Fehlerquote nach Kalibrierung, ab \SI{0.75}{\meter} niedriger ist als mit den Standardwerten.
![Gegenüberstellung der Kalibrierungsfaktoren zu den Standardwerten in der Android Beacon Library. \label{fig:calibration}](../static/calibrationValidation.pdf)