program checks the Hamming
code and page parities of the raw Flight Data Recorder (FDR
commonly called "black box")
file for American Airlines Flight 77 (AAL77) included by the US
Transport Safety Board (NTSB) on CDROMs provided in response to FOIA
(Freedom of Information Act) requests for information regarding the
events of September 11th 2001.
Incorrect Hamming codes and page parities indicate data that has either
not been recorded correctly or not recorded completely or has been
corrupted after it has been recorded.
There are only two pages where the Hamming code and page parity shows
as being incorrect. It appears to me that this is because these pages
The program generates
a Comma Separated Value (CSV) file containing one row of information
for each 128
byte page of the file. The first line of the CSV file contains the
and it can be opened by various programs including
Microsoft Access or text editors.
can download the output file generated by the program from here.
Information about the format in which the FDR records the data can be
found in this
post and in
figure 4.2-2 of this
The parameters in the output file are as follows:
This hex value is the offset in bytes of the beginning of
the page from the beginning of the file.
This value is "Header" for the first two pages in each 64
kilobyte block where headers are stored and "Flight Data" for all other
pages. Only flight data pages have Hamming codes and page parities.
This value is "Erased" for pages where every bit is 1 and
Hamming Code and Page Parity
This value is "Correct" for pages where the calculated
Hamming code and page parity match what is recorded in the file and
"Incorrect" otherwise. Pages marked "Incorrect" have either not been
recorded correctly or not recorded completely or have been corrupted
after they have been recorded.
Calculated Hamming Code and Page
This hex value is the Hamming code calculated from the
first 1013 bits in the page combined with the page parity calculated
from the first 1023 bits in the page.
File Hamming Code and Page Parity
This hex value is the Hamming code and page parity
recorded in the page. The Hamming Code and Page Parity Correct value is
determined by whether this value matches the Calculated Hamming Code
and Page Parity value.
of the program.
used Microsoft Visual C# 2005 Express Edition to create it. You can
look at the .cs
source files using any text editor, and you can download the
Visual C# 2008 Express Edition from Microsoft
it. Alternatively, you may be able to get a DVD with the Visual Studio
Express Editions from your local Microsoft sales office. I have not
actually checked that it does compile with the 2008 Edition.
As I am providing this program free
of charge, it is provided as is.
I take no responsibility for what the program does or doesn't do.
However, you can email
feedback to me (Warren Stutt).
will need to download a copy of the FDR file American
can download a copy from here.
You can also
get an ISO image of the entire CDROM that
I received in response to my FOIA request which
includes the FDR file from here.
Change Log detailing the
changes in different versions is available here
Back to Warren Stutt's Home Page