OpenSeaMap-dev:HW-logger/delayspread: Unterschied zwischen den Versionen
Markus (Diskussion | Beiträge) K |
K (typo) |
||
(2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 3: | Zeile 3: | ||
== Zeitliche Genauigkeit von NMEA Datentelegrammen == | == Zeitliche Genauigkeit von NMEA Datentelegrammen == | ||
− | === | + | === Systemkonfiguration === |
− | ... | + | |
+ | Ein handelsüblicher GPS-Empfänger wird mit einem USB-Hub am [[OpenSeaMap-dev:HW-logger/Victor-HW-Logger|OpenSeaMap-WLAN-Logger]] betrieben. | ||
+ | Dort werden auch über einen Seriell-USB-Wandler die bootseigenen | ||
+ | [http://aprs.gids.nl/nmea NMEA]-Daten aus einer SeaTalk-NMEA-Bridge eingespeist. | ||
+ | Auf dem Bootsbus arbeitet u.a. ein ein weiterer GPS-Empfänger (Furuno). | ||
+ | Ferner ist am Hub noch ein Miniatur-WLAN-Stick angeschlossen. | ||
+ | Mittels [http://www.catb.org/gpsd gpsd] wurden die Datenströme auf dem OpenSeaMap-WLAN-Logger zusammengemultiplext und | ||
+ | über die Drahtlosverbindung zu einem Linux-PC übertragen. | ||
+ | Mit dem Kommando | ||
+ | gpspipe -ur > logfile.nmea | ||
+ | wurden die Daten mit Zeitstempeln versehen aufgezeichnet. Hier ein Datenausschnitt: | ||
+ | 2013-06-24 09:07:29.435524: $IIRMC,070724,A,4038.910,N,01757.410,E,3.3,042.0,240613,3,E,A*15 | ||
+ | 2013-06-24 09:07:29.437945: $IIRSA,-5,A,,V*4F | ||
+ | 2013-06-24 09:07:29.438068: $IIMWV,307.5,R,10.8,N,A*05 | ||
+ | 2013-06-24 09:07:29.494247: $IIMWV,292.5,T,9.2,N,A*3C | ||
+ | 2013-06-24 09:07:30.045399: $IIVHW,329.0,T,326.0,M,3.00,N,5.56,K*5F | ||
+ | 2013-06-24 09:07:30.051770: $IIVPW,1.15,N,0.59,M*5B | ||
+ | 2013-06-24 09:07:30.051882: $IIVWR,052.5,L,10.8,N,5.6,M,20.0,K*5D | ||
+ | 2013-06-24 09:07:30.051919: $GPGSV,3,1,11,02,03,225,19,05,59,265,31,07,40,051,27,08,70,022,23*71 | ||
+ | 2013-06-24 09:07:30.051953: $GPGSV,3,2,11,09,70,288,31,10,39,177,26,13,12,102,15,26,41,306,24*7C | ||
+ | 2013-06-24 09:07:30.051985: $GPGSV,3,3,11,28,52,150,25,19,03,054,20,15,02,295,20*45 | ||
+ | 2013-06-24 09:07:30.052015: $GPZDA,070725.00,24,06,2013,00,00*61 | ||
+ | 2013-06-24 09:07:30.052044: $GPGGA,070725,4038.9157,N,01757.4207,E,1,08,1.20,15.25,M,38.017,M,,*70 | ||
+ | 2013-06-24 09:07:30.052075: $GPRMC,070725,A,4038.9157,N,01757.4207,E,3.3202,33.446,240613,,*1E | ||
+ | Die Busdaten haben ein $II-Präfix, die Navilock-Daten sind mit $GPxxx gekennzeichnet. | ||
=== Ergebnisse === | === Ergebnisse === | ||
− | |||
− | |||
− | |||
− | |||
− | Die Daten des Tiefensensors treten | + | ====Navilock NL-464US==== |
+ | |||
+ | USB GPS Empfänger mit interner Antenne und einem 20 Kanal SiRFstarIII GPS Chipsatz. | ||
+ | http://www.navilock.de/produkte/G_60122/dokumente.html | ||
+ | |||
+ | Auf einem Linux-System liefert dieser GPS-Empfaenger folgende Informationen: | ||
+ | lsusb | ||
+ | ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port | ||
+ | |||
+ | usb-devices | ||
+ | T: Bus=02 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 2 Spd=12 MxCh= 0 | ||
+ | D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 | ||
+ | P: Vendor=067b ProdID=2303 Rev=04.00 | ||
+ | S: Manufacturer=Prolific Technology Inc. | ||
+ | S: Product=USB-Serial Controller D | ||
+ | C: #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=100mA | ||
+ | I: If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=pl2303 | ||
+ | |||
+ | Systemkonfiguration war wie oben beschrieben. | ||
+ | |||
+ | Die drei folgenden Bilder zeigen, dass die ZDA (rot) und RMC (grün, meist verdeckt) Messages des Navilock-GPS | ||
+ | relativ zuverlässig zum gleichen Bruchteil einer Sekunde auftauchen. | ||
+ | Auf der x-Achse sind die Sekunden der lokalen aufgetragen, die Minuten schreiten auf der y-Achse nach oben fort. | ||
+ | Je schräger die rote Linie liegt, desto höher ist die Drift der lokalen Zeitbasis gegenüber der GPS-Zeit. | ||
+ | |||
+ | Die Daten des Tiefensensors treten hier beispielsweise zu stets unterschiedlichen aber vorhersagbaren Zeiten auf. | ||
Das gilt leider auch fuer die RMC-Nachricht eines bordeigenen Furuno GPS. | Das gilt leider auch fuer die RMC-Nachricht eines bordeigenen Furuno GPS. | ||
Interessant ist auch, dass offenbar um die 33. Sekunde jeder Minute besonders hohe Laufzeitstreuungen auftreten. | Interessant ist auch, dass offenbar um die 33. Sekunde jeder Minute besonders hohe Laufzeitstreuungen auftreten. | ||
− | Bei genauerem Hinsehen ist ferner zu beobachten, dass die zeitlichen | + | Bei genauerem Hinsehen ist ferner zu beobachten, dass die zeitlichen Abstände der Navilock-RMC -Nachrichten mit einer |
Periode von 3 Sekunden schwanken. | Periode von 3 Sekunden schwanken. | ||
Aktuelle Version vom 12. Oktober 2013, 23:25 Uhr
- Vorläufige Seite -
Inhaltsverzeichnis
Zeitliche Genauigkeit von NMEA Datentelegrammen
Systemkonfiguration
Ein handelsüblicher GPS-Empfänger wird mit einem USB-Hub am OpenSeaMap-WLAN-Logger betrieben. Dort werden auch über einen Seriell-USB-Wandler die bootseigenen NMEA-Daten aus einer SeaTalk-NMEA-Bridge eingespeist. Auf dem Bootsbus arbeitet u.a. ein ein weiterer GPS-Empfänger (Furuno). Ferner ist am Hub noch ein Miniatur-WLAN-Stick angeschlossen. Mittels gpsd wurden die Datenströme auf dem OpenSeaMap-WLAN-Logger zusammengemultiplext und über die Drahtlosverbindung zu einem Linux-PC übertragen. Mit dem Kommando
gpspipe -ur > logfile.nmea
wurden die Daten mit Zeitstempeln versehen aufgezeichnet. Hier ein Datenausschnitt:
2013-06-24 09:07:29.435524: $IIRMC,070724,A,4038.910,N,01757.410,E,3.3,042.0,240613,3,E,A*15 2013-06-24 09:07:29.437945: $IIRSA,-5,A,,V*4F 2013-06-24 09:07:29.438068: $IIMWV,307.5,R,10.8,N,A*05 2013-06-24 09:07:29.494247: $IIMWV,292.5,T,9.2,N,A*3C 2013-06-24 09:07:30.045399: $IIVHW,329.0,T,326.0,M,3.00,N,5.56,K*5F 2013-06-24 09:07:30.051770: $IIVPW,1.15,N,0.59,M*5B 2013-06-24 09:07:30.051882: $IIVWR,052.5,L,10.8,N,5.6,M,20.0,K*5D 2013-06-24 09:07:30.051919: $GPGSV,3,1,11,02,03,225,19,05,59,265,31,07,40,051,27,08,70,022,23*71 2013-06-24 09:07:30.051953: $GPGSV,3,2,11,09,70,288,31,10,39,177,26,13,12,102,15,26,41,306,24*7C 2013-06-24 09:07:30.051985: $GPGSV,3,3,11,28,52,150,25,19,03,054,20,15,02,295,20*45 2013-06-24 09:07:30.052015: $GPZDA,070725.00,24,06,2013,00,00*61 2013-06-24 09:07:30.052044: $GPGGA,070725,4038.9157,N,01757.4207,E,1,08,1.20,15.25,M,38.017,M,,*70 2013-06-24 09:07:30.052075: $GPRMC,070725,A,4038.9157,N,01757.4207,E,3.3202,33.446,240613,,*1E
Die Busdaten haben ein $II-Präfix, die Navilock-Daten sind mit $GPxxx gekennzeichnet.
Ergebnisse
USB GPS Empfänger mit interner Antenne und einem 20 Kanal SiRFstarIII GPS Chipsatz. http://www.navilock.de/produkte/G_60122/dokumente.html
Auf einem Linux-System liefert dieser GPS-Empfaenger folgende Informationen:
lsusb ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port
usb-devices T: Bus=02 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 2 Spd=12 MxCh= 0 D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 P: Vendor=067b ProdID=2303 Rev=04.00 S: Manufacturer=Prolific Technology Inc. S: Product=USB-Serial Controller D C: #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=100mA I: If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=pl2303
Systemkonfiguration war wie oben beschrieben.
Die drei folgenden Bilder zeigen, dass die ZDA (rot) und RMC (grün, meist verdeckt) Messages des Navilock-GPS relativ zuverlässig zum gleichen Bruchteil einer Sekunde auftauchen. Auf der x-Achse sind die Sekunden der lokalen aufgetragen, die Minuten schreiten auf der y-Achse nach oben fort. Je schräger die rote Linie liegt, desto höher ist die Drift der lokalen Zeitbasis gegenüber der GPS-Zeit.
Die Daten des Tiefensensors treten hier beispielsweise zu stets unterschiedlichen aber vorhersagbaren Zeiten auf. Das gilt leider auch fuer die RMC-Nachricht eines bordeigenen Furuno GPS. Interessant ist auch, dass offenbar um die 33. Sekunde jeder Minute besonders hohe Laufzeitstreuungen auftreten. Bei genauerem Hinsehen ist ferner zu beobachten, dass die zeitlichen Abstände der Navilock-RMC -Nachrichten mit einer Periode von 3 Sekunden schwanken.
Grafiken
- Laufzeitverhalten verschiedener Systemumgebungen und GPS-Empfaenger
- Ausschnitt 1 (aus dem vorhergehenden Bild)
- Ausschnitt 2 (aus dem vorhergehenden Bild)