Deducing the Mid-Flight Speed of MH370

Deducing the Mid-Flight Speed of MH370

Brian Anderson 
2015 March 20

(Document prepared 26 December 2014)


  1. Introduction 

Contact was lost with the crew of Malaysia Airlines flight MH370 at about 17:20 UTC on 7th March 2014. Despite extensive searches no trace has yet been found. Later in March 2014 the Inmarsat company released limited information regarding communications between MH370 and the Inmarsat-3F1 satellite, illustrating two hypothetical tracks southwards into the Indian Ocean, one at a constant speed of 400 knots, and one at 450 knots. A redacted version of the Inmarsat communication log was released at the end of May 2014. Specifically, the Burst Timing Offset (BTO) data released in the log file enabled a more accurate determination of the locations the so-called ‘ping rings’, and the distances of these rings from the sub-satellite position.

At about this time many other people, Inmarsat and the ATSB among them, made attempts to illustrate possible flight paths, choosing assumed speeds in order to intercept the ping rings at the appropriate times. It was very clear that the speed assumptions were not much more than guesses, and most flight paths required changes of aircraft heading at each ping ring in order to fit against the known travel times between those rings. Figures 1 and 2 illustrate some of these guesses; many other examples could be given.


Figure 1: An early example of putative paths to the Southern Indian Ocean using assumed speeds of 450 knots (yellow) and 400 knots (red).


Figure 2: An example of early priority search regions (since recognized to be incorrect). The intent in showing this example is to illustrate how various path models used changes of directions at the ping ring locations, which is obviously non-physical.  

The purpose of this paper is to show that it is possible to deduce the speed of MH370 in the mid-flight phase (specifically between about 19:41 and 20:41 UTC) using minimal data from the Inmarsat logs. The resulting value for the speed agrees well with the known speed of the aircraft soon after it had reached cruise altitude following take-off and before its turn back at 17:21 UTC near waypoint IGARI.

This hypothesis regarding how the aircraft speed might be deduced was first proposed in May 2014 (see below). The calculation was refined and updated progressively with new data over the following few weeks. This paper is a consolidation of a number of blog contributions during that period, in order to present the hypothesis in a concise fashion.


  1. Initial observations

Before any BTO data were available, certain information was presented to a briefing of the Chinese families of MH370 passengers, at the Lido Hotel in Beijing, on about 28 April 2014. One of the slides presented became known as the ‘Fuzzy Chart of Elevation Angles’. This chart is shown below as Figure 3. Interestingly, the elevation angles (i.e. the apparent angular elevation of the satellite as seen from the aircraft; or, 90 degrees minus the zenith angle of the satellite as viewed from the aircraft) must have been derived from calculations based on the BTO data, but at this point no BTO data had been released publicly.


Figure 3: The Fuzzy Chart of Elevation Angles
derived from Inmarsat BTO values.

While this chart shows only a few data points it became the basis for various attempts at reverse-engineering the BTO data and thence the ping rings, and specifically the radii for these rings. At this time the Inmarsat definition for the BTO could be interpreted a number of different ways, and vigorous debate ensued amongst outside observers to determine the correct interpretation. Different interpretations resulted in radius variations of up to 50 NM (nautical miles).

In observing the elevation data points it is clear that the aircraft travelled away from the satellite immediately after take-off, then reversed its track and was coming closer to the satellite at least until about 19:40 UTC, then began moving away from the satellite again.

The reversal between 19:40 and 20:40 (approach to the satellite switching to recession)  is interesting in that there is clearly an instant between these two times when the aircraft was nearest to the satellite, and the elevation angle was therefore at a maximum. One can infer from this simple observation that at the point of closest approach the aircraft was therefore flying tangentially to the satellite.

From the fuzzy chart alone one could estimate the time of the closest approach at perhaps 12 minutes after 19:40. Work done by members of the Independent Group (IG) enabled the ping ring radii* at 19:40 and 20:40 to be estimated. An estimate of the elevation angle at the time of closest approach also enabled the calculation of the tangential radius. This was first suggested in a comment posted on May 16.

*In reality the ping rings or arcs are defined by equal ranges (as derived from the BTO values when they became available) from the satellite to the aircraft. Even if the aircraft were flying at a constant altitude (referred to either the WGS84 ellipsoid or Mean Sea Level, MSL) the ping rings would not truly be circular, because the Earth is not spherical. Regardless, using the term ‘radius’ to denote the sizes of the ping rings appears sensible, and for present purposes – estimating the aircraft’s speed averaged over an hour – the ping rings are indeed assumed to be arcs of circles.


  1. Initial calculations

Armed with just three pieces of derived information – the estimated time of closest approach, and the radii of the 19:40 and 20:40 ping rings – it is possible to derive an estimate for the speed of the aircraft between these times (posted May 17; see also further comments posted on May 18 and May 20). One substantive assumption is necessary: that the aircraft was travelling in a straight line between these time, or nearly so. A slightly curved track would result in a greater distance being travelled, and hence a slightly greater speed being appropriate (than the lesser speed obtained from the method described here). Of course it is also necessary to assume a more-or-less constant speed between these times/between these ping rings.

Recognising that the geometry can be represented by two right-angled triangles, having a common/shared side (see Figure 4), planar geometry allows a solution for the length of the bases for these triangles to be determined, and hence the speed of the aircraft.


Figure 4: Geometry enabling the average aircraft speed between the
circa. 19:40 and circa. 20:20 pings to be estimated. 


r1 = radius for the 19:40 ping ring

r2 = radius for the 20:40 ping ring

r0 = radius at the tangential point

t1 = time interval from 19:40 to the tangential point occurrence (12 minutes)

t2 = time interval from the tangential point occurrence to 20:40 (48 minutes)

d1 = distance travelled from 19:40 to the tangential point

d2 = distance travelled from the tangential point through to 20:40

v = the average speed of the aircraft between 19:40 and 20:40


d12 = r12 – r02

d22 = r22 – r02

d1 = (t1/60) * v

d2 = (t2/60) * v

(The division by 60 converts the time interval from minutes to fractions of an hour.)

Note that the radius to the tangential point (r0) does not need to be known since it can be eliminated from the two equations above.

Rearranging:   v = √(r22r12) / ((t2 /60)2 – (t1/60)2)

The initial values for r1 and r2 derived from the Fuzzy Chart were 1815 and 1852 NM respectively. Using these values and solving for v renders the aircraft speed as 476 knots.

This speed is significantly greater than most of the published guesses that were prevalent at the time.

A planar geometry solution to what is of course a spherical geometry situation is likely to result in a only a rough approximation, but the results were significant, and sufficiently encouraging to persist with the methodology while seeking accurate BTO data, an accurate satellite ephemeris, and solving the triangles using spherical geometry; as follows.


  1. Better input data, more accuracy

A redacted Inmarsat communications log was released publicly towards the end of May 2014, providing a set of BTO values (delay times). By that time, ten weeks after loss of MH370, the correct interpretation of the Inmarsat BTO calculation had been established by Mike Exner [1], a member of the IG. This and the BTO data enabled a more accurate determination of the line-of-sight (LOS) range from the satellite to the aircraft, more precise timing for the ping ring intercepts, and an accurate calculation of the elevation angles first presented in the Fuzzy Chart (and then reverse-engineered to provide the satellite-aircraft ranges used earlier, as in section 3 above).

With new and reliable satellite ephemeris data it was also possible to perform accurate calculations for the ping ring radii from the correctly-timed sub-satellite position.

The speed deduction was improved by using these data and also a more-accurate estimation of the time of occurrence of the tangential point, using the minimum LOS L-Band transmission delay [1].

Figure 5 shows the calculated L-Band transmission delays for BTO data after 18:28 UTC.


Figure 5: The L-Band time delays for the aircraft-satellite link as a function of time during the flight of MH370.

 A third-order polynomial curve is fitted to the data points in Figure 5, leading to a solution:

Y = -0.0038x3 + 0.4433x2 – 13.116x + 237.91

Differentiating this equation so as to determine the time of the minimum LOS range between the satellite and the aircraft:

dy/dx = -0.0114x2 + 0.8866x – 13.116

When dy/dx = 0 one obtains

x = 19.870 (or 57.9015)

Converting this to a time, this yields an interval of 11.20 minutes after 19:41 UTC.

Note that it is by no means certain that the BTO for 18:28 UTC should fit conveniently on the smooth curve fitted to the LOS range delay. This might imply that the aircraft track from that time was more-or less a straight line, but there is no information to suggest that this is so.

In order to lessen the significance of that data point (at 18:28) a new nominal point was introduced at time 19:01.  A LOS range was determined for this point by fitting to the LOS range curve. It was hypothesised that turns which the aircraft may have made at around 18:28 to establish a track south would be well completed by 19:01, and hence this point ought to sit on the more-or-less straight track extending through 19:41 and 20:41. A nominal BTO figure was reverse-engineered for this nominal point.

With the new data it is also possible to calculate more accurate ping ring radii for the new precisely-determined times, 19:41:03 and 20:41:05 (as opposed to the approximate 19:40 and 20:40 read off the Fuzzy Chart), coupled with the accurate satellite ephemeris. Radii of 1757.25 and 1796.56 NM were used to solve once again the two right-angled triangles, but this time using spherical geometry.

Using the same nomenclature:


r1 = radius for the 19:41 ping ring, expressed in radians

r2 = radius for the 20:41 ping ring, expressed in radians

r0 = radius at the tangential point, expressed in radians

t1 = time after 19:41 that the tangential point occurs (11.2 minutes)

t2 = time after the tangential point to 20:41 (48.8 minutes)

D = Great Circle distance travelled between 19:41 and 20:41

v = average speed of the aircraft between 19:41 and 20:41

Then:               cos(r1) = cos(r0) * cos(D * t1/(t1 + t2))

and                  cos(r2) = cos(r0) * cos(D * t2/(t1 + t2))

v = D/(t1 + t2)

The ground speed calculated by this method is now 494 knots.

The wind speed and direction for a potential southern track over this segment is about 21 knots from 65 degrees True [2]. Using this wind information, and the above ground speed of 494 knots on a track azimuth of 186 degrees, one can calculate the KTAS (True Air Speed, Knots) for the aircraft as being approximately 484 knots.

The fact that the KTAS matches the aircraft speed during cruise towards IGARI on the early portion of the flight adds a degree of confidence in this result, and provides a valuable basis for track and path estimates for later in the flight.

The astute may note that there is still an approximation (or implicit assumption) made in performing this calculation. This is due to the fact that the satellite is not stationary (although it is nearly so at about 19:41, having reached the apogee in its near-circular, 1.7-degree inclined orbit). This means that the apices of the right-angled triangles formed by the two ping radii and the tangent are not exactly coincidental. The error introduced by this assumption/approximation is small, and within the likely error margin from the estimated wind vectors for that location, and possible variations in ping ring radii from known BTO truncation and jitter. The range of sub-satellite positions is illustrated in Figure 6.


Figure 6: The movement of the sub-satellite position during the flight of MH370. In effect the method used in this paper assumes that the satellite remains in the same position between 19:41 and 20:41 UTC; the error caused by this necessary assumption is small.
Source: the above is Figure 8 in the paper published in the Journal of Navigation by Ashton et al. (2014).

  1. Speed limits and observations

Since the speed obtained from this calculation is dependent upon the precise estimation of the time of the closest approach to the satellite (i.e. the tangent position), it is sensible to explore the possible limits of speed that might result from variations in this estimate.

It is sufficient to establish a maximum speed from published Boeing 777 performance data. A Mach number M=0.85 might be regarded as an upper limit, and this results in a KTAS of about 510 knots, depending on altitude and ambient temperature assumptions.

A special case exists when the tangent position occurs precisely at 19:41 (i.e. on the ping ring). In this case there is only one right-angled triangle to be solved. The ground speed derived for this case is 392 knots. For this occurrence to be true the LOS range from the satellite would have to exhibit its minimum precisely at 19:41. Examination of the numbers for LOS range, the BTO and the elevation angles suggest that this is not the case, and that the tangent point occurs after 19:41 (and well before 20:41).

One can therefore conclude that speeds less than 400 knots, or greater than 510 knots, are not plausible. It might also be reasonable to conclude that the aircraft was in fact close to the normally expected cruise speed, and also close to the normally expected cruise altitude of 35,000 ft.

In terms of aiding the overall understanding of the flight and therefore the speed of the aircraft it would be useful to know what autopilot Cost Index (CI) was programmed into the Flight Management Computer (FMC) for this flight. The IG has appealed several times for the CI used/programmed to be made available, but so far Malaysia Airlines has declined to do so. With such information in hand the IG would be able to refine its understanding of the constraints which can be placed on the flight: for example, knowing the CI would enable the likely speed(s) to be narrowed down, and knowing the fuel load the feasible flying range would be better defined and thus knowledge of the most-likely end-point refined.


[1] Exner, M.L.: Deriving Net L-Band Propagation Delay and Range from BTO Values, 2014 May 28.

[2] Source for wind information is here.


I thank everyone who assisted in discussions of this idea. This includes members of the IG, but also the various people who helped with their own comments and suggestions when I first proposed the concept.

This paper is available for download as a PDF (680 kB) from here.