Automating Flight Data Conversion
Dave Jesse on August 22, 2018

I have been working on TCAS monitoring recently, and I’ll tell you more about that in future blogs, however in the middle of this work a friend asked why we didn’t just automate the processing of flight data. On the same day I sorted out one confusing data format, and, by putting the two together, here is a coincidental blog!

Data Specification

The way flight data is recorded is included in a specification document known variously as a Logical Frame Layout, an FDR data specification or in this case a System Design Specification for the Flight Data Recorder System. Originally a paper document, with handwritten amendments dating back 25 years, this comes as a scanned document with this entry for the TCAS data:

Automation Snags

The first problem in automating this is that we’d have to OCR the scanned image to convert this into text, then we might be able to separate the parameter name from the rest of the data. It’s possible to envisage identifying the FDR words and bits, so for example Word 7 bit 2 is TCAS #1 etc.
Herein lies the real problem – what is TCAS #1? To make sense of this, you have to refer to ARINC standard 735A. Here we find that bits 29-18 inclusive form the Down Advisory, Up Advisory, Vertical Control and Combined Control multistate parameters for a TCAS system. By joining together word 3 bit 2 & word 7 bit 1 & word 7 bit 2 we can create a 3-bit parameter which is the Combined Control signal. (Did you spot how the two bits in word 7 had been reversed, while the two bits in word 10 are the right way around? Just more flight data fun!).
From here on it’s simple to map each value onto the meanings of the TCAS words, rename the parameters and process to your heart’s content.


If we ever wrote some software to undertake that conversion, it would take longer than writing by hand…

[[TCAS Combined Control]] Data Type = Multi-state
Multipart Joining Function = Direct Addition
Part Order = TCAS 3, TCAS 2, TCAS 1
[[[TCAS 3]]] Word = 3
Bits = 2-2
[[[TCAS 2]]] Word = 7
Bits = 1-1
[[[TCAS 1]]] Word = 7
Bits = 2-2
[[[State]]] 0 = No Advisory
1 = Clear of Conflict
2 = Spare
3 = Spare
4 = Up Advisory Corrective
5 = Down Advisory Corrective
6 = Preventive
7 = Not Used

…and you could only test that it was right by a test which takes longer to write than a manual check. For these reasons we’re still reliant upon hand crafted LFL documents for special cases.