Re: Unterschied -Höhenangaben in GPSies - bikemap

von: derSammy

Re: Unterschied -Höhenangaben in GPSies - bikemap - 12.09.17 11:36

Hysterese bezeichnet nach meinem Verständnis, dass ein System/Gerät/etc. nicht nur auf die aktuellen Steuereingaben reagiert, sondern dass die Reaktion auch von den Vorgängerzuständen des Systems abhängt.

Beispiel: Wenn du einen Gummiblock auf einen Tisch legst und dann oben eine Kraft anlegst, die den Block von dir weg schert, wird der Block eben ausgelenkt.
Wenn du das periodisch machst, den Block also vor-zurück-vor-zurück wabbeln lässt, dann "schwingt der sich in diese Richtung ein" und es ist weniger Kraft nötig, um ihn in gleichem Maße auszulenken. Der Gummi hat sich also "gemerkt", dass er vor-zurück verformt worden ist. Um den Block in gleichem Maße nach rechts-links auszulenken, ist dann eingangs mehr Kraft nötig (bis der Block sich womöglich in diese Richtung eingeschwungen hat). Das ist Hysterese. Ersetzt du den Gummiblock durch eine Stahlfeder, so merkt diese sich nicht, wie sie zuvor ausgelenkt worden ist und ihre Auslenkung wird immer proportional zur angelegten Auslenkungskraft sein (Hooksches Gesetz). Die Feder zeigt keine Hysterese.


Was die Höhenmeterberechnung betrifft, habe ich an derer Stelle glaube schon mal folgenden Algorithmus vorgeschlagen:

(1) Initiierung: Setze HÖHE_1 auf Ausgangsniveau, HÖHE_2 auf Ausgangsniveau, STEIGUNG auf "rauf". DELTA vorwählen.

(2) Iteration:
A) ermittle aktuelle Höhe.
B1) Wenn STEIGUNG="rauf" und aktuelle Höhe >HÖHE_2, dann aktuelle Höhe auf HÖHE_2 speichern.
B2) Wenn STEIGUNG="runter" und aktuelle Höhe <HÖHE_2, dann aktuelle Höhe auf HÖHE_2
speichern.
C1) Falls STEIGUNG="rauf" und aktuelle Höhe <Höhe_2-DELTA, dann:
HÖHE_2-HÖHE_1 zu den raufgefahrenen Höhenmetern hinzuzählen, HÖHE_2 auf HÖHE_1 speichern, aktuelle Höhe auf HÖHE_2 speichern, STEIGUNG auf "runter" setzen.
C2) Falls STEIGUNG="runter" und aktuelle Höhe >Höhe_2+DELTA, dann:
HÖHE_1-HÖHE_2 zu den runtergefahrenen Höhenmetern hinzuzählen, HÖHE_2 auf HÖHE_1 speichern, aktuelle Höhe auf HÖHE_2 speichern, STEIGUNG auf "rauf" setzen.
D) Falls keiner der Fälle B oder C eintritt, nichts tun.

(3) Ende: bei STEIGUNG="rauf" HÖHE_2-HÖHE_1 zu den Aufstiegsmetern, bei STEIGUNG="runter" HÖHE1-HÖHE_2 zu den Abstiegsmetern hinzuzählen.

Mit dem Algorithmus erfasst du auch in deinem Beispiel die Aufsteigsmeter sehr genau. Das DELTA steuert lediglich, wieviele Meter eine Monotonieumkehr (d.h. zwischenzeitlicher Abstieg) wirklich groß sein muss, damit diese berücksichtigt wird. Wählt man DELTA zu klein, berücksichtigt man in der Realität nicht vorhandene Gegenanstiege, wählt man es zu groß, kann es sein, dass man in der Realität vorhandene Gegenanstiege nicht berücksichtigt.

Unabhängig von diesem Algorithmus kann es sinnvoll sein die Höhendaten noch zu glätten, bevor man die "aktuelle Höhe" auswertet.