OpenStreetMap

Höhenprofile aus GPS Tracks, Teil 2: Die Wahrheit

Posted by Robhubi on 3 June 2020 in German (Deutsch)

Bild PP Runden

1 Zusammenfassung

DIE Wahrheit ist natürlich eine schöne Illusion. Aber der Wahrheit näher kommen, sie auf ein bestimmtes Maß einzugrenzen, das ist machbar. Der Weg führt über Fehleranalysen und experimentell unterstützte Abschätzungen zu einem einfachen Modell für die Berechnung des kumulierten Anstieges. Am Ende steht die Antwort, welches Tool am besten rechnet.

Methodenwahl Soll die Höhe mit GPS oder barometrisch bestimmt werden? Die GPS-Höhenmessung streut sehr stark (1sa = mehrere Meter) und neigt bei Abschattungen zu Ausreißern. Die barometrische Höhenmessung streut in kurzen Zeitperioden sehr wenig (1sa = mehrere cm), geht jedoch langfristig mit dem Wetter mit.

Im Normalfall – flache Teilstücke wechseln sich mit steileren Abschnitten ab – ist die niedrige Streuung der barometrischen Höhenmessung für die Berechnung des kumulierten Anstiegs eindeutig vorteilhaft.

Sensorrauschen Aktuelle Drucksensoren für Höhenmessungen haben ein ungemein niedriges Rauschen von <2cm. Diese phantastische Entwicklung kommt vom breiten Einsatz in Smartphones und der Hoffnung auf Indoor Navigation.

Druckrauschen Es gibt kein stabiles Wetter. Die 50 km hohe Luftsäule, die auf den Sensor drückt, wabert die ganze Zeit hin und her und erzeugt damit Druckschwankungen. Das Druckrauschen kann mit 2 nahe beieinanderliegenden Messstationen abgeschätzt werden. Die beiden LUIS-Stationen in Graz-Nord und Oeversee Park hatten im Wochenschnitt (1/2h Auflösung) eine Streuung von 1sa = ±0,125 hPa. Das entspricht einem Höhenrauschen pro Station von 1sa = ±0,75 m.

Sonstige Einflussgrößen Absolute Richtigkeit und Winddruck sind in erster Näherung vernachlässigbar. Nur die Sensor-Temperatur könnte sich noch bemerkbar machen. Der Sensor BMP280 ist z.B. mit ±12,6 cm/K spezifiziert. Für genaue Höhenmessungen sollten längere Pausen in der Sonne vermieden werden.

Experimentelle Bestimmung der Messunsicherheit Das ist ganz einfach. Denselben –vorzugsweise flachen – Rundkurs 21 mal fahren und die Höhen mit dem Baro korrigieren. Der Mittelwert der Höhen ist eine gute Schätzung für das wahre Höhenprofil. Die durchschnittliche Abweichung vom Mittelwert ist der 1s-Wert der Messunsicherheit. Ergebnis Messunsicherheit Höhe: 1sa = ±0,34 m.

Der gemessene Wert passt gut zum Druckrauschen berechnet aus den beiden LUIS-Stationen (±0,75m). Die Differenz ist wegen der stark unterschiedlichen Messzeit – 30min zu 1 Woche – plausibel.

Algo zur Berechnung der Höhensummen Höhenänderungen werden nur aufsummiert, wenn sie einen bestimmten Schwellwert überschreiten. Der Schwellwert wird als Vielfaches der Höhen-Messunsicherheit angesetzt:

​ Schwellwert = p·SA_h = p·0,75 m

Mit „p“ kann das gewünschte Verhältnis zwischen Fehler erster und zweiter Art eingestellt werden. Mit p=0,67 sind beide Irrtümer gleich wahrscheinlich. Mit p=2…3 wird nur selten bis sehr selten ein Rauschsignal als Höhenänderung einberechnet. Hingegen wird öfter eine echte Höhenänderung als Rauschsignal unterdrückt.

Höhensumme der Route 10vor Graz Der mit o.a. Algo berechnete Schätzwert für die wahre Höhensumme der Runde „10vorGraz“ liegt bei 1773 hm mit einem Unsicherheitsbereich von (1733 … 1801) hm

Dem „wahren“ Wert am nächsten kommt Strava mit 1779 hm.

2 Analysen

In den Analysen werden die jeweiligen Fehlerbeiträge abgeschätzt. Es soll ein realistisches Bild vom Summenfehler und den Hauptbeitragenden entstehen.

2.1 GPS-Höhe oder barometrische Höhe

Die Abb 1 zeigt die prinzipiellen Probleme beider Methoden: die GPS-Höhe hat eine schlechte Präzision (sa=6,98m) und die barometrische Höhe geht mit dem Wetter mit. Die Höhe barometrisch zu bestimmen hat aber zwei Vorteile: (i) der Baro-Fehler ist korrigierbar und (ii) die Höhenauflösung benachbarter Punkte ist um den Faktor 100 besser.

Abb 1: Höhenaufzeichnung über einen typischen Tag bei fixierter Lage (Höhe=const). Die GPS-Höhe streut, die barometrisch bestimmte Höhe geht mit dem Umgebungsdruck mit. Garmin, Messort Gartenhütte. Abtastrate 1/min

Für bestmögliche Präzision der barometrischen Höhenmessung sollte:

  • Die Autokalibration mit der GPS-Höhe abgeschaltet und durch einmalige Kalibration beim Einschalten ersetzt werden.
  • Bei Pausen das Gerät nicht ausschalten
  • Nachträgliche Baro-Korrektur mit den Werten einer ortsfesten Referenzstation

Die Baro-Korrektur ist über die barometrische Höhenstufe Dh/DP sehr einfach durchführbar. In tiefen Lagen ist Dh/DP rund 8 m/hPa. Den exakten Wert liefert die barometrische Höhenformel. Oft sind aber die tabellierten Näherungswerte ausreichend [1].

2.2 Spezifikation Baro-Sensor

Baro-Sensoren werden seit 2014 in Smartphones verbaut. Die häufigsten Typen sind [2]:

  • BMP280: iPhone 6/7, Galaxy S6/S7, Xiaomi 5
  • BMP180/182: Galaxy Note 2/3, Xiaomi M2, Sony Ericsson Active, Nexus 3/4
  • LPS331AP: Galaxy S3, S4

Tab 1: Kernspezifikation des BMP280 [3]

Parameter typisch     entsprechend    Bedingung
Absolute accuracy * ±1 hPa ±8,5 m 950 …1050 hPa, 0 …+40 °C
Relative accuracy ** ±0,12 hPa ±1,0 m 700 … 900 hPa, 25 . . . 40 °C
Offset temperature coeff. ±1,5 Pa/K ±12,6 cm/K 900 hPa, 25 . . . 40 °C
Noise in pressure ±0,2 Pa ±1,7 cm Filter max, ultra high res.
  ±1,3 Pa ±11,0 cm Filter off, ultra high res.
Pressure resolution 0,16 Pa 1,4 cm ultra high resolution mode

*) beinhaltet auch den Fehler des herstellerseitigen Kalibrier-Standards
**) Unrichtigkeit des Sensors allein (Kalibrier-Standard ist ideal angenommen)

Je nach Einstellung sind die Rauschwerte gut bis sehr gut. Nicht alle Sensoren sind so gut. Der Sensor in der Wetterstation WS-2090 (Abb 1) hat ein mehr als 10faches Rauschen.

Signifikant könnte der Temperatur-Koeffizient werden. Längere, abwechselnde Fahrten in Sonne und Schatten können mit bis zu 5 °C Temperaturänderungen verbunden sein. Laut Spezifikation würden das 63 cm Höhenschwankungen bedeuten. Die relativ große Zeitkonstante wird den Effekt aber in Grenzen halten.

Für Fehlerabschätzungen sollte das mögliche „Wärmerauschen“ zumindest mit ±33 cm angesetzt werden.

2.3 Barometrisches Rauschen

Jeder kennt die kleinen Wirbelwinde über heiße Flächen, die Staub, Halme oder Blätter kreisen lassen. Das ist der sichtbare Teil von kleinräumigen Instabilitäten in den Luftschichtungen. Diese Instabilitäten sind schnell, sie bauen sich innerhalb weniger Sekunden auf und dauern nur kurz im Minutenbereich.

Die großräumig zu beobachtenden, systematischen Luftdruckänderungen sind deutlich weniger dynamisch. Sie können sehr gut durch 30 min-Mittelwerte beschrieben werden.

Aktuelle MEMS Baro-Sensoren sind außerordentlich dynamisch, die Zeitkonstante liegt im ms-Bereich. Das Rauschen ist von Natur aus hochfrequent. Durch On-Chip Signalverarbeitung ist aber eine weite Anpassbarkeit möglich.

Abb 2 zeigt die die Druckunterschiede von 2 ortsfesten Wetterstationen (EVA700; 0,001 hPa Auflösung) [4]. Auch in den 1/2h-Mittelwerten sind dynamische Druckunterschiede sichtbar. Die Standardabweichung der Differenzen beträgt ±0,125 hPa, entsprechend ±1,1 m. Das ergibt pro Station 1,1/√2 = 0,75 m.

Eine ähnliche Auswertung für die 34,7 km entfernte Wetterstation Deutschlandsberg ergibt eine Standardabweichung der Druckdifferenzen zu ±0,262 hPa, entsprechend ±2,2 m. Hier spielt bereits die großräumige Dynamik der Luftdruckentwicklung hinein.

Abb 2: Druckverlauf von 2 ortsfesten Messstationen des Landes Steiermark (LUIS) über 8 Tage. Die Entfernung zueinander beträgt 3,5 km. Messpunkte sind 1/2 h Mittelwerte, Streuung der Differenzen pro Station: 1sa=0,75m

2.4 Sensorrauschen

Abb 3 zeigt den Versuch, das vom Garmin aufgezeichnete Höhensignal, bei fixierter Lage, in den 3 Anteilen

  1. langsame Druckänderungen (Periode: einige 10 min)
  2. schnelle Druckänderungen (Periode: wenige Minuten)
  3. Sensorrauschen (Periode: einige Sekunden)

aufzuspalten.

Abb 3: Höhenaufzeichnung über 50min bei fixierter Lage (Höhe=const). Die Höhenänderung wird in 3 Anteile zerlegt: (1) langsame Druckänderung (grün); (2) schnelle Druckänderung (rot) und (3) Sensorrauschen (blau). Die orange Linie ist die zeitsynchrone Druckaufzeichnung der Wetterstation „IGRAZ379“. Garmin, Messort im Garten. Abtastrate 1/s. Sensorrauschen 1sa=10cm

Die Auswertung dieser Signale ergab für den Drucksensor des Garmins (RMS Rauschen = Standardabweichung):

RMS-Rauschen Sensor: ±10 cm Das passt recht gut zu den o.a. Spezifikationen.

2.5 Winddruck

Schnelle Fahrt oder Windböen erzeugen am Gerät einen Staudruck, der als Höhenänderung gemessen wird. Zur Abschätzung wird ein Tischventilator 60cm vor dem Garmin platziert und 10x für jeweils 30s ein- bzw. ausgeschaltet.

Ein Effekt ist visuell nicht erkennbar (Abb 4), nur im statistischen Mittel sinkt die Höhe signifikant (p=0,009) um 14 cm. Der 95% Vertrauensbereich liegt bei 4 … 23 cm. Die Höhenänderung durch Winddruck ist vernachlässigbar.

Abb 4: Höhenänderung bei periodischer Staudruckänderung mittels Tischventilator (~5m/s). Der Ventilator wurde 10x für je 30s ein- bzw. ausgeschaltet. Garmin Oregon 650 fixiert.

2.6 Messung des Summenfehlers

Fehlerabschätzungen sind gut für das Verständnis, Sicherheit gibt aber die direkte Messung. Die Methode ist simpel: einen ebenen Rundkurs mindestens 20 Mal fahren. Nach Korrektur des systematischen Baro-Fehlers ist der Mittelwert eine gute Schätzung für den wahren Wert und die Streuung ein Maß für den unsystematischen Summenfehler.

Als Rundkurs wurde der Parkplatz eines Baumarktes in der Nähe gewählt. Feiertags war es einsam genug, damit ein im Kreis fahrender Verrückter nicht auffällt. Das Wetter war optimal: Wind mit Böen bis 17 km/h, Vollsonne und Wolken im Wechsel, Baro durchschnittlich.

Die Auswertung als Bildergeschichte:

Abb 5: (i) Rundkurs 21-mal gefahren Zoom

Abb 6: (ii) Schätzung Baro-Verlauf aus 21 Höhenwerten am Startpunkt und Korrektur Zoom

Abb 7: (iii) Anwendung der Baro-Korrektur auf jedes Höhenprofil Zoom

Abb 8: (iv) Mittelung der Höhenprofile Zoom

Abb 9: (v) Differenzen der 21x gemessenen Höhenprofile zum „wahren“ Höhenprofil. Mittlerer Höhenfehler 1sa=34cm Zoom

Die in Abb 9 dargestellten Residuen zeigen einen generellen Trend, der auf eine suboptimale Baro-Korrektur hinweist. Zwischen den Runden 6 und 11 liegen die gemessenen Höhenprofile zu hoch. Das ist ziemlich sicher auf die Sonne zurückzuführen, die etwa zu der Zeit aus den Wolken kam und die gesamte Asphaltfläche erwärmte.

Während der 21 Runden fiel der Baro um 0,40 hPa (entspr. +3,44m). Die Differenzwerte der beiden LUIS-Stationen lagen bei 1sa = 0,0453 hPa, das entspricht einem Druckrauschen pro Station von 0,28m.

Die Schätzwerte für das wahre Höhenprofil aus der Mittelung:

Minimale Höhe 344,50 m
Maximale Höhe 345,55 m
Kum. Anstieg 1,39 m
Kum. Abstieg -1,39 m
Std. Abw. Höhe (SA_h) 0,34 m
Std. Fehler Höhe 0,08 m

Das bei weitem wichtigstes Ergebnis ist die Standardabweichung Höhe = 34cm. Sie ist etwa 3x so groß wie das Sensorrauschen allein und enthält alle unkorrigierbaren Einflüsse, die während der 21 Runden aufgetreten sind (Abb 9).

2.7 Rauschfilter

Ohne Filter würde das Signalrauschen bei flachen Teilstücken unrealistisch hohe kumulierte An- bzw. Abstiege bewirken. Vor der Dimensionierung des Filters steht die Frage, gegen welchen Fehler man sich primär schützen will: Rauschen als Höhenänderung missdeuten oder echte Höhenänderung als Rauschen missdeuten? Das eine geht immer auf Kosten des anderen.

Zwei Ansätze sind denkbar:

(i) beide Fehler gleich gewichten – mit der Konsequenz im Mittel zwar gut zu liegen, aber eine größere Streuung, insbesondere zu höheren Werten hin, zu beobachten.

(ii) Rauschen sicher unterdrücken – mit der Konsequenz im Mittel zu tief zu liegen, aber eine kleinere Streuung zu beobachten.

Das einfachste Rauschfilter besteht darin, nur Höhenänderungen für die Berechnung des An-/Abstieges zu akzeptieren, die einen Schwellwert überschreiten. Es macht Sinn den Schwellwert als Produkt p·SA_h aufzufassen.

Parameter “p” p=0,67 für „Fehler gleich gewichten“. In der Normalverteilung liegen bei p=±0,6745 ca. 50% der Wert innerhalb und 50% der Werte außerhalb.

P=2…3 für „Rauschen sicher unterdrücken“. In der Normalverteilung liegen bei p=±2…3 entsprechend 5%…1% der Werte außerhalb. D.h. ein echtes Rauschsignal wird nur in 5%…1% der Fälle als Höhe missdeutet. Es heißt aber auch, dass eine echte, kleine Höhenänderung als Rauschen missdeutet wird.

Parameter “SA_h” SA_h ist der mittlere, zufällige Fehler der Höhenmessung. Er setzt sich primär aus Sensorrauschen und Druckrauschen zusammen.

Die Messung des Summenfehlers mit 1sa=±34cm (Abb 9) ist für diese Messung relevant, aber ob der kurzen Beobachtungsdauer von 35min, nicht wirklich repräsentativ. Da ist der 8 Tageswert von Abb 2 mit 1sa=±75cm sicher besser geeignet:

SA_h = 75cm

3 Ergebnisse

Mit dem o.a. Rauschfilter können die kumulierten An- und Abstiege berechnet werden.

3.1 Kumulierter Anstieg Parkplatzrunden

Die Rohdaten sind mit der großräumigen, systematischen Druckänderung korrigiert. Als Streumaß wird die tatsächlich beobachtete Streuung SA_h=0,339 m verwendet.

Tab 2: Kumulierter Anstieg der Parkplatzrunden vs p. Schwellwert = p·0,339m. Zielwert Anstieg: 29,19m

p          k. Anstieg in m     k. Abstieg in m
0 38,90 -38,44
0,67 27,21 -26,74
2 11,12 -10,61
3 5,27 -5,25


„p=0“ entspricht keiner Filterung. Der kumulierte Anstieg ist erwartungsgemäß deutlich zu hoch.
„p=0,67“ kommt dem Zielwert am nächsten
„p=2…3“ liefert erwartungsgemäß deutlich zu tiefe Werte.

Der Garmin Oregon 650 hat als kumulierten An-/Abstieg = 7m bzw. 4m ausgegeben. Offenbar arbeitet der Garmin nach der Methode „Rauschen sicher unterdrücken“ mit p~3

1.1 Kumulierter Anstieg Route „10vorGraz“

Waymarked Trails hat für die Route 10vorGraz – im Vergleich zu anderen GPX Analysatoren – auffällig niedrige Höhensummen ausgewiesen. Die detaillierte Gegenüberstellung war Thema meines vorigen Beitrages.

Ein Leser stellte die Frage, wer nun der Realität am nächsten kommt. Die Frage konnte ich damals nicht beantworten, da mir der wahre Wert unbekannt war. Die Wahrheit kenne ich auch heute nicht, aber ich glaube den richtigen Wert eingrenzen zu können.

Tab 3: Kumulierter Anstieg der Rundtour 10vorGraz vs p. Ohne Baro-Korrektur. Schwellwert = p·0,4m

p        k. Anstieg in m     k. Abstieg in m     (Anstieg+Abstieg)/2
0 1809,6 -1794,4 1802
0,67 1782,0 -1767,0 1774
2 1756,6 -1740,8 1749
3 1742,8 -1727,0 1735


Tab 4: Kumulierter Anstieg der Rundtour 10vorGraz vs p. Mit Baro-Korrektur. Schwellwert = p·0,4m

p        k. Anstieg in m     k. Abstieg in m
0 1800,9 -1801,0
0,67 1773,2 -1773,5
2 1750,7 -1751,1
3 1733,6 -1733,1


Das Streumaß von SA_h=0,4m gilt für den konkreten Tour-Zeitpunkt und stammt aus den LUIS-Daten vom 07.04.20 10:00-15:00. Der Unterschied der Ergebnisse mit dem allgemeineren Wert SA_h=0,75m sind aber nicht sehr groß. Für p=0,67: 1773 hm –> 1763 hm

Der Vergleich von Tab 3 und Tab 4 zeigt, dass die Baro-Korrektur nicht unbedingt erforderlich ist. Bei einem Rundkurs ist das arithmetische Mittel von An- und Abstieg eine ausreichende Näherung für die zeitsynchrone Baro-Korrektur. Für Routen mit unterschiedlichem Start und Ziel korrigiert man An- bzw. Abstieg - vorzeichenrichtig - mit dem Hälftewert der barobedingten Höhenverschiebung.

Der Schätzwert für die wahre Höhensumme der Runde „10vorGraz“ liegt bei 1773 hm mit einem Unsicherheitsbereich von (1733 … 1801) hm.

Dem „wahren“ Wert am nächsten kommt Strava mit 1779 hm. Alle anderen Prüflinge liegen außerhalb des Unsicherheitsbereiches.

4 Referenzen

[1] https://de.wikipedia.org/wiki/Barometrische_Höhenformel#Die_Höhenstufen
[2] https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6022159/
[3] https://www.bosch-sensortec.com/media/boschsensortec/downloads/datasheets/bst-bmp280-ds001.pdf
[4] https://www.umwelt.steiermark.at/cms/ziel/2060750/DE/

Location: Harmsdorf, Jakomini, Graz, Steiermark, 8010, Österreich

Comment from Luzandro on 11 June 2020 at 04:57

sehr interessante Analyse!

Login to leave a comment