How Flysight calculates Skydiver Airspeed (SAS)?

33 views
Skip to first unread message

Esa-Matti Suuronen

unread,
Oct 6, 2016, 11:46:00 AM10/6/16
to FlySight Developers
Hi!

I'm developing a tool which generates subtitle files from Flysight data for on screen data display:

https://epeli.github.io/flysight-subtitles/ (It's free and open source!)

It's already working well, but I'd like to add support for Skydiver Airspeeds (SAS) and I'd like to implement it closely as possible to the Flysight firmware implementation so I would see on the video same values as I hear in the sky via Flysight.

I know I can see the Flysight C implementation here


but my knowledge of embedded C is not so good :) So I would really appreciate if somebody could explain the algorithm in layman's terms.

Also even in general I'm bit baffled how it works. AFAIK to calculate it you must know the air pressure but afaik Flysight does not have a barometer. One can estimate the air pressure from altitude but you need a temperature reading for that and again afaik Flysight does not have a sensor for that neither. Do you use some constant for the temperature?


Thanks!


Best regards,
Fellow nerd wingsuiter
Esa-Matti Suuronen

Michael Cooper

unread,
Oct 6, 2016, 1:28:00 PM10/6/16
to flysig...@googlegroups.com
Hi Esa-Matti--

The firmware uses the standard atmospheric model. The following code from the FlySight Viewer might give a better idea of how this is calculated:



We start with an altitude above sea level, y, and first calculate air pressure:

const double airPressure = SL_PRESSURE * pow(1 - LAPSE_RATE * y / SL_TEMP, A_GRAVITY * MM_AIR / GAS_CONST / LAPSE_RATE);

Next we find the temperature at altitude using the standard lapse rate:

const double temperature = SL_TEMP - LAPSE_RATE * y;

And then we can calculate the air density at altitude:

const double airDensity = airPressure / (GAS_CONST / MM_AIR) / temperature;

Finally, we can use the first equation for equivalent airspeed here (relating the correction factor to air density at altitude):


When I originally wrote the speed correction code in the FlySight firmware, I used a source which skipped this derivation and simply gave the final result. However, I can't find that source now. But I've just checked these calculations against the table in the FlySight firmware and they seem to give very nearly the same result (at 11,450 m the original table gives a correction factor of 1024/1944, while the new calculation gives 1024/1945).

Michael

--
You received this message because you are subscribed to the Google Groups "FlySight Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to flysight-devs+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Esa-Matti Suuronen

unread,
Oct 6, 2016, 2:07:51 PM10/6/16
to flysig...@googlegroups.com
Thanks! This helps a lot.

I quickly hacked together a Javascript implementation to test it out


So this adjusts the speed to the sea level air density. You are doing that too? I'm asking because Larsen & Brusgaard seem to adjust SAS to 4000 feet:



Esa


To unsubscribe from this group and stop receiving emails from it, send an email to flysight-dev...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "FlySight Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to flysight-dev...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages