Notes on Parameters for the AAL77 FDR Decoder

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.pdfThe 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.