November 2013

NASA/TM–2013-218138 

Vertical Navigation Control Laws and Logic for 

the Next Generation Air Transportation System 

Richard M. Hueschen and Thuan H. Khong 

Langley Research Center, Hampton, Virginia 
NASA STI Program . . . in Profile

Since its founding, NASA has been dedicated to the 

advancement of aeronautics and space science. The 

NASA scientific and technical information (STI) 

program plays a key part in helping NASA maintain 

this important role. 

The NASA STI program operates under the 

auspices of the Agency Chief Information Officer. 

It collects, organizes, provides for archiving, and 

disseminates NASA’s STI. The NASA STI 

program provides access to the NASA Aeronautics 

and Space Database and its public interface, the 

NASA Technical Report Server, thus providing one 

of the largest collections of aeronautical and space 

science STI in the world. Results are published in 

both non-NASA channels and by NASA in the 

NASA STI Report Series, which includes the 

following report types: 

 TECHNICAL PUBLICATION. Reports of 

completed research or a major significant phase 

of research that present the results of NASA 

Programs and include extensive data or 

theoretical analysis. Includes compilations of 

significant scientific and technical data and 

information deemed to be of continuing 

reference value. NASA counterpart of peerreviewed formal professional papers, but 

having less stringent limitations on manuscript 

length and extent of graphic presentations. 

 TECHNICAL MEMORANDUM. Scientific 

and technical findings that are preliminary or of 

specialized interest, e.g., quick release reports, 

working papers, and bibliographies that contain 

minimal annotation. Does not contain extensive 

analysis. 

 CONTRACTOR REPORT. Scientific and 

technical findings by NASA-sponsored 

contractors and grantees. 

 CONFERENCE PUBLICATION. 

Collected papers from scientific and 

technical conferences, symposia, seminars, 

or other meetings sponsored or cosponsored by NASA. 

 SPECIAL PUBLICATION. Scientific, 

technical, or historical information from 

NASA programs, projects, and missions, 

often concerned with subjects having 

substantial public interest. 

 TECHNICAL TRANSLATION. 

English-language translations of foreign 

scientific and technical material pertinent to 

NASA’s mission.

Specialized services also include organizing 

and publishing research results, distributing 

specialized research announcements and feeds, 

providing information desk and personal search 

support, and enabling data exchange services. 

For more information about the NASA STI 

program, see the following: 

 Access the NASA STI program home page 

at http://www.sti.nasa.gov

 E-mail your question to help@sti.nasa.gov

 Fax your question to the NASA STI 

Information Desk at 443-757-5803 

 Phone the NASA STI Information Desk at 

443-757-5802

 Write to: 

 STI Information Desk 

 NASA Center for AeroSpace Information 

 7115 Standard Drive 

 Hanover, MD 21076-1320
National Aeronautics and 

Space Administration 

Langley Research Center 

Hampton, Virginia 23681-2199 

 

November 2013

NASA/TM–2013-218138 

Vertical Navigation Control Laws and Logic for 

the Next Generation Air Transportation System 

Richard M. Hueschen and Thuan H. Khong 

Langley Research Center, Hampton, Virginia 
Available from: 

NASA Center for AeroSpace Information 

7115 Standard Drive 

Hanover, MD 21076-1320

443-757-5802 

The use of trademarks or names of manufacturers in this report is for accurate reporting and does not 

constitute an official endorsement, either expressed or implied, of such products or manufacturers by the 

National Aeronautics and Space Administration. 
Table of Contents

List of Figures................................................................................................................................iii

List of Tables ................................................................................................................................ iv

Symbols & Nomenclature............................................................................................................... 1

Introduction ................................................................................................................................. 2

Overview of VNAV Outer Loop Control System .......................................................................... 2

Description of VNAV Control System........................................................................................... 4

VNAV Control System Inputs.................................................................................................................. 5

VNAV Control System Outputs............................................................................................................... 8

Preprocessing............................................................................................................................................ 9

VNAV Control Laws.............................................................................................................................. 11

Path Control Law................................................................................................................................ 12

Speed Control..................................................................................................................................... 13

Second Order Speed Command Processor......................................................................................... 14

Control Mode Engagement and Path Capture Logic.............................................................................. 16

Engagement Logic.............................................................................................................................. 16

Path Capture Logic............................................................................................................................. 17

Control Law Gain Determination ................................................................................................. 22

Control Law Parameters & Gains................................................................................................. 23

Control System Stability Analysis................................................................................................ 23

Control Performance..................................................................................................................... 29

Path Control Performance....................................................................................................................... 32

Speed Control Performance.................................................................................................................... 52

Summary ............................................................................................................................... 68

Appendix A: Derivation of Estimated Delta Thrust to Weight Parameter.................................. 69

Appendix B: Derivation of Rate of Change of True Airspeed for Constant CAS and Constant 

Mach Conditions........................................................................................................................... 70

Derivations for Constant Calibrated Airspeed........................................................................................ 70

Change in Mach Number with Altitude for Altitudes Equal to or Below 36,089 ft .......................... 71

Change in Mach Number with Altitude for Altitudes Greater than 36,089 ft.................................... 74

Derivations for Constant Mach Number................................................................................................. 75

Change in Speed of Sound with Altitude for Altitudes Equal to or Below 36,089 ft ........................ 75

Change in Speed of Sound with Altitude for Altitudes Above 36,089 ft........................................... 76

Time Rate of Change of True Airspeed for Constant Calibrated Airspeed and Constant Mach Number 

Conditions............................................................................................................................................... 76

dVT/dt for Constant Calibrated Airspeed ........................................................................................... 76

Altitudes Equal to or Less Than 36,089 ft.......................................................................................... 76

Altitudes Greater Than 36,089 ft........................................................................................................ 77

dVT/dT For Constant Mach Number.................................................................................................. 77

Altitudes Equal to or Less Than 36,089 ft.......................................................................................... 77

Altitudes Greater Than 36,089 ........................................................................................................... 77

M2, M4, and M6 Coefficients................................................................................................................... 77
ii

Appendix C: Autothrottle Used for VNAV Control Law Performance Testing ......................... 80

Appendix D: VNAV Simulink Block Diagrams .......................................................................... 81

References ............................................................................................................................. 104
iii

List of Figures

Figure 1. Illustration of VNAV control laws location within a B757 flight control system architecture. .....................4

Figure 2. VNAV outer-loop control system. ..................................................................................................................5

Figure 3. Depiction of altitude errors for VNAV control system...................................................................................8

Figure 4. VNAV control system sensor filtering..........................................................................................................10

Figure 5. VNAV parameter calculations. .....................................................................................................................11

Figure 6. Algorithm for VNAV true airspeed rate-of-change parameter (VdotB). ......................................................11

Figure 7. VNAV path, speed, and vertical speed control laws.....................................................................................14

Figure 8. Vertical velocity command for the vertical velocity control law..................................................................14

Figure 9. Speed command processor for VNAV control system..................................................................................15

Figure 10. VNAV control mode engagement logic......................................................................................................17

Figure 11. Path segment capture logic..........................................................................................................................19

Figure 12. Path error selection logic.............................................................................................................................20

Figure 13. Pitch command synchronization logic.........................................................................................................21

Figure 14. Nichols chart for VNAV path mode linear model at 41 sec of simulated VNAV descent path. ................25

Figure 15. Bode plot for VNAV path mode linear model at 41 sec of VNAV simulated descent path.......................26

Figure 16. Composite Nichols plots for 55 operating conditions for path mode of VNAV control system. ...............27

Figure 17. Composite Nichols plots for 55 operating conditions for speed mode of VNAV control system. .............28

Figure 18. Nichols plot of linear model at 501 sec for VNAV control system speed mode. .......................................29

Figure 19. Various longitudinal parameters for TOD run from 37,000 ft in path control mode..................................35

Figure 20. Path errors and command signals for TOD run from 37,000 ft in path control mode. ...............................36

Figure 21. Logic discretes for TOD run from 37,000 ft in path control mode. ............................................................37

Figure 22. Various longitudinal parameters for idle descent from 16,360 ft in path control mode. ............................39

Figure 23. Path errors and command signals for idle descent from 16,360 ft in path control mode............................40

Figure 24. Logic discretes for idle descent from 16,360 ft in path control mode.........................................................41

Figure 25. Various longitudinal parameters for descent from 7,235 ft in path control mode. .....................................43

Figure 26. Path errors and command signals for descent from 7,235 ft in path control mode.....................................44

Figure 27. Logic discretes for descent from 7,235 ft in path control mode..................................................................45

Figure 28. Longitudinal variables for descent from 7,235 ft in path control mode......................................................46

Figure 29. Various longitudinal variables for 37,000 ft cruise altitude capture. ..........................................................48

Figure 30. Path errors and command signals for 37,000 ft cruise altitude capture.......................................................49

Figure 31. Logic discretes for 37,000 ft cruise altitude capture. ..................................................................................50

Figure 32. Path errors and command signals for 37,000 ft cruise altitude capture with no elevator actuator hysteresis.

.......................................................................................................................................................................................51

Figure 33. Various longitudinal variables for CAS command from 250 to 311 knots in speed control mode. ...........53

Figure 34. Path and speed errors and command signals for CAS command from 250 to 311 knots in speed control 

mode..............................................................................................................................................................................54

Figure 35. Discretes for CAS command from 250 to 311 knots for speed control mode of VNAV control system. ..55

Figure 36. Various longitudal variables for constraint altitude capture during speed control mode engagement. ......57

Figure 37. Path and speed errors and command signals for constraint altitude capture during speed control mode 

engagement. ..................................................................................................................................................................58

Figure 38. Discretes for constraint altitude capture during speed control mode engagement......................................59

Figure 39. Various longitudal variables for climb from 10,000 ft and CAS increase in speed control mode..............61

Figure 40. Path and speed errors and command signals for climb from 10,000 ft and CAS increase in speed control 

mode..............................................................................................................................................................................62

Figure 41. Discretes for climb from 10,000 ft and CAS increase in speed control mode. ...........................................63

Figure 42. Various longitudinal variables for idle TOD in speed control mode. .........................................................65

Figure 43. Path and speed errors and command signals for idle TOD in speed control mode.....................................66

Figure 44. Discretes for idle TOD for speed control mode. .........................................................................................67

Figure 45. Autothrottle of B737 research airplane. ......................................................................................................80

Figure 46. Top level Simulink block of B757 Simulink simulation.............................................................................81

Figure 47. Contents of Autopilot or FCC Simulink block............................................................................................82

Figure 48. Contents of Simulink block PathGuid.........................................................................................................83

Figure 49. Contents of Simulink block patherrors........................................................................................................84

Figure 50. Contents of Simulink block TrajectSigDef. ................................................................................................87
iv

Figure 51. Contents of Simulink block VNAV_EnableDiscs. .....................................................................................88

Figure 52. Contents of Simulink block VNAV_ModeDiscs. .......................................................................................89

Figure 53. Contents of Simulink block FLTPHASE. ...................................................................................................89

Figure 54. Contents of Simulink block PmodeRqst. ....................................................................................................90

Figure 55. Contents of Simulink block ThrotMode......................................................................................................90

Figure 56. Contents of Simulink block SpeedCalcs. ....................................................................................................91

Figure 57. Contents of Simulink block PathCaptureLogic...........................................................................................91

Figure 58. Contents of Simulink block One_shot.........................................................................................................92

Figure 59. Contents of Simulink block KHERR. .........................................................................................................92

Figure 60. Contents of Simulink block ErrorSwitch. ...................................................................................................93

Figure 61. Contents of Simulink block CntlNsegCalc..................................................................................................93

Figure 62. Contents of Simulink block CntlAsegCalc..................................................................................................94

Figure 63. Contents of Simulink block VNAV_Mode_Logic......................................................................................95

Figure 64. Contents of Simulink block EngageRequest. ..............................................................................................95

Figure 65. Contents of Simulink block VNAV_VS_Engage_Logic............................................................................96

Figure 66. Contents of Simulink block PSYNC_Calc..................................................................................................96

Figure 67. Contents of Simulink block Timer. .............................................................................................................97

Figure 68. Contents of Simulink block VNAV_Control_Law. ....................................................................................97

Figure 69. Contents of Simulink block VNAV_Pth. ....................................................................................................98

Figure 70. Contents of Simulink block Ratelim. ..........................................................................................................98

Figure 71. Contents of Simulink block VNAV_Spd. ...................................................................................................99

Figure 72. Contents of Simulink block 2ndOrderProcessor. ........................................................................................99

Figure 73. Contents of Simulink block Limits............................................................................................................100

Figure 74. Contents of Simulink block Mid_Value....................................................................................................100

Figure 75. Contents of Simulink block Bias...............................................................................................................101

Figure 76. Contents of Simulink block VarLimitInteg...............................................................................................101

Figure 77. Contents of Simulink block VTerrorWashout...........................................................................................102

Figure 78. Contents of Simulink block VertSpdControl. ...........................................................................................102

Figure 79. Contents of Simulink block FadeInOut.....................................................................................................102

Figure 80. Contents of Simulink block PitchCmdProcess..........................................................................................103

Figure 81. Contents of Simulink block Subsystem.....................................................................................................103

List of Tables

Table 1. VNAV control system inputs............................................................................................................................6

Table 2. VNAV control system outputs..........................................................................................................................9

Table 3. Control law gains............................................................................................................................................23

Table 4. Control law parameters...................................................................................................................................23

Table 5. Trajectory data file vnav_data_LAX-ATL_TOD.xls. ....................................................................................30

Table 6. Trajectory data file vnav_data_LAX-ATL_CLMB.xls..................................................................................31

Table 7. VNAV trajectory file vnavCLMBdata1.xls....................................................................................................32

Table 8. Constant coefficients for computing dVT/dt for constant CAS and Mach conditions....................................78
1

Symbols & Nomenclature

ASP Airspace Systems Program

ASDO Airspace Super Density Operations

B757 Boeing 757 commercial aircraft

CAS calibrated air speed

CSAOB Crew Systems & Aviation Operations Branch

CG aircraft model center of gravity

DSCB Dynamic Systems and Control Branch

EPR engine pressure ratio

FMS flight management system

FCC flight control computer

LaRC Langley Research Center

MAC mean aerodynamic chord

Mach Mach number

MCP mode control panel

NextGen Next Generation Air Transportation System

RPFMS Research Prototype Flight Management System

TECS Total Energy Control System

TMC thrust management computer

TOD top of descent

VNAV vertical navigation

VNAVI VNAV outer loop control law pitch rate steering output signal

VNAVS VNAV outer loop control law pitch steering output signal
2

Introduction

Within the Crew Systems & Aviation Operations Branch (CSAOB) at LaRC, researchers are 

working to develop technology for use in the development of high-density air traffic operations 

for the evolving Next Generation Air Transportation System or NextGen as it is more commonly 

known. This technology is being developed within a project called Airspace Super Density 

Operations (ASDO) under NASA’s Airspace Systems Program (ASP). Researchers in CSAOB 

are working to develop real-time aircraft trajectory generation and real-time adjustment of the 

trajectories that results in energy-efficient trajectories for a given airplane model. A generated 

trajectory includes a lateral path profile and a vertical path profile where the range for the 

vertical profile is dependent on the lateral profile. To realize high-density operations, aircraft 

guidance and control systems need to be developed to accurately follow these real-time 

generated and real-time adjusted trajectories. As a result of this need, the authors—assigned to

the Dynamic Systems and Control Branch (DSCB) at LaRC—developed an outer loop vertical 

navigation (VNAV) guidance and control system to track a vertical profile of a real-time 

generated trajectory. This document describes the VNAV guidance and control system, provides 

the specifications for the control system, presents VNAV guidance and control law gain 

determination, includes the stability analysis performed, and discusses the typical performance of 

the system.

Overview of VNAV Outer Loop Control System

The VNAV outer-loop control system for ASDO research was designed and developed to 

provide satisfactory control performance when coupled to a representation of the pitch inner loop 

control system that resides within a B757 flight control computer (FCC) as requested by 

CSAOB. For the B757 automatic flight control system architecture, the B757 VNAV outer loop 

control system resides in the flight management system (FMS) as illustrated in Figure 1 (note 

shaded block). The B757 VNAV outer loop control system outputs a pitch command signal 

(VNAVS) and a pitch rate command signal (VNAVI) for input to the FCC. The VNAV control 

laws described in this report were designed to provide compatible VNAVS and VNAVI signals 

to a representation of the B757 FCC that resides within a B757 aircraft simulation available to 

CSAOB.

For the ASDO research, VNAV control laws were developed for path and speed control modes 

along with engagement logic. The control laws follow the ASDO trajectories using altitude and 

altitude rate errors, a speed command, control mode engagement requests (speed or path mode 

request), desired flight phase, and logic discretes provided by the ASDO VNAV trajectory 

calculations done in the Research Prototype Flight Management System (RPFMS) environment.

The vertical trajectory calculations in the RPFMS compute a trajectory consisting of a series of 

connected straight line path segments and, in turn, compute altitude and altitude rate errors 

relative to the path segment that the aircraft is currently tracking or following (thus, referred to as 

the current path segment). To facilitate smooth transitions between segments, the trajectory 

calculations also compute altitude and altitude rate errors relative to the next path segment to be 

subsequently followed. These errors, along with altitude and altitude rate errors relative to a 

constraint altitude (an altitude that the aircraft should not fly through or away from is the selected 
3

altitude shown on the mode control panel, or MCP, of the aircraft), are provided for the VNAV 

control system.

The RPFMS trajectory calculations also compute a desired speed for each of the path segments 

of the VNAV trajectory. The desired speed is either a desired calibrated airspeed (CAS) or a 

desired Mach number (Mach). The trajectory calculations compute the desired true airspeed as a 

function of desired CAS or Mach number, and this airspeed is input to the VNAV control 

system. The computations in the RPFMS also send a discrete signal to the VNAV control 

system to indicate if the desired true airspeed input was computed from the desired CAS or the 

desired Mach number.

When the VNAV control system is engaged in the path mode, it uses the RPFMS computed path 

errors for computing pitch steering signals to follow the VNAV trajectory and to level the 

aircraft flight at the constraint altitude should it be encountered. The VNAV control system 

outputs a pitch-steering signal (VNAVS) and a pitch-rate-steering signal (VNAVI), as shown in 

Figure 1, and these are input to the FCC for computing a pitch command (these signals will be 

described later in subsection VNAV Control System Outputs). The control law in the block 

Pitch Inner Loop uses the pitch command to compute the autopilot elevator servo command. 

When the VNAV control sytem is in the path mode, the pilot or an autothrottle system must 

maintain the desired CAS or desired Mach number by making appropriate throttle commands.

When the RPFMS VNAV trajectory calculator requests the speed mode, the VNAV control 

system engages in the speed control mode where now the VNAVS and VNAVI output signals 

become signals for computing pitch commands in the FCC to track either desired CAS or desired 

Mach. In the speed control mode, the closed loop VNAV control system becomes a speed-onelevator control mode; that is, the elevator changes the aircraft pitch to control the desired speed. 

When the VNAV control system is engaged in the speed control mode, the pilot or thrust 

management system is expected to control the throttle position for a fixed EPR—typically, either 

a climb EPR or an idle EPR setting depending on the phase of flight.

The details within the blocks Pitch Command Process and Pitch Inner Loop of Figure 1 are 

proprietary to Boeing. However, the algorithm in Pitch Command Process combines and limits 

the VNAVS and VNAVI signals to produce a pitch command that will not cause a specified 

vertical acceleration limit to be exceeded.
4

Figure 1. Illustration of VNAV control laws location within a B757 flight control system architecture.

Description of VNAV Control System

Figure 2 illustrates the three basic parts that make up the VNAV control system: (1) 

Preprocessing for filtering sensor measurements and computing control law parameters, (2) 

Control Laws that compute the pitch and pitch rate steering output signals, and (3) Control Mode 

Logic for engagement and disengagement of the VNAV system control modes. These three 

parts and the inputs and outputs to the VNAV control system are described in the following 

subsections and defined in Tables 1 and 2.
5

Figure 2. VNAV outer-loop control system.

VNAV Control System Inputs

All of the VNAV control system inputs are defined in Table 1. The inputs include inertial 

vertical speed and flight path acceleration available from an aircraft’s inertial navigation system 

and true airspeed, Mach number, and barometric altitude available from an aircraft’s airdata 

computer. Some of these inputs are preprocessed or filtered to remove signal noise. The 

RPFMS trajectory calculations provide altitude and altitude rate error inputs relative to (1) the 

current VNAV path segment, (2) the next VNAV path segment, and (3) the constraint altitude. 

Other inputs that the RPFMS trajectory calculations provide are true airspeed command, 

requested control mode (path or speed), various arm/enable discretes, desired speed tracking 

discrete (MachSel), and current flight phase (climb, cruise, or descent).
6

Table 1. VNAV control system inputs.

Parameter Units Description

AIRCRAFT PARAMS

Hdot ft/sec Inertial navigation system vertical velocity

Mach Non-dim Mach number from air data computer 

VT ft/sec True airspeed from air data computer 

AFP ft/sec2 Inertial navigation system flight path acceleration

NAV VARIABLES

ft Altitude error relative to current path segment; hcmd, i – h

Δhi

ft/sec Vertical velocity error relative to current path segment; 

hcmd,i – 

h

ft Altitude error relative to next path segment

Δhi+1

ft/sec Vertical velocity error relative to next path segment

ft Altitude error relative to constraint altitude

Δhc

ft/sec Vertical velocity error relative to constraint altitude

MachSel non-dim Mach select discrete: 0 – track commanded CAS, 1 – track 

commanded Mach number

VSENABLE non-dim Vertical Speed (VS) submode discrete: 0 – inhibit vertical speed 

engagement, 1 – enable submode engagement

DelTAS_VS ft/sec Constant true airspeed error value at which VS submode engages

VNAVARM non-dim VNAV mode arm discrete: 1 – armed, 0 – not armed

PMODE non-dim Desired VNAV control mode: 0 – speed mode, 1 – path mode

CurCapEnb non-dim Capture of current path segment enable discrete: 0 – disabled, 1 –

enabled

NSEGARM non-dim Next path segment arm discrete: 0 – not armed , 1 – armed (capture 

of next path segment armed)

AltCapEnb non-dim Capture of constraint altitude enable discrete: 0 – disabled, 1 –

enabled

SEGUPD non-dim One-shot discrete set true for one iteration when aircraft arrives at 

start of a path segment 

FltPhase non-dim Phase of flight: 1 – climb, 2 – cruise, 3 – descent, 4 – altitude hold

DISENG non-dim VNAV disengage discrete: 0 – do not disenage VNAV control, 1 –

disengage VNAV control

PARAMETERS

PthHddLim ft/sec2 path control law error signal rate limit (vert accel limit)

SpdHddLim ft/sec2 speed control law error signal rate limit (vert accel limit)

VSHddLim ft/sec2 vertical speed control law error signal rate lim (vert accel limit)

DHCP ft Path capture logic altitude error parameter
7

The altitude error inputs that are relative to path segments of the VNAV trajectory and provided 

by the RPFMS trajectory calculations are further clarified here. In this document the current 

path segment is referred to as the i

th segment and the next path segment as the ith+1 segment. 

Figure 3 depicts the altitude errors relative to the current and next path segments for two 

different scenarios. These two scenarios were chosen among several possible scenarios to 

illustrate that the path errors for the i

th+1 path segment are generated relative to the backward 

projection of the segment from its starting location. The path errors for the backward projection 

are used to trigger the capture of the path segment before arriving at the start of the segment so 

that the segment is captured without significant path overshoot. For scenario 1, the aircraft is 

below both the i

th path segment and the backward projection of the ith+1 segment (projected 

backwards since the starting point of the i

th+1 segment lies ahead of the aircraft); also, the flight 

path angle (γ) of the ith+1 segment is less than the flight path angle of the i

th segment. For 

scenario 2, the aircraft is below the i

th segment and above the backward projection of the ith+1

segment; also, the flight path angle of the i

th+1 segment is greater than the flight path segment of 

the ith segment. The VNAV control system uses the altitude error and vertical velocity error 

relative to the i

th path segment to compute pitch steering signals to track the ith path segment prior 

to capture of the i

th+1 segment. Prior to the capture of the ith+1 segment, the VNAV control 

system uses the altitude error and vertical velocity error relative to the i

th+1 path segment to 

determine when to capture this path segment so that a smooth and low-overshoot capture is 

achieved. At the instant when capture of the i

th+1 segment occurs, the errors relative to ith+1

segment are then fed to the path control system for performing the capture maneuver. When the 

aircraft arrives at the intersection, the i

th+1 segment becomes the ith or current path segment. The 

capture logic is described later in the subsection Control Mode Engagement and Path Capture 

Logic.
8

Figure 3. Depiction of altitude errors for VNAV control system.

VNAV Control System Outputs

The control outputs from the VNAV control system are pitch and pitch rate steering commands 

that are suitable inputs for the pitch processing algorithms in the B757. The FCC processes these 

commands to produce a pitch command for the pitch inner loop control system. The FCC pitch 

processing algorithms compute a pitch error that is driven towards zero by the pitch inner loop 

autopilot elevator command control law. When the VNAV control system is tracking a path 

segment in path mode or the commanded speed in speed mode with zero error, the VNAV 

control steering commands will be zero. The other outputs of the VNAV control system are 

engagement discretes to indicate the status of the VNAV control system to the RPFMS trajectory 

computations. Table 2 provides a list of the VNAV control system outputs, their units, and 

descriptions.
9

Table 2. VNAV control system outputs.

Parameter Units Description

CONTROL COMMANDS

VNAVI deg/sec VNAV pitch rate steering command

VNAVS deg VNAV pitch steering command

CONTROL DISCRETES

VNAVE non-dim VNAV control mode engaged

PTHARM non-dim VNAV path mode armed for engagement

PTHENG non-dim VNAV path mode engaged

SPDENG non-dim VNAV speed mode engaged

VSENG non-dim VNAV vertical speed submode of speed mode 

engaged

PTHCAP non-dim One-shot discrete true for one iteration when 

current path segment, next path segment, or 

constraint altitude is captured.

TypePthCap integer 0 – no path capture, 1 – current path segment 

capture, 2 – next path segment capture, 3 –

constrained altitude capture

NSEGCAP non-dim One-shot discrete true for one iteration when next 

segment path capture occurs; same information 

available from above two outputs

Preprocessing

The preprocessing part of the VNAV control system consists of parameter filtering and control 

law parameter calculations.

Parameter filtering is conducted to remove noise from the sensor measurements. The sensor 

measurements that are filtered are true airspeed (VT), flight path acceleration (AFP), and Mach 

number (see Figure 4). The filtered airspeed (VTf

) is used in both of the VNAV control laws. 

True airspeed is further low-pass filtered to produce a “gain scheduled” filtered true airspeed 

(VTGS) that is used in the calculation of control law parameters. Filtered flight path acceleration 

(AFPf) and “gain scheduled” Mach number (MachGS) are both used to compute control law 

parameters.

Figures 5 and 6 show that control law parameters are calculated for use in the VNAV mode 

control logic and VNAV speed control. The parameters are estimated weight-to-thrust change 

(EstDTW), climb discrete (CLMB), descent discrete (DESND), true airspeed error (∆VT), and 

true airspeed rate-of-change bias (VdotB). The parameter ∆VT is used in the control mode logic, 

and the remaining parameters are used in the speed command processor (to be discussed in more 

detail in the Speed Control section of this document). EstDTW is used for computing 
10

acceleration limits in the speed command processor, and its derivation is presented in Appendix 

A. The inputs used to compute EstDTW are the vertical velocity available from an inertial 

navigation system (Hdot) and two filtered measurements discusssed above (VTGS and AFPf). The 

true airspeed rate parameter, VdotB, is used in the speed command processor to reduce a 

potential bias offset in the processor output (Vcmd) and the derivation of this bias parameter is 

presented in Appendix B. More discussion of VdotB is given in the Speed Control section of 

this document.

Figure 4. VNAV control system sensor filtering.
11

Figure 5. VNAV parameter calculations.

Figure 6. Algorithm for VNAV true airspeed rate-of-change parameter (VdotB).

VNAV Control Laws

Figure 7 shows the three control laws in the VNAV control system: 1) a VNAV path control law 

used for the path control mode, 2) a VNAV speed control law used for the speed control mode, 

and 3) a vertical speed control law. The vertical speed control law is a sub-mode of the speed 

control mode. All these control laws compute pitch and pitch rate steering commands that are 

output for processing by a pitch inner loop control system.

When the path control mode is engaged, the VNAV path control law computes commands to 

track a desired VNAV trajectory, and speed is assumed to be controlled by the aircraft’s TMC 

autothrottle control law or by the pilot. When the speed control mode is engaged, one of the two 

control laws for this mode will be engaged. If the absolute value of the true airspeed error is less 

than or equal to a specified value (DelTAS_VS of Table 1), the VNAV speed control law will 

track the desired VNAV speed profile. If the airplane is in the climb phase and the airspeed error 

becomes greater than DelTAS_VS (which occurs when the VNAV system commands a large 

airspeed increase or the pilot dials in a large airspeed increase on the MCP), then the vertical 

speed control law will engage and control to a constant vertical speed between 0 and 500 ft/min. 

When the true airspeed becomes less than DelTAS_VS, the VNAV speed control law reengages. Normally, the controlled vertical speed will be 500 ft/min since the airplane will 

normally be climbing at a higher rate than 500 ft/min when in the climb phase. The controlled 
12

vertical speed can be a constant value between 0 and 500 ft/min if the commanded airspeed 

increase occurs while the airplane is climbing within that vertical speed range, or 0 if the airplane 

was temporarily descending when the airspeed increase was commanded. When climbing, the 

vertical speed control law insures that the airplane accelerates quickly to a large increase in the 

commanded airspeed, but without descending, as could result if the VNAV speed control law 

remained engaged. When descending, the vertical speed control law insures that the airplane 

decelerates quickly to a large decrease in the commanded airspeed without climbing, as could 

result if the VNAV speed control law remained engaged. When descending and the true airspeed 

error is less than –DelTAS_VS, the vertical speed control law enages to control the vertical 

speed between 0 and –500 ft/min. When the airspeed error is greater than –DelTAS_VS, the 

VNAV speed control law re-engages. When engaged in the speed mode, the VNAV trajectory 

errors are ignored and the TMC or the pilot commands a fixed EPR or throttle setting for the 

climbing flight phase or an idle throttle setting for the descent flight phase. Figure 7 shows that 

the discretes PTHENG, SPDENG, and SPDE1 select the pitch steering and pitch rate steering 

commands that will be contained in the output signals VNAVSC and VNAVIC.

Path Control Law

The VNAV path control law was designed to track a VNAV trajectory that consists of several 

straight-line, connected path segments with various flight path angles. The control law captures 

and tracks a path segment with inputs of the altitude error, altitude rate error relative to that path 

segment, and filtered true airspeed (see Figure 7). The control law architecture was adopted 

from the altitude capture and hold control mode of the Total Energy Control System (TECS) that 

was flight tested on a B737 research aircraft at Langley Research Center [1]. The computed gain 

(KHERR) converts the altitude error (Δh) to a commanded change in vertical speed, and that 

commands an exponential reduction in the altitude error with a time constant equal to one

divided by KHERR [2]. The equation for the computation of KHERR and the limiting of the 

product of KHERR times Δh was taken from the TECS as implemented on the B737 research 

aircraft [3]. The rate of change of the vertical speed command is limited (see Figure 7) in order 

to limit the resulting vertical acceleration. The parameter PthHddLim (Table 1) specifies the rate 

limit of the command that is equivalent to a limit on vertical acceleration. The altitude rate error 

input ( Δ

h) provides path damping. The division of the vertical velocity command and Δh by 

filtered true airspeed results in a flight path angle error relative to the air mass (if the vertical 

motion of the air mass is ignored) after the summing block in Figure 7. This error is multiplied 

by path control law pitch rate steering gain (KIVN) to produce a pitch rate steering command 

and mutiplied by the path control law pitch steering gain (KPVN) to produce a pitch steering 

command. KHERR is a function of PthHddLim, the altitude rate error, and the constant 

parameter KHBIAS. KHERR is also used in the path segment capture logic (to be discussed 

later) which results in proper capture initiation times for different values of PthHddLim.

Engagement of this control law and capture of path segments is transient-free (i.e. no step 

command changes) since, at engagement and path capture, the pitch and pitch rate steering 

commands will both be zero. Control law engagement is discussed in the document subsection 

Engagement Logic, and the path capture logic is discussed in the section Path Capture Logic. 

The determination of the gains KIVN and KPVN will be discussed in the Control Law Gain 

Determination section of this document.
13

Speed Control

The speed control law was designed to track a desired CAS or Mach number using pitch control 

of the aircraft (often referred to as speed-on-elevator control) and is in the middle level of Figure 

7. The input to the control law is computed true airspeed error (VTerr) that is the difference 

between the output of a second order speed command processor (Vcmd), to be discussed in detail 

in the following subsection, and filtered true airspeed. The input to the speed command 

processor is the selected true airspeed that the RPFMS computes from either the commanded 

Mach number or CAS, depending on whether commanded Mach or commanded CAS is to be 

tracked (note that the commanded Mach number or commanded CAS will be from either the 

VNAV trajectory commands or the speed selection on the MCP). In Figure 1using selected true 

airspeed rather than Mach and CAS commands, only one control law is needed to track either 

CAS or Mach. The gain KVTERR controls the response time in reducing speed errors. The 

product of speed error and KVTERR is rate limited to a value specified by the parameter 

SpdHddLim to ultimately limit vertical acceleration during pitch changes for speed control. A 

washout filter on speed error with a 0.5 sec time constant is used to provide speed capture 

damping. The gain KCWO provides for adjustment of the damping. The sum of the rate limited 

speed error and damping signal is multiplied by gain KCIVN to produce a pitch rate steering 

command and multiplied by gain KCVN to produce a pitch steering command. This control law 

also provides transient-free engagement in that the pitch and pitch rate steering commands will 

be zero at engagement of the speed control law, since the true airspeed error is zero because the 

speed command proccessor output (Vcmd) is initialized to the true airspeed at control law 

engagement. The determination of the gains KCIVN and KCVN will be discussed in the Control 

Law Gain Determination section of this document.

The bottom left side of Figure 7 shows the vertical speed submode control law. The signal 

VSCMD is the vertical speed command that will have a value between 0 and 500/60 ft/sec when 

in the climb phase and between 0 and –500/60 ft/sec when in the descent phase. The first order 

filter at the left side of the control law serves two purposes. First, it is used to smoothly change 

the vertical velocity command from the instantaneous vertical velocity of the aircraft at 

engagement to the fixed commanded value. Second, the filter provides transient-free engagment 

of the control law since the vertical velocity error will be zero at engagement. The second first 

order filter is used to obtain acceptable gain and phase margins. The vertical velocity of the 

aircraft (Hdot) is subtracted from the output of the first filter to produce a vertical velocity error 

which in turn is divided by the filtered true airspeed and multiplied by 57.3 to compute a flightpath-angle-like error in deg. Multiplying this error by the pitch rate steering gain, KVSIVN, 

produces the pitch rate steering command. Multiplication of the output of the second filter by 

the pitch sterring gain, KVSVN, produces the pitch steering command.

Figure 8 shows the computational algorithm for the vertical velocity command. The vertical 

velocity command depends on the flight phase inputs CLMB (climb phase) and DESND (descent 

phase) and the vertical velocity of the aircraft at the time the vertical velocity control law is 

engaged (VSENG).
14

Figure 7. VNAV path, speed, and vertical speed control laws.

Figure 8. Vertical velocity command for the vertical velocity control law.

Second Order Speed Command Processor

The speed command processor in Figure 9 computes a true airspeed error signal (VTerr) for 

input to the VNAV speed control law. The speed command processor smooths the selected true 

airspeed command (VTsel) which is an input from the RPFMS trajectory calculator. As 
15

mentioned earlier, VTsel can represent a commanded CAS or a commanded Mach depending on 

which is to be tracked. The use of the processor prevents large steps in the speed error from 

being introduced to the speed control law and limits the rate of change of the true airspeed 

command (Vcmd) that is output from the processor to rates that the aircraft can achieve. The 

processor consists of a second order, critically damped filter that contains computed acceleration 

limits and speed limits. The bandwidth of the filter was set to 0.12 rad/sec, resulting in a filter 

output (Vcmd) of 80 percent of the value for a step input in approximately 25 sec and 98 percent 

in 50 sec, in the absence of any acceleration limits. This provides a reasonable time for a speed 

change to a new commanded speed. The rate of change of the filter output is limited by 

computed acceleration limits.

The acceleration limits are computed as a function of flight phase using the delta thrust to weight 

change computed parameter, EstDTW, as shown in Figure 9. When climbing, the upper 

acceleration limit is the product of EstDTW, acceleration due to gravity (g), and 0.6 and the 

lower limit is –1000/VTGS. As noted in the derivation for EstDTW in Appendix A, multiplying 

EstDTW by g provides a quantity consisting of the flight path acceleration plus an estimated 

potential flight path acceleration. Multiplying this product by 0.6 makes the upper acceleration 

limit conservative to what should be achieveable. The lower limit for the climb flight phase is 

not normally encountered since the aircraft is usually either maintaining a constant speed or 

accelerating. However, if a speed reduction during a climb is commanded, the lower limit 

quantity represents an achieveable deceleration level at the filtered true airspeed, VTGS. When 

the airplane is descending, the lower limit is given as the product of –EstDTW, g, and 0.6 and the 

upper limit is 1000/VTGS.

The Vcmd is the output of a limited integrator and the integrator is limited to values between 0 

and 1000 ft/sec.

Figure 9. Speed command processor for VNAV control system.
16

The input VdotB shown at the lower middle portion of Figure 9 is used to offset a bias that 

would otherwise ocurr in Vcmd when the aircraft is climbing or descending under constant CAS 

or Mach. When the aircraft is being flown at constant CAS, true airspeed increases if the aircraft 

is climbing or decreases if descending. For constant Mach below 36,089 ft barometric altitude, 

true airspeed decreases if the aircraft is climbing and increases if descending. For constant Mach 

above 36,089 ft, true airspeed remains constant regardless of vertical speed since the atmospheric 

temperature is constant above this altitude. So, when true airspeed is changing for a constant 

CAS or Mach flight, the input to the second order filter, VTsel will be changing, and a lag or bias 

would occur in Vcmd without the compensation that is provided by the input VdotB. Figure 6 

shows the computation of VdotB, and the derivation of it is in Appendix B.

Control Mode Engagement and Path Capture Logic

This section describes the logic to perform the following functions:

• engage/disengage the path control, speed control, and vertical speed control laws

• initialize the speed command processor

• initialize three control law filters

• initialize two control law rate limiters

• determine when to initiate the capture of a VNAV path segment

• determine which set of altitude, and altitude rate errors to input to the path control law

Engagement Logic

Figure 10 shows the mode control logic that generates the discretes for engagement and 

initialization. The engagement logic determines which VNAV control mode should be engaged. 

The path mode is engaged and initialized (PTHENG is set true) if (1) the RPFMS is requesting 

that the pitch path control mode be engaged (Pth_R is true ), (2) the path mode is not engaged 

(the past value of PTHENG is false), (3) the control system is armed for engagement 

(VNAVARM is true ), and (4) the discrete to capture a path segment has been set true (PTHCAP 

is true). When PTHENG is true, the path control law is engaged and its pitch and pitch rate 

steering commands are output from the VNAV control system. PTHENG is latched true and is 

reset false when either the speed mode is requested (Spd_R is true) or the disengage discrete 

(DISENG) is set true. The request for the speed or path mode to be engaged is computed from 

input variable PMODE (see Figure 11). PMODE is an input from the RPFMS trajectory 

calculations. If the speed control mode is requested (Spd_R is true) when the path control is 

engaged , the path control law will be disengaged, and, if VNAVARM is true, the speed control 

mode will be engaged (SPDENG is set true) on the same computational iteration. If DISENG is 

set true, the VNAV control system will be disengaged.

The bottom of Figure 10 shows that when the speed mode is engaged, the vertical speed mode 

can be engaged (i.e. VSENG can be set true). VSENG is set true for two conditions: (1) if the 

true airspeed error (ΔVT) is greater than DelTAS_VS, the climb discrete (CLMB) is true, and the 

vertical speed mode is enabled for engagement (VSENB is true), and (2) if the airspeed error is 
17

less than –DelTAS_VS, the descend discrete (DESND) is true, and VSENB is true. The discrete 

SPDE1 indicates the speed mode is engaged, but the vertical speed submode is not engaged. 

This discrete is used for selecting the correct output signals from the VNAV control system and 

for the initilization of two control law integrators, one filter, and one rate limiter (Figure 7 and 

Figure 9).

Figure 10. VNAV control mode engagement logic.

Path Capture Logic

Figure 11 shows the path capture logic (note that subscript P on some discretes represents the 

past value of that discrete). As previously stated, the VNAV path control law is designed to 

follow a vertical path that consists of a series of connected straight line path segments with 

various flight path angles (see the section titled Path Control Law). The control law is designed 

to start the capture of a path segment with a transient-free control law engagement (that is, the 

pitch and pitch rate steering commands will be zero at engagement). The control law provides 

an exponential capture of a vertical path segment given the altitude error and altitude rate error 

relative to the path segment. The path capture logic determines which path segment should be 

captured and when a transition to the next segment should occur. If a current path segment 

capture should occur, CSEGCAP is set true; if a next path segment path capture should occur, 
18

NSEGCAP is set true; and, if constraint altitude capture should occur, ASEGCAP is set true. 

These three discretes are set true for only one computational iteration by the One-Shot blocks. 

As shown for the computation of the variable TypePthCap in the lower right side of Figure 11, 

the capture discretes have a defined priority. The constraint altitude capture has the highest 

priority and the current path segment capture the lowest priority. For example, if current path 

segment and next path-segment captures were set true simultaneously, the next path segment 

capture would be executed rather than the current path segment capture. The discrete PTHCAP 

is set true when any type of capture occurs and is subsequently used in control law 

sychronization and output command smoothing during control mode changes or changing 

control to a different path segment. For any type of path capture to occur, the enabling discretes 

for each type of capture must be true (CurCapEnb for current path segment capture, NSEGARM 

for next path capture, and AltCapEnb for the constraint altitude capture). These enabling 

discretes are inputs from the RPFMS trajectory calculations.

The CSEGCAP discrete will be set true if CurCapEnb is true, the past value of the path mode 

engage discrete (PTHENGP) is false, the past value of the path mode engage request (Pth_RP) is 

true, and the discrete output from the top block of Figure 11 labeled “Path Cap Trig” is true. 

Figure 11 shows the contents of this Path Cap Trig block. The contents of the other two Path 

Cap Trig blocks are the same. The computations for the gain KHERR in the Path Cap Trig block 

is the same as that for KHERR in the path control law (see Figure 7). Note that path capture will 

occur if the aircraft is within DHCP feet of the path segment regardless of what the altitude rate 

error is (the numerical value of this constant parameter is specified in Table 1 and is set in the 

RPFMS). DHCP is set to a small value to insure that path capture will occur if the aircraft is 

close to the desired path segment when the path mode is requested for engagement with the 

VNAV control system engaged in the speed mode or when the VNAV control system is armed 

for engagement and the path mode is requested to be engaged.

The next path segment capture discrete (NSEGCAP) will be set true if the past value of the path 

mode engage request (Pth_RP) is true, NSEGARM is true, VNAVARM is true, and the discrete 

output from the middle Path Cap Trig block of Figure 11 is true.

The constraint altitude capture discrete (ASEGCAP) will be set true if AltCapEnb is true, 

VNAVARM is true, the past value of VNAV engage (VNAVEP) is true, and the discrete output 

from the bottom Path Cap Trig block of Figure 11 is true.
19

Figure 11. Path segment capture logic.

When a path capture occurs, the appropriate set of altitude and altitude rate errors that are input 

to the VNAV control system from the RPFMS trajectory calculations must be selected for input 

to the path control law. Figure 12 shows the logic and switches for this selection. The discretes 

CNTLNSEG and CNTLASEG are used to set the switches for selection of the appropriate 

altitude and altitude rate error for the path control law. When CNTLNSEG is true, the control 

law is capturing the next path segment before the aircraft arrives at the starting point of this path 

segment (recall from Figure 3, that during initial capture of the next path segment, the control 

law is controlling to an extension of the next path segment). When the aircraft arrives at the 

starting point of the next path segment, the one-shot discrete path segment update (SEGUPD) is 

set true by the RPFMS trajectory calculations, and that causes CNTLNSEG to be reset to false. 

When SEGUPD is set true, the RPFMS trajectory calculations set the current altitude and 

altitude rate errors to those that previously were the next segment altitude and altitude rate errors 

since the aircraft has arrived at the starting point of the path segment that previously was the next 

path segment and now has become the current path segment. CNTLNSEG is also reset if 

ASEGCAP is set true. When CNTLASEG is set true, the control law is capturing or tracking the 

constraint altitude. CNTLASEG is reset to false if AltCapEnb is set false by the RPFMS and 

either NSEGCAP or CSEGCAP is set true or the past value of the speed mode request (Spd_R) 

is set true.
20

Figure 12. Path error selection logic.

The control law output commands are smoothed to prevent potential steps in the commands 

when switching between control laws or when a path segment capture occurs. While the control 

law to be engaged will initially have zero commands at the switch time, the current control law 

may have non-zero commands because it may still be capturing a commanded target at switch 

time. When capturing a next path segment in the path mode, the initial commands for the next 

path segment will be zero, but the current path segment commands may be non-zero if the 

current segment capture has not been completed when next segment capture occurs. So, 

smoothing is provided by an easy-on/easy-off function. The smoothing and the logic to activate 

the smoothing is referred to as pitch command synchronization in this document. When pitch 

command synchronization is desired, the PSYNC discrete is set true to trigger the start of the 

synchronization. Figure 13 shows the logic for setting the PSYNC discrete. When PSYNC is set 

true, the previous pitch and pitch rate steering commands are stored, and then these stored 
21

commands are linearly ramped out while the new VNAV pitch and pitch rate steering commands 

are linearly ramped in over a time period specified by the parameter FadeTime (default to 2 sec).

The smoothing is done as follows: (1) let G be a gain that varies linearly from zero to one over 

the period FadeTime, (2) let VNAVSC and VNAVIC be the new pitch and pitch rate command 

signals, (3) let VNAVSCP and VNAVICP be the values of the stored past pitch and pitch rate 

command signals just before PSYNC becomes true, and (4) let VNAVS and VNAVI be the pitch 

and pitch rate command signals output from the VNAV control system. When PSYNC is set 

true, the output pitch and pitch rate command signals are computed as

VNAVS = VNAVSC * G + VNAVSCP * (1 – G)

VNAVI = VNAVIC * G + VNAVICP * (1 – G)

When the value of G reaches one, G is reset to zero, and the output pitch and pitch rate command 

signals are computed as

VNAVS = VNAVSC

VNAVI = VNAVIC

Figure 13. Pitch command synchronization logic.
22

Control Law Gain Determination

During initial control law development, the control law gains were chosen by examining the path 

and speed capture dynamic responses obtained from simulations using a non-linear B757 

Simulink® simulation (Simulink is simulation software available from The MathWorks, Inc.) 

where the aircraft model part of the simulation is proprietary. A goal for the system design was 

to use fixed gains and avoid using gain scheduling. Such a goal seemed reasonable since the 

VNAV system is an outer-loop control system used during flight phases where the path and 

speed tracking response is desired to be relatively constant and slow. The system architecture is 

essentially commanding flight path angle changes from which a pitch command is computed. It 

was assumed that for slow changes in the commanded pitch, system stability would be 

maintained by the pitch inner loop gain scheduling as aircraft operating conditions changed. In 

attempting to use fixed gains, optimization algorithms available in the Simulink software 

environment were employed to find gains for the path and speed control laws that would 

minimize path and speed errors over the VNAV flight conditions. For optimization of the path 

control law gains, a cost function was used that had penalities for altitude error and pitch rate 

error. The penalty on pitch rate error avoided gains resulting in vertical path maneuvering 

uncomfortable for airplane passengers. The optimization algorithm [4, 5] determined path 

control law gains while the VNAV control system was tracking a descending VNAV path 

trajectory. Optimal gains were determined at specified times along the trajectory at 5, 10, 15 sec, 

etc. The optimal gains found at the specified times did not necessarily have the same values. 

Fixed gains were computed by averaging the gains found at the specified times. Then, 

simulation runs were made with these fixed gains to see if the path capture and tracking 

performance was acceptable. Additionally, the Simulink Control Design Toolbox was used to 

determine the stability of the VNAV control system at 20 sec intervals along a descending 

VNAV trajectory using the fixed gains. For the speed control law, a similar process was used to 

determine optimal gains for a cost function having penalties on true airspeed error and pitch rate 

error. The same procedure as described above for the VNAV path control law was used to 

determine constant gains for the VNAV speed control law and their suitability.

Table 3 shows the constant gains used for the VNAV control laws. The gains used for the 

VNAV speed control law are those determined by the optimization procedure. The gains used 

for the path control mode are approximately two times larger than those determined by the 

optimization procedure. Nichols plots for the path mode revealed that there was excessive gain 

margin with the optimized gains for the path mode. Since it was desired to improve the path 

tracking performance for some of the tested VNAV trajectories, the path control law gains were 

increased by a factor of approximately two from the optimized gains. Then, with these new 

gains, the gain and phase stability margins were checked and still found acceptable as is shown 

in the control system stability analysis section of this report.
23

Control Law Parameters & Gains

Tables 3 and 4 list the gain values and control parameters for the VNAV control system.

Table 3. Control law gains.

Gain Units Value Description

Path Control

KIVN deg/sec/rad 20 Path control law pitch rate steering command gain

KPVN deg/rad 200 Path control law pitch steering command gain

Speed Control

KVTERR non-dim 1.0 Speed control law gain on true airspeed error

KCIVN deg/sec/ft/sec 0.020014 Speed control law pitch rate steering command gain

KCVN deg/ft/sec 0.13562 Speed control law pitch steering command gain

KCWO sec 5.1992 Speed control law washout filter gain

Vertical Speed Control

KVSIVN sec–1 0.3 Vertical speed control law pitch rate steering command 

gain

KVSVN non-dim 1.0 Vertical speed control law pitch steering command 

gain

Table 4. Control law parameters.

Parameter Units Value Description

WV rad/sec 0.12 Bandwidth of speed control law seccond-order processor

PthHddLim ft/sec2 1.6 Vertical acceleration manuever limit for path control

SpdHddLim ft/sec2 3.0 Vertical accleration manuever limit for speed control

VSHddLim ft/sec2 3.2 Vertical acceleration manuever limit for vertical speed 

control

DelTAS_VS ft/sec 42.195 magnitude of true airspeed error to engage vertical speed 

control

FadeTime sec 2.0 Pitch command synchronization ramp-in/ramp-out time

KHE 1/sec 0.08 Max value of computed gain KHERR

KHBIAS 1/sec 0.017 bias value for computation of KHERR

Control System Stability Analysis

After the fixed gains were determined as previously described, a stability analysis was performed 

to evaluate whether the VNAV control system gain and phase margins met the desired margins. 

The desired stability margins were a gain margin of at least 6 dB and a phase margin of at least 
24

30 deg [6]. This analysis was accomplished using the Simulink Control Design Toolbox. These 

margins were computed at 20 sec intervals, while VNAV descending trajectories were simulated 

in the aircraft/VNAV guidance and control Simulink simulation. The descending trajectories 

started at 37,000 ft at Mach 0.7964 in level flight. At the end time of simulated descents, the 

aircraft altitude was around 6000 ft, and the aircraft calibrated airspeed was around 180 knots.

Two 1100 sec simulated descents were made for the stability analysis. In one descent, the 

VNAV path was tracked by the control system engaged in the path tracking mode, and in the 

other descent, the VNAV speed profile was tracked by the control system engaged in the speed 

mode. For the path mode descent, the throttle was initially reduced to the idle position at a rate 

of –2 deg/s by engaging the autothrottle in the idle mode and at about 650 sec, the autothrottle 

was engaged in the speed mode to then track the VNAV trajectory commanded CAS. For the 

speed mode descent, the throttle was initially reduced to the idle position at a rate of –2 deg/s by 

engaging the autothrottle in the idle mode, and after that, the throttle remained at the idle position 

for the entire simulated time.

As a 1100 sec descent simulation ran, the Simulink Control Design Toolbox stopped the 

simulation at specified times to compute the gain and phase of the closed-loop VNAV control 

system as a function of frequency. At each specified time, the toolbox was used to (1) compute a 

linear model about the current system operating condition (where the Tustin method was applied 

for computing the linear model), (2) compute the gain and phase as a function of frequency for 

the VNAV engaged control mode, (3) save the computed values, and then (4) continue the 

simulation to the next specified time. Nichols and Bode plots were then made from these saved 

gains and phases. Nichols charts were used to assess phase and gain margins for the VNAV 

control system. The Bode plots were used to determine the system frequencies where the gain 

and phase margin might not meet the design requirements. These frequencies would then be 

used to design compensators to increase these margins to an acceptable level when gain tuning 

alone might not increase the margins to acceptable levels.

The first specified time for both the VNAV path and speed control modes was at 10 sec, the next 

time at 21 sec, and then every 20 sec after that, unless this time occurred during the 2 sec time 

period after the discrete PSYNC was set (during this time period, pitch synchronization is 

occurring and these time periods were avoided to eliminate potential numerical problems in 

using the Simulink Control Design Toolbox). If a specified time occurred during the 2 sec pitch 

synchronization period, the linear model determination was done immediately after this time 

period. As a result of the specified stop times, 55 linear models for the VNAV path mode and 55 

linear models for the speed mode were computed for the closed-loop VNAV control system.

Figure 14 shows the Nichols chart at 41 sec for the VNAV path mode. The linear model gain 

magnitude and phase were plotted for frequencies ranging from 0.01 to more than 39.8 rad/s. 

The diamond symbols on the –180 deg phase line mark the 6 dB gain margin points and the 

diamond symbols on the 0 db magnitude line mark the 30 deg phase margin points. The gain 

and phase margin requirements for the control system are satisfied with room to spare at this 

condition.
25

Figure 14. Nichols chart for VNAV path mode linear model at 41 sec of simulated VNAV descent path.

Figure 15 shows the Bode plot for time 41 sec which was made for a frequency range of 0.01 to 

100 rad/sec. From the Bode plot, the gain and phase for a specific system frequency can easily 

be read, which is not so from the Nichols plot. The gain and phase margins can also be 

determined from the Bode plot. For example, the gain margin is determined by the difference of 

the gain at –180 deg phase and 0 dB gain. As with the Nichols plot, this occurs in three places of 

the plot. Drawing a vertical line on the plot where the system phase is –180 deg helps to 

determine the gain margins. Likewise, the phase margin can be determined by the difference in 

the phase where the system gain is 0 dB and –180 deg phase. Notice for this plot that to 

determine where the system gain was unity (0 dB) would require magnifying the plot around the 

frequencies from 0.4 to 1 rad/s. However, for this stability analysis, the Nichols charts were used 

for determining the gain and phase margins while the Bode plots were made, as mentioned 

earlier, to show the system frequencies where the gain and phase margins might not meet the 

desired margins.
26

Figure 15. Bode plot for VNAV path mode linear model at 41 sec of VNAV simulated descent path.

As mentioned earlier, 55 linear system models of the closed-loop system were computed for both 

the path control mode and speed control mode during the 1100 sec descent trajectory using the 

Simulink Control Design Toolbox. Gain and phase were computed to make Nichols charts and 

Bode plots for each of these linear models. Rather than including each individual plot in this 

report, one composite Nichols plot was made for all 55 linear models for the path control mode, 

and one composite Nichols plot was made for all 55 linear models of the speed control mode. 

Figure 16 shows the Nichols composite plot for the VNAV path control mode. As briefly stated 

at the start of this section, the aircraft conditions for these plots range from an altitude of 37,000 

ft to 6000 ft and the speed ranged from Mach 0.7964 to a CAS of 180 knots. As shown in the 

composite plot, the gain and phase margins of the control system path mode exceed the required 

gain and phase margins (indicated by the diamond symbols) by a large amount.
27

Figure 16. Composite Nichols plots for 55 operating conditions for path mode of VNAV control system.

Figure 17 shows the composite Nichols plot of gain and phase for the 55 linear models for the 

speed mode of the VNAV control system. These plots show that the gain and phase margins for 

all of the 55 linear models exceed the required gain and phase margins indicated by the diamond 

symbols on the composite plot. For some linear models, the gain margin was around 10 dB in 

the low frequency range as shown by the traces in the vicinity of the top diamond symbol. The 

conditions for which the gain margin was around 10 dB occurred between 461 and 601 sec 

where the altitude ranged from approximately 19,000 ft to 10,000 ft, and CAS was constant at

300 knots. To determine the approximate system frequency for this gain margin, a Nichols plot 

was made for one of those conditions at 501 sec and is shown in Figure 18. The plot shows that 

the gain margin of approximately 10 dB above the top diamond symbol occurs for a system 

frequency a little less than 0.16 rad/s, which is more than twice the phugoid frequency of the 

aircraft model at this speed.
28

Figure 17. Composite Nichols plots for 55 operating conditions for speed mode of VNAV control system.
29

Figure 18. Nichols plot of linear model at 501 sec for VNAV control system speed mode.

Control Performance

As mentioned previously, the control system was developed using a six DOF, non-linear B757 

Simulink simulation. The performance of the control system shown in this section is from data 

generated with that simulation. Trajectory data was provided by CSAOB in the form of 

spreadsheet files and are trajectories generated by CSAOB trajectory generation software. 

Simulink code was written to use that data to generate the trajectory errors and to emulate the 

RPFMS outputs needed by the VNAV control system. As mentioned in the VNAV Control 

Laws section of this report, an autothrottle system was used to control the speed of the aircraft 

when engaged in the VNAV path control mode. In order to determine the performance of the 

path control mode with the Simulink simulation, an autothrottle, based on an autothrottle control 

law used on the research B737 aircraft [1], was implemented in the simulation. Appendix C 

describes this autothrottle.

The VNAV trajectory data defines the trajectory as connected straight path segments. The data 

provided for each path segment are the tangent of the flight path angle of the segment, ground 

range from a specified origin to starting point of the segment, altitude at the starting point of 

segment, flight phase (climb – 1, cruise – 2, descent – 3), desired pitch control mode (path mode 

– 1 or speed mode – 0), throttle control mode (fixed – 1, speed control – 2, or idle – 3), desired 

CAS in knots, desired Mach number, desired flap handle position in degrees, and desired gear 

position (up – 0, down – 1). Spreadsheet data files were generated from the trajectory data files
30

provided by CSAOB and a trajectory data file was generated to specifically test captures of path 

segments with various flight path angles and to test switching between path and speed control 

modes. The two data files generated from the CSAOB data were named vnav_data_LAXATL_TOD.xls and vnav_data_LAX-ATL_CLMB.xls. The data file to specifically test path 

segment captures was named vnavCLMBdata1.xls. Tables 5–7 show these data files with text 

added to the top of the columns to identify the data. These data files were used to determine the 

performance of the VNAV control system for the path control and speed control modes.

Table 5. Trajectory data file vnav_data_LAX-ATL_TOD.xls.
31

Table 6. Trajectory data file vnav_data_LAX-ATL_CLMB.xls.
32

Table 7. VNAV trajectory file vnavCLMBdata1.xls.

Path Control Performance

Four Simulink simulation runs are included in this report to show the path capture and tracking 

performance of the VNAV control system. The runs consisted of (1) a top-of-descent (TOD) 

260 sec run from a cruise altitude of 37,000 ft, (2) an idle descent 400 sec run from 16,360 ft, (3) 

a 400 sec descent run from 7,235 ft to 1,260 ft with speed changes that resulted in flap 

deployment to 20 deg, and (4) a 200 sec run to show cruise altitude capture performance. For 

each run, the report includes at least three figures that are plots of various variables and logic 

discretes. Figures 19–21 show the performance for the first simulation run and will be used to 

explain the plotted variables and discretes. Figure 19 shows plots of altitude, altitude rate 

(Hdot), pitch attitude, pitch rate, vertical acceleration, flight path acceleration, elevator position, 

stabilizer position, commanded CAS, CAS, commanded power lever angle (PLA) or commanded 

throttle, and PLA. Figure 20 shows plots of altitude error (altitude command minus altitude) and 

altitude rate error (altitude rate command minus altitude rate) relative to the VNAV trajectory 

path segments, the pitch steering command (VNAVS), and the pitch rate steering command 

(VNAVI) output from the VNAV control system, the pitch attitude error (DTHETE or pitch 

attitude minus pitch command), the elevator servo command (DESCMD), the CAS error, and the 

Mach error. Figure 21 consists of six plots showing various VNAV discretes. The discretes are 

separated on the plots by an integer multiple of two and the false value of a discrete is indicated 
33

by even numbers. True values of the discretes are an increment of one above the false values. 

The discretes for each plot are plotted in the order shown in the plot legends where the discrete at 

the top of the legend is plotted at the top of the plot. The first plot at the top of Figure 21 shows 

four discretes: the discrete to arm the VNAV control system (VNAVARM), the discrete that 

requests engagement of the path control mode (VNAV_Pth_R), the discrete that requests 

engagement of the speed control mode (VNAV_Spd_R), and the discrete to disengage the 

VNAV control system (VNAV_Diseng). The second plot shows five discretes: the discrete that 

shows when the VNAV control system was engaged (VNAVE), the discrete that shows when the 

path mode was engaged (VNAV_Pth_Eng), the discrete that shows when the speed mode was 

engaged (VNAV_Spd_Eng), the discrete that shows when the vertical speed submode of the 

speed mode was engaged (VNAV_VS_Eng), and the discrete that shows if Mach number or 

CAS was being tracked (MACHSEL). The third plot shows six discretes related to path capture: 

the one-shot discrete that shows when smoothing of the pitch steering output commands started, 

the one-shot discrete that shows when capture of the current path segment occured, the one-shot 

discrete that shows when capture of the next path segment occured, the one-shot discrete that 

shows when capture of the constraint altitude occured, the one-shot discrete that indicates when a 

path segment capture occured (PTHCAP), and the discrete that showed when the control system 

was armed for capture of the next path segment (NSEG_ARM). The fourth plot shows three 

discretes that show the requested thrust or throttle control mode: the discrete that shows when the 

constant thrust mode (THR_R) was requested, the discrete that shows when the airspeed control 

mode (SPD_R) was requested, and the discrete that shows when idle throttle was requested 

(IDLE_R). The fifth plot shows VNAV control mode requests from the RPFMS system: the 

discrete that shows when the RPFMS requested the path control mode to be engaged 

(Pth_mode_R), and the discrete that shows when the RPFMS requested the speed control mode 

to be engaged (Spd_mode_R). The sixth plot shows three discretes: the discrete that shows when 

the VNAV control system was capturing or tracking the next VNAV path segment but has not 

reached the starting point of this path segment (CNTLSEG), the discrete that shows when the 

VNAV control system was capturing or tracking the constraint altitude (CNTLASEG), and the 

one-shot discrete from the RPFMS trajectory calculations that shows when the aircraft has 

arrived at the starting point of a VNAV path segment (segupd) and that the RPFMS trajectory 

calculations has switched from what was the next segment trajectory errors to now be the current 

path segment trajectory errors.

The first simulation run to show the path control performance is a TOD 260 sec run. The run 

begins with the aircraft flying level at 37,000 ft at Mach number 0.7964. The VNAV control 

system proceeds to capture a descending path segment and, at the same time, the engine throttles 

(PLA position) are open-loop driven to the idle position (PLA = 55 deg) at a rate of –2 deg/s. 

The initial aircraft weight for this run was 172,841 lb with a center of gravity (CG) located at 25 

percent of the mean aerodynamic chord (MAC). Table 5 shows the VNAV trajectory data file 

for this run. As mentioned above, fig. 19–20 show the plots of variables and discretes for this 

run. At 0.22 sec the VNAV control system is armed, the VNAV control system is engaged in the 

path mode, and both a current path segment capture (path segment 1) and next path segment 

(path segment 2) occurr. The one-shot discretes for current path capture (CSEGCAP) and next 

path segment capture (NSEGCAP) cannot be seen on the third plot of Figure 21 because of the 

time scale (the discretes are hidden by the y-axis). Given that next path segment capture has 

priority, the path control system begins to pitch the aircraft down to capture and subsequently 

track path segment 2. For all the path control runs, the vertical acceleration parameter 

PthHddLim was set to 1.6 ft/sec2

 (or 0.05 g). The fifth plot of Figure 19 depicts the vertical 
34

acceleration which shows that a couple of peak values in the time period from 0 to 25 seconds 

exceeded 1.6 ft/s2 – some with values near 2 ft/s2. The aircraft pitch response is shown to be 

smooth, as would be expected from the small values shown for pitch rate. Figure 20 shows the 

altitude and altitude rate error (Hdot error) histories. The altitude error jumps when a next 

segment capture occurs and some capture overshoot occurred. After path segment capture was 

completed (when Hdot becomes relatively constant), altitude errors are generally less than 5 ft 

and altitude rate errors are less than 1 ft/s. Since the throttle was driven to idle for this run and 

the control system was tracking the path, desired Mach and CAS were not actively followed. 

The VNAV trajectory was calculated so that for the first 140 sec of the run, the aircraft speed 

would follow a constant Mach and, after that time, the aircraft would follow a constant CAS (see 

Mach select discrete MachSel on Figure 21). The run ended with the VNAV control system 

tracking path segment 9 of the trajectory in Table 5. This path segment was captured at 230 sec.
35

Figure 19. Various longitudinal parameters for TOD run from 37,000 ft in path control mode.
36

Figure 20. Path errors and command signals for TOD run from 37,000 ft in path control mode.
37

Figure 21. Logic discretes for TOD run from 37,000 ft in path control mode.
38

The second simulation run showing VNAV control system path control performance is a 400 sec 

idle descent run from 16,360 ft. The aircraft is initially trimmed with a CAS of 300 knots at a 

flight path angle of –3.6 deg which is slightly greater than the flight path angle of path segment 

15 of the VNAV trajectory in Table 5 (–3.615 deg). The aircraft trim weight is 172,690 lb with 

the CG located at 19 percent MAC. Figures 22–24 show time histories for this run. The current 

path segment (path segment 15) is captured around 10 sec as shown by the one-shot discrete 

CSEGCAP in Figure 24 and, at that time, the VNAV control system is engaged in path mode as 

shown by discrete VNAV_Pth_Eng in Figure 24, and the throttle begins to reduce to idle at –2 

deg/s. The capture of path segment 16 occurs around 35 sec. At 100 sec, path segment 18 is 

captured and it has a signficantly shallower flight path angle than path segment 17, as is 

illustrated by the vertical velocity (Hdot) in Figure 22. Figure 22 shows that the shallower flight 

path angle results in CAS decreasing from 300 knots towards the desired speed of 230 knots. 

The maximum vertical acceleration in capturing path segment 18 is 2.1 ft/s2 that exceeded the 

desired maximum of 1.6 ft/s2 specified by parameter PthHddLim. Around 180 sec, a next 

segment capture of path segment 19 occurs which has a steeper flight path angle than segment 18 

to maintain CAS at 230 knots. However, Figure 22 shows that CAS continues to decrease below 

230 knots at 230 sec. The last path segment captured is segment 21 at around 370 sec, and 

shortly after that, the flaps are command to 1 deg. The deployment of the flaps to 1 deg causes a 

small wiggle in the pitch rate. The plot of altitude error in Figure 23 shows there is a 10 ft 

overshoot in capturing path segment 18 and about a 5 ft undershoot in capturing path segment 

19. When tracking the path segments the altitude error is less than 10 ft. The small wiggles in 

the pitch rate in Figure 22 from 150 sec to 340 sec are due to trimming of the stabilizer position. 

Trimming occurs when the elevator control deflection persists at some deflection away from the 

elevator neutral position (the neutral position is the position that results is zero force at the pilot’s 

control column). Trimming stops when the elevator is returned the the neutral position. When 

the stabilizer is trimming the elevator is driven in an opposite direction in an attempt to cancel 

the pitch moment generated by the changing stabilizer position. The amount of elevator 

deflection to cancel pitch moment generated by the stablizer movement has to be estimated from 

aircraft measurements using table lookup data. This estimate is not perfect resulting in the small 

wiggles in pitch rate. Figure 22 shows the stabilizer movement along with the elevator surface 

position.
39

Figure 22. Various longitudinal parameters for idle descent from 16,360 ft in path control mode.
40

Figure 23. Path errors and command signals for idle descent from 16,360 ft in path control mode.
41

Figure 24. Logic discretes for idle descent from 16,360 ft in path control mode.
42

Figures 25–28 show the results of the third 400 sec simulation run to show path control 

performance of the VNAV control system. Figure 25 includes a fourth plot to show the various 

changes in the flap position that occur in this run along with some variables. The simulation run 

begins with the aircraft trimmed at an altitude of 7,235 ft with a flight path angle of –2.2 deg, 

CAS of 210 knots, flaps up, and the aircraft flying toward path segment 21 of the VNAV 

trajectory in Table 5. The VNAV control system engages immediately when it is armed for 

engagement (VNAVARM set true) at 0.22 sec. At this time, the control system begins capture 

of the current path segment. The discrete CSEGCAP cannot be seen in Figure 27 because it is 

hidden in the y-axis because of the time scale for this run. The requested idle thrust mode for 

path segment 21 is over-ridden for this run and set to the speed control mode (Figure 27). The 

throttle (PLA position) remains close to the trim value of 60 deg until path capture of segment 24 

at 103 sec when CAS is commanded to 186 knots. Then, the throttle or PLA moves close to the 

idle value of 55 deg. When tracking path segment 21, the altitude error is essentially zero and 

CAS error is less than 1 knot (Figure 26). The capture of path segment 22 occurs around 67 sec 

as a next-path-segment capture, and, at around 79 sec, while the capture of path segment 22 is 

underway, the capture of path segment 23 ocurrs. The relatively small time between path 

captures occurs because path segment 22 is very short (approx. 9,300 ft in ground range). 

Around 140 sec, path segment 26, whose flight path angle is steeper than that of path segment 

25, is captured. The vertical acceleration reaches about –2.1 ft/s2 which exceeds the desired 

maximum magnitude of 1.6 ft/s2. When path segment 24 is captured and CAS is commanded to 

186 knots around 105 sec, the flaps are commanded to 1 deg (Figure 28). Although the desired 

flaps for the path segment is 1 deg (Table 5), the flaps are not deployed using the desired flap 

position from the trajectory data. Instead, the flaps are commanded from a Simulink subsystem 

block to various positions according to a schedule as a function of CAS reference speeds and 

aircraft weight for flaps 25 and 30. As the various path segment captures occur, CAS is 

commanded to a smaller value (Figure 25 and Figure 28). The commanded CAS is not tracked 

closely after capture of path segment 28 around 220 sec, because the PLA is essentially at idle 

position. However, CAS continues to decrease for this run, and is within 5 knots of the 

commanded 138 knots for path segment 31 and is the last path segment captured at 306 sec for 

this simulation run. Figure 28 shows that the flaps are commanded to 15 at 350 sec and to 20 at 

370 sec. Figure 26 shows that the flap deployment causes the aircraft to rise above the desired 

path by 20 ft at 375 sec (negative altitude error is aircraft above the desired path). However, the 

control system is then correcting back to the path having an altitude error of –4 feet at the end of

the run and still converging. Note that the vertical acceleration reaches 2 ft/s2

 which exceeds the 

desired maximum magnitude of 1.6 ft/s2

. In general, most of the time, the altitude error after 

path segment capture while tracking the path segments is less than 5 ft. The aircraft altitude at 

the end of the run was 1,261 ft which is less than the 2000 ft that is specified for the constraint 

altitude. The aircraft flys through the constraint altitude because constraint altitude capture is not 

enabled for this run.
43

Figure 25. Various longitudinal parameters for descent from 7,235 ft in path control mode.
44

Figure 26. Path errors and command signals for descent from 7,235 ft in path control mode.
45

Figure 27. Logic discretes for descent from 7,235 ft in path control mode.
46

Figure 28. Longitudinal variables for descent from 7,235 ft in path control mode.
47

Figures 29–30 show the results for the fourth simulation run showing cruise altitude capture 

performance. The run begins with the aircraft trimmed at an altitude of 35,146 ft with a flight 

path angle of 1.7613 deg, Mach number of 0.7964, weight of 195,906 lb, and the CG located at 

20 percent MAC. The initial position of the aircraft is at the start of path segment 25 for the 

trajectory in Table 6. The VNAV control system is armed for engagement at 0.22 sec and 

engages at that time in the speed control mode as that control mode is being requested (see 

Figure 31 - note VNAV_Spd_Eng and Spd_mode_R discretes). The control system tracks the 

Mach number since the discrete MACHSEL is true (Figure 31). At 20 sec, the path mode is 

requested to be engaged (see VNAV_Pth_R and Pth_mode_R discretes in Figure 31). The path 

mode does not immediately engage and capture path segment 25 because the current path capture 

enable discrete is set false for this run. The next level cruise altitude segment 26 is not captured 

when the path mode is requested because the aircraft is not close enough for capture at this time. 

Thus, the control system remains in the speed control mode until 69 sec when the next path 

segment capture discrete is set true (see NSEGCAP in Figure 31). Then, the control system 

disengages from the speed mode and engages in the path mode to begin capture of the level 

cruise path segment 26. The capture of the cruise altitude is overshot by 4 ft, and, after that, the 

altitude error is reduced. However, the plot of altitude error in Figure 30 shows that there is an 

approximately 20 sec period low-amplitude stable oscillation in the altitude error with an 

amplitude between ±1 ft after 165 sec. Lowering the control gains did not eliminate this 

oscillation. The oscillation was determined to be caused by the 0.06 deg hysteresis on the 

elevator command that is contained in the elevator control surface actuator model. This 

hysteresis is evident in the plot of the average left and right elevator surface positions of Figure 

29. This plot shows after 110 sec that the average elevator position jumps between fixed values 

approximately every 10 sec. These jumps are the characteristic response expected for the 

modeled hysteresis where the elevator position only moves when the elevator command exceeds 

the amount of the hysteresis. To confirm that the stable low-amplitude oscillation was caused by 

the elevator acturator hysteresis, the simulation run was repeated with the elevator hysteresis set 

to zero. The results of this run are plotted in Figure 32 and these results show no oscillation in 

the altitude error. A method or technique to remove this oscillation was not found as part of this 

control law development effort. Note that the altitude error oscillation would not be seen by the 

pilots since the amplitude of the altitude error is below the resolution of the altitude displayed in 

the cockpit. It is possible that the stable oscillation may not be perceptible to pilots or passengers 

in the presence of normal environmental disturbances given the low magnitude and long time 

period of the oscillation. The maximum amplitude of the change in vertical acceleration during 

the oscillation was 0.003 g.
48

Figure 29. Various longitudinal variables for 37,000 ft cruise altitude capture.
49

Figure 30. Path errors and command signals for 37,000 ft cruise altitude capture.
50

Figure 31. Logic discretes for 37,000 ft cruise altitude capture.
51

Figure 32. Path errors and command signals for 37,000 ft cruise altitude capture with no elevator actuator 

hysteresis.
52

Speed Control Performance

This report shows the results of four simulation runs to illustrate the performance of the speed 

control mode of the VNAV control system. The runs included are (1) CAS commanded to 311 

knots from 250 while initially climbing from 11,000 ft, (2) repeat of run 1 but ending with a 

constraint altitude capture, (3) a climb from level flight at 10,000 ft with CAS commanded to 

328 knots from 255 knots, and (4) an idle TOD run from 37,000 ft following a Mach/CAS 

schedule. The simulation data for these runs is shown as plotted data, and the same variables and 

discretes that were plotted to illustrate path mode control performance were plotted for 

illustration of the speed control mode performance.

Figures 33–35 show the simulation data for the first run. The simulation begins with the aircraft 

trimmed at an altitude of 11,000 ft, CAS of 250 knots, flight path angle of 3.2124 deg, weight of 

195,000 lb, and a CG located at 19 percent MAC. At 0.22 sec, the VNAV control system is 

armed, current path segment 13 of the VNAV trajectory shown in Table 7 is captured, and the 

control system is engaged in the path control mode as shown in Figure 35 and begins tracking 

current path segment 13. The autothrottle is initially engaged in the speed control mode (Figure 

35) (note SPD_R). At 7.5 sec, the next segment path capture discrete is triggered and that 

causes the desired control mode and commands to be taken from path segment 14. Path segment 

14 requests the VNAV speed mode to be engaged, the CAS command to be 311 knots, and the 

autothrottle to be set to the constant thrust mode. As a result, the path mode disengages, and the 

VNAV speed mode is engaged. Also, the autothrottle is set to the thrust mode and that causes 

the engine PLA to be commanded to 106.15 deg for enabling the aircraft to both climb and 

accelerate (Figure 33). The vertical speed submode also engages at this time (Figure 35) since 

the true airspeed error exceeds the value specified by parameter DelTAS_VS (set to 42.195 ft/sec 

or 25 knots). When climbing, the vertical speed is commanded to the current vertical speed with 

a limit of 500 ft/min. For this run, since the vertical speed at speed mode engagement was 

greater than 500 ft/min, the vertical speed is commanded to 500 ft/min. The aircraft pitches 

down to control the vertical speed to that limited commanded value accelerating toward the 

commanded airspeed. The plot of vertical speed (Hdot) in Figure 33 shows that the vertical 

speed stays slightly above the dashed straight line in the plot which is equivalent to 500 ft/min. 

The vertical speed does not reach the 500 ft/min command because the aircraft is accelerating 

which requires the aircraft to constantly pitch down to maintain a constant vertical velocity. 

When the true airspeed error becomes less than 42.195 ft/s, the vertical speed submode 

disengages and the speed-on-elevator mode computes pitch steering commands to follow the 

commanded airspeed. Figure 35 shows that the vertical speed submode disengages around 38 

sec. At that time, the aircraft pitches up to reduce the flight path acceleration and capture the 

commanded CAS (Figure 33). Figure 34 shows that the capture of the commanded CAS is 

smooth with a 1.2 knot overshoot around 65 seconds and by 80 sec the magnitude of CAS error 

is reduced to a value of about 0.5 knots. Note that for all simulation runs, the vertical 

acceleration parameter, SpdHddLim, was set to 3.0 ft/s2

.
53

Figure 33. Various longitudinal variables for CAS command from 250 to 311 knots in speed control mode.
54

Figure 34. Path and speed errors and command signals for CAS command from 250 to 311 knots in speed 

control mode.
55

Figure 35. Discretes for CAS command from 250 to 311 knots for speed control mode of VNAV control

system.
56

The second simulation illustrates the VNAV control system performance of a constraint altitude 

capture when the VNAV control system is engaged in the speed control mode. The run is a 

repeat of the run above except that a constrained altitude capture occurs around 53 sec. This run 

demonstrates constraint altitude capture which is a path control mode; however, the simulation 

run is included in this section because the altitude capture is engaged from the speed control 

mode and begins the same as the prior simulation run. Figures 36–38 show the results for this 

run. The discretes of Figure 38 show that the constrained altitude capture occurs at 53 sec when 

the aircraft is climbing with a vertical speed of nearly 34 ft/s (2,040 ft/min) and with a vertical 

acceleration of 2.5 ft/s2 (Figure 36). The thrust control mode changes from fixed thrust to speed 

control at constraint altitude capture and the commanded PLA position begins to decrease to 

control speed to the 311-knot command. The control system begins to pitch the aircraft down 

when the altitude capture is engaged, but the vertical speed reaches nearly 38 ft/s (2,280 ft/min) 

before it begins to decrease. The vertical acceleration reaches a value of –3.0 ft/s2 at 58 sec 

which is nearly twice the desired limit of 1.6 ft/s2 (PthHddLim was set to 1.6 ft/s2 for this run). 

The vertical acceleration limit is exceeded because, most likely, the path capture criterion was 

derived on the assumption that vertical acceleration would be near zero when path segment 

capture initiation occurred. At path segment capture initiation, the vertical acceleration was 2.5 

ft/s2. The plot of altitude in Figure 36 shows that the altitude capture is smooth, and the plot of 

altitude error in Figure 37 shows that the altitude command is overshot by 8 ft at 100 sec and 

probably would have reached about 10 ft before beginning to converge on the commanded value 

if the simultion time were longer.
57

Figure 36. Various longitudal variables for constraint altitude capture during speed control mode 

engagement.
58

Figure 37. Path and speed errors and command signals for constraint altitude capture during speed control 

mode engagement.
59

Figure 38. Discretes for constraint altitude capture during speed control mode engagement.
60

The third simulation run illustrates the VNAV speed control mode performance in capturing a 

commanded CAS increase when starting from level flight at 10,000 ft with the throttle 

commanded to increase to a fixed position to begin a climb. For this run the aircraft is trimmed 

at an altitude of 10,000 ft, flight path angle of zero degree, CAS at 254.82 knots, weight 198,968 

lb, and a CG located at 20 percent MAC. The aircraft initial position is located at the beginning 

of path segment 10 for the VNAV trajectory in Table 6. Figures 39–40 show the results for this 

run for which the VNAV control system is armed for engagement at 0.22 sec, and at that time 

engages in the speed control mode and the vertical speed submode (Figure 41). Also, at that 

time, the throttle is commanded to a fixed throttle position of 104.09 deg and CAS is 

commanded to 328 knots (Figure 39). Figure 39 shows that the CAS begins to increase as a 

result of the throttle increase and the vertical velocity initially increases because of the pitchup 

caused by the thrust increase. Then, the vertical velocity reduces toward the commanded value 

of zero. The commanded value is zero because the aircraft vertical speed is zero when the 

vertical speed submode engages. At 31 sec, the vertical speed submode disengages when the 

true airspeed error becomes less than 25 knots and from that time the speed control law 

commands pitch steering signals to capture and track the commanded CAS. Figure 39 shows 

that the capture of the commanded airspeed is smooth, and the plot of CAS error in Figure 40

shows that there is a 1.5 knot overshoot of the commanded CAS at 56 sec followed by a slow 

convergence towards zero error. At about 86 sec, the CAS error reaches 0 ft/s and then 

subsequently reaches a steady value of about 0.25 knots less than the commanded CAS. This 

small offset in this run is caused by the fact that, when the aircraft is climbing at constant CAS, 

true airspeed must be constantly increasing to maintain constant CAS. Note that the plot of 

flight path acceleration in Figure 39 shows that after constant CAS is established, it has a small 

positive value (a little less than 0.5 ft/s2) which means that true airspeed is increasing. Thus, for 

a fixed thrust, the aircraft must pitch down to increase true airspeed. Also, in climbing at a fixed 

throttle position, the engine thrust is decreasing and a further reduction in pitch angle is needed 

to maintain true airspeed. So, the small lag in the aircraft pitch down causes the CAS to be offset 

from the commanded value. Note that without the use of the bias term in the speed command 

processor, described earlier in the Speed Control Law section of this report, the CAS offset 

would be larger.
61

Figure 39. Various longitudal variables for climb from 10,000 ft and CAS increase in speed control mode.
62

Figure 40. Path and speed errors and command signals for climb from 10,000 ft and CAS increase in speed 

control mode.
63

Figure 41. Discretes for climb from 10,000 ft and CAS increase in speed control mode.
64

The simulation results for the fourth run in Figures 43–44 illustrate the performance of control

system speed control mode for an idle descent from a cruise altitude. For this run, the aircraft 

model is trimmed at an altitude of 37,000 ft in level flight with a Mach number 0.7964, weight of 

172,841 lb, and a CG located at 25 percent MAC. The initial aircraft position is at the start of 

path segment 1 for the VNAV trajectory in Table 5. The VNAV control system is armed for 

engagement at 0.22 sec and, at that time, immediately engages in the speed control mode to track 

the commanded Mach number of 0.7964. Also, at this time, the throttle is commanded to idle at 

–2 deg/s. The plot of the commanded Mach minus actual Mach in Figure 43 shows that the 

Mach number decreases by 0.007 from the commanded Mach during the pitch down from 0 to 

about 25 sec with the throttle decreasing to idle. This error could be reduced by decreasing the 

magnitude of the throttle reduction rate or pitching down at a higher rate. Reducing the throttle 

rate is probably the best solution, since the pitch down rate resulted in a 0.1 g maneuver, as 

shown by the plot of vertical acceleration in Figure 42. For this run, the vertical acceleration 

parameter SpdHddLim for the speed control law is set to 3.0 ft/sec2. After the initial pitch down, 

the speed control system reduces the Mach error to less than 0.001. At 146 sec, MACHSEL 

becomes false, meaning that now the CAS command of 300 knots is to be tracked. The plot of 

CAS in Figure 42 and the plot of CAS error in Figure 43 show that there is a 2-knot overshoot in 

capturing the commanded CAS. This overshoot occurs because the change from tracking a 

constant Mach number to tracking a constant CAS requires a change in the flight path 

acceleration of the aircraft. The plot of flight path acceleration in Figure 42 shows that for a 

descending flight path at constant Mach number, the aircraft has a small acceleration and, when 

tracking constant CAS, has a small deceleration (about twice the magnitude of that for constant 

Mach number). So, if the MACHSEL discrete were set to false a little earlier by some 

anticipation calculations and logic, the CAS overshoot could be reduced. For zero CAS 

overshoot the flight path acceleration would have to change instantaneously from the positive 

value for constant Mach tracking to the negative value for constant CAS tracking. Currently, for 

this simulation, the MACHSEL discrete changed at the point where the true airspeed value for 

the commanded Mach and the true airspeed value for the commanded CAS are the same. The 

plot of CAS error in Figure 43 shows that after the initial CAS overshoot, the speed control mode 

maintains the magnitude of the CAS error at less than 0.25 knots.
65

Figure 42. Various longitudinal variables for idle TOD in speed control mode.
66

Figure 43. Path and speed errors and command signals for idle TOD in speed control mode.
67

Figure 44. Discretes for idle TOD for speed control mode.
68

Summary

An outer loop VNAV control system was designed and developed to track VNAV trajectories 

intended for use in high-density traffic operations of the NextGen air traffic management system. 

This VNAV control system has path and speed modes. The speed mode has a vertical speed 

submode that engages when the speed error is large and counter in energy to the specified flight 

phase (i.e. accelerating while climbing or decelerating while descending). The VNAV control 

system also contains control logic to arm and engage the control modes and to initiate capture of 

VNAV trajectory path segments. The VNAV control system also contains control logic to level 

an aircraft using the path control mode to the constraint altitude set on the MCP if the aircraft is 

about to fly through the MCP altitude while tracking a VNAV trajectory. Therefore, the VNAV 

control system handles all normal VNAV operating modes.

The performance of the VNAV control system was shown using a Simulink six DOF, non-linear 

aircraft simulation containing a proprietary model of a B757–200 aircraft. The performance of 

the path control mode was shown for four test scenarios, and the performance of the speed

control mode was shown for four different test scenarios. The test scenarios used trajectories 

generated for NextGen operations. Path tracking altitude errors of 5 ft or less were shown after 

path capture maneuvers and transients because of flap deployment. Speed tracking errors of 0.5 

knots or less were shown after capture of speed command changes. The simulation scenarios 

also showed transient-free engagement of the control modes for VNAV control system 

engagement, transition between the path and speed control modes, and transition to and from the 

vertical speed submode of the speed control mode.

A stable low-amplitude oscillation on altitude error with an amplitude of ±1 ft was encountered 

on one test scenario after cruise altitude capture. The oscillation was determine to be caused by 

hysteresis modeled in the elevator actuator. A solution was not determined as part of this control 

law development effort. Note that the magnitude of the altitude error would not be be observed 

by the pilots since the resolution of the altitude displayed in the cockpit is an order of magnitude 

larger than the altitude error of this oscillation. Further, this oscillation may not be sensed by the 

pilots or passengers under normal environmental disturbances since the maximum change in the 

magnitude of vertical acceleration during the oscillation was 0.003 g.

A stability analysis of the VNAV control system was conducted to determine if the gain and 

phase margins for the path and speed control modes satisfied nominal gain and phase margin 

requirements. For the path control mode, the minimum gain margin was 12 dB which exceeded 

the gain margin requirement of 6 dB and the minimum phase margin was 80 deg that also 

exceeded the phase margin requirement of 30 deg. For the speed control mode, the minimum 

gain margin for the sampled operating conditions was 10 dB and the minimum phase margin was 

80 deg. Since the gain and phase margins exceeded the gain and phase margin requirements by a 

fair amount, the VNAV gains could be increased to potentially improve path and speed tracking 

performance if so desired. However, gain increases would result in more aggressive path and 

speed captures with vertical accelerations expected to be larger. Since vertical acceleration 

exceeded desired limits in some of the performance results with the current gains, some 

additional means for maintaining vertical acceleration within desired limits would probably be 

required for increased gains.
69

Appendix A: Derivation of Estimated Delta Thrust to Weight Parameter

The longitudinal equation of motion for a point-mass aircraft model is given as

mV = T – D – W sinγ (A1)

where m is the mass of the aircraft, 

V is the time derivative of the velocity vector, T is the 

aircraft thrust, D the aircraft drag, W the aircraft weight, and γ is the flight path angle. The 

vertical velocity of the aircraft is given as



h = V sinγ (A2)

where V is the total velocity vector. The mass of the aircraft, m, can be expressed as W/g where 

g is the acceleration due to gravity. Solving for sinγ in eq. A2, substituting for that result in eq. 

A1, substituting W/g for m in eq. A1, and rearranging give the equation for the estimated delta 

thrust to weight parameter EstDTW as

EstDTW = (T – D)

W = V

g

+ 

h

V (A3)

Note that multiplying EstDTW by g gives

EstDTW g = V + 

h g

V (A4)

where the first term on the right of eq. A4 is the aircraft’s flight path acceleration, and the second 

term can be considered an estimate of an additional amount of potential flight path acceleration 

of the aircraft. The second term is considered potential acceleration since pitching to reduce the 

magnitude of the vertical velocity would result in a positive flight path acceleration for positive 

vertical velocity and negative flight path acceleration for negative vertical velocity.
70

Appendix B: Derivation of Rate of Change of True Airspeed for Constant 

CAS and Constant Mach Conditions

The time rate of change of true airspeed as a function of altitude rate was desired for use in the 

second order speed command processor for the speed-on-elevator control law. The rate of 

change of true airspeed was desired for aircraft operations under either constant calibrated 

airspeed or constant Mach operating conditions. The input to the second order processor is the 

desired true airspeed that is determined from either commanded calibrated airspeed (CAS) or 

commanded Mach number. The commanded CAS or Mach number is set either by a pilot via 

the aircraft MCP or by the flight management system. When the aircraft climbs or descends 

under a Mach hold or CAS hold condition, the true airspeed changes for all constant CAS or 

Mach conditions except for constant Mach above 36,089 ft. The Mach number above 36,089 ft 

remains constant since the atmospheric temperature is constant per the 1976 standard 

atmospheric model (ref. 7).

When true airspeed is changing during a CAS or Mach hold condition, the output of the second 

order processor will lag the commanded input without compensation. Computing the rate of 

change of true airspeed as a function of altitude rate and inserting the computed value at the 

input of the output integrator of the second order processor can overcome this lag. The 

computation of true airspeed as function of altitude rate follows.

True airspeed is defined as

(B1)

where a is the speed of sound at some atmospheric model altitude, M is the Mach number, γ is 

the ratio of specific heats (cp/cv), qc is impact pressure, and P is static pressure at the atmospheric 

model altitude. For air, γ is equal to 1.4.

Derivations for Constant Calibrated Airspeed

Calibrated airspeed is defined as

(B2)

where astd is the speed of sound at sea level standard conditions and Pstd is the static pressure at 

sea level standard conditions. Note that the speed of sound is given as

(B3)

where T is the temperature at atmospheric model altitude and Tstd is the atmospheric temperature 

at sea level standard conditions (Tstd = 518° Rankin). 
71

From eq. B1, the change of true airspeed with altitude, dVT/dh, is

(B4)

Let

(B5)

and

(B6)

so that

(B7)

Change in Mach Number with Altitude for Altitudes Equal to or Below 36,089 ft

The change in Mach number with altitude, dM/dh, under the conditions for constant calibrated 

airspeed for altitudes of 36,089 ft or less can be found via eq. B7. Note that for constant 

calibrated airspeed, qc must be constant (eq. B2). Differentiating eq.B7 with respect to altitude 

gives

(B8)

or with simplification yields

(B9)

Now, derive dP/dh. For the 1976 atmospheric model we have the relationship between the static 

pressure ratio and temperature ratio for altitudes equal to or less than 36,089 ft as

(B10)

where

T = b1 + b2h

b1 = 518° Rankin

b2 = –0.003566 deg Rankin/ft

R = 53.35 ft/deg Rankin

h = altitude, ft
72

Thus, upon substitution

(B11)

where 

b3 = –1/b2R = 5.256

Given eq. B11, dP/dh can be found as

(B12)

Solving for T from eq. B11 gives

(B13)

Substituting for T in eq. B12 gives

(B14)

Now slightly rearrange eq. B9 to give

(B15)

Now solve for qc/P in terms of M. Square both sides of eq. B7 to give

(B16)

After manipulation we get

(B17)

Substituting for qc/P + 1 and qc/P in eq. B15 gives

(B18)

Substituting for dP/dh from eq. B14 gives

(B19)
73

From eq. B13 we get

(B20)

Substituting the speed of sound, a, from eq. B3 into eq. B1 gives

(B21)

Squaring both sides of eq. B21 above and solving for T gives

(B22)

Substituting for T in eq. B20 gives

(B23)

Substituting the definition of VT from eq. B1 for one VT into the equation above gives

(B24)

Substituting for in eq. B19 gives

(B25)

After multiplying terms in the bracket by first term in parentheses of eq. B25, we get

 or

(B26)
74

The second term in parentheses may be converted to a series by the binomial theorem that is 

expressed as

(1+ x)

n = 1+ nx +

n(n − 1) x

2

2!

+

n(n − 1)(n − 2) x

3

3!

⎛

⎝

⎜

⎞

⎠

⎟ +

 n(n − 1)(n − 2)(n − r + 1) xr

r!

(B27)

This series converges if |x| < 1, and since |M2

/c1| is less than one, the series for the second term in 

parentheses of eq. B28 will be a convergent series and is given as

M 2

c1

+ 1 ⎛

⎝

⎜

⎞

⎠

⎟

c2 −1

c2

= 1+

c2 − 1

c1c2

M 2 +

c2 − 1

c2

⎛

⎝

⎜

⎞

⎠

⎟

c2 − 1

c2

− 1 ⎛

⎝

⎜

⎞

⎠

⎟

M 4

2!c1

2 +

c2 − 1

c2

⎛

⎝

⎜

⎞

⎠

⎟

c2 − 1

c2

− 1 ⎛

⎝

⎜

⎞

⎠

⎟

c2 − 1

c2

− 2 ⎛

⎝

⎜

⎞

⎠

⎟

M 6

6!c1

3 +

or

M 2

c1

+ 1 ⎛

⎝

⎜

⎞

⎠

⎟

c2 −1

c2

= 1+

c2 − 1

c1c2

M 2 +

1− c2

c2

2

⎛

⎝

⎜

⎞

⎠

⎟

M 4

2!c1

2 +

c2

2 − 1

6c1

3

c2

3

⎛

⎝

⎜

⎞

⎠

⎟ M 6 + (B28)

Substituting the series above into eq. B26 and ignoring higher order terms gives

or

or

(B29)

Change in Mach Number with Altitude for Altitudes Greater than 36,089 ft

The static pressure, P, for altitudes above 36,089 ft is given by

(B30)

where T36 is the atmospheric temperature at 36,089 ft (390° Rankin), R is the gas constant for air 

(53.35 ft/° Rankin), h is the atmospheric altitude, and e is the base of the natural logarithm. 

Differentiating eq. B30 with respect to h gives the pressure change with altitude as
75

(B31)

Now substituting dP/dh above into eq. B18 gives

(B32)

After some manipulation of eq. B32, use of the binomial theorem, and neglecting higher order 

terms as was done to get eq. B29, eq. B32 can be expressed as

(B33)

Since the atmospheric temperature remains constant above 36,089 ft, the speed of sound remains 

constant and can be defined as

(B34)

and da/dh is zero above that altitude. Substituting for M equal to VT/a36 in the denominator of eq. 

B33 gives

(B35)

Derivations for Constant Mach Number

For constant Mach number, eq. B4 becomes

(B36)

Thus, a solution requires the derivation of da/dh. The speed of sound can be expressed as

(B37)

where γ is the ratio of specific heats (cp/cv equal to 1.4), g is gravity constant (g = 32.174), and R

is the gas constant for air (R = 53.35 ft/° Rankin), and T is the atmospheric temperature.

Change in Speed of Sound with Altitude for Altitudes Equal to or Below 36,089 ft

Differentiating eq. B37 with respect to h gives

(B38)
76

Substituting for a as defined by eq. B1 gives

(B39)

Change in Speed of Sound with Altitude for Altitudes Above 36,089 ft

As noted earlier, above 36,089 ft temperature, and thus the speed of sound, remains constant and 

da/dh = 0.

Time Rate of Change of True Airspeed for Constant Calibrated Airspeed and Constant 

Mach Number Conditions

The time rate of change of true airspeed, dVT/dt, can be derived by substituting the derived 

expressions for dM/dh and da/dh into eq. B4.

dVT/dt for Constant Calibrated Airspeed

The time rate of change of true airspeed can be written as

dVT

dt = dVTdh

dh

dt = dVT

dh



h (B40)

The equation for dVT/dh is repeated here from eq. B4

Substituting for dVT/dh in eq. B40 gives

dVT

dt = a

dM

dh

+ M da

dh

⎛

⎝

⎜ ⎞

⎠

⎟ 

h (B41)

Altitudes Equal to or Less Than 36,089 ft

Substituting dM/dh and da/dh from eq. B29 and B39 gives

dVT

dt = −b2b3astd

2

2Tstd

M 2 +

c2 − 1

2c1c2

⎛

⎝

⎜

⎞

⎠

⎟ M 4 +

1− c2

2

6c1

2

c2

2

⎛

⎝

⎜

⎞

⎠

⎟ M 6 ⎡

⎣

⎢ ⎤

⎦

⎥ + γ gRb2M 2

2

⎛

⎝

⎜

⎞

⎠

⎟



h

VT

(B42)

or combining terms gives

dVT

dt = −b2b3astd

2

2Tstd

+ γ gRb2

2

⎡

⎣

⎢ ⎤

⎦

⎥ M 2 + −b2b3astd

2

c( 2 − 1)

4Tstd c1c2

⎡

⎣

⎢ ⎤

⎦

⎥ M 4 ⎛

⎝

⎜

+ −b2b3astd

2 1− c22 ( )

8Tstd c1

2

c2

2

⎡

⎣

⎢

⎢

⎤

⎦

⎥

⎥

M 6

⎞

⎠

⎟

⎟

h

VT

(B43)
77

Altitudes Greater Than 36,089 ft

Above 36,089 ft, the speed of sound is constant and, thus, da/dh is zero. Therefore, dVT/dt is 

given as

dVT

dt = a

dM

dh



h = a36

dM

dh



h (B44)

Substituting for dM/dh from eq. B35 gives

dVT

dt = a36

2

2RT36

M 2 +

c2 − 1

2c1c2

⎛

⎝

⎜

⎞

⎠

⎟ M 4 +

1− c2

2

6c1

2

c2

2

⎛

⎝

⎜

⎞

⎠

⎟ M 6 ⎡

⎣

⎢ ⎤

⎦

⎥

h

VT

(B45)

dVT/dT For Constant Mach Number

There are two conditions for determining the rate of change for true airspeed when changing 

altitude at constant Mach number – altitudes equal to or less than 36,089 ft and altitudes greater 

than 36,089 ft.

Altitudes Equal to or Less Than 36,089 ft

For constant Mach number, dM/dh is zero and, thus, from eq. B41 dVT/dt is given as

dVT

dt = M da

dh

⎛

⎝

⎜ ⎞

⎠

⎟ 

h (B46)

Substituting for da/dh from eq. B39 in eq. B46 gives

dVT

dt = γ gRb2M 22



h

VT

⎛

⎝

⎜

⎞

⎠

⎟ (B47)

Altitudes Greater Than 36,089

Since da/dh is zero for altitudes greater than 36,089 ft for constant Mach, dVT/dt is also zero for 

these altitudes.

M2

, M4, and M6 Coefficients

Let the definition of dVT/dt for constant CAS at altitudes equal to or less than 36,089 ft be

dVT

dt = k1M 2 + k2 M 4 + k6 M 6 ( ) h

VT

(B48)

where k1, k2, and k6 are constant coefficients.

Let the definition of dVT/dt for constant CAS at altitudes greater than 36,089 ft be
78

dVT

dt = k3M 2 + k4 M 4 + k7 M 6 ( ) h

VT

(B49)

where k3, k4, and k7 are constant coefficients.

Let the definition of dVT/dt for constant Mach at altitudes equal to or less than 36,089 ft be

dVT

dt = k5 M 2 ( ) h

VT

(B50)

where k5 is a constant coefficient.

Then, the coefficients for the M2

, M4, and M6 terms in eq B48–50 above can be determined from 

eq. B43, B45, and B47. These coefficients are summarized in the table below.

Table 8. Constant coefficients for computing dVT/dt for constant CAS and Mach conditions.

Terms Constant CAS Constant Mach Number

h ≤ 36,089 ft h > 36,089 ft h ≤ 36,089 ft h > 36,089 ft

M2

k1 = 18.267 k3 = 22.552 k5 = – 4.285

0

M4

k2 = –5.638 k4 = –5.638

0 0

M6

k6 = 2.5371 k7 = 2.5371

0 0

Note that substituting for b3 as defined in this appendix after eq. B10 and a36

2

 from eq. B34, the 

constant coefficients for constant CAS become

k1 = astd

2

2RTstd

+ γ gRb2

2 (B51)

k2 = astd

2

c( 2 − 1)

4RTstd c1c2

(B52)

k3 = astd

2

2RTstd

(B53)

k4 = astd

2

c( 2 − 1)

4RTstd c1c2

(B54)
79

k6 = astd

2 1− c22 ( )

8RTstd c1

2

c2

2 (B55)

k7 = astd

2 1− c22 ( )

8RTstd c1

2

c2

2 (B56)

Thus, it is observed that k2 = k4 and k6 = k7
80

Appendix C: Autothrottle Used for VNAV Control Law Performance Testing

Figure 45 shows the autothrottle control law used for VNAV control law performance testing. 

This control law is a modified version of the control law that was developed for the research 

flight deck of the B737 aircraft described in ref. 1. The output of the control law is the 

commanded position of the power lever angle (PLACMD) for input to the B757 autothrottle 

servo model in the Simulink simulation. The control law either tracks the commanded Mach 

number (MachCmd) or commanded calibrated airspeed (CASCMD) when the autothrottle is 

controlling the airspeed (SPD_R is true). When, SPD_R is false, the commanded PLA will be 

constant for emulating a fixed EPR condition or be driven to a commanded idle position 

(PLAIDLE) at a rate of –2 deg/sec when IDLE_R becomes true.

Figure 45. Autothrottle of B737 research airplane.
81

Appendix D: VNAV Simulink Block Diagrams

The VNAV control system was developed using an existing 6 -DOF non-linear aircraft Simulink 

simulation where the aircraft dynamics represent the Boeing 757–200 aircraft with Rolls Royce 

engines. The VNAV control system was developed in the Simulink environment of this 

simulation. The simulation includes non-linear models of B757–200 autopilot servos, surface 

electro-hydraulic actuators, autothrottle servos, and the Rolls Royce engines. The description of 

Simulink diagrams and Simulink VNAV control system that follows assumes the reader is 

familiar with the Simulink software environment. Figure 46 shows the top level block of the 

B757 Simulink simulation. The VNAV control system is implemented in the block labeled 

Autopilot or FCC at the lower left of the top level block. This block is provided for autopilot 

control law implementation in this simulation.

Figure 46. Top level Simulink block of B757 Simulink simulation.

Figure 47 shows the contents of the block Autopilot or FCC. The VNAV control system is 

contained within the blocks PathGuid, VNAV_Mode_Logic, VNAV_Control_Law, and 

GainScheduleParams. Some of the remaining Simulink blocks contain the B757 pitch and roll 

inner loop control laws and computed parameters for these control laws. The details of these 

blocks are proprietary to Boeing and are not described here. The block labeled FlapCommand 

was implemented to command flap extension or retraction based on CAS landing reference 

speeds for the B757. The block labeled AutoStab contains the B757 autotrim algorithm that 

commands the trim actuator motors to move the stabilizer surface for either a trim up or trim 

down deflection to keep steady-state deflection of the elevator surface close to the neutral 
82

position. The block labeled PitchCmdProcess (a Boeing proprietary block) computes a pitch 

command from the VNAV control system pitch steering command signals VNAVS and VNAVI. 

The block labled PulseLinDisc is used to interface the autopilot surface commands to the 

autopilot servo actuator models and the auto stabilizer trim commands to the model of the 

stabilizer trim motors. The autothrottle used for the VNAV control law development is 

contained in the block labeled AutoThrottle.

Figure 47. Contents of Autopilot or FCC Simulink block.

Figure 48 shows the contents of the block PathGuid. The blocks labeled PathCaptureLogic and 

ErrorSwitch are part of the VNAV control system. The blocks could be considered part of the 

RPFMS calculations, but would require passing different variables and discretes between the 

RPFMS calculations and the VNAV control system. The remaining blocks were developed to 

emulate the calculation of VNAV path errors and discretes that would be computed by the 

RPFMS VNAV guidance so that the VNAV control system performance could be determined 

under realistic scenarios.
83

Figure 48. Contents of Simulink block PathGuid.

Figure 49 shows the contents of block PathErrors in Figure 48. Block PathErrors contains a 

Matlab function block labeled Vertical Path Seg Calcs, which calls the Matlab function 

patherrors, and the block TrajectSigDef. Figure 49 lists the Matlab function patherrors.

The Matlab function patherrors (1) computes the altitude and altitude rate errors for the current 

VNAV path segment, the next path segment, and the constraint altitude, (2) sets the desired 

control mode parameters and speed commands for the path segments, and (3) determines the 

path status. The details of these four items are presented in the discussion of items that are 

contained in block TrajectSigDef. The inputs to the function are the VNAV trajectory data 

(pathdata) that contains data such as that shown in Tables 5, 6, and 7, the past value of the path 

segment number (isegp), the ground range relative to the path segments (xa), aircraft altitude 

(alt), aircraft vertical speed (hdot), aircraft ground speed (vg), and the constraint altitude (altsel). 

The Simulink constant block MCPaltsel provides for setting the constraint altitude for a 

simulation run. The constant block Range provides a means for setting the aircraft ground range 

relative to the VNAV trajectory range data in the pathdata. For example, pathdata is a twodimensional array where the first array index is the VNAV path segment number and the second 

index represents various information about that path segment (see Table 5). The third column 

contains the accumulated ground range at the start of the path segment. The memory block 

labeled PastSegNum is used to set the initial VNAV path segment number and to provide the 

past path segment number computed for input to the function patherrors. The outputs of the 

function patherrors will be addressed in the discussion of the contents of block TrajectSigDef.
84

Figure 49. Contents of Simulink block patherrors.

The Matlab function patherrors that is called in Simulink block Vertical Path Seg Calcs is listed 

below.

function [PathErrors,ModeParams,Commands,PathStatus] = 

patherrors(path,isegp,xa,alt,hdot,vg,altsel)

%

% This block supports the Embedded MATLAB subset.

% See the help menu for details. 

%

% The variable path(i,j) contains information about the vertical path

% segments where i represents the segment number and j is defined as

% follows:

%

% path(iseg,1) = the Excel data file line number

% path(iseg,2) = tangent of the flight path angle of the ith segment

% path(iseg,3) = is the ground range of the start of the ith segment from the origin

% path(iseg,4) = altitude at the start of the ith segment

% path(iseg,5) = flight phase of the ith segment

% path(iseg,6) = pitch mode of the ith segment

% path(iseg,7) = thrust or throttle mode of the ith segment

% path(iseg,8) = CAS command of the ith segment

% path(iseg,9) = Mach command of the ith segment

% path(iseg,10) = flap command of the ith segment

% path(iseg,11) = gear command of the ith segment

%

% The flight phase, pitch mode, and throttle mode are defined as follows:
85

%

% path(iseg,5) = 1 is CLIMB phase

% path(iseg,5) = 2 is CRUISE phase

% path(iseg,5) = 3 is DESCENT phase

%

% path(iseg,6) = 0 is VNAV speed mode

% path(iseg,6) = 1 is VNAV path mode

%

% path(iseg,7) = 1 is fixed thrust mode (e.g. climb thrust)

% path(iseg,7) = 2 is speed mode

% path(iseg,7) = 3 is IDLE mode

% xa - ground range from initial path waypoint, ft

% alt - altitude of aircraft, ft

% hdot - vertical speed of aircraft, ft/sec

% vg - ground speed of aircraft, ft/sec

% isegp - past value of path segment number

% nsegcapp - past value of next segment capture discrete

% asegcapp - past value of constrained altitude capture discrete

% VNAV_Pth_Eng_p - past value of path mode engage discrete

%

% If capture of the next segment occurred the past iteration and the

% VNAV path mode is engaged, then update the segment number

%

PathErrors = zeros(6,1);

ModeParams = zeros(6,1);

Commands = zeros(8,1);

PathStatus = zeros(3,1);

iseg = isegp;

segupd = 0;

% Increment path segment is ground range is greater than ground range at the

% beginning of the next path segment and not on last path segment

if xa > path(iseg+1,3) && isegp < (size(path,1) -1)

 iseg = isegp + 1;

 segupd = 1;

end

%%%% set endseg to 1 if iseg value is last path segment in variable path

if iseg == (size(path,1) - 1)

 endseg = 1;

else

 endseg = 0;

end

%

% compute altitude error (DeltaAlt) and altitude rate error (DeltaHdot)

% for current vertical path segment

%

hc = path(iseg,4) + (xa - path(iseg,3))*path(iseg,2); % command altitude

DelAltc = hc - alt;

DelHdotc = vg*path(iseg,2) - hdot;

%

% compute altitude error (DelAltn) and altitude rate error (DelHdotn) for

% next vertical path segment

%

hcn = path(iseg+1,4) + (xa - path(iseg+1,3))*path(iseg+1,2);

DelAltn = hcn - alt;

DelHdotn = vg*path(iseg+1,2) - hdot;
86

% Compute altitude error (DelAltc) and altitue rate error (DelHdotc) for

% constrained altitude mode

DelAltcs = altsel - alt;

DelHdotcs = -hdot;

% Store current, next, and constrained altitude errors in output vector

%

PathErrors(1) = DelAltc;

PathErrors(2) = DelHdotc;

PathErrors(3) = DelAltn;

PathErrors(4) = DelHdotn;

PathErrors(5) = DelAltcs;

PathErrors(6) = DelHdotcs;

%

% Set flight phase (path(iseg,5)), pitch mode (path(iseg,6), and thrust

% mode (path(iseg,7)) of the current & next segments

%

ModeParams(1) = path(iseg,5); % flight phase current segment

ModeParams(2) = path(iseg+1,5); % flight phase next segment

ModeParams(3) = path(iseg,6); % pitch mode current segment

ModeParams(4) = path(iseg+1,6); % pitch mode next segment

ModeParams(5) = path(iseg,7); % thrust mode of current segment

ModeParams(6) = path(iseg+1,7); % thrust mode of next segment

% Store CAS command, Mach command, Flap command, & Gear command for current

% and next path segments in output vector

Commands(1) = path(iseg,8); % CAS command of current segment

Commands(2) = path(iseg+1,8); % CAS command of next segment

Commands(3) = path(iseg,9); % Mach command of current segment

Commands(4) = path(iseg+1,9); % Mach command of next segment

Commands(5) = path(iseg,10); % Flap command of current segment

Commands(6) = path(iseg+1,10); % Flap command of next segment

Commands(7) = path(iseg,11); % Gear command of current segment

Commands(8) = path(iseg+1,11); % Gear command of next segment

PathStatus(1) = segupd;

PathStatus(2) = endseg;

PathStatus(3) = iseg;

Figure 50 shows the contents of TrajectSigDef. This block extracts the data from the output 

vectors of the function patherrors using Simulink demux blocks and puts that data into four buses 

using Simulink bus creator blocks. The figure shows that the bus PathError contains the altitude 

and altitude rate errors for the current and next path segments, and the constraint altitude along 

with the aircraft ground range. Aircraft ground range is included on this bus to provide later 

access for simulation data recording or to observe with Simulink tools such as Scope or Display 

blocks for debugging purposes. Simulink bus ModeParams contains the flight phase, desired 

pitch mode or VNAV control mode, and desired thrust or throttle mode for the current and next 

path segments. Simulink bus Commands contains the trajectory path segment commands for 

CAS, Mach number, flaps, and gear position for the current and next path segments along with 

the constraint altitude (AltSel). Note that these commands can be overridden by Simulink code 

in block VNAV_ModeDiscs (to be discussed later in this section), and the flap commands can 

also be overridden by code within the Simulink block FlapCommand. The override capability 
87

allows more flexibility in testing the VNAV control system. Simulink bus PathStatus contains 

the one-shot discrete segupd that signals when the aircraft reaches the starting point of a path 

segment, the discrete endseg that indicates if the aircraft is on the last path segment, and the 

current path segment number (iseg).

Figure 50. Contents of Simulink block TrajectSigDef.

Figure 51 shows the contents of block VNAV_EnableDiscs. The block provides a means to 

emulate the setting of arming discretes, mode enabling discretes, and the VNAV disengage 

discrete. The discrete Cur_Cap_Enb enables capture of the current path segment when the 

VNAV control system is armed for engagement or armed for path mode engagement when the 

VNAV control system is engaged in the speed mode. The discrete NSEG_ARM enables the 

VNAV control system to capture the next path segment. The discrete Alt_Cap_Enb enables the 

VNAV control system to capture the constraint altitude, and the discrete EnableVSsubmode 

enables the VNAV speed control mode to engage the vertical speed submode. A value of one for 

these discretes represents the true state and value of zero the false state.
88

Figure 51. Contents of Simulink block VNAV_EnableDiscs.

Figure 52 shows the contents of block VNAV_ModeDiscs. This block allows for override of the 

control mode requests and commands from the VNAV trajectory data file. The block also sets 

the flight phase, requested control mode, and thrust mode when the constraint altitude is being 

captured or tracked (i.e. when CNTLASEG is true). Figure 53 shows the contents of block 

FLTPHASE which sets flight phase logical discretes from the flight phase integer variable 

defined by the VNAV trajectory data file. The flight phase integer from the VNAV trajectory 

file can be overriden with the switch and constant blocks shown at the top of the figure. Figure 

54 shows the contents of block PmodeRqst which sets logic discretes for requesting engagement 

of the path or speed control mode using the data defined by the integer variable in the VNAV 

trajectory data file. Figure 55 shows the contents of block ThrotMode which sets logic discretes 

for the desired thrust or autothrottle mode defined by the integer variable in the VNAV trajectory 

data file.
89

Figure 52. Contents of Simulink block VNAV_ModeDiscs.

Figure 53. Contents of Simulink block FLTPHASE.
90

Figure 54. Contents of Simulink block PmodeRqst.

Figure 55. Contents of Simulink block ThrotMode.

Figure 56 shows the contents of block SpeedCalcs. This block emulates the RPFMS calculation 

of the selected true airspeed from selected CAS or selected Mach number. It also computes the 

MACHSEL discrete that determines if the selected CAS or selected Mach number is to be 

tracked by the control system. The block computes the true airspeed error DeltaTAS that is used 

by the VNAV speed control law to determine when to engage or disengage the vertical speed 

control submode. The From block, with variable name TASF, is the filter true airspeed defined 

in Figure 4. The From block with variable name VTM is the computed conversion factor to 

calculate the true airspeed for the current Mach number measurement. The From block with 

variable name VTVC is the computed conversion factor to calculate the true airspeed for the 

current calibrated airspeed measurement. VTM and VTVC are computed in block 

GainScheduleParams in Figure 47. Block SpeedCalcs also computes the CAS and Mach errors 

(DeltaCAS & DeltaMach) that are used to record the performance of the VNAV speed control 

mode.
91

Figure 56. Contents of Simulink block SpeedCalcs.

Figure 57 shows the contents of block PathCaptureLogic that is part of the VNAV control 

system. This block determines when a current path segment, next path segment, or constraint 

altitude is to be captured. How this logic works was discussed in the report section titled Path 

Capture Logic. The contents of the blocks One_shot, One_shot1, and One_shot2 are the same 

(Figure 58). The contents of the blocks KHERR1, KHERR2, and KHERR3 are all the same 

(Figure 59).

Figure 57. Contents of Simulink block PathCaptureLogic.
92

Figure 58. Contents of Simulink block One_shot.

Figure 59. Contents of Simulink block KHERR.

Figure 60 shows the contents of block Error Switch. This block is part of the VNAV control 

system and selects which set of altitude and altitude rate errors are used by the path control law. 

The errors that are selected are a function of the logic discretes CNTLNSEG and CNTLASEG. 

Figure 61 shows the contents of block CntlNsegCalc that compute CNTLNSEG.. Figure 62 

shows the contents of block CntlAsegCalc that compute CNTLASEG. A description of the logic 

is given in the report section titled Path Control Logic.
93

Figure 60. Contents of Simulink block ErrorSwitch.

Figure 61. Contents of Simulink block CntlNsegCalc.
94

Figure 62. Contents of Simulink block CntlAsegCalc.

Figure 63 shows the contents of the block VNAV_Mode_Logic that is contained in block 

Autopilot or FCC (Figure 47). This block determines when the path control mode, speed control 

mode, or vertical speed control submode should be engaged or disengaged. The block also 

determines when to set the discrete PSYNC used for pitch steering command signal smoothing, 

integrator initialization, and rate limiter initialization. The calculations of this block are 

explained in the report subsection titled Engagement Logic. Figure 64 shows the contents of 

block EngageRequest, fig. 65 shows the contents of block VNAV_VS_Eng_Logic, and fig. 66 

shows the contents of block PSYNC_Calc.
95

Figure 63. Contents of Simulink block VNAV_Mode_Logic.

Figure 64. Contents of Simulink block EngageRequest.
96

Figure 65. Contents of Simulink block VNAV_VS_Engage_Logic.

Figure 66. Contents of Simulink block PSYNC_Calc.
97

Figure 67 shows the contents of the block Timer in Figure 66. VNAVD is set true 0.2 sec after 

VNAV engages and is used so that the signals labeled two, three, four, five and six in fig. 66 do 

not become true when VNAVE is first set true.

Figure 67. Contents of Simulink block Timer.

Figure 68 shows the contents of block VNAV_Control_Law that are contained in block 

Autopilot of FCC (Figure 47). The main parts of this block are the VNAV path control law in 

block VNAV_Pth ( Figure 69), the VNAV speed control law in block VNAV_Spd (Figure 71), 

and the pitch steering signals smoothing function in block FadeInOut (Figure 79). The 

functionality of these blocks is discussed in report section VNAV Control Laws.

Figure 68. Contents of Simulink block VNAV_Control_Law.
98

Figure 69. Contents of Simulink block VNAV_Pth.

The contents of block KHERR2 in Figure 69 are the same as those for the KHERR1, KHERR2 

and KHERR3 for the path segment capture logic (Figure 59). Figure 70 shows the contents of 

the block Ratelim in the path control law block. The block Ratelim limits the input signal 

“dhlim” between rates ±PthHddLim, and the initial condition value (IC) is stored whenever the 

initial condition discrete (ICtrig) is set true.

Figure 70. Contents of Simulink block Ratelim.
99

Figure 71. Contents of Simulink block VNAV_Spd.

The contents of the blocks contained within block VNAV_Spd are shown as follows: 

2ndOrderProcessor in Figure 72, VTerrorWashout in Figure 77, VertSpdControl in Figure 78, 

and Ratelim in Figure 70 (same contents of that Ratelim block in path control law of Figure 69).

Figure 72. Contents of Simulink block 2ndOrderProcessor.

The contents of the various blocks within the Simulink block 2ndOrderProcessor (Figure 72) are 

shown below as follows: block Limits in Figure 73, block Mid_Value in Figure 74, block Bias 

in Figure 75 and block VarLimInteg in Figure 76. As described earlier in the report sections, 

Speed Control and Second Order Speed Command Processor, the second order processor block 

smooths and limits the input command. The limits are acceleration limits whose values are those 

that the aircraft can physically attain. This smoothing and limiting is required since the true 

airspeed command input, TASsel, can have large step changes. The large changes in true 

airspeed commands can result from either changes in the pilot selection via the mode control 

panel or RPFMS command changes.
100

Figure 73. Contents of Simulink block Limits.

Figure 74. Contents of Simulink block Mid_Value.
101

Figure 75. Contents of Simulink block Bias.

Figure 76. Contents of Simulink block VarLimitInteg.

Figure 77 shows the contents of the block VTerrorWashout within the speed control law in 

Figure 71. The value for the gain KWO is two. Figure 78 shows the contents of block 

VertSpdControl within the speed control law . The limits for the limit block on the input signal 

to the integrator on the left side of Figure 78 are set to ±VSHddLim.
102

Figure 77. Contents of Simulink block VTerrorWashout.

Figure 78. Contents of Simulink block VertSpdControl.

Figure 79 shows the contents of block FadInOut that smooths the pitch steering command signals 

when control mode switching of the path, speed, and vertical speed control laws occur and when 

switching to a new path segment occurs.

Figure 79. Contents of Simulink block FadeInOut.
103

Figure 80 shows the contents of block PitchCmdProcess located at the upper right of Figure 47. 

The blocks in Figure 80 compute the pitch command (THETAC) and the pitch error (DTHETE); 

then, DTHETE is used by the pitch inner loop control system that computes the elevator surface 

command. The pitch command is computed from the pitch steering command signals (VNAVS 

and VNAVI) that are outputs from the VNAV control system. Figure 81 shows the contents of 

block Subsystem.

Figure 80. Contents of Simulink block PitchCmdProcess.

Figure 81. Contents of Simulink block Subsystem.
104

References

1. Bruce, Kevin R.; NASA B737 Flight Test Results of the Total Energy Control System, NASA 

CR–178285, July 1987.

2. Lambregts, Anthony A.; Vertical Flight Path and Speed Control Autopilot Design Using Total 

Energy Principles, AIAA conference paper 83–2239, AIAA Guidance & Control Conference, 

Gatlinburg, TN, August 15–17, 1983.

3. Memorandum to Jim Kelly of NASA from Kevin R. Bruce of Boeing: System Definition and 

Implementation Requirements of the Total Energy Control System (TECS) for 

Implementation on the NASA 515 TCV (B737) Airplane, Boeing Memorandum No. FlStB8214–M84–012, January 23, 1984.

4. Khong, Thuan Huu; An Ad-hoc Algorithm to Obtain Proportional Integral Derivative (PID) 

Gains for ARES IX Crew Launch Vehicle (CLV), Dynamic Systems and Control Branch, 

NASA Langley Research Center, internal report, February 2010, revised June 2010.

5. Khong, Thuan Huu; An Ad-hoc Algorithm to Obtain Controller Gains for a Vertical 

Navigation Control System Design for a Nonlinear Model of the Boeing 757–200 Aircraft, 

Dynamic Systems and Control Branch, NASA Langley Research Center, submitted for NASA 

TM, pending, April 09, 2012.

6. Harrison, Howard L; Bollinger, John G: Introduction to Automatic Controls, Second Edition, 

p. 218, International Textbook Company, Scranton, Pennsylvania, 1969.

7. U.S. Standard Atmosphere, 1976, U.S. Government Printing Office, Washington, D.C., 1976.
REPORT DOCUMENTATION PAGE Form Approved

OMB No. 0704-0188

2. REPORT TYPE 

Technical Memorandum

 4. TITLE AND SUBTITLE

Vertical Navigation Control Laws and Logic for the Next Generation Air 

Transportation System 

5a. CONTRACT NUMBER

 6. AUTHOR(S)

Hueschen, Richard M.; Khong, Thuan H.

 7. PERFORMING ORGANIZATION NAME(S) AND ADDRESS(ES)

NASA Langley Research Center

Hampton, VA 23681-2199

 9. SPONSORING/MONITORING AGENCY NAME(S) AND ADDRESS(ES)

National Aeronautics and Space Administration

Washington, DC 20546-0001

 8. PERFORMING ORGANIZATION

 REPORT NUMBER

L-20313

10. SPONSOR/MONITOR'S ACRONYM(S)

NASA

13. SUPPLEMENTARY NOTES

12. DISTRIBUTION/AVAILABILITY STATEMENT

Unclassified - Unlimited

Subject Category 08

Availability: NASA CASI (443) 757-5802

19a. NAME OF RESPONSIBLE PERSON

STI Help Desk (email: help@sti.nasa.gov)

14. ABSTRACT

A vertical navigation (VNAV) outer-loop control system was developed to capture and track the vertical path segments of 

energy-efficient trajectories that are being developed for high-density operations in the evolving Next Generation Air 

Transportation System (NextGen). The VNAV control system has a speed-on-elevator control mode to pitch the aircraft for 

tracking a calibrated airspeed (CAS) or Mach number profile and a path control mode for tracking the VNAV altitude profile. 

Mode control logic was developed for engagement of either the speed or path control modes. The control system will level the 

aircraft to prevent it from flying through a constraint altitude. A stability analysis was performed that showed that the gain and 

phase margins of the VNAV control system significantly exceeded the design gain and phase margins. The system 

performance was assessed using a six-deg-of-freedom non-linear transport aircraft simulation and the performance is 

illustrated with time-history plots of recorded simulation data. 

15. SUBJECT TERMS

Navigation; Simulation; Speed control; Stability tests; Trajectories; Transport aircraft; VNAV control system

18. NUMBER

 OF 

 PAGES

113

19b. TELEPHONE NUMBER (Include area code)

(443) 757-5802

a. REPORT

U

c. THIS PAGE

U

b. ABSTRACT

U

17. LIMITATION OF 

 ABSTRACT

UU

Prescribed by ANSI Std. Z39.18

Standard Form 298 (Rev. 8-98)

3. DATES COVERED (From - To)

5b. GRANT NUMBER

5c. PROGRAM ELEMENT NUMBER

5d. PROJECT NUMBER

5e. TASK NUMBER

5f. WORK UNIT NUMBER

411931.02.01.07.13.05 

11. SPONSOR/MONITOR'S REPORT

 NUMBER(S)

NASA/TM-2013-218138

16. SECURITY CLASSIFICATION OF:

The public reporting burden for this collection of information is estimated to average 1 hour per response, including the time for reviewing instructions, searching existing data sources, 

gathering and maintaining the data needed, and completing and reviewing the collection of information. Send comments regarding this burden estimate or any other aspect of this 

collection of information, including suggestions for reducing this burden, to Department of Defense, Washington Headquarters Services, Directorate for Information Operations and 

Reports (0704-0188), 1215 Jefferson Davis Highway, Suite 1204, Arlington, VA 22202-4302. Respondents should be aware that notwithstanding any other provision of law, no person 

shall be subject to any penalty for failing to comply with a collection of information if it does not display a currently valid OMB control number.

PLEASE DO NOT RETURN YOUR FORM TO THE ABOVE ADDRESS.

1. REPORT DATE (DD-MM-YYYY)

01- 11 - 2013