GPS-Daten erlauben es Ihnen, Ihre momentane Position exakt zu bestimmen. Open-Source-Tools helfen dabei, die Daten auszuwerten.
Kaum ist es eingeschaltet, findet ein Smartphone seine Position. Dabei stützt es sich im Wesentlichen auf drei Funksysteme: Mobilfunkortung, WLAN-Ortung und GNSS. Im ersten Fall weiß der Anbieter, in welche Funkzelle sich das Handy eingebucht hat; auf Wunsch teilt er das dem Gerät mit. Die Genauigkeit hängt dabei von der Größe der Zelle ab: In der Stadt liegt sie bei wenigen Hundert Metern, auf dem Land bei einigen Kilometern. Bei der WLAN-Ortung scannt das Handy alle WLAN-Netze der Umgebung und sendet deren Kennungen an einen Server. Dieser sieht in seiner Datenbank nach, wo sich die Hotspots befinden. Über die ihm mitgeteilte Stärke der Signale verfeinert er die Daten zur Position und informiert das Handy.
Das dritte Verfahren nutzt Satellitenkonstellationen, neudeutsch Global Navigation Satellite Systems (GNSS), deren bekanntestes GPS ist. Es steht unter der Leitung des US-amerikanischen Verteidigungsministeriums. Manche Geräte empfangen auch Signale des russischen Netzes GLONASS. Das europäische System Galileo befindet sich noch im Aufbau.
Die Navigation via Satellit funktioniert komplementär zu den terrestrischen Verfahren. Die Genauigkeit von 5 bis 20 Metern steht nahezu weltweit bereit. Der Fehler bei terrestrischen Systemen liegt zwischen 10 Metern und unendlich (außerhalb eines Mobilfunknetzes). Dafür arbeiten sie schnell, während eine Ortung über Satellit unter Umständen einige Minuten dauert. Zum Bestimmen der Position in Gebäuden fällt das Signal von Satelliten zu schwach aus.
Diese wenigen Grundlagen verdeutlichen, warum Provider ihre terrestrischen Daten zur Position nur im Tausch gegen GPS-Daten der Nutzer freigeben. Dadurch halten die Betreiber ihre WLAN-Datenbank aktuell, ohne selbst vor Ort nach neuen Hotspots suchen zu müssen. Technisch arbeitet GPS jedoch völlig unabhängig von anderen Systemen. Bei GPS weiß nur der Empfänger, wo er sich befindet – das Koppeln mit der WLAN-Ortung wäre nicht notwendig.
GPS-Empfang
Die meisten GNSS-Systeme ermitteln die Position über Multilateration. Dabei misst der Empfänger die Laufzeiten des Signals vom Satelliten, die umso länger ausfällt, je weiter ein Satellit entfernt ist. Die genaue Position der Satelliten und die Zeit finden sich kodiert in den GPS-Signalen.
Die Intensität des Signals beim Empfänger liegt unter der des thermischen Rauschens. Ein Empfang gelingt nur, weil das Signal einen großen Frequenzbereich von einigen Megahertz belegt und nur wenige Signalmuster (“Pseudo Random Codes”) vorkommen, die der Empfänger durchprobieren muss. Die Datenrate beschränkt sich auf 50 Bit/s. Ein Kaltstart eines GPS-Empfängers, bei dem dieser die kompletten GPS-Ephemeriden der GPS-Satelliten einliest, dauert deshalb fast eine Viertelstunde.
Spezielle Mikroprozessoren verrechnen die Daten. Chips für den Consumer-Bereich begnügen sich damit, die verarbeiteten Daten auszugeben, Zwischenergebnisse sind nicht zugänglich. Dafür kosten solche Bausteine nur wenige Euro. Zu den bekannteren Herstellern zählen Qualcomm (Sirfstar-V), Skytraq (Venus 8), Mediatek (MT3329) und U-Blox. Der Kasten “Positionsdaten” zeigt, welche typischen Daten ein solcher Chip im NMEA-Format ausgibt.
Positionsdaten
- Position, angegeben in geografischer Länge und Breite
- Höhe über Normalhöhennull
- Geoidundulation, Korrektursummand für Höhenbestimmung
- Datum, Uhrzeit
- Maßzahl für die Qualität der Daten
- Hinweis, ob Korrektursignale verarbeitet wurden (EGNOS, WAAS)
- Grobposition der Satelliten, bezogen auf den Standort
- Stärke der Satellitensignale
Die ersten Daten
Die Ergebnisse für diesen Test liefert eine USB-GPS-Maus mit einem Venus-8-Chip der Firma Skytraq (Abbildung 1). Sie besitzt 167 Kanäle. Zum Vergleich: Die frühen Taschenempfänger galten als fortschrittlich, wenn sie die Daten von 32 Satelliten gleichzeitig verarbeiten konnten. Die Empfindlichkeit gibt der Hersteller mit -190 dB an.

Abbildung 1: Im Gegensatz zu den frühen Empfängern für den privaten Gebrauch weisen die heutigen Modelle in Form einer USB-Maus eine wesentlich größere Empfindlichkeit auf.
Treiber zum Auswerten des Datenstroms aus dem USB-Interface der Maus stehen im Kernel bereit. Um den Datenstrom zu lesen, benötigen Sie den Namen, unter dem das System die GPS-Maus erkannt hat. Diesen finden Sie über die Abfrage mit dmesg in der ersten Zeile von Listing 1 heraus.
Listing 1
$ dmesg -T | grep tty [12:07:15 2016] usb 1-9: cp210x converter now attached to ttyUSB0 [12:07:16 2016] pps pps0: source "/dev/ttyUSB0" added [12:08:20 2016] cp210x ttyUSB0: cp210x converter now disconnected from ttyUSB0
Der Filter grep tty schränkt die Angabe der Treiber auf spezielle Eingabegeräte ein. Hier kommt es auf die letzten Zeilen der Antwort an, in Listing 1 in den Zeilen 2 bis 4 wiedergegeben: Das System erkannte das Einstecken (um 12:07 Uhr) sowie das Abziehen (um 12:08 Uhr) der GPS-Maus, die demnach unter dem Namen /dev/ttyUSB0 aktiv war. Dieser Name dient im Folgenden als Platzhalter; bei anderen Systemen passen Sie ihn entsprechend an.
Im Prinzip sollten die Daten der GPS-Maus nach Eingabe des folgenden Befehls auf der Konsole erscheinen:




