The information that the program
uses on how each parameter is stored in the subframes is mostly from
the data frame layouts 757-3b_1.txt
and D226A101-3G.pdf that
I received in a FOIA
request to the NTSB. Parts of these data frame layouts do not agree
with each other however and there are parts where neither of them agree
with the data actually recorded by the FDR.
I have only included some parameters in this program. However there are
many more listed in
the
NTSB's American Airlines Flight 77 FDR Report and
in the data frame
layouts in
the attachments.
Let
me know if there are any more which you would
like to see included.
A/C NUMBER
EICAS OPC PART NUM
EICAS OPS PART NUM
ENGINE IDENT
FLEET IDENT
Raw EICAS OPC PART NUM LSB
Raw EICAS OPC PART NUM MSB
Raw EICAS OPS PART NUM LSB
Raw EICAS OPS PART NUM MSB
I used the location for these parameters in
D226A101-3G.pdf
rather than the locations in 757-3b_1.txt.
D226A101-3G.pdf
lists these parameters as coded so I got the program to interpret them
as unsigned integers.
A/P SPD BRK HDL POSN
This parameter appears in
757-3b_1.txt
but not in D226A101-3G.pdf.
I couldn't produce sensible
values for this parameter
so
I removed it from the program.
A/P T.E. FLAP POSITION
This parameter is named A/P FLAP POSITION in
757-3b_1.txt.
A/P T.E. FLAP POSITION MCP A-A-2
CONTROL MAX SPEED
CONTROL MIN SPEED
FLT DIR - PITCH F/O
FLT DIR - ROLL F/O
GROUNDSPEED F/O
MAX MANEUVER SPEED
MIN MANEUVER SPEED
RADIO HEIGHT F/O
ROLL SERVO CMD
SPEED SELECTED-AUTO
SPD BRK HDL POSN
SPD BRK HDL POSN2
STATIC PRESSURE
TRUE HEADING F/O
I couldn't produce sensible values for these parameters
so
I removed them from the program.
ACMS S/W P/N CODE
MANDATORY S/W P/N CODE
VENDOR DATABASE CODE
I used the location for these parameters in
D226A101-3G.pdf
rather than the locations in 757-3b_1.txt.
AILERON POSN-OUTER - L
AILERON POSN-OUTER - R
EICAS
COMPUTER
G/S MODE OPER FCC C-A-4
FWD ACCESS DR
MAIN CARGO DOOR
RUDDER POSITION
TCAS FAILURE
TCAS SYSTEM STATUS
TERRAIN OVERRIDE
The last values in the NTSB CSV files for these
parameters are different than those produced by my program.
C ACTUAL FUEL QTY
L ACTUAL FUEL QTY
R ACTUAL FUEL QTY
S ACTUAL FUEL QTY
ASSUMED TEMP
DOC DEPART
DOC DEST
DOC FLT NUMBER
DOC LEG NUMBER
GMT MONTH
GMT DAY
GMT YEAR
GPS HOURS
GPS MINUTES
GPS SECONDS
T.E. FLAP POSITION
ZERO FUEL WEIGHT
I couldn't produce sensible values for these parameters
from either of the data frame layouts so
I removed them from the program.
ALTITUDE (1013.25mB)
Raw ALTITUDE (1013.25mB) COARSE
Raw ALTITUDE (1013.25mB) FINE
The conversion used in Note 3C of
D226A101-3G.pdf
gives correct values and is the one I used, whereas the one in 757-3b_1.txt
gives incorrect values. Bear
in mind that these values are uncorrected pressure altitude values that
presume that the air pressure at sea level is 1013.25mB and will be
different from
the true altitude if the air pressure at sea level was not that value
when the
altitude values were recorded.
I
have included the raw
values as a
parameter in the program to allow you to do your own conversion if you
wish. The equivalent
Microsoft Excel formula my program uses
and
D226A101-3G.pdf
uses
to
convert a pair of Raw Coarse and Fine Values to feet is:
Raw Coarse Value * 128 + MOD( Raw Fine Value,
128 )
The equivalent Microsoft Excel formula
757-3b_1.txt
uses to convert a pair of Raw Coarse and Fine Values to feet is:
Raw Coarse Value * 128 + Raw Fine Value
This is the conversion used by the Pressure Altitude as per
757-3b_1.TXT parameter.
AOA HEAT ON
AOA HEAT ON - #1 and AOA HEAT ON - #2 in my program
and
D226A101-3G.pdf
are named AOA HEAT ON - L
and AOA HEAT ON - R respectively
in
757-3b_1.txt.
B117 (PRE 97 RULE)
B118 (CUSTOMER UNIQUE FRAME)
I used the location for these parameters in
D226A101-3G.pdf
rather than the ones in
757-3b_1.txt.I
have put the port name in front and put the original parameter name in
brackets.
B119
(FRAME SEL MSB)
B120 (FRAME SEL LSB)
I used the location and values for these parameters in
D226A101-3G.pdf
rather than the ones in
757-3b_1.txt.
I have put the port name in front and put the original parameter name
in brackets.
BARO COR NO. 1
BARO COR NO. 2
These parameters are not recorded in BCD as in
757-3b_1.txt,
but recorded as unsigned integers as in Note 4C of
D226A101-3G.pdf
which produced
the same values as in the NTSB CSV files.
CAPT CONT COLUMN POSN
Raw CAPT CONT COLUMN POSN
I didn't use the conversions from raw values to degrees
from
either of the data frame layouts, but used a formula
which
produced
the same values as in the NTSB CSV files
with a maximum difference of 1
in the last decimal place.
I have included the raw
values as a
parameter in the program to allow you to do your own conversion if you
wish. The formula my program uses to convert
a raw value to one in degrees is:
-3.248E-08 * Raw Value ^ 3 - 7.176E-07 * Raw Value ^
2 + 0.04176 * Raw Value + 3.0
The
formula 757-3b_1.txt
uses to convert
a raw value to one in degrees is:
0.57129
* Raw Value
I was unable to understand the conversion from raw values
to degrees used by
D226A101-3G.pdf
for this parameter.
CAPT CONT WHEEL POSN
Raw CAPT CONT WHEEL POSN
I didn't use the conversions from raw values to degrees
from
either of the data frame layouts, but used a linear formula similar to
the one in
757-3b_1.txt
but with m = 315.0 / 2048 and b = 0 which
produced
the same values as in the NTSB CSV files with a maximum difference of 1
in the last decimal place.
I have included the raw
values as a
parameter in the program to allow you to do your own conversion if you
wish. The formula my program uses to convert
a raw value to one in degrees is:
Raw
Value * 315.0 / 2048
The
formula 757-3b_1.txt
uses to convert
a raw value to one in degrees is:
Raw
Value * 0.571429
I was unable to understand
the conversion from raw values
to degrees used by
D226A101-3G.pdf
for this parameter.
CORRECTED AOA
Raw CORRECTED AOA
This parameter appears in
757-3b_1.txt
but not in D226A101-3G.pdf.
In D226A101-3G.pdf,
the DENSITY S TANK, DENSITY R TANK, DENSITY L TANK and DENSITY C
TANK parameters are stored instead in the location for this parameter
indicated in
757-3b_1.txt.
I didn't use the conversions
from raw values to degrees
from
757-3b_1.txt
which gives a range of ±180 degrees, but used the same
conversion as I used for the INDICATED AOA parameter
which gives a range of
±90 degrees
and about half
the values.
I have included the raw
values as a
parameter in the program to allow you to do your own conversion if you
wish. The formula my program uses to convert
a raw value to one in degrees is:
Raw
Value * 0.17578125
The
formula 757-3b_1.txt
uses to convert
a raw value to one in degrees is:
Raw
Value * 0.35156
DENSITY
C TANK
DENSITY L TANK
DENSITY R TANK
DENSITY S TANK
These parameters appear in
D226A101-3G.pdf
but not in
757-3b_1.txt.
In 757-3b_1.txt,
the CORRECTED AOA parameter is stored instead in the location for these
parameters
indicated in
D226A101-3G.pdf.
I have removed these parameters because the values for CORRECTED AOA
are more sensible than the values for these parameters.
ENG EPR COMMAND - L
ENG EPR COMMAND - R
ENG EPR LIMIT-L
ENG EPR LIMIT-R
ENG EPR-ACTUAL - L
ENG EPR-ACTUAL - R
EPR BUG DRIVE LEFT
EPR BUG DRIVE RIGHT
I used the conversions in
D226A101-3G.pdf
which
produced
the same values as in the NTSB CSV files
rather than the ones in
757-3b_1.txt.
EPR TARGET-FMC
I used the conversion in
D226A101-3G.pdf
rather than the one in
757-3b_1.txt.
FLAP HANDLE POSN
FLAP HANDLE POSN Voltage
Raw FLAP HANDLE POSN
The conversion used in Note 12D of
D226A101-3G.pdf
gives correct values and is the one I used, whereas the one in 757-3b_1.txt
gives incorrect values. The NTSB CSV files also appear to use an
incorrect conversion.
I have
included the raw
and voltage values as parameters in the program to allow you to do your
own conversion if you
wish. The
formula my program uses and D226A101-3G.pdf
uses
to convert
a raw value
to a voltage is:
0.004882813
* Raw Value
The conversion my program uses and D226A101-3G.pdf
uses
to convert
a voltage
to a value in degrees is:
F = -4.292969 + 9.640625 * V - 7.429688 * V ^ 2 +
2.080078 * V ^ 3. If F > 15 then F = -8.527527 + 7.703903 * V where
F is the value in degrees and V is the voltage.
The conversion that the NTSB CSV files appear to use to convert a raw
value to degrees is:
Raw Value * 30 / 1024
GROSS WEIGHT
I used the location for these parameters in
D226A101-3G.pdf
rather than the ones in
757-3b_1.txt
INDICATED
AOA
Raw INDICATED
AOA
I used the conversion in
D226A101-3G.pdf
rather than the one in
757-3b_1.txt
that the NTSB CSV files appear to use. The
last value in the NTSB CSV files for this parameter is very different
than that produced by my program.
I
have included the raw
values as a
parameter in the program to allow you to do your own conversion if you
wish. The formula my program uses and
D226A101-3G.pdf
uses
to
convert
a raw value to one in degrees is:
Raw
Value * 0.17578125
The
formula 757-3b_1.txt
uses to convert
a raw value to one in degrees is:
Raw
Value * 0.175781
INDICATEDAOA2
INDICATED AOA3
These parameters appear in
757-3b_1.txt
occupying the same location as each other, but neither appear in
D226A101-3G.pdf.
In D226A101-3G.pdf,
the ENG OIL PRES - L and F/O CONTROL COLUMN FORCE
parameters are stored instead in the location for these parameters
indicated in
757-3b_1.txt.
INDICATED AOA4
This parameter appears in
757-3b_1.txt
occupying the same location as INDICATED AOA, but does not appear in
D226A101-3G.pdf.
Last File Position
This parameter is the byte position in the file in hex
immediately after the frame marker at the end of the frame.
LATERAL
ACCELERATION
Raw LATERAL ACCELERATION
I didn't use the conversions from raw values to G's from
either of the data frame layouts, but used a linear formula similar to
the one in
757-3b_1.txt
but with m = 0.00203649 and b = -1.064285 which produced
the same values as in the NTSB CSV files. I have included the raw
values as a
parameter in the program to allow you to do your own conversion if you
wish. The formula my program uses to convert
a raw value to one in G's is:
0.00203649
* Raw Value -
1.064285
The
formula 757-3b_1.txt
uses to convert
a raw value to one in G's is:
0.002036
* Raw Value -
1.08333
The formula D226A101-3G.pdf
uses to convert
a raw value to one in G's is:
0.00203649
* Raw Value -
1.083333
LONGITUDINAL ACCEL
Raw LONGITUDINAL ACCEL
I used the conversion from raw values to G's that
D226A101-3G.pdf
uses which produced
the same values as in the NTSB CSV files. I have included the raw
values as a
parameter in the program to allow you to do your own conversion if you
wish. The formula my program uses and D226A101-3G.pdf
uses
to convert
a raw value to one in G's is:
0.00203649
* Raw Value -
1.083333
The formula 757-3b_1.txt
uses to convert
a raw value to one in G's is:
0.002036
* Raw Value -
1.08333
MACH ENGAGED
These columns have names starting with MACH DIG DISC in
the NTSB CSV Files.
MANUFACTURER CODE
I used the location for this parameter and the conversion
in Note 1F of
D226A101-3G.pdf
which produced
the same values as in the NTSB CSV files rather than the location for
this parameter in 757-3b_1.txt.
PITCH
ANGLE CAPT
PITCH ANGLE F/O
PITCH ANGLE IRU
ROLL ANGLE CAPT
ROLL ANGLE F/O
ROLL ANGLE IRU
The same FDR data is labelled differently by
757-3b_1.txt
and D226A101-3G.pdf.
The data labelled PITCH ANGLE CAPT by
757-3b_1.txt
is labelled PITCH ANGLE F/O by
D226A101-3G.pdf.
The data labelled PITCH ANGLE F/O by
757-3b_1.txt
is labelled PITCH ANGLE IRU by
D226A101-3G.pdf.
The data labelled PITCH ANGLE IRU by
757-3b_1.txt
is labelled PITCH ANGLE CAPT by
D226A101-3G.pdf.
The data labelled ROLL ANGLE CAPT by
757-3b_1.txt
is labelled ROLL ANGLE F/O by
D226A101-3G.pdf.
The data labelled ROLL ANGLE F/O by
757-3b_1.txt
is labelled ROLL ANGLE IRU by
D226A101-3G.pdf.
The data labelled ROLL ANGLE IRU by
757-3b_1.txt
is labelled ROLL ANGLE CAPT by
D226A101-3G.pdf.
For these parameters, I have used the labelling convention used by
D226A101-3G.pdf
which matches that used in the NTSB CSV files. I couldn't produce
sensible values for PITCH ANGLE IRU or ROLL ANGLE IRU so
I removed them from the program.
PRES POSN
Raw PRES POSN
The equivalent Microsoft Excel formula my program uses to
convert a pair of MSData and LSData raw values to degrees is:
( MSData * 2048 + MOD( LSData, 2048 )) * 180 / 1048576
I used this formula since the difference in unrounded degree values
between two
adjacent raw values is the same, even where the most positive MSData
wraps around to the most negative MSData at ±180 degrees. Note
that the most significant bit of the LSData is ignored.
The equivalent Microsoft Excel formula
757-3b_1.txt
uses to convert a pair of MSData and LSData raw values to degrees is:
MSData * 0.351563 + ( INT( LSData / 2048 ) * -2048 +
MOD( LSData, 2048 )) * 0.000172
The one used in generating the NTSB CSV files appears to be similar to
this, which is why, by using the most significant bit of the LSData,
the longitude values where incorrect by about 21 minutes of a degree.
In each LSData value of latitude, the most significant bit is 0 which
means INT( LSData / 2048 ) is 0, and the formula then produces similar
results to my program, which is why the latitude values were correct.
I was unable to understand Note 12C of
D226A101-3G.pdf
which determines the conversion that that data frame layout uses to
convert a pair of MSData and LSData raw values to degrees.
I have included the raw
values as a
parameter in the program to allow you to do your own conversion if you
wish.
Pressure Altitude as per
757-3b_1.TXT
This parameter is the same as ALTITUDE (1013.25mB) but
uses the conversion in
757-3b_1.txt
rather than in
Note 3C of
D226A101-3G.pdf.
I believe the values for
this parameter are incorrect and the values for ALTITUDE (1013.25mB)
are correct, however I have included this parameter to illustrate the
difference. See the notes on the ALTITUDE (1013.25mB) parameter for
more details.
RADIO HEIGHT
I used the conversion in Note 8C of
D226A101-3G.pdf
rather than the one in
757-3b_1.txt
ROLL FORCE LINK POSN
This parameter appears in
757-3b_1.txt
but not in D226A101-3G.pdf.
In D226A101-3G.pdf,
the VERTICAL DEVIATION and VPATH OPER parameters are stored instead in
the location for this parameter
indicated in
757-3b_1.txt.
ROLLOUT
ENGAGED HUD
ROLLOUT WARNING HUD
The conversions for these parameters were incomplete in
both data frame layouts, so I removed them from the program.
RUDDER PEDAL POSITION
Raw RUDDER PEDAL POSITION
I didn't use the conversions from raw values to degrees
from
either of the data frame layouts, but used a formula
which
produced
the same values as in the NTSB CSV files
with a maximum difference of 1
in the last decimal place.
I have included the raw
values as a
parameter in the program to allow you to do your own conversion if you
wish. The formula my program uses to convert
a raw value to one in degrees is:
-0.026 * Raw Value
757-3b_1.txt
uses a piecewise linear conversion.
I was unable to understand the conversion from raw values
to degrees used by
D226A101-3G.pdf
for this parameter.
RUDDER
PEDAL POSITION2
This parameter appears in
757-3b_1.txt
occupying the same location as RUDDER PEDAL POSITION, but does not
appear in
D226A101-3G.pdf.
The
formula 757-3b_1.txt
uses to convert
a raw value to one in degrees is:
Raw
Value * 0.0878906
STAB
POSITION SYNCHRO
Raw STAB
POSITION SYNCHRO
I didn't use the conversions from raw values to degrees
from
either of the data frame layouts, but used a formula
which
produced
the same values as in the NTSB CSV files
with a maximum difference of 1
in the last decimal place.
I have included the raw
values as a
parameter in the program to allow you to do your own conversion if you
wish. The formula my program uses to convert
a raw value to one in degrees is:
0.07 * Raw Value - 3.85
757-3b_1.txt
uses a piecewise linear conversion.
I was unable to understand the conversion from raw values
to degrees used by
D226A101-3G.pdf
for this parameter.
Sync Lost
This parameter is "Sync Lost" for any frame which
contains the special loss of synchronisation Hamming Code which
indicates loss of synchronisation and the subsequent end of the section
of compressed data. Otherwise the parameter is blank.
THR LVR ANG / EQUIV PLA-L
THR LVR ANG / EQUIV PLA-R
Raw THR
LVR ANG / EQUIV PLA-L
Raw THR
LVR ANG / EQUIV PLA-R
I didn't use the conversions from raw values to degrees
from
either of the data frame layouts, but used a formula
which
produced
the same values as in the NTSB CSV files.
I have included the raw
values as a
parameter in the program to allow you to do your own conversion if you
wish. The formula my program uses to convert
a raw value to one in degrees is:
0.17578125 * Raw Value
The
formula 757-3b_1.txt
uses to convert
a raw value to one in degrees is:
0.175781
* Raw Value
The formula D226A101-3G.pdf
uses to convert
a raw value to one in degrees
is:
0.17578127 * Raw Value
TRACK
ANGLE TRUE
I didn't use the conversions from raw values to degrees
from
either of the data frame layouts since they both gave about half the
values in the NTSB CSV files and only produced values with a range of
±90 degrees instead of ±180 degrees.
TRUE HEADING CAPT
WIND DIRECTION TRUE
I used a conversion from raw values to degrees that
produced the same values as in the NTSB CSV files with a range of 0 to
360 degrees rather than the conversions from raw values to
degrees
from the data frame layouts which produce values from -180 to 180
degrees.
VERTICAL ACCELERATION
Raw VERTICAL ACCELERATION
I used the conversion from raw values to G's that
D226A101-3G.pdf
uses which produced
the same values as in the NTSB CSV files. I have included the raw
values as a
parameter in the program to allow you to do your own conversion if you
wish. The formula my program uses and D226A101-3G.pdf
uses
to convert
a raw value to one in G's is:
0.00228938
* Raw Value -
3.375
The
formula 757-3b_1.txt
uses to convert
a raw value to one in G's is:
0.002197
* Raw Value -
3.187
VOR FREQUENCY-LEFT
VOR FREQUENCY-RIGHT
I used the conversion in Note 5C of
D226A101-3G.pdf
which
produced
the same values as in the NTSB CSV files
rather than the one in
757-3b_1.txt.
Words in Frame
This parameter shows how many 12 bit words were recorded
for this frame. A frame consists of 4 subframes, each of which contains
256 * 12 bit words. The first 12 bit word of each subframe is a sync
word which is always the same, so when the data is compressed, it is
not stored. This leaves 1020 * 12 bit words that are normally recorded
per frame, however loss of synchronisation and the subsequent end of
the section of compressed data can occur at any point during a frame,
so the frames that show "Sync Lost" also have less than 1020 words.
Go back to the
AAL77 FDR Decoder
page.