WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Designer Forum (http://www.wcm.at/forum/forumdisplay.php?f=61)
-   -   Speed Trend Vector (http://www.wcm.at/forum/showthread.php?t=192879)

AndreasH22 02.06.2006 21:08

Speed Trend Vector
 
Ich möchte in ein Gauge einen Speed Trend Vector einbauen. Dieser soll immer 10s vorausschauend die erwartete Geschwindigkeit anzeigen.

Ich habe vor über die Beschleunigung folgendermaßen zu rechnen:

Erwartete Geschwindigkeit (die der Trend Vector anzeigt)=Momentangeschwindigkeit+Beschleunigung m/s² * 10s


Stimmt die Überlegung?
Kann ich für die Beschleunigung folgenden Offset in FSUIPC verwenden?

3070 8 Z (longitudinal, or forward/backward) acceleration in ft/sec/sec relative to the body axes (see Note at end of table). This is in double floating point format (FLOAT64). [FS2000 and later]


bin für Vorschläge und Meinungen sehr dankbar!

lg Andreas

HansHartmann 03.06.2006 00:56

Bittesehr:

PHP-Code:

    MODULE_VAR airspeed = { AIRSPEED };
lookup_var(&airspeed);
    
DampSpeed = (airspeed.var_value.* (1.0 0.7)) + (OldDampSpeed 0.7);
SpeedTrend airspeed.var_value.+ ((DampSpeed OldDampSpeed) * 30);
OldDampSpeed DampSpeed

Die 30 musst du auf 10 Sekunden abändern. Kommt halt hier darauf an, wie oft du die Funktion aufrufst. Bei den üblichen 18 Gauge-Zyklen pro Sekunde wären es also 180 für 10 Sekunden.

harry3 03.06.2006 17:16

Hans,

wie bist du denn auf die Formel gekommen!? Ist die durch Ausprobieren entstanden oder kann man die irgendwie herleiten?


Grüße,
Harri

HansHartmann 03.06.2006 20:18

Die gabs irgendwann vor zwei Jahren mal im AVSIM-Forum. Wenn ich mich nicht sehr täusche, dann hat Arne die damals gepostet. Funktioniert auf jeden Fall ziemlich gut.

AndreasH22 03.06.2006 21:04

Danke!

Ich versteh da aber einiges nicht:

Was ist die DampSpeed?

SpeedTrend = airspeed.var_value.n + ((DampSpeed - OldDampSpeed) * 30); // ind der Zeile tust du doch nichts anderes, als ich aufgeschrieben hab oder? wenn du die Differenz zwischen zwei Geschwindigkeien über die Zeit betrachtest, dann ist das doch die Beschleunigung. DIe Multiplizierst du dann mit 30


Demnach müsste die airspeed.var_value.n die momentane Geschwindigkeit sein und (DampSpeed - OldDampSpeed) die Beschleunigung?

danke für die Hilfe,

Andreas

HansHartmann 04.06.2006 09:11

Das kommt in etwa so hin. Die korrekte Beschleunigung ist es natürlich nicht, aber zumindest kommt es in den interessanten Geschwindigkeitsbereichen näherungsweise hin.

Der Grund für die Verwendung einer Dämpfung ist, dass die IAS (airspeed.var_value.n) des FS ziemlich sprunghaft ist und ansonsten für einen wild umher springenden Speed Trend Vector sorgen würde.

AndreasH22 04.06.2006 12:20

Sehr gut,

werd das einmal so reinklopfen ins Programm und mal schauen, was da rauskommt!

Der Hinweis mit der Dämpfung ist glaub ich sehr wichtig. Da wär ich selbst sicher nicht draufgekommen.

lg Andreas

EduHir 04.06.2006 12:27

Da gibt's einen Thread dazu.

http://forums.avsim.net/dcboard.php?...age=show_topic

Ich verwende auch die oben von Hans genannte Formel. Aber trotzdem, irgendwie nicht ganz zufriedenstellend.

Und 10 sec vorausschauen?? Ich schaue nur eine 1 sec zurück! Und da sind einige starke Schwankungen drinnen.

Aber bitte poste dein Ergebnis!!
Wäre sehr interessiert an solchen Sachen!

edi


Alle Zeitangaben in WEZ +2. Es ist jetzt 06:19 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag