Returns true airspeed, given GPS groundspeed and track on at least
three legs (four legs preferred). Uses the method developed by Doug
Gray - http://www.kilohotel.com/rv8/rvlinks/doug_gray/TAS_FNL4.pdf
GS and TK are lists of ground speed and track data.
Three legs:
If verbose = 0, then only TAS is returned.
If verbose = 1, then TAS, wind speed and direction are returned.
If verbose = 2, then TAS, wind speed and direction and the heading
for each leg are returned. The wind speed and direction is
returned as a tuple, and the headings are returned as a tuple
Four legs:
Data from only three legs is sufficient to calculate TAS. If data
four legs is entered, four different calculations are conducted,
using a different mix of three data points for each calculation.
If the data quality is high, the TAS and wind for all four
calculations will be similar. The standard deviation on the TAS is
calculated - good quality data will have a standard deviation of
less than 1 kt.
If verbose = 0, then only TAS is returned.
If verbose = 1, then TAS and its standard deviation are returned.
If verbose = 2, then TAS, its standard deviation and the four wind
speeds and directions are returned (the winds are returned as a list
of four tuples)
Validated against sample data in four leg tab of NTPS GPS PEC spreadsheet:
http://www.ntps.edu/Files/GPS%20PEC.XLS
Examples:
Data for all examples:
>>> gs = [178, 185, 188, 184]
>>> tk = [178, 82, 355, 265]
Determine the TAS, given the above data from four runs:
>>> gps2tas(gs, tk)
183.72669557114619
Determine the TAS and standard deviation from the four calculations:
>>> gps2tas(gs, tk, verbose = 1)
(183.72669557114619, 0.82709634705928436)
Determine the TAS, standard deviation, and wind speed and direction
for each calculation:
>>> gps2tas(gs, tk, verbose = 2)
(183.72669557114619, 0.82709634705928436, ((5.2608369270843056, 194.51673740323213), (3.5823966532035927, 181.52174627838372), (5.1495218164839995, 162.69803415599802), (6.4436728241320145, 177.94783081049718)))
|