Philosophically there are two ways to go from one place to another, from an origin to a destination. They are characterized by the saying attributed to Lao Tzu “The journey of a thousand miles begins with one step” and by Eddie Cochran’s hit “Three Steps to Heaven” (where would we be without Google and Wikipedia?). In this blog I will show why we need to use both concepts to analyse flight data.
See – you can get Tzu, Cochran and FDRs in the same blog!
Whenever an analogue signal is converted into a digital form, we get a discrete set of numbers that represent that analogue parameter. Each number corresponds to a small range of values of that analogue parameter, and when the analogue parameter goes outside that small range, we convert its value into the next number up or down in the sequence.
Let’s take a really easy example. Airspeed is going to be measured in knots, and we will say that 100 knots equals a digital value of 100. Actually, we are still going to record a value of 100 for any airspeed between 99.5 knots and 100.5 knots. Only if the value falls below 99.5 or above 100.5 will we change the converted digital value to 99 or 101 respectively.
To convert the digital value to represent its analogue parameter, we need to know a conversion factor and units, so in this simple case each recorded value is worth one knot of airspeed. Notice we introduce both scaling (one) and units (knots) in this step. Recorded values are just numbers, so have no units, whereas analogue parameters need units to express the thing they represent – the thing of which they are an analogue.
You didn’t think we were going to stop here, did you? As ever, it gets more complicated.
The journey … begins with one step
For many parameters the size of each step can be easily defined and we have no problem taking the manufacturer’s information and using this directly. Each step will be 0.1 deg C, or 0.5 ft, or 0.001 dots on an ILS, depending upon the origin of the data and the conversion used. Knowing the size of each step allows us to convert the recorded value (say, 783) to its equivalent analogue value (78.3 C, 391.5 ft or 0.783 dots to use the examples above).
When using the Open Source FlightDataConverter program, you will use statements like:
Resolution = 0.1
Units = C
This works well in most cases, but as with all things in life there are exceptions.
Three Steps to Heaven
In some cases it is better not to know the value of a single step, but to know where the end of your journey takes you. In the case of Three Steps to Heaven, the important thing is that you reach Heaven, not the size of the step. After all, each step to heaven is 1/3rd of the way and hence impossible to calculate exactly as a decimal!
Why does this matter for FDRs? There are some parameters where you know the complete range and the number of bits used in the conversion, but working out the size of each step can be more difficult than just defining the endpoint. (For more difficult, read more time consuming and error prone).
The classic case in point is angular measurements (see my earlier blog “Around the World in Eight Days” to get up to speed with what comes next).
If we divide an angular measurement into half repeatedly, life stars easily enough with 180, 90, 45deg. It’s not too bad with 22.5, 11.25, but 5.625, 2.8125 – you see where I am going with this? The more precision we use to convert the angle into binary values the more decimal places we need to use to express the scaling factor.
A common conversion factor for latitude and longitude data is 0.087890625 (360 degrees divided by 212). However, different specification documents record this number differently, perhaps due to an attempt to avoid excessive numbers of decimal places. Values we have seen include:
This gets worse as more modern systems use greater precision in their recording systems. With 31-bit conversion for longitude (180 deg; the 32nd bit is used for a sign bit) shown as:
Where it should be:
Now, we know we are trying to represent the distance around the world, so it is easier to say that the end of the journey is 180 degrees away and let the computer do what computers do best, and not try to avoid missing a digit. For this reason FlightDataConverter allows you to use either
Resolution = 0.00000008381903171539306640625
Full Scale = 180.0
I leave you to decide which is easier to use.
Just to finish with a word of caution, none of this applies if your parameter is non-linear. At that point, all of this blog gets thrown out of the window and we typically start on polynomial (see “The Drawbacks of Polynomial Conversion Formulas”) or synchro (see “All about synchros”) conversion processes.
Just for fun I will send a prize to the first person to email me with the error in this blog. Fame awaits you?