Ping Rings from the Inmarsat-3F1 Data

Ping Rings from the Inmarsat-3F1 Data

Duncan Steel, 2014 April 05.duncansteel.com

Most readers will be aware that there is, shall we say, considerable unhappiness amongst many of us concerned about the apparent loss of MH370 with regard to the lack of publicly-available data from the Inmarsat-3F1 satellite. I have discussed this in previous posts, and in amongst the comments and emails received many people have expressed their outrage at the situation. If the data were available then a crowdsourced attack upon the problem of narrowing down the search region would be feasible, and recent history has shown how powerful crowdsourcing can be: there are many people out there with useful skills who could work together over the internet so as to generate perhaps useful outcomes.

However, it appears that the powers-that-be prefer to preserve their power, to the detriment of the search programs and also the suffering friends and families of the passengers and crew, and others. I would hope that this will backfire in the faces of the culprits; to the best of my knowledge, the major offender is the UK Air Accident Investigation Branch (AAIB) of the Department for Transport.

The data required are quite simple: (a) The measured time delays (around 120 milliseconds for each leg) from each successful ping between Inmarsat-3F1 and MH370; and (b) The measured Doppler shifts in the pings, which would render the satellite-to-aircraft line-of-sight speed at the time of each ping. There are twelve pairs of such ping data. Four of those pertain to early in the flight. The other eight cover the time after MH370 disappeared; three are in quick succession (perhaps indicating that MH370 was in trouble and initiating pings itself) so in essence there are six ping times involved.

In a recent post I gave a decomposition of the Burst Frequency Offsets (BFOs) due to Mike Exner, which rendered those Doppler shifts; that is, they were reverse-engineered from an Inmarsat graph, with some input from Ari Schulman and myself. One other person has carried out a verification of that process (Rob Matson). However, there is still an ongoing argument/discussion as to whether the decomposition is correct; plus there are some assumptions that must be made in the process. Obviously if the original data were made available, rather than readings off a (rather poor) graph, things would be better.

Amongst the comments after a couple of posts I have noted that the other type of data, the ping time delays, have now also been reverse-engineered by a person with an online name of GlobusMax. His relevant posts are here and here. His work and brief write-ups are exemplary. When there is so much junk on the internet, it is heartening to see things like this being done. I most strongly recommend that people take a look at his analysis and conclusions.

For verification purposes, and assuming that the Inmarsat data is not going to be made available any time soon, I am going to assume that GlobusMax’s values are ‘correct’. The essence is that he gives a set of ranges from the satellite to the aircraft at the six ping times, with a range of best-fit values. I have interpolated his values to give the ranges as in the second column of the following table.

Time UTC

Line-of-sight range from aircraft to satellite (km)

Ping time delay
(milliseconds)

Elevation angle from aircraft to satellite (degrees)

Radius of range ring on Earth’s surface (nautical miles)

18:29

36869.0

122.982

53.53

1880

19:40

36741.0

122.555

55.80

1760

20:40

36786.5

122.706

54.98

1806

21:40

36959.5

123.284

52.01

1965

22:40

37243.5

124.231

47.54

2206

00:11

37838.5

126.216

39.33

2652

For each of those line-of-sight ranges I have calculated:

A ping time delay (just the range divided by the speed of light);

An elevation angle from aircraft to satellite, assuming an Earth radius of 6378.137 km (i.e. the equatorial radius); and

After inserting those elevation angles into my STK scenario I placed range rings with radii as given in the final column above.

Note, in connection with this final step:

(a) The centres of those rings are the sub-satellite points at each of the times stated, and of course the satellite moves (mostly north-south) across this set of times; and

(b) The process I followed was actually to have cones of the appropriate angle projected down from the satellite for each of the ping times and I then placed the range rings by eye at the places where those cones reached the Earth’s surface. This may have caused the radii in that last column to be out by a few kilometres, but I needed to do things this way for reasons of personal time and energy constraints. Sub-optimal, but that’s life.

Before we go further, note the order of the values in the final column in the above table. After 18:29 the aircraft moved inwards in that it shifted to a lesser range from the satellite (but also note, from earlier posts, that the Doppler data indicate that at 18:25, 18:27 and 18:29 the aircraft was moving away from the satellite, although at a rapidly-reducing rate; that is, it appears that it was quickly turning at those times, forcing me to put tight aircraft turns in my recent simulations). But then, from 19:40 onwards, the aircraft is consistently moving away from the satellite (the ranges are all increasing); and the Doppler is always in accord with this (moving away from the satellite and indeed increasing its recessional line-of-sight speed).

Note also that the satellite-aircraft ranges above are expressed in kilometres, whilst the ping ring radii are in nautical miles (so as to facilitate speed calculations in knots).

I had hoped to be able to put some possible aircraft tracks into this post but this has proved too time-consuming to get done overnight, and so I will limit myself now to publishing images below that show the ping rings, followed by a few pertinent comments.

First, two views from the STK 3D window:

Next is a side-on view which I think may help people to understand what a ping really actually represents.

Now I shift into the 2D STK window (i.e. ‘maps’). Here is a large view that covers all feasible end points for MH370. Note that in this projection the ping rings are by no means circular: all maps are distorted in one way or another, and this projection keeps all meridians (lines of longitude) equally spaced regardless of the latitude. Note also the black dots showing the sub-satellite points at the different times: yes, the satellite moves/drifts.

Finally, here is a close-up covering the area of the early part of the flight of MH370, with a good margin around, just in case it is useful to people thinking about a path taken that did not go very far.

Now, some concluding comments.

Having these range rings early on would have helped to stop some wild speculation, and also suggested paths that can now be seen to be non-viable with fuller information (assuming that these ping rings are correct).

For example, consider the final two range rings, at 22:40 and 00:11 UTC. They are not quite concentric, but for present purposes it is adequate to assume that they are. Their radii are 2206 and 2652 nautical miles. The difference between those figures is 446 nautical miles, and the aircraft took 91 minutes to fly between those rings. That means that the lowest speed it could have had at that time would have been near 294 knots. For that to be the case, it would have needed to be flying such that it was taking the shortest route between each ring (i.e. flying perpendicular to each).

At any other angle the speed would have been higher. Taking into account the approximations made, one might take 290-300 knots as being the minimum speed in the latter part (the last 90 minutes or so) of the flight. Following from previous posts and considerations, it is perhaps a valid assumption that the aircraft was being flown for the last several hours of its flight by the autopilot; and at a constant speed, which we have seen was at least 290-300 knots.

This is itself imposes useful constraints on possible paths. If we were to assume that it was following a great circle route, then the geometry for crossing the last two range rings (i.e. the feasible angles for crossing them at any assumed constant speed above the minimum derived above) limits the overall path.

Similarly the other pairs of range rings impose limitations. The pair of 21:40 and 22:40 are 241 nautical miles apart, and so the minimum speed between them was 241 knots; but the previously-determined minimum of 290-300 knots results in a requirement that the angle at which those two rings were crossed was greater than a certain value (i.e. the aircraft could not have crossed between those two rings at 90 degrees, assuming a constant aircraft speed across the final hours of the flight).

From this one gets the idea of a path which, compared to the ping rings, is gradually turning (but is also a great circle from its start point) so as to cut the rings at increasing angles, culminating in the largest angle being at the outermost rings. This would also be in accord with the Doppler evidence: the speed away from the satellite keeps increasing.

Anyone interested: get out a pencil and paper, and try sketching possibilities! If you print out the images above it might assist: but remember that the 2D map is distorted (as can be seen from the great circle paths in previous posts – effectively straight paths across the curved Earth – being bent in those 2D maps).

I will have more to write about interpreting these ping/range rings, and the constraints they impose, later. Maybe within 24 hours.

69 thoughts on “Ping Rings from the Inmarsat-3F1 Data”

Comment navigation

Thermal satellite is fairly easy technology. If you look at weather satellites they give high-contrast color separation to cloud temperatures that vary by only a 125 degrees or so. The heat exhaust off the 777 engine would be hundreds of degrees against a -50 degree background and should be easily within existing technology. Especially when the aircraft was allegedly flying well out of normal flyways in the middle of nowhere. Especially with a 7 hour lead time post-9/11.

Sorry, but you show there a total lack of understanding of the physics involved. According your comment a satellite sensor working in the thermal IR (say around 5 micron wavelength) should be able to detect the heat from a lighted cigarette from orbit. Before one can say anything useful one must understand far more about physics than you do.

I will see if I can dig up an upper atmosphere wind map for southeast Asia at the time of the flight. Unfortunately, the map that covers the southern Indian Ocean does not extend anywhere near Kuala Lumpur, let alone north of there.

I finished my short paper showing the inability to generate a constant velocity track for the final four ping times using the LOS ranges provided by GlobusMax. Happy to e-mail it your way if you want to look it over.

Yes, my analysis is strictly ground speed, not airspeed. Fortunately, winds were definitely well under 100 knots for anywhere the plane could have been flying. (One of the first things I did was download the 300-millibar upper atmospheric winds for as close to the region as I could find.) Unlike what I’m accustomed to seeing over the U.S., the southern Indian Ocean and even much of the area between the southern Indian Ocean and Kuala Lumpur has comparatively light jet-stream-altitude winds. I doubt the winds reached even 60 knots anywhere along the flightpath.

Just saw your 2 replies regarding the discrepancies in the ping ring radii. (Checked last night around midnight my time, but you had not had time to respond yet; time difference between California and New Zealand means there are limited hours during the day when we’re both awake.

“The reality as I wrote is that I placed those ping rings ‘by eye’ and you should not take them as being good to better than maybe 10 km on the equator in the east, but even less accurate elsewhere.”

Okay, that makes sense (and I perfectly understand the demands on your time necessitate shortcuts here and there). You also wrote:

“(b) The process I followed was actually to have cones of the appropriate angle projected down from the satellite for each of the ping times and I then placed the range rings at the places where those cones reached the Earth’s surface by eye.”

Okay — yes, this introduces a little bit of slop at the earth’s surface. But ultimately your ring radii are dependent on your choice of the cone angle at the satellite, and that cone angle needs to be very precise. For instance, if the error is only 0.01 degrees on the cone angle, your ring radii will be off by over 10 km. Since your table is reporting the elevation angle of the satellite from the plane to two decimal places, I thought there might be a chance that you were only carrying two decimal places on the cone angle as well.

So to recap, the ping ring radii are eye-estimates of the intersection of a cone from the satellite down to the ground, and that cone angle is derived from the satellite’s exact altitude, the plane flying at 35,000 feet, and the LOS range to the plane computed by GlobusMax. Some relatively small errors are introduced by the method, which is why the table numbers are not quite internally consistent. But ultimately the driving factor in the ping ring radii trace to the LOS ranges provided by GlobusMax.

What my analysis shows is that GlobusMax’s LOS ranges for the final four pings cannot result in a flight path that both follows a great circle *and* has constant velocity. I’m finishing up a white paper I can send you that shows why this is the case, but the mismatch in velocities is large enough that it should be apparent just by drawing great circle candidate flight paths atop your final four ping rings.

Don’t forget that in my analysis (and your own?) I might enter an assumed ground speed for the aircraft, but the speed (and heading) it makes through the air and thus its positions depends on (the unknown?) wind speeds, which may be of order 100 knots.

Thank you for suggesting I do the analysis. Unfortunately the implication of what I said is that even if we assume the whole leg from sumatra was flown on one auto pilot setting there are an almost infinite number of solutions. Depending on speed and height.

As they now seem to have located black box signals it would seem the approximate crash site is now known.

From Law of Sines, I can now back-compute your assumed satellite distance from the earth center (SatRadius):

SIN (Alpha) / 37838.5 = SIN(90+39.33) / SatRadius

SatRadius = 37838.5 * SIN(129.33) / SIN(44.12079)
= 42041.8 km

This is quite a bit smaller than the actual distance of the satellite from the center of the earth at 00:11 UTC. In a spreadsheet elsewhere you list Inmarsat’s altitude at that time as 35793.322 km, which would mean the assumed earth radius at the subsatellite point is only 6248.5 km — more than 125 km too small. So at least one of those three numbers — the LOS range, elevation angle, or ring radius must be off.

The reason I uncovered the inconsistency is that I found it is not possible to have the aircraft fly a great circle route at constant velocity for the final four range ring radii (1806, 1965, 2206, and 2652 nmi). For instance, the speed solutions for 1806-1965-2206 are over 30 knots faster than the solutions for 1965-2206-2652.

“For each of those line-of-sight ranges I have calculated:
– A ping time delay (just the range divided by the speed of light);
– An elevation angle from aircraft to satellite, assuming an Earth radius of 6378.137 km (i.e. the equatorial radius); and
– After inserting those elevation angles into my STK scenario I placed range rings with radii as given in the final column above.

Note, in connection with this final step:
(a) The centres of those rings are the sub-satellite points at each of the times stated, and of course the satellite moves (mostly north-south) across this set of times; and
(b) The process I followed was actually to have cones of the appropriate angle projected down from the satellite for each of the ping times and I then placed the range rings at the places where those cones reached the Earth’s surface by eye. This may have caused the radii in that last column to be out by a few kilometres, but I needed to do things this way for reasons of personal time and energy constraints. Sub-optimal, but that’s life.”

That is, I did not CALCULATE the ping ring ‘radii’ in the final column: I estimated their positions by eye in my STK scenario, ONLY on the equator, and used that to insert indicative range rings.

To do the whole thing properly I would need to do the LATITUDE and TIME-DEPENDENT calculations for the ring locations, and then enter each datum by hand in the STK scenario because the rings are not circles; whereas I can easily show ping rings as circles, which is what I did. They can easily be out by some distance, and looking at the windows in my STK scenario they are, at different latitudes (i.e. comparing the locations of equal elevation angle rings with equal radius rings). Caveat emptor, as always.

The essence of making repeatability possible, in scientific pursuits: tell people precisely what you did! And I did.

Maybe someone can use the essential derivative data (the satellite elevation angles from the aircraft) to derive (calculate) a set of latitude-dependent positions for each of the ping rings using WGS84 for the Earth’s shape and also remembering that I have used an aircraft altitude of 35,000 feet (i.e. the aircraft, when over the equator – if it ever was – was assumed to be at a distance 6388.805 km from the Earth’s centre, and at any other latitude it was at a distance equal to [Earth’s radius at that latitude + 35,000 feet]). The sets of values are needed for each of the ping times, and don’t forget to use the positions and altitudes of the satellite which I posted here.

Rob: Could you let me know if you have seen this and understand what I am saying/have said here. I need someone like you looking over my shoulder all the time. I spent a couple of hours repeating calculations and so on to ensure I had this right (I think!), but it is always possible that I have erred.

The reality as I wrote is that I placed those ping rings ‘by eye’ and you should not take them as being good to better than maybe 10 km on the equator in the east, but even less accurate elsewhere.

I realize it doesn’t fit the current ping ring / Doppler analysis, however my understanding is that actual data is not available to confirm that analysis (in other words, it is not precise).

Conversely, the known variables have somewhat more verifiable synchronicity, namely the known time and location of UAE343 (per FlightAware), the known location of MH370 (per radar plot) and the known (yet unexplained) series of ping *times* on the Inmarsat graph, all at 18:27 UTC (at 6.4812 N 96.5801 E).

If the Inmarsat analysis (for which we have no actual data) is off by even a small margin, it would produce rather large errors in arc location. The suggested arc following UAE343 does generally go toward the satellite following convergence, reaching perpendicular somewhere further down the line, then increasing steadily away until completion, consistent with the constant speed and heading of UAE343 along Route N571.

I would note the Inmarsat graph has a similar odd dislocation of points at 17:00 UTC. The ADS-B data on FlightAware shows that the plane did decrease in velocity at that time while maintaining physical direction away from the satellite en route to IGARI.

Okay, since the planar solution was not all that different from the spherical solution, I opted to redo the planar equations *including* the satellite motion. This turned out to be more difficult than I thought. By introducing satellite motion, it turns out the velocity solution is no longer unique — it varies slightly with flight bearing. In other words, I can choose a flight bearing for the final 2 1/2 hours, and it will generate a unique velocity solution. It turns out that velocity solution is extremely constrained, but the flight bearing is not. These are all valid solutions based on (only) the final 3 ping rings:

(Bearing measured clockwise from north.) The take-away from all this is that if the velocity was constant for the last 2 1/2 hours, then it was somewhere between 433.8 and 438.6 knots.

Repeating the exercise using the 20:40, 21:40 and 22:40 ping ranges would add some confidence that the methodology is sound if it results in similar velocities. Probably won’t have time to tackle that until tomorrow.

Just a quick follow-up; it was fairly easy to repeat the exercise using a spherical earth and great circles. As expected, the answer changed very little: 410.6 knots for the velocity from 21:40 UT to 00:11 UT. But I still need to fold in the effect of the moving satellite (which is NOT insignificant). Between 21:40 and 00:11 the subsatellite point has moved 0.815 degrees south, so the center of the final ping ring is shifted about 49 nmi south of the center of the 21:40 ping ring. That’s close to 5% of the distance the plane flew in that time, so that’s going to result in a significant change in the solution.

Interesting analysis back-engineering the radii of the (as yet) unprovided ping rings prior to 00:11 UT. You realize that once you’ve done this, you have everything you need to determine
the aircraft velocity (assuming it remained constant over the final several hours and flew a great circle route).

To first-order, let me show you the solution to the flat-earth case, excluding the satellite motion. (Later, a full-blown solution can be done using a spherical earth and a moving geosat). For the final 3 pings you have three concentric circles of radii R1, R2, R3. The path of the aircraft is a chord that starts on the inner circle and ends on the outer circle. Call the chord length from the inner circle to the middle circle X12, and the chord length from the middle circle to the outermost (final) circle X23. By the cosine rule, you now have three equations:

where A is the central angle corresponding to the first chord (X12) and B is the central angle corresponding to the second chord (X23). If we assume constant velocity, then we have a fourth equation:

X23 = X12 * 91/60

since the leg between the final two pings was 91 minutes vs. the prior ping delta of 60 minutes. So four equations, four unknowns. Fill in the values for R1, R2, and R3 from the back-calculated ping radii:

I’ll spare you the ugly details of how you solve this, and tell you that the solution for X12 is about 410.2 nmi, which means the plane was flying at 410.2 knots from the R1 ping circle to the R3 ping circle.

It’ll take me some time to code up the spherical earth solution with a moving satellite, but this flat-earth approximation is probably not too bad.

My comments are infrequent but I have been following the thread and have a few engineering observations.

The Doppler analysis seems plausible and the 5 last pings give the radial range rate during that epoch. Regardless of the aircraft assumed speed and flight azimuth (but both being assumed constant), the range rate (Doppler vs time) times the time (actually integrated) between pings gives the radial change in ring radius from ping-to-ping. I have not studied the ring radius determination presented elsewhere, but it should be consistent with the Doppler-time history here. But, since the ring diameter (ping time) has not been released for the earlier pings, the determinations are likely to be redundant. If different analytical approaches were used, then this gives some confidence in the result.

Since the Doppler data only give the radial range rate, the tangential range rate ( and thus the actual azimuthal angle) remains unknown. However for a great circle path from the last known point at a constant speed, there may be only one (or perhaps a few) paths that give a result consistent with the Doppler.

To see this, consider a path that is from the first of the last five pings onward, and lies along a radius vector from the sub-satellite location. In this case the angle is zero and there is no tangential velocity. But since the Doppler shift (radial velocity) changes with time, and the path being evaluated would require the angle to remain zero, this path can excluded. (All I have done here is show that it may be a valid sorting criteria. The path directly away from the sub-satellite point has never been considered as plausible.)

If the constant speed, great circle route is plausible, a fit would be found (ignoring the question of N/S). By doing the same for magnetic headings and rhumb lines similar paths could be evaluated.

The Doppler data for the last 5 pings are unlikely to be biased by any human intervention in the flying of the plane during that period as it is unlikely that the ping times would be known to a person on the plane.

I have left out some of the finer details as the work you are doing is a process of stepwise refinement and there is no point in applying second order corrections until you are close to a solution.

I follow all you have written there, and what you propose is essentially what I have been intending to do once we have the ping data available. Now we do: back-engineered. Pity we don’t have the data direct from Inmarsat.

The/a problem is this. You wrote: “for a great circle path from the last known point at a constant speed, there may be only one (or perhaps a few) paths that give a result consistent with the Doppler.” Well, the last known point (i.e. military radar at 18:22) is outside the 18:29 ping ring; and at 18:29 the aircraft was moving away from the satellite (according to the Doppler data). And then the aircraft moved towards the satellite between the pings at 18:29 and 19:40 so as to be inside the 19:40 ping ring, but moving away from the satellite so as to cross that ping ring at that time from the inside.

Thus the aircraft cannot have followed “a great circle path from the last known point at a constant speed”.

I have all along been assuming (as a working hypothesis) that the aircraft did indeed follow a great circle path at a constant speed, but from some time shortly before 19:40. It appears that it cannot have done so between all of the time between 18:22 and 19:40.

From a systems analysis pont of view – the distribution of the pings through time indicate to me that the aircraft supresses the hourly pings when it has got more important things to do (eg give out warnings, monitor manoeuvres). So in order to allow the first of the hourly pings to happen the system needs to monitor the steady state for a set time. Good practice would be to monitor for 30 mins then allow the first ping, but it could be monitored for up to an hour. Therefore there is a window of 30 mins when the great circle/constant speed could begin. (18:40 to 19:10)

I put in rings at the distance the plane would have traveled at 450 k at each of the ping times and it produces fairly straight flight paths N and S symmetrical about a line from the satellite to the position at 18.22 corresponding closely to your 450 k Northern simulant path. As far as I can see no lower speed works. The doppler is close too if you postulate a turn to the west a bit at the start. Can’t sleep!

Deriving a ground course from an assumed airspeed and known distance rings.

Despite having read much on Pprune and elsewhere I am unaware of this particular analysis being publicised.

It is based on a general knowledge of aero navigation not on the specifics of 777.

Analysis shown so far seems to be based on constant ground speed but this is seldom ever the actual situation. Constant airspeed is a much more likely scenario although still by no means certain.

As has been shown for each set of consecutive range rings there are two solutions for the second position based on an assumed first position. These merge to one in the case of the ground track directly away from the centre of the range rings.

The wind velocity is generally significant particularly at altitude. The classic way of deriving ground track from airspeed and direction of flight is by vector addition. In this case mark the wind vector from the start point. In the case of 1 hour interval this is the wind speed in knot marked as nautical miles. This may be a different figure for the meterological area in the clockwise direction from the anticlockwise. Then with a compass draw a circle radius airspeed in knots as nautical miles (1 hour case) centred on the end of the wind vector and intersecting the second range ring. This gives the estimated second position and the ground speed and track achieved, also the direction of flight. Convert the direction of flight to magnetic heading (using local variation) for comparison with other time frames.

Complicating factors are that windspeed varies with height so it will be necessary to assume a height for each unique solution.

Two possible scenarios have been predominant that of constant magnetic heading and ground track towards a waypoint. If the above analysis throws up something close to one of these scenarios then that would act as an indicator that this may be indeed what took place.

A couple of hours ago I watched part of a live briefing by Malaysian officials. A reporter asked specifically for the last known position and altitude of the plane, and they refused to answer, instead disembling about cooperation between countries!

Note that he did not ask for the source of the information, only for the position and altitude itself. I cannot imagine any reason they would try to keep this information secret, other than possible governmental problems they are trying to hide.

There is a persistent rumor that the plane was last seen at 12000 ft. altitude (CNN quotes an “unnamed source”). If this is true, there is no chance that it went down anywhere close to the current search zone!