For safety monitoring we are very interested to know where an aircraft touches down on the runway. There are two problems here, namely knowing where the aircraft is and when it touches the runway.
In this blog I will consider only the first problem, as you will see that can be tricky to deal with.
Modern aircraft have good instrumentation and it is easy to know where the aircraft is every second of the flight. However, older aircraft either have poor accuracy or no recorded position at all. Here is an example of the recorded track for an aircraft landing at the resort of Lanzarote. In this case the positional error was 2 nautical miles, but I’ve seen errors twice this at the end of longer sectors.
We can assume (in the absence of a crash) that the aircraft landed on the runway at Lanzarote, and as we know the coordinates of the runway it is easy to line up the final part of the approach to land on the runway centreline. This will be discussed elsewhere when we address track computations.
In effect, looking at this example, knowing the runway removes the east-west error in the track. However this will not remove any north-south error.
One option that has been used is to identify the moment when the aircraft passes the ILS glideslope antenna, but this is not very accurate. We have found that better results are obtained by projecting the altitude:distance profile forwards from the latter part of the descent.
Here we can see the blue line showing the altitude:distance profile of a landing in blue, with the estimated descent slope in red. Extending the red line to the ground gives us an estimate of the touchdown point.
If the aircraft was flying an ILS approach, we can use the glideslope deviation to adjust the height measurement and the distance is then related to the glideslope antenna position, but we can adopt this technique for use where there is no ILS signal. We do this by assuming that the pilot was aiming at the normal touchdown point 1000ft beyond the start of the runway, and that the latter stages of the descent were in general “pointing” at that part of the runway.
The question arises, what is the best range of heights to use for this trajectory projection technique?
The optimal range of heights for computing the descent trajectory was assessed by analysis of the correlation coefficient, slope and offset values for the regression lines fitting about 370 different approaches into different runways where the ILS glidepath was not captured.
The correlation coefficients were normally good, and by limiting the upper value to not more than 600ft we avoid some of the “rogue” results that can arise from these visual approach paths. For example, in the diagram below we can see that the worst case approach from 700ft to 600ft had a correlation coefficient of less than 0.7. By constraining ourselves to starting altitudes of 600ft or less we avoid these unusual approach paths.
The scatter of approach slopes has also been considered as we expect all approaches to be flown with consistent slopes. The chart below illustrates that the lowest cutoff points produce less scatter in these values, which is not unexpected, but there is a clear minimum at 500ft or 600ft starting points.
With little to choose between the 600ft or 500ft start points, it was decided to adopt 500ft as this is one of the commonly used approach gates. This is the range used in the example above.
So after all this optimization, the correction of the approach range (app_range) distances is given by this snippet of code…
_,app_slices = slices_between(alt_aal.array[this_app_slice], 100, 500)
reg_slice = shift_slice(app_slices, this_app_slice.start)
corr, slope, offset = coreg(app_range[reg_slice], alt_aal.array[reg_slice])
# This should still correlate pretty well.
if corr < 0.995:
self.warning('Low convergence in computing visual approach path offset.')
# Touchdown point nominally 1000ft from start of runway
extend = runway_length(runway) - 1000 / METRES_TO_FEET
# Shift the values in this approach so that the range = 0 at
# 0ft on the projected ILS or approach slope.
app_range[this_app_slice] += extend – offset
In a future posting we will look at how the touchdown point is used to compute Key Point Values that relate to assess landing risks, but that can wait as three graphs is enough for one day !