This
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
National
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
were not
completely recorded.
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
parameter
names
and it can be opened by various programs including
Microsoft Access or text editors.
You
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
document.
The parameters in the output file are as follows:
File
Offset
This hex value is the offset in bytes of the beginning of
the page from the beginning of the file.
Page Type
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.
Erased Page
This value is "Erased" for pages where every bit is 1 and
"Filled" otherwise.
Hamming Code and Page Parity
Correct
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
Parity
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.
You
can
download
the
C#
source code of the program.
I
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
Microsoft
Visual C# 2008 Express Edition from Microsoft to compile
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).
You
will need to download a copy of the FDR file American
77.fdr.
You
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.
A
Change Log detailing the
changes in different versions is available
here.
Back to
Warren Stutt's Home Page