Beispiel 2 - Wegstrecke aus Geschwindigkeit
Beispiel 2 - Wegstrecke aus Geschwindigkeit:
Aufgabe:
Der Laufkilometerstand eines Fahrzeugs VEH_DIST_KM
, der nur ganze "km" zählt, soll mit Hilfe des Geschwindigkeitssignals VEH_SPEED_KMPH
so erweitert werden, dass eine feinere Auflösung zur Verfügung steht.
Lösung:
// Konstanten zur Einheitenumrechnung
uConv_kmph2mps = 1.0 / 3.6; // km/h -> m/s
uConv_m2km = 1e-3; // m -> km
SPEED = VEH_SPEED_KMPH * uConv_kmph2mps; // m/s
DIST_KM = integrate(SPEED, {storage: 'sto_DIST'})
* uConv_m2km; // km
DIST_FRAC = integrate(SPEED, posedge(VEH_DIST_KM), {storage: 'sto_DIST_frac'})
* uConv_m2km; // km
VEH_DISTFINE = VEH_DIST_KM + DIST_FRAC; // km
Verwendete Funktionen
Erläuterung:
-
uConv_kmph2mps, uConv_m2km
: Zunächst werden Faktoren zur Einheitenumrechnung definiert. Dies verbessert die Lesbarkeit des folgenden Codes. Solche Definitionen werden günstiger Weise zentral am Anfang des Formelsatzes platziert. -
SPEED
: Das Geschwindigkeitssignal des Fahrzeugs, die in km/h gemessen wird, wird zunächst in m/s umgerechnet. Diese Geschwindigkeit ist leicht integrierbar. -
DIST_KM
: (Bonus!) Aus dem Geschwindigkeitssignal kann der gesamte Laufkilometer-Stand ermittelt werden. Der Integratorintegrate()
fügt seinem Integranden die Dimension Zeit mit der Einheit s (Sekunde) hinzu. Damit ergibt sich die Wegstrecke in m (Meter), die dann in die gewünschte Zieleinheit km umgerechnet wird. -
DIST_FRAC
: Auch hier wird aus dem Geschwindigkeitssignal eine Wegstrecke integriert. Allerdings wird diese immer dann auf Null zurückgestellt, wenn mitposedge()
in dem Kilometer-Zähler des Fahrzeugs ein Sprung auf den nächsten Kilometerstand festgestellt wird. -
VEH_DISTFINE
: Die genauer aufgelöste Wegstrecke des Fahrzeugs ergibt sich, wenn der zuvor bestimmte Teilbetrag zum Zählerstand des Fahrzeugs hinzugerechnet wird.