GNSS
GNSS ist die Abkürzung für Global Navigation Satellite System. Es ist der Oberbegriff
für alles was mit Positionsbestimmung über Satelliten zu tun hat.
GPS war das erste und lange Zeit einzige verfügbare System. Umgangssprachlich wird deshalb oft nur
von GPS gesprochen.
Moderne GNSS Empfänger sind in der Lage mehrere System gleichzeitig zu empfangen und auszuwerten.
Aktuell (2022) sind 4 unterschiedliche GNSS-Systeme aktiv:
Name | Land, Anmerkung |
---|---|
GPS | USA, Verteidigungsministerium |
GLONASS | Russische Föderation, Verteidigungsministerium |
Galileo | EU, zivil |
Beidou | Volksrepublik China, Volksbefreiungsarmee |
Es existieren noch 2 weitere Systeme, die aber nur in geographisch eng begrenzten Bereichen benutzbar sind:
Name | Anmerkung |
---|---|
QZSS | Quasi Zenit Satelliten System, Japan und Asien/Pazifik |
IRNSS | Indian Regional Navigation Satellite System, Indien |
GNSS-Module
GNSS-Empfänger werden meist als fertiges Modul angeboten. Das Bild zeigt ein typisches Beispiel von der Firma
Beitian. Es hat die Abmessungen 18x18x6mm. Die Keramikplatte auf der Oberseite ist die Antenne. Module mit abgesetzter
Antenne sind ebenfalls gängig.
Die Empfangssignale von den Satelliten sind extrem schwach. Die Antenne muss deshalb freie Sicht "nach oben" haben.
Praktisch alle modernen Smartphones haben GNSS direkt in ihre Chipsätze integriert. Dort gibt es keine separaten Module und auch die
Antenne sieht ganz anders aus.
Satelliten
Jedes der GNSS-Systeme verwendet ca 30 Satelliten die, gleichmässig verteilt, in einer Höhe von ein paar Tausend
Kilometern um die Erde kreisen. Durch die niedrigen Umlaufbahnen bewegen sich die Satelliten sehr schnell und
sind nicht statisch am Himmel platziert. Dadurch ergeben sich permanent wechselnde Konstellationen der
sichtbaren Satelliten und somit ständig wechselnde Empfangssituationen.
Das folgende Bild zeigt beispielhaft die Bewegungen der aktuell sichtbaren Satelliten im Abstand weniger Minuten.
Der Mittelpunkt des Bildes ist der Ort des Empfängers. Die rot unterlegten Satelliten sind auf Grund lokaler
Abschattungen der Antenne nicht empfangbar.
Die Sendeleistungen der Satelliten sind relativ niedrig und der Empfangspegel beim Empfänger liegt sehr deutlich
unterhalb des umgebenden Rauschpegels. Aber durch pfiffige Korrelationsverfahren wird eine mathematische
Signalverstärkung von ca. 20dB erreicht, und dadurch ein Empfang und das Dekodieren überhaupt erst ermöglicht.
NMEA 0183
Die Abkürzung steht für National Marine Electronics Association. Diese Organisation hat den Standard 0183 definiert der von allen GNSS-Empfängern als Standard zum Ausgeben der Daten verwendet wird. Es sind leicht auswertbare, lessbare ASCII-Sequenz die aus sog. Sätzen (Sentences) bestehen, z.B.:
$GPGGA,130305.0,4717.115,N,00833.912,E,1,08,0.94,00499,M,047,M,,*58
$GPRMC,130304.0,A,4717.115,N,00833.912,E,000.04,205.5,200601,01.3,W*7C
Neben den Positionsangaben ist in den Sätzen alles enthalten was der Empfänger an Daten empfangen oder berechnet
hat, z.B. Höhe, Geschwindigkeit, Kurs, Datum und Uhrzeit, Liste der Satelliten, etc. Viele Daten sind mehrfach in
verschiedenen Sätzen vorhanden. Für die meisten Anwendungen ist die Auswertung der Sätze RMC und GGA
ausreichend.
Eine Liste aller NMEA-Nachrichten/Sätze kann man z.B. in der Dokumentation von u-blox finden.
Die NMEA-Daten werden physikalisch (typischerweise) über eine serielle Schnittstelle ausgegeben (3V-Level UART, 4800, N, 8, 1).
TTFF (Time To First Fix)
Dieser Parameter beschreibt wie lange ein GNSS-Empfänger benötigt um seine aktuelle Position zu bestimmen. Dabei wird noch zwischen "Kaltstart" und "Warmstart" unterschieden.
- Kaltstart: bis zu 10 Minuten
- Warmstart: 1 .. 5 Sekunden
Diese extremen Unterschiede sind in der Verabeitung der Satellitensignale begründet. Bei einem Kaltstart hat der Empfänger keinerlei Informationen welche Satelliten in seiner Reichweite sind und muss zuerst eine breitbandige "Sendersuche" durchführen. Sobald er aufsynchronisiert ist werden diese Daten gespeichert und beim nächsten Aufstarten angewendet.
Genauigkeiten
Durch die ständig wechselnden Empfangssituationen ergeben sich stark schwankende Genauigkeiten bei der
Ortsbestimmung. Einen grossen Anteil hat dabei der Weg der Signale durch die Atmosphäre. Es werden deshalb immer
nur Mittelwerte und Wahrscheinlichkeiten angegeben, z.B das 95% der Ergebnisse innerhalb eines 5m Radius liegen.
Bei idealem Empfang sind Genauigkeiten von unter 2m möglich. In stark bebautem Gebiet ohne freie Sicht treten typischweise
Mehrfachreflexionen der Empfangssignale auf, wodurch die Ungenauigkeiten drastisch ansteigen.
Um die Positionsbestimmung robuster zu machen werden gerne auch die Daten von Beschleunigungssensoren hinzugenommen
(Smartphone). Eine Tunneldurchfahrt ist ein typischer Fall wo diese Daten kurzzeitig helfen können.
Koordinaten Notationen
Geographische Koordinaten werden durch die Angabe eines Zahlenpares mit Breitengrad (Latitude) und
Längengrad (Longitude) beschrieben. Die Reihenfolge (Lat/Lon oder Lon/Lat) ist
dabei nicht fest vorgegeben und auch der Rest des Formats kann erheblich variieren.
Beispiel: 41°24'12.2"
- 41 Grad, Zahlenbereich: -180 .. +180 bzw -90 .. +90
- 24 Minuten, Zahlenbereich: 0 .. 59
- 12 Sekunden, Zahlenbereich: 0 .. 59
- 0.2 Bruchanteil Sekunden, Zahlenbereich: 0.0 .. 0.999..
Der ganzzahlige Vorkommateil (41) wird einheitlich als normale Winkelangabe geschrieben. Der
Zahlenbereich ist -180°..+180° für Längengrade (Longitude) bzw. -90°..+90° für Breitengrade (Latitude).
Beim Nachkommaanteil wird es kompliziert und verwirrend. Es sind verschiedene Darstellungen gängig:
- WinkelMinuten + WinkelSekunden mit Bruchanteil: 24'12.2"
- WinkelMinuten + Sekundenanteil in dezimaler Notation: 24 + 0.2033
- Dezimale Darstellung: 0.40338
Ohne weitere Formatinformationen sind Koordinatenangaben nicht eindeutig. Oft wird deshalb jeweils ein Buchstabe
zugeordnet ([E,W] oder [N,S]). Wenn die Reihenfolge (Lon/Lat oder Lat/Lon) bekannt ist dann kann auch jeweils ein
Vorzeichen verwendet werden:
- kein Vorzeichen oder plus (+) im Fall N bzw E
- minus (-) im Fall S bzw W
Die gängigsten Formate in der Übersicht. Alle mit dem selben Positionsbeispiel:
41°24'12.2"N; 2°10'26.5"E (La Sagrada Familia in Barcelona).
Name | Info | Latitude | Longitude | Format | Anmerkung |
---|---|---|---|---|---|
GMS | Grad, Minuten, Sekunden | 41°24'12.2" | 2°10'26.5" | d°mm'ss.s" | historische Notation |
GMM | Grad, Minuten mit Dezimalbruchteil | 41 24.2033 | 2 10.4417 | d mm.mmmm | nautische Notation |
DG | Grad mit Dezimalbruchtanteil | 41.40338 | 2.17403 | d.ddddd | dezimale Notation |
NMEA | Grad, Minuten mit Dezimalbruchteil | 4124.2033 | 00210.4417 | (d)dmm.mmmm | NMEA Notation |
Das NMEA Protokoll der GPS-Module hat eine Besonderheit: es verwendet
Grad und Dezimalminuten (GMM), wie auch die nautische Notation, aber mit fest vorgegebener
Länge und einer speziellen Syntax :
Name | Latitude | Longitude | Format |
---|---|---|---|
NMEA | 4124.2033,N | 00210.4417,E | (d)dmm.mmmm,(E,W,N,S) |
Für Breitengrade (Latitude): ddmm.mmmm + "N" oder "S"
Für Längengrade (Longitude): dddmm.mmmm + "E" oder "W"
Bei Bedarf führende und nachfolgende Nullen auffüllen um die Länge einzuhalten.
Beispiele für Koordinatenumrechnungen
NMEA in GMS:
Beispiel: 4124.2033,N
= Trunc(4124.2033/100) + Trunc(Frac(4124.2033/100)*100) + Trunc(4124.2033)*60)
= 41° + 24' + 12.2"
GMS in EMEA:
Beispiel: 41°24'12.2" N
= 41*100 + 24 + 12.2/60
= 4100 + 24 + 0.2033
= 4124.2033,N
NMEA in DG:
Beispiel: 4124.2033,N
Allgemeines Format: (d)dd + (mm.mmmm/60), multipliziert mit -1 wenn W oder S
= Trunc(4124.2033/100) + Frac(4124.2033/100)*100/60;
= 41 + 24.2033/60
= 41 + 0.40338
= 41.40338 N
DG in EMEA:
Beispiel: 41.40338 N
= Trunc(41.40338)*100 + Frac(41.40338)*60
= 4100 + 0.4338*60
= 4100 + 24.2033
= 4124.2033,N
GMS in DG:
Beispiel: 41°24'12.2" N
Dezimalgrad = Grad + Minuten/60 + Sekunden/3600
= 41 + 24/60 + 12.2/3600
= 41 + 0.4 + 0.00338
= 41.40338 N
Für weitere Infos und Hilfen zum Umrechnen ist ein Koordinaten-Umrechner sehr hilfreich.
Koordinaten und Kartendienste
Die üblichen Online-Kartendienste akzeptieren auch direkte Koordinateneingaben.
Google-Maps, z.B., kann automatisch GMM, DG und GMS erkennen, aber nicht das NMEA-Format.
Als default wird die erste Angabe als Breitengrad (Latitude) und die zweite als Längengrad
(Longitude) interpretiert.
Die folgenden Links führen alle zur argentinischen Stadt Ushuaia (Angaben in Dezimalgrad):
Lat: -54.807914416615475
Lon: -68.30407776097708
Google-Maps:
https://www.google.com/maps?q=-54.807914416615475,-68.30407776097708
OpenStreetMaps:
https://www.openstreetmap.org/#map=14/-54.8079/-68.3041
Bing-Maps:
https://bing.com/maps/default.aspx?cp=-54.8079~-68.3041&lvl=12&style=r
KML-Format
Das von Google häufig verwendete KML-Format verwendet Longitude, Latitude und Altitude, in genau dieser Reihenfolge. Die Reihenfolge ist damit umgekehrt zu dem was z.B. Google Maps erwartet. Die Angaben werden in Dezimalgrad Notation angegeben.
- Longitude, Ost=positiv, West=negativ
- Latitude, Nord=positiv, Süd=negativ
- Altitude, Höhe über Normallevel, optionale Angabe
Geo Mikroformat
Dieses Format wurde für die Koordiantenabgabe in HTML-Dokumenten erdacht. Der Wert für Latitude wird zuerst genannt, falls nichts anderes vereinbart wird.
- Latitude, Nord=positiv, Süd=negativ
- Longitude, Ost=positiv, West=negativ
<div class="geo"Ushuaia:>
<span class="latitude">-54.807914 </span>
<span class="longitude">68.304077</span>
</div>
Windows und GNSS
GNSS-Empfänger wurden ursprünglich per RS232 mit einem PC verbunden, später dann per USB und einen virtuellen COM-Port.
Über diesen COM-Port wurden die NMEA-Daten übertragen und von den Programmen übernommen.
Ungefähr mit dem Übergang auf Windows 7 hat Microsoft den "Location Service" als neuen Dienst eingeführt. Dieser Dienst
kann Positionsdaten aus verschiedenen Quellen verarbeiten und als Geo-Position bereitstellen.
Als Quelle kann z.B. auch die geschätzte Positionen auf Basis des IP-Anschlusses dienen. Normalerweise ist es aber das
integrierte GNSS-Modul, mit speziellen Treibern
Viele aktuelle
Windows-Apps folgen exklusiv dem Location-Service Ansatz.
Ältere Programme, oder Analysetools, verwenden üblicherweise die COM-Port Methode oder bieten eine Auswahl an.
Die Anbindung eines externen GNSS-Moduls per COM-Port in diesen Dienst ist dabei nicht mehr vorgesehen. Um ein "klassisches" USB-GNSS-Modul verwenden zu können wird ein passender Location-Service-Treiber benötigt. Typischerweise
wird der vom Hersteller mitgeliefert, verbindet sich direkt mit dem USB-Treiber und klinkt sich in den Location Service ein.
Bei reinen RS232-Modulen hat man aber ein Problem weil solche Treiber nicht mitgeliefert werden.
Einen universellen "Location-Driver" findet man z.B. bei
PilaBlue (nur für Win-64Bit). (scheinbar nicht mehr aktiv..)
Eine weitere Lösung findet sich hier
https://www.gpssensordrivers.com/.
Links
Skript Teil 8 - GNSS,
Ein Skript der Universität Bochum, Vermessungskunde, Prof. Dr. Mischke
Gps_compendiumgps-x-02007.pdf,
das GPS-Kompendium von U-Blox.
U-centerv22.05.zip,
GNSS evaluation software von u-Blox für Windows.
GS-Enduro,
private Webseite mit Erläuterungen zur Navigation
Koordinaten-Umrechner