fdc 1.2 - a simulink toolbox for flight dynamics and control analysis
TRANSCRIPT
FDC 12 ndash A Simulink Toolbox for
Flight Dynamics and Control Analysis
Marc Rauw
2nd edition May 10 2001
This edition of the FDC report is distributed exclusively across the Internet It can be downloaded in PostScript and PDFformat via the homepage of the FDC toolbox httpwwwdutchrollcom Of course the toolbox itself can be downloadedthere too Currently there are two FDC versions FDC 12 for Matlab 42Simulink 13 and FDC 13 for Matlab 51Si-mulink 21 or newer This report describes version 12 only there is no dedicated manual for version 13 However sincethe differences between versions 12 and 13 are mainly limited to Matlab-compatibility on-line help-functions and theuser-interface of some load programs this report can still be used as reference guide for FDC 13 See whatsnewtxt inthe doc directory of FDC 13 for more information about the differences between the two versions
If you wish to make a hard-copy of the report it is advised to download the PostScript version and send this to a PostScriptprinter or a software PostScript interpreter such as Ghostscript (see httpwwwghostscriptcom for more information)
This document was originally created with emTEX a shareware version of LATEX for MS-DOS computers using the oldLATEX 209 format The second edition was prepared with MikTEX in LATEX2ε format The vector figures were createdwith TEXcad (part of the emTEX package) Visio MatlabSimulink and Mayura Draw The bitmap graphics werecreated with IrfanView Paint Shop Pro and the wonderful jpeg2ps tool The Postscript graphics were prepared withthe DVI-driver dvips and the invaluable GhostscriptGSview
Instead of a list All trademarks mentioned in this document are registered to whoever it is that owns them
Copyright ccopy 1994-2001 MO Rauw All rights reserved See section 13 for the FDC 12 license agreement
ISBN 90-807177-1-1
Contact information
e-mail rauwdutchrollcomhomepage httpwwwdutchrollcom
Common Documentation License
Version 10 mdash February 16 2001
copy 2001 Apple Computer IncPermission is granted to copy and distribute verbatim copies of this License but changing or addingto it in any way is not permitted
Please read this License carefully before downloading or using this material By downloading orusing this material you are agreeing to be bound by the terms of this License If you do not or cannotagree to the terms of this License please do not download or use this material
0 Preamble The Common Documentation License (CDL) provides a very simple and consistentlicense that allows relatively unrestricted use and redistribution of documents while stillmaintaining the authors credit and intent To preserve simplicity the License does not specify indetail how (eg font size) or where (eg title page etc) the author should be credited To preserveconsistency changes to the CDL are not allowed and all derivatives of CDL documents arerequired to remain under the CDL Together these constraints enable third parties to easily andsafely reuse CDL documents making the CDL ideal for authors who desire a wide distribution oftheir work However this means the CDL does not allow authors to restrict precisely how theirwork is used or represented making it inappropriate for those desiring more finely-grainedcontrol
1 General Definitions This License applies to any documentation manual or other work thatcontains a notice placed by the Copyright Holder stating that it is subject to the terms of thisCommon Documentation License version 10 (or subsequent version thereof) (License) As usedin this License
11 Copyright Holder means the original author(s) of the Document or other owner(s) of thecopyright in the Document
12 Document(s) means any documentation manual or other work that has been identified asbeing subject to the terms of this License
13 Derivative Work means a work which is based upon a pre-existing Document such as arevision modification translation abridgment condensation expansion or any other formin which such pre-existing Document may be recast transformed or adapted
14 ldquoYou or Your means an individual or a legal entity exercising rights under this License
2 Basic License Subject to all the terms and conditions of this License You may use copymodify publicly display distribute and publish the Document and your Derivative Worksthereof in any medium physical or electronic commercially or non-commercially provided that(a) all copyright notices in the Document are preserved (b) a copy of this License or anincorporation of it by reference in proper form as indicated in Exhibit A below is included in aconspicuous location in all copies such that it would be reasonably viewed by the recipient of theDocument and (c) You add no other terms or conditions to those of this License
3 Derivative Works All Derivative Works are subject to the terms of this License You may copyand distribute a Derivative Work of the Document under the conditions of Section 2 aboveprovided that You release the Derivative Work under the exact verbatim terms of this License(ie the Derivative Work is licensed as a Document under the terms of this License) Inaddition Derivative Works of Documents must meet the following requirements
(a) All copyright and license-notices in the original Document must be preserved(b) An appropriate copyright notice for your Derivative Work must be added adjacent to theother copyright notices(c) A statement briefly summarizing how your Derivative Work is different from the originalDocument must be included in the same place as your copyright notice(d) If it is not reasonably evident to a recipient of your Derivative Work that the DerivativeWork is subject to the terms of this License a statement indicating such fact must beincluded in the same place as your copyright notice
4 Compilation with Independent Works You may compile or combine a Document or itsDerivative Works with other separate and independent documents or works to create acompilation work (Compilation) If included in a Compilation the Document or DerivativeWork thereof must still be provided under the terms of this License and the Compilation shallcontain (a) a notice specifying the inclusion of the Document andor Derivative Work and the factthat it is subject to the terms of this License and (b) either a copy of the License or anincorporation by reference in proper form (as indicated in Exhibit A) Mere aggregation of aDocument or Derivative Work with other documents or works on the same storage ordistribution medium (eg a CD-ROM) will not cause this License to apply to those other works
5 NO WARRANTY THE DOCUMENT IS PROVIDED ON AN AS IS BASIS WITHOUTWARRANTY OF ANY KIND AND THE COPYRIGHT HOLDER EXPRESSLY DISCLAIMSALL WARRANTIES ANDOR CONDITIONS WITH RESPECT TO THE DOCUMENT EITHEREXPRESS IMPLIED OR STATUTORY INCLUDING BUT NOT LIMITED TO THE IMPLIEDWARRANTIES ANDOR CONDITIONS OF MERCHANTABILITY OF SATISFACTORYQUALITY OF FITNESS FOR A PARTICULAR PURPOSE OF ACCURACY OF QUIETENJOYMENT AND OF NONINFRINGEMENT OF THIRD PARTY RIGHTS
6 LIMITATION OF LIABILITY UNDER NO CIRCUMSTANCES SHALL THE COPYRIGHTHOLDER BE LIABLE FOR ANY INCIDENTAL SPECIAL INDIRECT OR CONSEQUENTIALDAMAGES ARISING OUT OF OR RELATING TO THIS LICENSE OR YOUR USEREPRODUCTION MODIFICATION DISTRIBUT ION ANDOR PUBLICATION OF THEDOCUMENT OR ANY PORTION THEREOF WHETHER UNDER A THEORY OFCONTRACT WARRANTY TORT (INCLUDING NEGLIGENCE) STRICT LIABILITY OROTHERWISE EVEN IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THEPOSSIBILITY OF SUCH DAMAGES AND NOTWITHSTANDING THE FAILURE OFESSENTIAL PURPOSE OF ANY REMEDY
7 Trademarks This License does not grant any rights to use any names trademarks servicemarks or logos of the Copyright Holder (collectively Marks) and no such Marks may be used toendorse or promote works or products derived from the Document without the prior writtenpermission of the Copyright Holder
8 Versions of the License Apple Computer Inc (Apple) may publish revised andor newversions of this License from time to time Each version will be given a distinguishing versionnumber Once a Document has been published under a particular version of this License Youmay continue to use it under the terms of that version You may also choose to use suchDocument under the terms of any subsequent version of this License published by Apple No oneother than Apple has the right to modify the terms applicable to Documents created under thisLicense
9 Termination This License and the rights granted hereunder will terminate automatically ifYou fail to comply with any of its terms Upon termination You must immediately stop anyfurther reproduction modification public display distribution and publication of the Documentand Derivative Works However all sublicenses to the Document and Derivative Works whichhave been properly granted prior to termination shall survive any termination of this License
Provisions which by their nature must remain in effect beyond the termination of this Licenseshall survive including but not limited to Sections 5 6 7 9 and 10
10 Waiver Severability Governing Law Failure by the Copyright Holder to enforce anyprovision of this License will not be deemed a waiver of future enforcement of that or any otherprovision If for any reason a court of competent jurisdiction finds any provision of this Licenseor portion thereof to be unenforceable that provision of the License will be enforced to themaximum extent permissible so as to effect the economic benefits and intent of the parties andthe remainder of this License will continue in full force and effect This License shall be governedby the laws of the United States and the State of California except that body of California lawconcerning conflicts of law
EXHIBIT AThe proper form for an incorporation of this License by reference is as follows
Copyright (c) [year] by [Copyright Holderrsquos name]This material has been released under and is subject to the terms of the Common DocumentationLicense v10 the terms of which are hereby incorporated by reference Please obtain a copy ofthe License at httpwwwopensourceapplecomcdl and read it before using this material Youruse of this material signifies your agreement to the terms of the License
ii
Preface
Welcome to the FDC toolbox
This report gives an overview of the Flight Dynamics and Control toolbox FDC 12 a graphicalsoftware environment for the design and analysis of aircraft dynamics and control systems basedupon Matlab and Simulink Its main goal is to simplify the Flight Control System designprocess although it can be applied to a broad range of Stability and Control related problemsAn early version of the toolbox was used in practice for an autopilot design process for the DeHavilland lsquoBeaverrsquo aircraft which was performed by graduate students of the section Stabilityand Control of the Faculty of Aerospace Engineering (including myself) in 19921993 Thisproject provided an impressive demonstration of the flexibility and power of Simulink-basedtools by enabling us to bring the autopilot project from the early designs in Matlab to theactual flight test phase in a short period of time with great results (see refs[22] and [29]) Basedupon this lsquoBeaverrsquo autopilot experience the current version of the FDC toolbox has evolved intoan advanced lsquoproof of conceptrsquo package which has matured a lot since the early versions from19921993 FDC 12 thus paves the way for future general-purpose toolboxes in the field ofFlight Dynamics and Control research
FDC 12 can play an important role in aeronautical education by assisting in Flight Dy-namics and Control related training courses There it can take full advantage of its clear model-structure and its flexibility which enables it to be used for a variety of tasks eg control systemdesign off-line simulations of the open-loop uncontrolled aircraft (either non-linear or linear)closed-loop simulations of an automatically controlled aircraft etc The non-linear dynamicmodel of the lsquoBeaverrsquo aircraft is very suitable for a first introduction to the structure of aircraftdynamics in general due to its relatively simple structure which nevertheless contains many typi-cal aircraft characteristics that make it an ideal basis for a general treatment of aircraft dynamicsFor instance the model clearly exhibits cross-coupling of longitudinal and lateral motions and itdescribes asymmetrical aircraft behavior due to propeller-slipstream effects FDC 12 can helpassisting courses on Automatic Flight Control Systems (AFCSrsquos) if it is used in combination withthe various existing control system toolboxes for Matlab Its powerful non-linear simulationcapabilities make it easy to extend such courses beyond the linear AFCS design and simulationsthus bridging the gap between the control theory and its applications in practice
About the second edition of this report
Since the first edition in 1997 the Internet has become the standard distribution channel for theFDC toolbox In addition to the software itself the PostScript source files for the FDC 12 reportwere also made available over the Internet This new edition was created primarily to shortenthe download-time for the PostScript sources and to make it possible to create a PDF version ofthe report Contrary to the previous version the new sources are resolution-independent whichwill enhance the printing quality when applying a high-resolution output device
iii
iv PREFACE
The text of the report has not been changed apart from one section in the install instructionsHowever some parts are slightly outdated ndash in particular the system requirements sectionContrary to the text many figures have been updated some bitmap graphics have been replacedby vector graphics which enhances their quality while reducing the size of the correspondingPostScript files and other bitmap graphics have been implemented as gray-scale pictures insteadof dithered black-and-white pictures But since the contents are virtually the same therersquos noneed to re-print this report if you already own a hard-copy of the old version
One important remark about the software requirements FDC 12 is not compatible withMatlab 5Simulink 2 or newer To solve this problem version 13 of the FDC toolbox wascreated for Matlab 51Simulink 21 (this version has also been tested successfully with Matlab53Simulink 30) Some other improvements were made as well the on-line help system wasimproved and some small changes were made in the user-interface However these changes werenot big enough to justify a new user-manual If you use FDC 13 the document yoursquore currentlyreading is still the best reference source available However make sure to read the readme andwhatsnew-files for FDC 13 too they contain more information about the differences betweenversions 12 and 13
The structure of this report
Creating a report which treats the complete FDC toolbox from the different points-of-view of alltypes of users was not easy The lsquoproof of conceptrsquo character of the FDC toolbox required both athorough treatment of the mathematical structure of the models and algorithms and a detaileddescription about the actual implementation of the models and tools in MatlabSimulinkMoreover the report should show how to get started as an lsquoFDC novicersquo while a detailed des-cription about the lsquoBeaverrsquo autopilot was deemed necessary to demonstrate the more advancedapplications of the FDC toolbox for experienced users For this reason it was first plannedto divide the report into three separate parts theoretical backgrounds reference guide andtutorialexamples However one of the virtues of this toolbox is the fact that the practical im-plementation of the models and tools makes it easier to comprehend the theory and vice versaIn other words a formal separation of theory and practice was not that trivial For this reasonit was decided to combine the different elements into one report So whether you simply want toapply the existing models incorporated in FDC 12 for a demonstration of Stability and Controlrelated problems or use the models and tools as a guideline for the implementation of your ownmodels all necessary information can be found in this report
This did however require some compromises with regard to the structure of the report Itwould have been somewhat easier to trace the required information when using separate volumesfor the theory implementation and examples but this has been compensated by means of aclear table of contents chapter headers on top of the pages and a complete index to simplifysearching The general structure of the report is as follows
bull chapter 1 shows how to install the software package and how to get started with FDC 12
bull chapter 2 gives an introduction to the Flight Control System design process one of themain applications of the FDC package
bull chapter 3 treats the theoretical aspects of the different dynamic models from the FDCtoolbox
bull chapter 4 treats the theoretical aspects of some important analytical tools contained in orused by FDC 12
bull chapters 5 to 8 provide the link between the theory from chapters 3 and 4 and the FDC
PREFACE v
Chapter 1
FDC 12introduction
Chapters 3 and 4
Theory
Chapter 2
General AFCSintroduction
Chapters 5 6 and 7
Models
Chapter 8
Tools
Chapter 9
Utilities
Chapters 11 and 12
Case Study
Chapter 10
Tutorial
ModelbuildingQuick
start
UsingFDC 12
General interest
All readers
Figure 1 Different ways to approach this report
software by describing the Simulink models and Matlab programs from FDC 12 sys-tematically in alphabetical order (these chapters fulfill the function of reference guide inthis report)
bull chapter 9 describes some utilities from the FDC toolbox which are needed for definingor loading model parameters steady-state initial conditions system matrices of linearizedmodels etc and for post-processing simulation results
bull chapter 10 demonstrates the practical use of the models and tools for the analysis ofopen-loop aircraft responses
bull chapters 11 and 12 describe a detailed case-study of the lsquoBeaverrsquo autopilot
bull chapter 13 contains recommendations for further improvements of the FDC toolbox
bull appendix A contain a list of symbols and definitions
bull appendix B gives background information for the derivations of the equations of motion
bull the other appendices contain parameter definitions for the models from chapter 3 theSimulink systems from chapters 5 to 7 and the Matlab tools from chapter 8
vi PREFACE
How to read this report
Figure 1 gives a schematic overview of the different ways to use this report All users should startreading chapter 1 for a short introduction to the package and the install instructions If you wantto get started rightaway to get a general idea about the possibilities of the package you shouldcontinue with chapter 10 Users who want to know more about the theoretical backgroundsshould read chapters 3 and 4 while the function of a reference guide to the MatlabSimulink
implementation is fulfilled by chapters 5 to 6 8 and 9 Experienced users are encouraged to readchapters 11 and 12 for a detailed case-study of the lsquoBeaverrsquo autopilot which clearly demonstratesthe enormous flexibility of the Simulink environment for solving such control system designproblems However even though the structure of the autopilot simulation model has beenbrought to the same standard as the other FDC systems it is recommended to get familiar withthe toolbox first before proceeding with this case-study Users who donrsquot comprehend the open-loop simulations from chapter 10 will most likely have problems with the autopilot simulationmodels as well The autopilot simulation model from chapter 12 contains the complete set ofcontrol laws used for the actual flight tests so it takes into account many problems encounteredin practice If you plan to design your own autopilot control laws it is very useful to studychapters 11 and 12 because they contain useful clues for easing out the transition from simulationmodel to flight test Chapter 2 provides useful general background information for all readerswho are interested in Automatic Flight Control Systems design processes Finally chapter 13highlights a number of further improvements of the FDC toolbox under consideration for futurereleases
Typographical conventions
The following typographical conventions are used in this report
bull scalar variables and functions as well as variable names from software source codes andgraphical Simulink systems are typeset in italics
bull vectors and vector functions are typeset in boldface
bull matrices and frames of reference are denoted with ITALIC CAPITALS
bull names of software packages filenames and directory names are typeset in small capi-
tals
bull Names of Simulink systems are typeset in Sans Serif style Matlab functions are eitherdenoted by their filenames (small capitals with extension m) or in SANS SERIF CAPITALS
bull commands to be typed by the user at the DOS prompt or the Matlab command-line aretypeset in typewriter style
Contact information
The homepage for the FDC toolbox is located at httpwwwdutchrollcom It contains moreinformation about the new version FDC 13 and future updates of the FDC toolbox If you haveany questions or comments please contact the author via e-mail at rauwdutchrollcom
Marc Rauw May 10 2001
Contents
1 Introduction to FDC 12 111 What is the FDC toolbox 112 Required Hardware and Software 113 License Agreement 214 Installing FDC 12 315 Getting started with FDC 12 6
151 Initializing FDC 12 6152 Contents of the FDC toolbox 6
16 Some warnings 7
2 The Flight Control System design process 1121 Introduction 1122 The AFCS design cycle 11
3 Mathematical models ndash theoretical backgrounds 1731 Introduction 1732 The non-linear aircraft model 18
321 General equations of motion 18322 External forces and moments 20323 Converting implicit state equations to explicit equations 23324 Atmosphere and airdata variables 24325 Additional output variables 27
33 External atmospheric disturbances 28331 Deterministic disturbances 28332 Stochastic disturbances 29
34 Radio-navigation models 34341 The Instrument Landing System 34342 The VOR navigation system 43
35 Sensors Actuators Flight Control Computer 47
4 Analytical tools ndash theoretical backgrounds 4941 Introduction 4942 Simulation tools 49
421 Introduction 49422 The type of problems considered 50423 Stability errors and order of a numerical integration method 51424 Different categories of numerical integration methods 51425 Stiff differential equations 57426 Obtaining state-models from transfer functions 57
vii
viii CONTENTS
427 Algebraic loops 5843 The trimming facility from FDC 12 61
431 Definition of steady-state flight 61432 Specification of the flight condition 63433 The rate-of-climb and turn-coordination constraints 63434 The resulting steady-state trimmed-flight algorithm 64
44 The linearization facility 64
5 FDC implementation of the aircraft model 6951 General structure of the aircraft model 6952 Conventions used in the Reference Guide chapters 72
521 On-line help for FCD 12 73
6 FDC implementation of the atmospheric disturbance models 109
7 FDC implementation of the radio-navigation models 119
8 Implementation of the analytical tools in FDC 12 13381 Introduction 13382 The trimming facility 133
821 Program structure of ACTRIM 133822 Using ACTRIM in practice 134
83 The linearization facility 137831 Program structure of ACLIN 137832 Using ACLIN in practice 138
9 Other utilities for the FDC toolbox 14191 The FDC initialization routine FDCINIT 14192 The aircraft model parameter definition macro MODBUILD 14193 Routines to load data from files 143
931 The model-parameter load routine LOADER 143932 The load routine INCOLOAD 143
94 Programs for post-processing simulation results 145941 The routine RESULTS 145942 The routine RESPLOT 145943 The routine RECOVER 146
95 The routine FIXSTATE to artificially fix state variables 14696 The routine SYSTPROP to compute linear system-properties 14797 The Simulink library FDCTOOLS 148
971 Input blocks from FDCTOOLS 148972 Gain scheduling blocks from FDCTOOLS 148973 Switches from FDCTOOLS 148974 Discrete signal blocks from FDCTOOLS 149975 Non-linear function blocks from FDCTOOLS 149
10 Performing open-loop analysis with FDC 12 151101 Introduction 151102 Non-linear responses to deterministic inputs ndash OLOOP1 151
1021 Structure of the system OLOOP1 1511022 Performing simulations with OLOOP1 1541023 Analyzing simulation results 155
CONTENTS ix
103 Non-linear responses to stochastic inputs ndash OLOOP2 1551031 Structure of the system OLOOP2 1551032 Performing simulations with OLOOP2 and analyzing the results 156
104 Linear responses to deterministic inputs ndash OLOOP3 1561041 Structure of the system OLOOP3 1561042 Performing simulations with OLOOP3 and analyzing the results 157
105 Trim-demo trimmed-flight elevator deflection curve 162
11 lsquoBeaverrsquo autopilot ndash theoretical backgrounds 169111 Introduction 169112 Basic autopilot functions 169113 The longitudinal autopilot modes 170
1131 Pitch Attitude Hold mode 1701132 Altitude Hold mode 1701133 Altitude Select mode 1721134 Longitudinal part of the Approach mode Glideslope 1731135 Longitudinal part of the Go Around mode 175
114 The lateral autopilot modes 1751141 Roll Attitude Hold mode with turn-coordinator 1751142 Heading HoldHeading Select mode 1761143 Lateral part of the Approach mode Localizer 1771144 VOR navigation mode 1791145 Lateral part of the Go Around mode 180
115 Turn-compensation 1801151 Introduction 1801152 Correction of the pitch rate in turns 1801153 Correction for the loss of lift in turns 1821154 Total turn-compensation 183
116 The signal limiters 185
12 lsquoBeaverrsquo autopilot ndash implementation in FDC 12 189121 Introduction 189122 Implementing separate control laws in Simulink 189
1221 Structure of the control-law simulation models 1891222 Simulink implementation of the Pitch Attitude Hold mode 1901223 Simulink implementation of the Roll Attitude Hold mode 1901224 Using the PAH and RAH simulation models in practice 192
123 Integral autopilot simulation model 1961231 General structure of the autopilot simulation model 1961232 Implementation of the symmetrical autopilot modes 1971233 Implementation of the asymmetrical autopilot modes 1981234 Implementation of the Mode Controller 1991235 Implementation of atmospheric disturbances 2011236 Blocks to obtain small-deviation signals from the aircraft model 2021237 Additional blocks on the input side of the aircraft model 2031238 Additional blocks on the output side of the aircraft model 203
124 Performing simulations with the autopilot models 2051241 Autopilot model initialization 2051242 Examples of non-linear autopilot simulations 207
x CONTENTS
13 Recommendations for future FDC releases 211131 Transforming the toolbox to a central model library 211132 Porting Simulink models to other computer platforms 211133 Other possible improvements for future FDC releases 213
A Symbols and definitions 215A1 List of symbols 215A2 Vectors 219A3 Matrices 219A4 Functions 219A5 Indices and subscripts 219A6 Abbreviations 220A7 Reference frames and sign conventions 221
A71 Definitions 221A72 Relationships between the reference frames 222A73 Sign conventions for deflections of control surfaces 223
B General rigid-body equations of motion 227B1 Linear and rotational velocity equations in body-axes 227
B11 General force equation for a rigid body 227B12 General moment equation for a rigid body 228B13 Angular momentum around the center of gravity 228B14 General equations of motion for a rigid body 229
B2 Using flight-path axes for describing linear motions 232B21 Why flight-path axes 232B22 Transforming forces and velocities from body to flight-path axes 233B23 Derivation of the V -equation 233B24 Derivation of the α-equation 234B25 Derivation of the β-equation 234
B3 Equations of motion in non-steady atmosphere 235B4 Kinematic relations 237B5 Resulting dynamic model 237
C Definition of the parameters of the lsquoBeaverrsquo model 239
D FDC implementation of the aircraft parameters 243D1 How to define the parameters in the Matlab workspace 243D2 Definition of the parameter matrices for the system Beaver 243
E Definitions of variables and acronyms from FDC 12 247E1 Variables and acronyms from the graphical models 247
E11 Aircraft model (system Beaver) 247E12 Autopilot models (systems APILOT1 to APILOT3) 250E13 Radio-navigation models (library NAVLIB) 252E14 Wind and turbulence models (library WINDLIB) 253
E2 Inputoutput variables of the simulation models 254E21 Aircraft model (system Beaver) 254E22 Radio navigation models (library NAVLIB) 254
Chapter 1
Introduction to FDC 12
11 What is the FDC toolbox
FDC is an abbreviation of Flight Dynamics and Control The FDC toolbox for Matlab andSimulink makes it possible to analyze aircraft dynamics and flight control systems withinone software environment on one PC or workstation The toolbox has been set up around ageneral non-linear aircraft model which has been constructed in a modular way in order toprovide maximal flexibility to the user The model can be accessed by means of the graphicaluser-interface of Simulink Other elements from the toolbox are analytical Matlab routinesfor extracting steady-state flight-conditions and determining linearized models around user-specified operating points Simulink models of external atmospheric disturbances that affectthe motions of the aircraft radio-navigation models models of the lsquoBeaverrsquo autopilot and severalhelp-utilities which simplify the handling of the systems
The package can be applied to a broad range of stability and control related problemsby applying Matlab tools from other toolboxes to the systems from FDC 12 The FDCtoolbox is particularly useful for the design and analysis of Automatic Flight Control Systems(AFCSrsquos) By giving the designer access to all models and tools required for AFCS design andanalysis within one graphical Computer Assisted Control System Design (CACSD) environmentthe AFCS development cycle can be reduced considerably as will be shown in chapter 2 Thecurrent version 12 of the FDC toolbox is an advanced lsquoproof of conceptrsquo package which effectivelydemonstrates the general ideas behind the application of CACSD tools with a graphical user-interface to the AFCS design process Currently the aircraft model has been worked out indetail for the De Havilland DHC-2 lsquoBeaverrsquo aircraft but due to the modular structure of themodels and the flexibility of Matlab and Simulink it will be relatively easy to implement otheraircraft models within the same structure and to enhance or refine the models if required
12 Required Hardware and Software
Version 12 of the FDC-toolbox was developed for Matlab 40 Simulink 12c for MS
Windows 311 It is necessary to have these or newer versions of these programs installedon your system Matlab for Windows version 40 requires a PC with an 80386 or betterprocessor equipped with at least 4 Mbytes of RAM In practice an i486 computer with 4 Mbytesof RAM running at a clock-speed of 33 MHz proved to be just powerful enough for our AFCSdesign tasks but more computing power and more system memory is strongly recommendedespecially if you plan to do simulations with stochastic or highly discontinuous input signals
1For Matlab 51 Simulink 21 or newer use FDC 13 instead see the remarks in the Preface
1
2 CHAPTER 1 INTRODUCTION TO FDC 12
For real number-crunching tasks the toolbox should be loaded onto a real powerful personalcomputer or workstation (the FDC toolboxes for Matlab 40 Simulink 12c (or higher)should work well for corresponding workstation versions of Matlab and Simulink althoughthis has not been tested) The toolbox itself requires approximately 2 Mbytes of free space onyour harddisk but it is recommended to reserve more space for storing simulation results andyour own model enhancements on your harddisk
13 License Agreement
Before installing the FDC package to your computer it is necessary to read this section UsingFDC 12 implies that you agree with the rules from this license The basic philosophy behindthese rules is that the FDC toolbox should be a system which can be trusted by all types ofusers to fulfill their needs while at the same time providing a maximum flexibility for the usersto experiment with the FDC files It is not possible to ensure compatibility between differentSimulink (sub-) systems and Matlab programs from the FDC toolbox if different versionsof the systems and tools are distributed under the same names For instance altering thedefinitions of the input and output vectors within the existing aircraft model Beaver will renderthe current systems that call Beaver as a subsystem useless unless those systems are changedaccordingly This may not be a problem for an individual user who can easily keep track of allchanges made to the programs and systems but if the models are shared with others ndash which isthe ultimate goal of the modular FDC structure ndash unexpected errors will arise
For this reason the license rules only allow distribution of the complete original distribu-tion files of the FDC toolbox The user is free to release custom-made versions and add-ons tothe FDC toolbox under the condition that these changes and extensions are clearly marked asbeing different from the original FDC toolbox It is not allowed to include such extensions tothe original FDC distribution diskettes or copies thereof It is allowed to distribute enhancedFDC tools of models as long as they are saved under different filenames These rules are notintended to discourage the user in experimenting with the programs and Simulink models fromthe FDC toolbox It is allowed to use the existing files or separate elements from these files aslsquotemplatesrsquo for own developments as long as the original source is mentioned in the new versionand a new filename is used for distribution
The following license rules should be taken into account
bull All software written by MO Rauw which is part of the FDC toolbox may be used withoutrestrictions
bull The software written by MO Rauw which is part of the FDC toolbox may only bedistributed in unchanged and complete form including all the files listed in the file con-
tentstxt and only if this is done without charge If you want to distribute only partsof the FDC toolbox or charge a fee for handling etc you have to contact the author Inparticular commercial distribution on diskette or CD-ROM is prohibited without explicitpermission
bull Any custom-made extensions to the FDC package should be distributed separately usingfilenames that differ from the original FDC package Inclusion of extensions to the originalFDC distribution diskette is prohibited without explicit permission from the author
bull Elements from the FDC tools or systems may be included in other programs and systemsprovided the original source (eg lsquoFDC 12 by MO Rauwrsquo) is referred to in the resultingsource codes Distribution of customized versions of the systems and tools from the FDCtoolbox is allowed only if the differences from the original version are clearly marked
14 INSTALLING FDC 12 3
bull Distribution of the program documentation other than that included on the FDC distri-bution diskette is prohibited without explicit permission from the author
bull No guarantee is made as to the proper functioning of the FDC software No liability willbe admitted for damage resulting from using the software
bull Instead of a list All trademarks used in this document and all the other documents andprogram files from the FDC toolbox are registered to whoever it is that owns them
Note the file licensetxt from the FDC distribution diskette contains a copy of these licenserules Any last-minute changes to this license agreement will be clearly marked in that filePlease read it before installing FDC 12
14 Installing FDC 12
Before starting the installation you should read the readme-file to find out if there are anylast-minute changes to the software or installation procedure There are two different FDC 12distributions an Internet distribution and a floppy-disk distribution that uses a self-extractingZIP file to store the models and tools Unpacking instructions are given in a readme file thatis included with each distribution these instructions will not be repeated here
After unpacking the FDC models and tools into the right directory start Matlab andgo to the FDC root-directory The default FDC root-directory is cfdc12 and you can typechdir cfdc12 to go there Next type fdc or fdcinit at the Matlab command-line to startthe initialization routine FDCINIT (see figure 11) As a first-time user you will be welcomed bysome introductionary messages and you will be asked to check the FDC directory structure whichis used by FDCINIT to enhance the Matlab search path (figure 12) At this stage it is notnecessary to change anything unless you have installed FDC to a different root-directory thancfdc12 in that case you must specify the new root-directory as demonstrated in figure 13 forthe directory gmytoolsfdc12 FDCINIT will automatically guide you through this processbut remember that the program is not (yet) able to check whether the specified directory namesare correct or not although Matlab itself issues a warning message if you have specified anincorrect path when finishing the initialization procedure1 It is possible to save a changedversion of the FDC directory-tree as default setting for future sessions The initialization routinewill automatically enhance the Matlab search-path with the FDC directories Do not run orFDCINIT more than once during an FDC-session in order to avoid duplicate entries in theMatlab search-path
After finishing this initialization type help at the Matlab command-line You will seethat the FDC directories have been added to the Matlab path Information about each in-dividual FDC directory will be listed if you type help dirname where dirname is an FDCsubdirectory eg type help aircraft for a short explanation about the files in the FDC sub-directory aircraft Since most help texts donrsquot fit in the command window it is necessary touse the slider-button on the right side of the command window to view them completely
1Note the current user-interface of the FDC toolbox is still largely text-oriented ie the programs displayinformation in the Matlab command window and they expect all user-inputs to be entered in the commandwindow However newer versions of Matlab automatically convert text-oriented menursquos to graphical user-menursquos such as the one shown in figure 13 This inconsistent behavior may sometimes be confusing so furtherimprovement of the user-interface will have high priority for future versions of the FDC toolbox Since thecommand-window can be hidden behind other windows while FDC programs display information or expect inputsfrom the user it is recommended to keep at least some part of the command window clear from other windowsOtherwise you may loose track of the messages which FDC sends to the user It is therefore recommended to usea large high-resolution display
4 CHAPTER 1 INTRODUCTION TO FDC 12
Figure 11 Starting the initialization of FDC 12
Figure 12 Check directory structure during initialization
14 INSTALLING FDC 12 5
Figure 13 Specifying a new root-directory for FDC 12 during initialization
Figure 14 Suppressing the directory-check for future FDC-sessions
6 CHAPTER 1 INTRODUCTION TO FDC 12
15 Getting started with FDC 12
151 Initializing FDC 12
When the installation is finished the FDC toolbox contains the following subdirectories
AIRCRAFT contains the non-linear aircraft model Beaver the main library FDCLIB and itssublibraries and a model-parameter definition program MODBUILD
APILOT contains simulation models of the lsquoBeaverrsquo autopilotDATA contains datafiles with model-parameters and is used for storing data such as
steady-state trimmed-flight conditions or linearized aircraft modelsDOC contains text-files with program documentation (readme-files license agree-
ment list of new features list of features for future versions of the toolbox anda complete list of all files from the toolbox)
EXAMPLES contains examples which demonstrate how to simulate open-loop responses ofthe aircraft in Simulink and how to access the non-linear aircraft model fromthe Matlab workspace plus some lsquotutorialrsquo systems
HELP contains on-line help texts for the graphical subsystems and for the most im-portant analytical tools from the FDC-package
NAVIGATE contains the radio-navigation library NAVLIB and its sublibrariesTOOLS contains the trim and linearization routines routines for post-processing simu-
lation results load routines for model-initialization and a Simulink libraryFDCTOOLS with useful blocks that canrsquot be found in the standard Simulink
librariesWIND contains the wind and turbulence library WINDLIB and its sublibraries
Each time you start an FDC-session you must add the FDC directories to the Matlab pathby running FDCINIT from the FDC root-directory (first change directory then type fdc orfdcinit) After the first session the initialization routine will skip the welcome messages butyou still must check the directory path before FDCINIT will add the FDC directories to the Mat-
lab path If you want to skip the directory-check in future sessions you must select the suppressoption after checking the directories (see figure 14) Note if you plan to enhance the FDC tool-box it is advisable not to suppress the directory-check because it can be used to include newsubdirectories for your own FDC extensions to the Matlab path just click the appropriatebutton in the menu shown in figure 13 and answer the questions in the Matlab commandwindow FDCINIT always tries to retrieve its default settings from the file fdcinitini whichis stored in the root-directory of the FDC package If you change the FDC directory tree andsave this definition as the new default setting the file fdcinitini will be changed accordinglyOnce the suppress option has been selected during a directory-check it is not possible to changethe tree definition anymore unless you delete the file fdcinitini from the FDC root-directorybefore running FDCINIT If fdcinitini cannot be found in the FDC root-directory you will bewelcomed as if you were a first-time user and the directory-check options will reappear
152 Contents of the FDC toolbox
The most important elements from the FDC toolbox are its Simulink model libraries the mainlibrary FDCLIB the wind and turbulence library WINDLIB and the radio-navigation libraryNAVLIB These libraries can be opened by typing fdclib windlib or navlib at the Matlab
command-line FDCLIB provides links to sublibraries containing the different blocks from thenon-linear aircraft model the complete non-linear model of the lsquoBeaverrsquo aircraft the wind andnavigation libraries several lsquobuttonrsquo-blocks and some example systems which explain how the
16 SOME WARNINGS 7
different FDC models can be used in practice Typing fdclib at the Matlab command-line willopen the block-library shown in figure 15 Each block from this library can be double-clickedwith the mouse to open the corresponding sublibrary or simulation model The title block inthe upper left corner of the library can be double-clicked to provide information about someimportant block-conventions from the graphical systems in FDC 12 The blocks from the lefthand side of the main library window will open sublibraries of the aircraft model when double-clicked The blocks on the right hand side refer to complete simulation models and lsquotutorialsystemsrsquo
For instance double-clicking the block Aerodynamics will reveal the sublibrary shown infigure 16 This library currently contains the aerodynamic models for the lsquoBeaverrsquo aircraft butit can easily be enhanced with aerodynamic models for other aircraft Opening such sublibrariesis useful during model construction work Since it takes some time to load these sublibrariesit is recommended not to close these libraries until your model construction work is actuallyfinished If you want to make room on your screen you can better temporarily minimize thewindow instead of closing it The main library remains accessible in a separate window as longas that window is not closed1
The complete non-linear aircraft model is contained in the Simulink system Beaver whichcan also be accessed directly by typing beaver at the command-line Examples of open-loopsimulation models are contained in the systems OLOOP1 OLOOP2 and OLOOP3 which caneither be opened directly by typing oloop1 oloop2 or oloop3 at the command-line or accessedvia the main library FDCLIB lsquoTutorialsrsquo for these open-loop simulation systems are also avail-able they are called OLOOP1T OLOOP2T and OLOOP3T respectively Complete autopilotsimulation models for the lsquoBeaverrsquo aircraft are available in the systems APILOT1 APILOT2 andAPILOT3 It is recommended not to use these systems until you have gained some experiencewith the open-loop simulation models because the autopilot models are relatively complex incomparison to the other systems This is why the autopilot systems are not accessible from themain model library FDCLIB See chapters 11 and 12 for a complete description of the autopilotmodels from FDC 12
16 Some warnings
Although it is highly recommended to use the different models and tools from the FDC toolboxfor your own experiments it is important not to neglect the current interactions between thedifferent models and tools For instance increasing the number of output signals from theaircraft model by adding new Outport blocks in the first level of the aircraft model will requireappropriate changes in the systems that call the aircraft model eg the open-loop simulationmodels or the autopilot models Since all parts of the FDC systems are freely accessible bythe user the possibilities to experiment are virtually unlimited But in order to maintain theintegrity of the complete FDC toolbox it is advised to keep safety copies of the original filessomewhere on your system in order to be able to restore possible errors arising during the editingof those files (of course it is always possible to re-install the complete package if things go reallywrong) and it is strongly recommended to use different filenames for your own adaptations of theFDC models and tools to clearly distinguish them from the originals If you want to distributeyour own developments you are even obliged to do this according to the license agreement fromsection 13
1Tip for MS Windows under Simulink the screen tends to become crowded with all kinds of windows
especially if it is small To quickly find the appropriate window try using Alt + Tab or Alt + Shift +
Tab to walk through a list of windows currently displayed at the screen including the minimized windows
8 CHAPTER 1 INTRODUCTION TO FDC 12
Figure 15 Main block-library of the FDC toolbox
Figure 16 Sublibrary with aerodynamic models
16 SOME WARNINGS 9
If you decide not to read the remainder of this report in particular chapter 10 you are bound toreceive some disturbing error messages when performing experiments with the tools and modelsfrom the FDC toolbox This is quite harmless but please donrsquot blame the product for it Allsystems and tools from FDC 12 have performed quite well in practice so if Simulink complainsabout things like missing parameters yoursquoll probably have done something wrong The toolboxhas become more user-friendly (not to say more fool-proof) since the first versions but it stillrequires sufficient basic knowledge to use it So please keep on reading a bit longer If youwant to get started quickly the best thing to do now is to continue with chapter 10 See alsofigure 1 from the preface
10
Chapter 2
The Flight Control System designprocess
21 Introduction
Active flight control technology has dramatically changed the way aircraft are designed andflown the flying qualities of modern aircraft are largely determined by a set of control lawsin the heart of a computer system Flight control systems with mechanical linkages have beenreplaced by full authority fly-by-wire digital control systems Such Automatic Flight ControlSystems (AFCSrsquos) can be designed and analyzed effectively by incorporating design-techniquesand mathematical dynamic models in a user-friendly Computer Assisted Control System Design(CACSD) package The FDC-toolbox for Matlab Simulink is a practical example of such adesign-environment This chapter will outline the general control system design cycle in orderto stress the importance of such a CACSD environment for AFCS design and analysis
22 The AFCS design cycle
A practical division of the AFCS design process into a number of different phases is givenin ref[20] Although this reference is nowadays outdated with respect to the available tools(computer hardware and software) this division is still quite useful
1 Establish the system purpose and overall system requirements System purpose can beequated with mission or task definitions System requirements can be separated in (i)operational requirements derived from the functions needed to accomplish the missionphases and (ii) implied requirements derived from the characteristics of the interconnectedcomponents of the control system and the environment in which they operate
2 Determine the characteristics of unalterable elements command-signals and external dis-turbances The characteristics of some parts of the system cannot easily be changed bythe designer Often the vehicle itself its control surface actuators and some of its sensorsare lsquounalterablersquo1 Moreover the structure of the commands and disturbances is a directconsequence of the mission requirements and the environment in which the control systemhas to operate
1If the AFCS is designed for an all-new aircraft the selection of the hardware (sensors actuators computersetc) must be included in the AFCS design and analysis in stead of taking the hardware as being unalterable Inthis report all hardware is considered to be given so the lsquoonlyrsquo problem to be considered is the development ofthe appropriate control laws to make a given aircraft fly a certain mission
11
12 CHAPTER 2 THE FLIGHT CONTROL SYSTEM DESIGN PROCESS
3 Evolve competing feasible systems (ie determine the basic block-diagrams) Usually thereare more ways to achieve the requirements eg with different sensed motion quantitiesandor the application of different control theories Then it is possible to evolve competingcandidate systems for selection on the basis of certain desirable properties
4 Select the lsquobestrsquo system The competing designs can be compared on the basis of (i)design qualities which include dynamic performance (speed of response bandwidth etc)and physical characteristics (weight volume power consumption etc) and (ii) designquantities which include safety reliability maintainability cost etc An optimum systemis one that has some lsquobestrsquo combination of these features
5 Study the selected system in detail The selected system must be evaluated for all normaland abnormal operating conditions At each state of the AFCS validation the assumptionsmade earlier in the AFCS design must be checked for validity If necessary a new iterationof the design should be started from the point where the wrong assumption was made
This scheme reflects the AFCS design process within a manufacturing environment In a re-search context the scheme has to be modified somewhat due to the differences between researchand manufacturing tasks The task of research is to determine what is required and to producea clear and comprehensive definition of the requirements the manufacturing task is to makeand deliver a reliable and effective product (ref[27]) Therefore the first AFCS design phasein particular will be different in a research environment because the system requirements areoften poorly understood or may even be the objective of the research itself In addition thedesign tools may be immature and their development may again be an objective of the research(the development of the FDC toolbox from this report is an obvious example) The designsimulation and implementation of control laws within a research context will be similar to theproduction application although more flexibility of the tools will sometimes be required Forinstance it should be possible to rapidly alter the control laws within the Flight Control Com-puters (FCCrsquos) of the aircraft in order to evaluate different solutions to typical control systemdesign problems with a minimum of programming efforts In the research environment step 4does not necessarily need to include the selection of a lsquobestrsquo system since it may be useful toevaluate competing control solutions all the way up to evaluation in real flight just to get moreknowledge about their advantages and disadvantages Moreover the requirements with respectto fail-safety of the AFCS may be less restrictive in a research context than for manufacturingFor instance during the autopilot design project for the DHC-2 lsquoBeaverrsquo laboratory aircraftonly one FCC (a portable 80286 PC () coupled to a 16-bit ROLM computer that handled theIO functions) was used whereas AFCSrsquos for production aircraft apply multiple FCCrsquos whichcross-check eachotherrsquos command signals
Figure 21 shows the first step in the AFCS design process the definition of the mission tobe fulfilled by the aircraft which imposes requirements upon the shape of the flight-path andthe velocity along this flight-path The resulting control problem is therefore to generate appro-priate deflections of aerodynamic control surfaces or changes in engine power or thrust necessaryto fulfill the mission This control problem is sketched in figure 22 The classical approach tothe AFCS design problem is to start with the complete set of non-linear equations of motionand then make assumptions which enable these equations to be linearized about some local equi-librium point In the initial phase of the AFCS design project control system design tools basedupon linear system theory can be applied to these linearized models of the aircraft and its sub-systems Programs like Matlab provide the required computer support for these applicationsAlthough the linear control system design and analysis techniques will provide insight in theessential behavior of the AFCS only relatively small deviations from the equilibrium state are
22 THE AFCS DESIGN CYCLE 13
Mission
Flight-path (t)
Control SurfaceDeflections (t)δ
Figure 21 Definition of the aircraftrsquos mission
Specify ControlProblem
MODEL
Design ControlLaws
Achieve SpecifiedBehavior
REAL WORLD
Figure 22 The general flight control problem
14 CHAPTER 2 THE FLIGHT CONTROL SYSTEM DESIGN PROCESS
permitted before the results become invalid in comparison to the real aircraft Luckily the mainpurpose of many AFCS control laws themselves is to keep the deviations from the equilibriumstate as small as possible eg in order to keep a certain altitude or heading However there areother control laws which due to their nature require large deviations from the nominal valueseg for selecting a new reference heading which differs considerably from the original value Forthis reason detailed non-linear simulations must be made in order to validate (and enhance)the results of the linear analysis and design This will ensure that the AFCS works well overthe compete range of the flight-envelope for which it is designed taking into account a suitablesafety margin This analysis covers a wide range of velocities and altitudes and all possibleaircraft configurations This non-linear off-line analysis of the control system can be performedon one PC or workstation using a software environment such as Matlab Simulink lsquoOff-linersquoin this respect means that the analysis does not have to be performed in real-time and does notyet include piloted flight-simulation In a later stage the control system should be evaluatedin a real-time flight-simulator to enable a test-pilot to assess the handling qualities of the au-tomatically controlled aircraft In particular the pilotndashaircraft interaction should be examinedthoroughly especially if the pilot will be actively involved in the aircraft control loop (whichobviously is true for so-called fly-by-wire systems)
Based upon these results it is possible to choose the best solution if there are more feasiblesolutions to fulfill the mission requirements If the results of the on-line and off-line analysis arecompletely satisfactory the next step will be the implementation of the control laws in the FlightControl Computer(s) of the aircraft The aircraft must be equipped with suitable actuators andsensors which must be thoroughly tested and calibrated For some purposes eg certificationpurposes it even may be useful to test the complete control system in an Iron Bird test-standarrangement which provides hardware-in-the-loop simulation capabilities In order to reducethe risks at making conversion errors it should be possible to couple at least the completeFCC software but preferably also its hardware to the real-time flight-simulator and the off-linedesign environment This ensures that the control laws evaluated in flight are exactly the sameas the last versions analyzed on-ground1
After successfully concluding the simulations and ground tests of the hardware and FCCsoftware the AFCS can be evaluated in real flight In an ideal world this phase would onlybe a straightforward verification of the previous results but in practice it is often necessary toreturn to a previous stage in the AFCS development for fixing errors or fine-tuning the controllaws It also may be necessary to update the mathematical models if deficiencies in these mod-els are found during the in-flight evaluations Quantitative results from the flight tests needto evaluated on-ground to confirm the correct control behavior for which purpose the off-lineenvironment for AFCS design and analysis is again an ideal platform
The iterative nature of this AFCS development cycle should be acknowledged at any stagein the process the discovery of a fault design error or previously unrecognized uncertaintyrequires the return to a previous design stage It is therefore very important that the transitionsbetween the different development phases are made as straightforward as possible to reducethe number of transition errors which inevitably will arise if the tools for the different phasesare not compatible (Murphyrsquos Law) and to reduce the time needed for the AFCS developmentFor this reason the AFCS designer needs to have access to the analytical tools for linear andnon-linear AFCS design and analysis along with the required mathematical models within an
1For the lsquoBeaverrsquo autopilot project some dramatic examples of conversion errors were encountered luckilyfor a large part before we actually started the flight-tests Still some errors were discovered during the actualflight-tests In this respect references [22] and [29] provide ample food for thought with regard to possible futureAFCS projects See also the recommendations from chapter 13
22 THE AFCS DESIGN CYCLE 15
integrated software environment on a single PC or workstation The software tools for off-linedesign and analysis should be able to effectively communicate with eachother and with the toolsfor real-time on-line simulations and the FCC Moreover the designer should be able to manip-ulate all elements of a specific control system as well as the mathematical models involved in aspecific design task by means of a graphical user-interface
Examples of integrated AFCS design environments are presented in refs[8] and [24] Thosepapers particularly emphasize the need for multidisciplinary design in which aerodynamic struc-tural propulsive and control functions are considered all together This is important becausemodern flight controllers may excite structural modes of the aircraft and interact with thecontrol-actuator dynamics and because of the increasing need to integrate flight controls withengine controls and load-alleviation functions Interactions between the aerodynamic propul-sive and structural models must be taken into account For future aircraft the interactingphenomena will become even stronger because they will employ such features as the extensiveuse of composite materials (resulting in greater aero-elastic coupling) and relaxed static stability(refs[8] and [24])
Figure 23 summarizes the complete AFCS design cycle It illustrates the division in differ-ent design stages from ref[20] and the more detailed divisions presented in refs[8] [24] and [27]and it clearly shows the iterative nature of the whole process On the left-hand side of thefigure the models and tools (software and hardware environments) are shown while the right-hand side shows the design stages themselves The figure reflects the current scope of theMatlabSimulink-based FDC toolbox As yet it is still necessary to make manual conver-sions of the control laws to cross the dashed line between off-line and on-line analysis whichstill considerably hampers the AFCS development and increases the risk of making errors Fu-ture versions of the toolbox should therefore be equipped with interfacing-tools that simplifythis step It will be a big leap forwards if it becomes possible to automatically transfer com-plete simulation models from the Simulink-environment to the flight-simulator as shown in thefigure A first step towards that goal would be the automatic conversion of the control lawsfrom Simulink to a high-level programming language This step will be elaborated further insection 132
16 CHAPTER 2 THE FLIGHT CONTROL SYSTEM DESIGN PROCESS
LinearFCS design
Non-linear FCSvalidation ampfine-tuning
ImplementingFCS hard amp
software
Evaluation inreal flight
Evaluation byreal-time
piloted flight-simulation
M
S
F
A
A
Flightsimulatormodel-library
with non-linearaircraft model
Simulink
model-librarywith non-linearaircraft model
Linearizedmodels
M
S
F
Trimming amplinearization
Future automaticmodel transfer
M = Matlab
S = Simulink
F = Real-time flightsimulatorA = Actual aircraft
Currentscope ofFDC envi-ronment
Futureenhance-ments
Update aeroengine models
Update sensoractuator models
Figure 23 The AFCS design cycle
Chapter 3
Mathematical models ndash theoreticalbackgrounds
31 Introduction
The FDC toolbox was built around several mathematical models needed for the analysis of theaircraft dynamics and the design and evaluation of Automatic Flight Control Systems Figure 31shows the closed-loop structure of an automatically controlled aircraft that is affected by externaldisturbances In this structure the models of the aircraft dynamics sensors actuators andcomputational effects are the basic elements which often canrsquot be altered by the AFCS designer(see section 22) The AFCS control laws and the mode-controller which configures the controllaws for a specific pilot-selected control task are the subject of our analysis The design and fine-tuning of these control laws requires application of control system design theory to the dynamicmodels of the other elements from figure 31 Since the motions of the aircraft and hencethe performance of the AFCS are affected by external disturbances it is necessary to includethese influences to the dynamic model of the aircraft and to derive mathematical models whichdescribe the nature of these disturbances themselves The external disturbances are mainly dueto non-steady atmosphere
In this chapter the different elements from figure 31 will be elaborated with the excep-tion of the AFCS control laws and the mode-controller Most attention will be given to thenon-linear model of the aircraft dynamics Due to the clear modular structure of this model itcan be applied to a very wide range of aircraft or other vehicles such as spacecraft ships orroad-vehicles The few aircraft-dependent parts within this model will be worked out here forthe DHC-2 lsquoBeaverrsquo aircraft That model is quite sophisticated yet very compact which makesit especially suited for an introductionary treatment of the structure of the aircraft-dynamicsand for the practical demonstration within the lsquoproof of conceptrsquo toolbox from this report Ofthe other dynamic models from figure 31 some typical examples will be given to provide a basisfor a complete model library In section 33 only atmospheric disturbances will be elaboratedSection 34 describes some important models of radio-navigation signals (VOR and ILS) andsection 35 gives a brief overview of some other sensor and actuator models that were usedfor the design and analysis of the lsquoBeaverrsquo autopilot The control laws of the lsquoBeaverrsquo autopi-lot will be treated in chapter 11 as a practical demonstration of a complete AFCS design project
Note a complete list of all symbols reference frames abbreviations and other definitions fromthis report has been included in appendix A
17
18 CHAPTER 3 MATHEMATICAL MODELS ndash THEORETICAL BACKGROUNDS
Actuatordynamics
Aircraftdynamics
Sensordynamics
AFCScontrollaws
Discretizationeffects compu-tational delay
Modecontroller
Reference signals
External disturbances
Pilot-interface
Figure 31 Block-diagram of automatically controlled aircraft
32 The non-linear aircraft model
The core of the simulation package is a non-linear model of the aircraft dynamics consistingof twelve Ordinary Differential Equations (ODErsquos or state equations) and a large number ofoutput equations This model can be broken down into a number of different modules most ofwhich are independent of the kind of moving vehicle under consideration
321 General equations of motion
The aircraft equations of motion are derived from basic Newtonian mechanics The general forceand moment equations for a rigid body are
F = m
(partVpartt
+ Ω times V)
(31)
M =part(I middot Ω)
partt+ Ω times (I middot Ω) (32)
These equations express the motions of a rigid body relatively to an inertial reference frame (seeappendix B for the derivation of these rigid body equations) V = [ u v w ]T is the velocityvector at the center of gravity Ω = [ p q r ]T is the angular velocity vector about the cgF = [ Fx Fy Fz ]T is the total external force vector and M = [ L M N ]T is the total externalmoment vector I is the inertia tensor of the rigid body which is defined as
I =
Ixx minusJxy minusJxz
minusJyx Iyy minusJyz
minusJzx minusJzy Izz
(33)
The coefficients from this tensor are the moments and products of inertia of the rigid body Ifthe frame of reference is fixed to the vehicle these values are constant regardless of the attitudeof the vehicle In order to make equations (31) and (32) usable for control system design andanalysis simulation purposes system identification etc these equations need to be re-writtenin non-linear state-space format Moving the time-derivatives of the linear and angular velocitiesto the left hand side of the equations yields
partVpartt
=Fm
minus Ω times V (34)
32 THE NON-LINEAR AIRCRAFT MODEL 19
partΩpartt
= Iminus1 (M minus Ω times I middot Ω) (35)
Together these dynamic equations form a state-space system which is valid for any rigid bodyeg aircraft spacecraft road-vehicles or ships These equations obviously form the core of thesimulation model The body-axes components of linear and rotational velocities can be regardedas the state variables from this model while the body-axes components of the external forcesand moments are the input variables of these equations
This clear picture is complicated by the fact that the external forces and moments them-selves depend upon the motion variables of the aircraft In other words the state variablesthemselves must be coupled back to the force and moment equations Although this makes theequations more complex it is still possible to combine these equations in a non-linear state spacesystem
x = f (xFtot(t)Mtot(t)) (36)
withFtot = g1 (x(t)u(t)v(t) t)Mtot = g2 (x(t)u(t)v(t) t)
This set of equations is equivalent to the single non-linear state equation
x = f (x(t)u(t)v(t) t) (37)
with state vector x input vector u disturbance vector v and time t From equations (34)and (35) it is obvious that the state vector x at least must contain the linear and angularvelocity components from the vectors V and Ω Later it will be shown that six additional statevariables defining the attitude and position of the aircraft with respect to the Earth have tobe introduced for solving these equations It is possible that the forces andor moments do notonly depend on the state vector x but also of its time-derivative x This makes equation (37)implicit
x = f(x(t) x(t)u(t)v(t) t) (38)
Luckily this implicit relation often can be written like
x = f1(x(t)u(t)v(t) t) + f2(x(t) t) (39)
which makes it somewhat easier to solve numerically especially if f2 is a linear function Thepractical consequences of this will be outlined for the dynamic model of the lsquoBeaverrsquo in sec-tion 323
The state vector x obviously contains linear and angular velocity components ie the elementsfrom V and Ω In addition to these variables information about the spatial orientation of theaircraft is needed for finding the gravitational force contributions Furthermore the altitudeof the aircraft is needed for the computation of aerodynamic and engine forces which are bothaffected by changes in air density that depend upon the altitude of the aircraft The coordinatesof the aircraft with respect to the Earth are not needed for solving the equations of motionbut they are useful for other purposes such as the assessment of the flight-path for certainmanoeuvres Therefore the complete state vector x will consist of twelve elements three linearvelocities three angular velocities three Euler angles which define the attitude of the aircraftrelatively to the Earth two coordinates and the altitude which define the position of the aircraftrelatively to the Earth In practice it turns out to be more convenient to use the true airspeedangle of attack and sideslip angle instead of the linear velocity components along the body-axesof the aircraft yielding the following state vector
x = [ V α β p q r ψ θ ϕ xe ye H ]T (310)
20 CHAPTER 3 MATHEMATICAL MODELS ndash THEORETICAL BACKGROUNDS
Appendix B contains a full derivation of the equations of motion including the kinematic rela-tions which define the attitude and position of the aircraft and the conversion equations fromthe body-axes velocities to the true airspeed V angle of attack α and sideslip angle β Fig-ure 32 gives a graphical overview of the non-linear rigid body dynamics Together all elementsfrom this figure represent the non-linear state-space system from equation (36) The statevariables are obtained by integrating their time-derivatives with respect to time taking intoaccount the initial value of the state vector x0 In order to obtain the time-derivatives of thestate variables the state variables are coupled back to the force and moment equations and theequations of motion themselves All forces and moments must be expressed in components alongthe body-axes of the vehicle (denoted by the superscript B) Forces and moments which areexpressed with respect to other reference frames must be transformed to body-axes componentsby pre-multiplying the force and moment vectors with the appropriate transformation matrixIn the figure this is illustrated for the aerodynamic forces and moments which are transferredfrom flight-path axes (superscript W ) to body-axes and for the gravitational forces which aretransferred from Earth axes (superscript E ) to body-axes Figure 32 forms the basis for thedevelopment of the modular structure of the rigid body equations for the FDC 12 toolbox
322 External forces and moments
The next step in the development of the dynamic model is to identify the different contributionsto the external forces and moments acting upon the rigid body Obviously these contributionsare dependent of the kind of vehicle under consideration Here forces and moments due to grav-itational propulsive and aerodynamic effects plus the influence of non-steady atmosphere willbe considered This comprises an in-flight model of a conventional aircraft Other contributionscan easily be included to the model eg ground forces during taxiing or a ground-effect modelfor aircraft that fly close to the ground
Aerodynamic Forces amp Moments
The aerodynamic forces and moments depend upon the flight condition defined by the statevector x and the external aerodynamic control inputs defined by the input vector uaero Theseinputs are the deflections of the aerodynamic control surfaces (elevator ailerons rudder) and thedeflection of the flaps For the DHC-2 lsquoBeaverrsquo aircraft a sophisticated aerodynamic model hasbeen determined from flight tests in 1988 see ref[26] This model expresses the aerodynamicforces and moments along the aircraftrsquos body-axes in terms of polynomial functions of the stateand input variables and the time-derivative of the state vector
Faero = d middot p1 (x xuaero) (311)
where Faero is a vector of aerodynamic forces and moments and p1 is a polynomial vector-function that yields non-dimensional force and moment coefficients For the lsquoBeaverrsquo model thex-term is linear and only takes into account the direct contribution of β to the aerodynamic side-force Ya The pre-multiplication with the vector d converts these non-dimensional coefficientsto dimensional forces and moments d equals
d = qdynS[
1 1 1 b2 c b
2
]T(312)
S is the wing-area of the aircraft b is the wing-span c is the mean aerodynamic chord and qdyn
is the dynamic pressure (qdyn = 12ρV 2 see section 324)
The polynomial functions from p1 describing the aerodynamic force and moment coefficients in
32 THE NON-LINEAR AIRCRAFT MODEL 21
Aerodynamics
Propulsion
Gravity
Wind
Corrections
Atmosphere
Airdata
j j
j
TW
B
TE
B
X
EquationsofMotion
xfxFtotM
tot
Zdt
x
x
FB tot
M
B tot
FB aero
M
B aero
FW aero
M
W aero
FB prop
M
B prop
FE grav
FB grav
FB wind
u
aero
u
prop
u
wind
q dyn
M
Figure 32 Block-diagram of general rigid body dynamics
22 CHAPTER 3 MATHEMATICAL MODELS ndash THEORETICAL BACKGROUNDS
the body-fixed reference frame are
CXa = CX0 + CXαα + CXα2α2 + CXα3α
3 + CXq
qc
V+ CXδr
δr + CXδfδf + CXαδf
αδf
CYa = CY0 + CYββ + CYp
p b
2V+ CYr
rb
2V+ CYδa
δa + CYδrδr + CYδrα
δrα + CYβ
βb
2V
CZa = CZ0 + CZαα + CZα3α3 + CZq
qc
V+ CZδe
δe + CZδeβ2 δeβ2 + CZδf
δf + CZαδfαδf
Cla = Cl0 + Clββ + Clp
p b
2V+ Clr
rb
2V+ Clδa
δa + Clδrδr + Clδaα
δaα
Cma = Cm0 + Cmαα + Cmα2α2 + Cmq
qc
V+ Cmδe
δe + Cmβ2β2 + Cmr
rb
2V+ Cmδf
δf
Cna = Cn0 + Cnββ + Cnp
p b
2V+ Cnr
rb
2V+ Cnδa
δa + Cnδrδr + Cnq
qc
V+ Cnβ3β
3 (313)
See table C3 in appendix C for the values of the stability and control coefficients from thesepolynomial equations Notice the cross-coupling between lateral motions and longitudinal forcesand moments Also notice the contribution of β to the aerodynamic side-force Ya which explainsthe occurrence of x in the general polynomial equation (311) Due to this phenomenon the stateequation (36) becomes implicit In general such relationships are linear as is illustrated herefor the lsquoBeaverrsquo model This makes it easy to re-write the state equations as a set of explicitODErsquos as outlined for the DHC-2 lsquoBeaverrsquo aircraft in section 323 Table C2 in appendix Cgives the flight-condition for which the aerodynamic model has been determined Correctionsto the body-axes moments are necessary if a different position of the center of gravity is usedsee ref[26]
Engine Forces amp Moments
The engine forces and moments strongly depend upon the type of aircraft under considerationin a similar way as the aerodynamic forces and moments For a piston-engined aircraft like thelsquoBeaverrsquo the primary engine control inputs are the engine speed n and the manifold pressurepz which directly affect the engine power P The engine power also varies with altitude due tochanges in air-density In the case of the lsquoBeaverrsquo aircraft changes in engine power and airspeedare expressed in terms of variations of the non-dimensional pressure increase in the propellerslipstream dpt
dpt =∆pt12ρV 2
= C1 + C2
(P
12ρV 3
)(314)
with P12ρV 3 measured in [kW kgminus1 s3] and C1 = 008696 C2 = 19118 see ref[26] The engine
power in [Nm sminus1] can be calculated with the following expression
P = 07355minus3265 +
(000412 (pz + 74)(n + 2010) + (4080 minus 00965n)
(10 minus ρ
ρ0
))(315)
where
pz = manifold pressure [primeprimeHg ]n = engine speed [RPM ]ρ = air-density [kg mminus3]ρ0 = air-density at sea level = 1225 [kg mminus3]
The engine forces and moments which include propeller slipstream effects are written as poly-nomial functions of x and dpt in a similar way as the aerodynamic model see ref[26]
Fprop = d middot p2 (x dpt) (316)
32 THE NON-LINEAR AIRCRAFT MODEL 23
where the subscript prop denotes propulsive effects The vector function p2 contains the poly-nomials for the non-dimensional propulsive force and moment coefficients the actual forces andmoments are again obtained by pre-multiplication with the vector d see equation (312) Thepolynomial functions gathered in p2 which describe the propulsive force and moment coefficientsin the body-fixed reference frame are
CXp = CXdptdpt + CX
α dpt2α dpt2
CYp = 0
CZp = CZdptdpt
Clp = Clα2dptα2dpt
Cmp = Cmdptdpt
Cnp = Cndpt3
dpt3 (317)
See table C4 in appendix C for the values of the stability and control coefficients from thesepolynomial equations
Gravity forces
The gravity force components along the aircraftrsquos body axes equal
Fgrav =
Xgr
Ygr
Zgr
= W middot
minus sin θ
cos θ sinϕcos θ cos ϕ
(318)
where W is the aircraft weight θ is the pitch angle and ϕ is the roll angle of the vehicleObviously the attitude of the vehicle with respect to the Earth must be known The attitude isdefined by three rotations from the Earth-fixed reference frame FE to the body-fixed referenceframe FB1 Equation (318) reflects the result of the pre-multiplication of the gravity forceequation in Earth-axes with the rotation matrix TV rarrB
Forces and moments due to non-steady atmosphere
In section B3 of appendix B it is shown that it is necessary to make corrections to the externalforce components along the aircraftrsquos body-axes if the aircraft is flying through non-steadyatmosphere These corrections are equal to
Fwind =
Xw
Yw
Zw
= minusm middot
uw + qww minus rvw
vw minus pww + ruw
ww + pvw minus quw
(319)
See appendix B for more details
323 Converting implicit state equations to explicit equations
As explained in section 321 it is possible that the external forces and moments depend upontime-derivatives of state variables which makes the general state equations implicit see equa-tion (38) An example of this is the dependency of the aerodynamic sideforce upon the time-derivative of the sideslip angle for the lsquoBeaverrsquo model shown earlier in the relation
CYa = CY0 + CYββ + CYp
p b
2V+ CYr
rb
2V+ CYδa
δa + CYδrδr + CYδrα
δrα + CYβ
βb
2V(320)
1Strictly speaking these rotations were from the vehicle-carried vertical reference frame FV to the body-fixedreference frame FB See section A72 for details
24 CHAPTER 3 MATHEMATICAL MODELS ndash THEORETICAL BACKGROUNDS
Notice the last term in this equation The ODE for the sideslip angle which is derived inappendix B is equal to
β =1
V m(minusFx cos α sinβ + Fy cos β minus Fz sinα sinβ) + p sinα minus r cos α (321)
in which the aerodynamic contribution to the force component Fy is equal to Ya = 12ρV 2S CYa
Due to this relation the time-derivative β appears on both sides of equation (321) In theoryit is possible to solve this equation numerically but that is not recommended since this wouldreduce the speed of the computations due to the fact that this yields a so-called algebraic loopin the simulation model (see section 427) In this case it is easy to convert the β-equation toan explicit equation First of all the contribution of β to the side-force Fy can be written as aseparate term
β =1
V m
(minusFx cos α sinβ + Fy
lowast cos β minus Fz sinα sinβ + 12 ρV 2S CY
β
βb2V cos β
)+ p sin α minus r cos α
(322)
where Fylowast is the side-force without the contribution of β The β-term on the right hand side of
this equation can easily be moved to the left-hand side
βlowast equiv β
(1 minus ρSb
4mCYβ
cos β
)=
1V m
(minusFx cos α sin β + Fylowast cos β minus Fz sin α sin β) + p sin α minus r cos α
(323)
Based upon this equation the following calculation sequence can be used in the simulation model
1 first compute the external forces and moments as usual except for the β-contribution tothe aerodynamic side-force
2 substitute the thus obtained forces and moments into the general β equation yielding avalue βlowast instead of β
3 compute the true value of β with the expression β = βlowast(1 minus ρSb
4m CYβ
)minus1
The last step can be regarded as a correction factor for the originally computed value of βwhich was denoted here as βlowast This correction term is aircraft-dependent because it containsthe term CYβ
but the equation for βlowast does not depend upon the aircraft under considerationThis separation in aircraft-dependent and aircraft-independent terms is desirable to obtain astandardization of the aircraft models
324 Atmosphere and airdata variables
In order to compute the aerodynamic and engine forces and moments from their non-dimensionalcounterparts the dynamic pressure needs to be known For most aircraft it is necessary totake into account compressibility effects which requires knowledge of the Mach number andsometimes it may be necessary to take into account scale-effects which require knowledge of theReynolds number Other so-called airdata variables and airdata-related variables are neededto compare simulations with measurements in real flight or windtunnel experiments For thisreason a number of airdata equations have been included in the aircraft model The airdatavariables depend upon atmospheric properties such as the air pressure density and temperatureHere we use the ICAO Standard Atmosphere model (see for instance ref[23]) to determine theseproperties According to this model the air temperature T decreases linearly with increasingaltitude in the troposphere (ie at altitudes from zero to 11000 meters above sea level)
T = T0 + λh (324)
32 THE NON-LINEAR AIRCRAFT MODEL 25
where
T = air temperature [K ]h = altitude above sea level [m]T0 = air temperature at sea level [K ]λ = temperature gradient in troposphere = minus00065 Kmminus1
The air pressure depends upon the altitude according to the basic hydrostatic equation
dps = minusρ g dh (325)
We assume that the ideal gas law can be applied to the air in the atmosphereps
ρ=
Ra
MaT (326)
Combining these equations and neglecting the altitude-dependency of the gravitational acceler-ation g yields
dps
ps= minus Ma g0
RaTdh (327)
whereps = air pressure [Nmminus2]g0 = gravitational acceleration at sea level = 980665 msminus2Ma = molecular weight of the air [kg kmolminus1]Ra = molar gas constant = 831432 JKminus1kmolminus1
The static air pressure ps is found after integrating equation (327) which yields
ln(
ps
p0
)= minus g
λRln(
T0 + λh
T0
)(328)
This equation can be written as
ps
p0=(
1 +λh
T0
)minus gλR
=(
T0
T
) gλR
(329)
wherep0 = air pressure at sea level = 101325 Nmminus2R = specific gas constant = RaM0 = 28705 JKminus1kgminus1 with
M0 = 289644 kg kmolminus1 = molecular weight of the air at sea level
The gravitational acceleration g was held constant during this integration This actually meansthat the geometrical altitude h in this equation must be replaced by the geopotential altitude H1
In this report the slight distinction between h and H will be neglected in view of the relativelylow altitudes considered But from now on the symbol H will be used to denote the altitude (justa little reminder of this small inaccuracy) Contrary to the pressure equation (329) where theacceleration g was assumed to be equal to g0 for all altitudes the model does take into accountchanges in g with altitude for the computation of the aircraftrsquos weight The actual gravitationalacceleration is then computed with the following equation
g = g0
(REarth
REarth + h
)2
(330)
where
REarth = radius of the Earth = 6371020 m
1
The geopotential altitude H is defined as H equivint h
0
g
g0dh
26 CHAPTER 3 MATHEMATICAL MODELS ndash THEORETICAL BACKGROUNDS
The air-density ρ (in [kgmminus3]) is calculated from ps and T by means of the ideal gas law (326)which yields
ρ =psMa
RaT=
ps
RT(331)
The aerodynamic and propulsive forces and moments that act upon the aircraft are functionsof the dynamic pressure qdyn which takes into account changes in airspeed and changes inair-density
qdyn = 12ρV 2 (332)
For aircraft which fly at higher airspeeds than the lsquoBeaverrsquo it is necessary to take into accountthe compressibility of the air for which the Mach number M is needed M is defined as
M =V
a(333)
where a is the speed of sound (in [msminus1])
a =radic
γRT (334)
For the lsquoBeaverrsquo aircraft it is not necessary to take into account these compressibility effectsthough it is still quite useful to know the value of M For instance if one wants to compare flight-test results with the simulations it is useful to compute the Mach-dependent impact pressure qc
and total temperature Tt since those quantities can be measured in flight The impact pressureis equal to
qc = ps
(1 +
γ minus 12
M2) γ
γminus1 minus 1
(335)
where γ = 14 = ratio of the specific heats of air with constant pressure and air with constantvolume respectively The total temperature Tt is equal to
Tt = T
(1 +
γ minus 12
M2)
(336)
Other important variables are the calibrated and equivalent airspeeds Vc and Ve which arecomputed with the equations
Vc =
radicradicradicradic 2γ
γ minus 1p0
ρ0
(1 +
qc
p0
) γγminus1 minus 1
(337)
Ve = V
radicρ
ρ0=
radic2qdyn
ρ0(338)
Sometimes it is necessary to take into account scale effects eg if the aerodynamic model isdetermined by windtunnel measurements on a scale model In that case the Reynolds numberneeds to be known Often this is computed with respect to the mean aerodynamic chord cwhich yields the non-dimensional value
Rc =ρV c
micro(339)
The Reynolds number per unit length (in [mminus1]) is equal to
Re =ρV
micro(340)
In equations (339) and (340) micro is the coefficient of the dynamic viscosity which can be calcu-lated with the equation of Sutherland
micro =1458 middot 10minus6 T
32
T + 1104(341)
32 THE NON-LINEAR AIRCRAFT MODEL 27
Summarizing If we want to solve the equations of motion for the lsquoBeaverrsquo aircraft the variablesp T ρ and qdyn must be calculated All other airdata (-related) variables are useful for manyanalytical purposes and some of them are needed for solving the equations of motion if contraryto the lsquoBeaverrsquo model compressibility or scale effects are taken into account
325 Additional output variables
In the previous paragraph we have obtained a list of state variables time-derivatives of the statevariables forces and moments atmospheric variables and airdata variables It is possible toinclude a large number of additional output variables to this list Here we will include additionalnormalized kinematic accelerations specific forces body-axes velocity rates and some flight-path(-related) variables It is easy to enhance this list if required
Kinematic accelerations and specific forces
It is possible to calculate a number of interesting accelerations and outputs from accelerometerswhich are often important in the aircraft control analysis and design (eg for achieving appro-priate turn-coordination by means of a control-loop that uses the acceleration along the YB axisas feedback signal or for applications in the field of manoeuvre load limiting) The aircraftmodel from the FDC-toolbox considers accelerations in the vehiclersquos center of gravity only butequations for positions outside the center of gravity can easily be included if necessary See forinstance ref[9]
The body-axis acceleration vector a can be expressed as
a = V =partVpartt
+ Ω times V (342)
where Ω is the rotational velocity vector of the aircraft Expanding equation (342) into itscomponents along the body-axes and substituting for u v and w (see equation (345)) yields
axk =1g0
(u + qw minus rv) =Fx
W
ayk =1g0
(v + ru minus pw) =Fy
W(343)
azk =1g0
(w + pv minus qu) =Fz
W
The accelerations are measured in units of g which explains the division by g0 W = mg is thetotal weight of the aircraft measured in [N ] The index k is used to denote that these variablesrepresent kinematic accelerations in the body-fixed reference frame
The outputs of accelerometers along the body-axes at the vehiclersquos center of gravity ndash usu-ally called specific forces ndash are equal to the kinematic body accelerations minus the gravityterms
Ax = axk + sin θ = (Fx minus Xgr) WAy = ayk minus cos θ sinϕ = (Fy minus Ygr) WAz = azk + cos θ cos ϕ = (Fz minus Zgr) W
(344)
Ax Ay and Az are measured in units of g These accelerations represent what is actually feltin the aircraftrsquos center of gravity
28 CHAPTER 3 MATHEMATICAL MODELS ndash THEORETICAL BACKGROUNDS
Body-axes velocity rates
For educational purposes it may be useful to take a closer look at the body-axes componentsof the accelerations of the aircraft The body-axes velocity rates u v and w are equal to
u =Fx
mminus qw + rv
v =Fy
m+ pw minus ru (345)
w =Fz
mminus pv + qu
Note that u v and w differ from the kinematic accelerations from equation (342) in that theydo not contain the angular and translational velocity cross-product terms (Also notice thatu v and w have not been expressed in [g ]) The body-axes velocity components u v and ware no state variables due to the fact that it was more convenient to use the true airspeed V angle of attack α and sideslip angle β instead see section B2 of appendix B For this reasonequations (345) have been implemented as additional output equations in the FDC models
Flight-path variables
Some additional flight-path (-related) variables have been included to the aircraft model fromthe FDC toolbox First of all the flight-path angle γ is computed using the following expression
γ = arcsin
(H
V
)(346)
This angle is for instance useful during approach simulations where it determines how much theaircraft deviates from the standard glide-path The acceleration in the direction of the velocityvector V measured in units of g is called the flight-path acceleration fpa It is equal to
fpa =radic
u2 + v2 + w2
g0=
V
g0(347)
Other flight-path related variables are the azimuth angle χ and the bank angle Φ which areobtained with the following equations
χ = β + ψ (348)Φ = ϕ middot cos(θ minus α0) (349)
with α0 the value of the angle of attack in a steady-state flight condition (ref[23]) See also thedescription of the flight-path or wind reference frame FW in appendix A section A72
33 External atmospheric disturbances
331 Deterministic disturbances
The velocity and direction of the mean wind with respect to the ground usually is not constantalong the flight-path This variation of the mean wind along the flight-path is called windshear1 The influence of wind shear upon the motions of the aircraft is of particular importanceduring the final approach and landing and take-off and initial climb An idealized profile of themean wind as a function of altitude is shown in figure 33 More extreme wind profiles in loweratmosphere have been measured (see for instance ref[1]) and have sometimes resulted in serious
1Some textbooks denote the local variations of the wind with respect to the ground including atmosphericturbulence as wind shear In this report the turbulence is considered separately
33 EXTERNAL ATMOSPHERIC DISTURBANCES 29
accidents A very serious type of wind shear is encountered in so-called microbursts where largenose winds are followed by large tail winds in just a couple of seconds
In this report we only use the ICAO standard atmosphere (see for instance ref[23]) whichhas a standard temperature lapse-rate λ = dTdH = minus00065 Kmminus1 For this lapse-rate atypical idealized wind profile can be represented by the following expression (see ref[1])
Vw = Vw 915
H02545 minus 0409713470
(0 lt h lt 300m)
Vw = 286585 Vw915 (h ge 300m)(350)
Vw 915 is the wind speed at 915 m altitude The wind profile in figure 33 is based upon a valueVw 915 = 1 msminus1 Wind profiles which are typical for other values of the temperature lapse rateare presented in ref[1] This model of the wind speeds in the boundary layer of the Earth is notadequate for the more extreme wind-profiles that can occur in practice in the lower atmosphereHence actual measurements of extreme wind profiles may have to be used for the assessmentby simulations of Automatic Flight Control Systems
The aircraft equations of motion ndash derived in appendix B ndash use wind velocities along the air-craftrsquos body-axes to determine the influence upon the motions of the aircraft If we assume thatthe vertical wind velocity component ww is zero we have the situation shown in figure 34 Inthis figure the wind direction with respect to the Earth-fixed reference frame is denoted by ψw
and the total wind velocity by Vw Note that the wind direction is the direction from where thewind is blowing so ψw is zero if the wind is blowing from the North The components along theXB and YB-axes are now equal to
uw = Vw cos(ψw minus π) cos ψ + Vw sin(ψw minus π) sin ψ
vw = minusVw cos(ψw minus π) sin ψ + Vw sin(ψw minus π) cos ψ (351)
where ψ is the heading of the aircraft and all angles have been measured in [rad ] If we consideratmospheric turbulence too it is necessary to add the turbulence velocity components to thesewind components
332 Stochastic disturbances
The theory of stochastic processes provides a convenient means for describing atmospheric tur-bulence accurately enough for most simulations eg for the assessment of AFCS control lawsAuto power density spectra form the basic elements of the turbulence model In the literatureseveral sets of these spectra can be found They all require the selection of intensity levels andscale lengths before they can be applied in simulations The following six assumptions con-cerning stochastic processes are usually made when they are applied to atmospheric turbulence(ref[1])
1 Ergodicity which means that time averages in the process are equal to correspondingensemble averages This assumption makes it possible to determine all required statisticalproperties related to a given set of atmospheric conditions from a single time history ofsufficient length
2 Stationarity which deals with temporal properties of turbulence If the statistical prop-erties of a process are not affected by a shift in the time origin this process is calledstationary
3 Homogeneity which deals with spatial properties of turbulence Turbulence may be calledhomogeneous if its statistical properties are not affected by a spatial translation of thereference frame
30 CHAPTER 3 MATHEMATICAL MODELS ndash THEORETICAL BACKGROUNDS
0 05 1 15 2 25 30
50
100
150
200
250
300
350
400
450
500
Vw [ms]
H [
m]
Figure 33 Wind profile for λ = minus00065 [Kmminus1] and Vw 915 = 1 [msminus1]
North X - axis
V
V
Y - axisv
uw
w
w
w
B
B
ψ
ψ
χ
Figure 34 Wind velocity components along the aircraftrsquos body-axes
33 EXTERNAL ATMOSPHERIC DISTURBANCES 31
4 Isotropy which means that the statistical properties are not changed by a rotation or adeflection of the frame of reference Complete isotropy implies homogeneity Because ofisotropy the three mean-square velocity components and their scale lengths are equal
σu2 = σv
2 = σw2 equiv σ2
Lu = Lv = Lw equiv Lg(352)
5 Taylorrsquos hypothesis of lsquofrozen atmospherersquo which implies that gust velocities are functionsof the position in the atmosphere only During the short time-interval in which the aircraftis under the influence of the velocities at a certain point in the atmosphere these velocitiesare assumed not to change with time This hypothesis allows spatial correlation functionsand frequencies to be related to correlation functions and frequencies in the time-domainThe following relations are used
∆x = V τ (353)ω = ΩV (354)
∆x = distance between to points in space [m]V = true airspeed of the aircraft [msminus1]τ = time needed by the aircraft to cover the distance ∆x [s]Ω = spatial frequency [rad mminus1]ω = temporal frequency [rad sminus1]
6 Normality which means that the probability density function of each turbulence velocitycomponent is Gaussian With this assumption the information of the covariance matrixonly is sufficient for a total statistical description of atmospheric turbulence (ref[21])
Experimental data on atmospheric turbulence at low altitudes ie in the boundary layer of theEarth do not satisfy all these assumptions (ref[1]) At low altitudes the assumptions of homo-geneity and isotropy are not very valid due to the proximity of the ground Both assumptionsare affected by terrain roughness and the height above the ground The assumption of station-arity is satisfied only over the short periods of time during which the meteorological conditionsremain reasonably constant Stationarity is also affected by the shape and roughness of theground surface below the aircraft Taylorrsquos hypothesis seems to be valid as long as the aircraftrsquosvelocity is large relative to the encountered turbulence velocity For this reason it is somewhatdoubtful that the hypothesis is fully valid when simulating the final approach and landing ofSVTOL aircraft1 Finally measurements have provided evidence that atmospheric turbulenceis not perfectly Gaussian The measured departures from a normal amplitude distribution aresmall but pilots seem to be quite sensitive to these effects Actual atmospheric turbulencepossesses what is sometimes called a lsquopatchyrsquo structure (ref[1])
In the models used for the FDC toolbox assumptions 1 to 6 have all been maintained Theseturbulence may have to be enhanced in the future to assure a more accurate description ofactual atmospheric turbulence particularly for the simulation of final approach and landingOf course it is also possible to insert measurements of actual turbulence as input signals to theFDC models if a very high accuracy is required
Power spectra of atmospheric turbulence
Several analytical power spectral density functions have been obtained from measured data Thevon Karman spectral density functions seem to best fit the available theoretical and experimental
1STOL = short take-off and landing VTOL = vertical take-off and landing Aircraft from these categoriesare able to fly with very low airspeeds
32 CHAPTER 3 MATHEMATICAL MODELS ndash THEORETICAL BACKGROUNDS
Dryden
Von Kaacutermaacuten
AΩS( )
S(0)
ΩLg
1
1
01
Dryden
Von Kaacutermaacuten
BΩS( )S(0)
ΩLg
1
1
01
11 10 11 10
Figure 35 Von Karman and Dryden spectra (A longitudinal B lateralvertical)
data on atmospheric turbulence particularly at higher spatial frequencies (ref[21]) The vonKarman spectra for the three components of the turbulence velocity are
Sugug(Ω) = 2σu2Lu
1
(1 + (1339 LuΩ)2)56
(355)
Svgvg(Ω) = σv2Lv
1 + 83(1339LvΩ)2
(1 + (1339 LvΩ)2)116
(356)
Swgwg(Ω) = σw2Lw
1 + 83(1339LwΩ)2
(1 + (1339 LwΩ)2)116
(357)
The cross spectral density functions are zero in isotropic turbulence at any point in space Al-though this approximation is not very valid at low altitudes the cross covariances ndash and hencethe cross power spectral densities ndash are usually neglected (ref[14]) The von Karman spectrayield an asymptotic behavior of S(Ω) sim Ωminus53 as Ω approaches infinity See figure 35
A major drawback of the von Karman spectral densities is that they are not rational func-tions of Ω For this reason the following power spectral density model is often used for flightsimulation purposes
Sugug(Ω) = 2σu2Lu
11 + (ΩLu)2
(358)
Svgvg(Ω) = σv2Lv
1 + 3(ΩLv)2
(1 + (ΩLv)2)2 (359)
Swgwg(Ω) = σw2Lw
1 + 3(ΩLw)2
(1 + (ΩLw)2)2(360)
These functions are the Dryden spectra In figure 35 the Dryden spectra have been comparedwith the von Karman spectra The most obvious difference is the asymptotic behavior at largevalues of the spatial frequency the former having a slope of minus5
3 and the latter a slope of minus2
Filter design for atmospheric turbulence
For simulation purposes it would be practical to model atmospheric turbulence as white noisepassing through a linear rational lsquoforming filterrsquo as shown in figure 36 The relationship
33 EXTERNAL ATMOSPHERIC DISTURBANCES 33
Linear filter(Dryden)
White noise
Turbulence velocity(lsquocolored noisersquo)
Figure 36 Modeling atmospheric turbulence as filtered white noise
between the auto-spectral density of the output signal y and the auto-spectral density of theinput signal u of a linear filter can be written as
Syy(ω) = |Hyu(ω)|2Suu(ω) (361)
where |Hyu(ω)| denotes the amplitude response of the filter If the input signal u is white noiseits spectral density satisfies
Suu(ω) = 1 (362)
so for white noise relation (361) simplifies to
Syy(ω) = |Hyu(ω)|2 (363)
To apply these relations the spatial spectral density functions of the turbulence velocities mustbe transformed to functions of ω which is possible because we assume Taylorrsquos hypothesis to bevalid This transformation is given by
S(ω) =1V
S
(Ω =
ω
V
)(364)
Notice the term 1V that arises in the spectral density function See ref[21] for more details
The Dryden spectra were developed to approximate the von Karman turbulence spectra bymeans of rational functions This makes it possible to apply relation (364) for the generationof turbulence velocity components from white noise inputs From the definitions of the Drydenspectra in equations (358) to (360) and relation (364) the following expressions are found
|Hugw1(ω)|2 = 2σu2 Lu
V
1
1 +(Lu
ωV
)2 (365)
|Hvgw2(ω)|2 = σv2 Lv
V
1 + 3(Lv
ωV
)21 +
(Lv
ωV
)2 (366)
|Hwgw3(ω)|2 = σw2 Lw
V
1 + 3(Lw
ωV
)21 +
(Lw
ωV
)2 (367)
Solving equations (365) to (367) yields the following candidate functions for the frequencyresponses of the forming filters
Hugw1(ω) = σu
radic2Lu
V
11 plusmn Lu
V jω(368)
Hvgw2(ω) = σv
radicLv
V
1 plusmnradic3 Lv
V jω(1 plusmn Lv
V jω)2 (369)
34 CHAPTER 3 MATHEMATICAL MODELS ndash THEORETICAL BACKGROUNDS
Hwgw3(ω) = σw
radicLw
V
1 plusmnradic3 Lw
V jω(1 plusmn Lw
V jω)2 (370)
In these equations w1 w2 and w3 are independent white noise signals Choosing the minussign in the denominators would lead to unstable filters and hence should be rejected for physicalreasons Choosing the minus sign in the numerators leads to non-minimum phase systems(ref[21]) Therefore we shall use positive signs in both the numerator and denominator
It is easy to implement these filters in a simulation package like Simulink If white noiseis approximated by a sequence of Gaussian distributed random numbers it is then very easyto obtain the required time-trajectories of the turbulence velocity components These randomsequences should be completely independent which may not be obvious if the simulation softwareuses some initial starting value or lsquoseedrsquo for its random-generator It is possible to implementbetter approximations of the von Karman turbulence spectra by using a series of additional lead-lag networks for adding differentiating and integrating terms to the basic first-order Dryden-filters A full derivation of these approximations can be found in ref[1] In the FDC toolboxonly linear filters for the Dryden spectra have been used
34 Radio-navigation models
341 The Instrument Landing System
Nominal ILS signals
The Instrument Landing System (ILS) is the standard aid for non-visual approaches to landingin use throughout the world today Under certain circumstances it can provide guidance dataof such integrity that fully coupled approaches and landings may be achieved The systemcomprises three distinct parts of on-ground equipment of which only the localizer and glideslopesignals will be considered in the FDC models
1 the localizer transmitter which gives guidance in the horizontal plane
2 the glideslope (or glide-path) transmitter which provides vertical guidance
3 two or three marker beacons situated on the approach line which give an indication ofthe distance from the approaching aircraft to the runway
Figures 37 and 38 show the lay-out of the ILS ground equipment and the approach pathThe localizer signal is emitted by an antenna situated beyond the up-wind end of the runwayOperating at a frequency within the 1080 to 112 MHz frequency band it radiates a signalmodulated by 90 and 150 Hz tones in which the 90 Hz predominates to the left hand side of theapproach path and 150 Hz predominates to the right as seen from an aircraft on final approachFigure 39 shows the required minimum coverage of the localizer signals according to ICAO(ref[2])
The glideslope antenna is located some 300 meters beyond the runway threshold (approxi-mately adjacent to the touch-down point) and at about 120 to 150 m from the runway centerlineThe frequency of the glideslope signal lies within the 3286 to 3350 MHz band The signal ismodulated by 90 and 150 MHz tones in which the 90 Hz is predominant above the desiredglide-path and 150 Hz beneath the glide-path Due to the position of the glideslope antennathe intersection of the localizer reference plane and the glideslope reference cone is actually ahyperbola which is located a small distance above the idealized straight glide-path This is shownin figure 310 The minimum coverage of the glideslope signals required by ICAO (ref[2]) isshown in figure 311
34 RADIO-NAVIGATION MODELS 35
xloc
xgs
y gsRunway
Localizerantenna
Glideslopeantenna
Figure 37 Positioning of ILS ground equipment
xxxxxxxxx runway
39 NM3000 ft
Alt 300 ft
Alt 2500 ftAlt 1200 ft
localizertransmitter
glide pathtransmitter
aircrafttrack
outer marker
middle marker
join glide pathand commence
final descent
Figure 38 Lay-out of the approach path
front beam area back beam area
Runway
10 N
M
17 NM
25 NM
10o
35o
35o
10o
Localizertransmitter
Figure 39 Required coverage of localizer signal
36 CHAPTER 3 MATHEMATICAL MODELS ndash THEORETICAL BACKGROUNDS
localizer plane
idealized glide-path(straight line)
actual glide-path(hyperbola)
conical surface
glide path antenna
xxxxxx
Figure 310 Hyperbolic intersection of localizer and glideslope reference planes
8o8o
10 NM
Glideslopetransmitter
Localizertransmitter
Runway
Figure 311 Required coverage of glideslope signal compared to localizer coverage
34 RADIO-NAVIGATION MODELS 37
0
100
200
1000 800 600 400 200 50 0
Cat I
Cat II
Cat III
A B C
Runway visual range [m] rarr
uarrDecisionheight [ft]
Cat I Operation down to minima of 200 ft decision height and runway visual rangeof 800 m with a high probability of approach success
Cat II Operation down to minima below 200 ft decision height and runway visualrange of 800 m and as low as 100 ft decision height and runway visual rangeof 400 m with a high probability of approach success
Cat III A Operation down to and along the surface of the runway with external visualreference during the final phase of the landing down to runway visual rangeminima of 200 m
Cat III B Operation to and along the surface of the runway and taxiways with visibilitysufficient only for visual taxiing comparable to runway visual range in theorder of 50 m
Cat III C Operation to and along the surface of the runway and taxiways without ex-ternal visual reference
Figure 312 ILS performance categories
An ILS installation is said to belong to a certain performance category representing the meteo-rological conditions under which it is to be used These conditions are summarized in figure 312An ILS installation of category I is intended to provide guidance down to an altitude of 200ft a category II installation provides guidance down to 100 ft and an installation of categoryIII must provide guidance down to the runway surface Only cat III signals can be used forfully automatic landings If the aircraft is making an approach under cat I conditions the pilotshould either see the runway lights at an altitude of 200 ft or cancel the final approach andgo-around1
The localizer and glideslope signals are received on board the aircraft They are displayedin an appropriate form to the pilot and may be fed directly to an automatic pilot as well Thenominal ILS signals on board the aircraft are expressed in terms of the currents supplied to thepilotrsquos cockpit instrument The magnitude of the localizer current iloc depends upon the angleΓloc (measured in [rad ]) between the localizer reference plane and a vertical plane that passesthrough the localizer antenna as depicted in figure 314
1The altitude at which the runway lights should be visible is called the decision height Some airlines use largerdecision height values than figure 312
38 CHAPTER 3 MATHEMATICAL MODELS ndash THEORETICAL BACKGROUNDS
The localizer current is
iloc = Sloc Γloc [microA] (371)
where Sloc is the sensitivity of the localizer system According to ref[2] Sloc has to satisfy thefollowing equation
Sloc = 140 xloc [microA radminus1] (372)
where xloc is the distance from the localizer antenna to the runway threshold (measured in [m])see figure 38
For the simulation of ILS-approaches a runway-fixed reference frame FF = OF XF YF ZF willbe introduced The XF -axis is directed along the runway centerline in the direction of take-offand landing ZF points downwards and YF points rightwards as seen from an aircraft on finalapproach At time t = 0 the position of the aircraftrsquos cg coincides with the origin of the Earth-fixed reference frame hence xe = 0 ye = 0 and H = H0 The position of the origin OF of therunway reference frame at t = 0 is given by the coordinates xRW and yRW measured relativelyto the Earth-fixed reference frame and the altitude of the runway above sea level HRW Fromfigures 313 and 314 the following transformations from the coordinates xe and ye referencedto the Earth-fixed reference frame FE to the coordinates xf and yf referenced to FF can bededuced
xf = (xe minus xRW ) cos ψRW + (ye minus yRW ) sinψRW (373)yf = minus(xe minus xRW ) sinψRW + (ye minus yRW ) cos ψRW (374)
where ψRW is the heading of the runway measured relatively to the North The height of theaircraft above aerodrome level Hf is equal to
Hf = H minus HRW (375)
H is the altitude of the aircraft above sea level (Note the reference frame F primeE = Oprime
EX primeEY prime
EZ primeE
in figure 313 is an intermediate frame of reference which has the same orientation as FE butan origin that has been moved to the projection point of OF on the horizontal plane at sea levelHence xprime
e = xe minus xRW and yprimee = ye minus yRW see also figure 314)
As can be seen from figure 314 Γloc can be computed from the coordinates xf and yf asfollows
Rloc =radic
yf2 + (xloc minus xf )2
dloc = yf
Γloc = arcsin
(dloc
Rloc
)(376)
Γloc and dloc are positive if the aircraft flies at the right hand side of the localizer reference planeheading towards the runway The locations which provide a constant glideslope current lie ona cone as shown in figures 310 and 315 The nominal glide path has an elevation angle γgs
which normally has a value between minus2 and minus4 Obviously γgs is negative since the aircraftdescents along the glide path The magnitude of the glideslope current is proportional to theglideslope error angle εgs [rad ] (see figure 315)
igs = Sgs εgs [microA] (377)
where Sgs is the sensitivity of the glideslope system which according to ref[2] equals
Sgs =625|γgs| [microA radminus1] (378)
34 RADIO-NAVIGATION MODELS 39
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Nominal glidepath
Runway
Sea level
North
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
ψRW
ψ RW
yf
xf
Hf
HHRW
ye xe
YF
FX
YE
XE
EZ FZ
Figure 313 Definition of Earth-fixed axes X primeEY prime
EZ primeE and runway axes XF YF ZF (the aircraft is
turning right after a missed approach)
Runway
Position ofaircrafts cgat t=0
Localizerantenna
xlocxf (-)
d
= y
loc
f(+
)
XF
XE
XE
YEYF
YE
Γloc (+)
R loc
Figure 314 Localizer geometry and definition of X primeE Y prime
E XF and YF -axes
40 CHAPTER 3 MATHEMATICAL MODELS ndash THEORETICAL BACKGROUNDS
gs (minus) gs
gs(+
)
gsd(+
)
ygs(-)
XFYF
ZF
Runway
yf (+)
Glideslopeantenna
Rgs
fx (-)
x (+)gsH
f
ε
Γγ
Figure 315 Glideslope geometry
From figure 315 it can be seen that the error angle εgs can be computed from the coordinatesxf and yf and the height above the runway Hf with the following expressions
Rgs =radic
(xgs minus xf )2 + (yf minus ygs)2 (379)
εgs = γgs + arctan
(Hf
Rgs
)(380)
The distance from the aircraft to the nominal glideslope is
dgs = (Rgs tan γgs + Hf ) cos γgs (381)
In these expressions εgs and dgs are positive if the aircraft flies above the glideslope referenceline Notice that γgs is always negative In order to check if the aircraft flies in the area wherethe glideslope signals can be received (figure 311) the angle Γgs is calculated too Due to theposition of the glideslope antenna this angle is not exactly equal to Γloc although the differencesare small Computing Γgs is straightforward
Γgs = arcsin
(yf minus ygs
Rgs
)(382)
Steady-state ILS offset errors
ICAO has established limits for ILS steady-state offset errors introduced by the ground equip-ment see ref[2] These limits are of course most stringent for cat III approaches Tables 31and 32 give these limits for localizer and glideslope transmitters respectively The nominalglide path must pass over the runway threshold at an altitude of 15 plusmn 3 m The maximumvalues of the localizer current iloc and the glideslope current igs are limited to plusmn150 microA henceplusmn150 microA represents a full-scale deflection on the cockpit instrument (ref[2])
34 RADIO-NAVIGATION MODELS 41
Performance categoryof ILS system
Maximum deviation fromnominal localizer sensitivity []
Maximum deviation of localizerrunway reference plane from
centerline at runway threshold [m]
I plusmn 17 plusmn 105
II plusmn 17 plusmn 75(plusmn 10 where practicable) (plusmn 45 for new installations)
III plusmn 10 plusmn 3
Table 31 Maximum permissible localizer steady-state errors
Performance categoryof ILS system
Maximum deviation fromnominal glideslope sensitivity []
Maximum deviation of nominalglideslope elevation angle
I plusmn 25 plusmn 0075 γgs
II plusmn 20 plusmn 0075 γgs
III plusmn 10 plusmn 004 γgs
Table 32 Maximum permissible glideslope steady-state errors
ILS noise characteristics
Due to interference effects caused by buildings high voltage cables etc the actual ILS signalsbecome distorted in the spatial and time domains To an approaching aircraft these distortionsappear as noise in the time-domain superimposed on the nominal ILS signals Based on availableexperimental data localizer and glideslope noise may be approximated by stochastic signalswhich have rather simple power spectral density functions
Refs[1] and [14] present power spectra for ILS noise which are expressed in the samegeneral form as the Dryden model for longitudinal atmospheric turbulence see equation (358)The power spectral density function for localizer noise can be approximated by1
Sloc(Ω) = 2σloc2Lloc
11 + (ΩLloc)2
[microA2radminus1m
](383)
where
σloc = standard deviation of the localizer noiseLloc = lsquoscalersquo of the localizer noise approximately 130 mΩ = spatial frequency [rad mminus1]
1Note the expressions for ILS noise and atmospheric turbulence given in refs[1] and [14] have an ad-ditional term π in the denominator The Dryden spectra from ref[21] do not contain this term due to aslightly different definition of the Fourier transform In this report the definition of the Dryden filters fromref[21] has been used and due to the similarity of the expressions for ILS noise the term π will be omitted here too
The definitions of the Fourier transform and the inverse Fourier transform used in ref[21] are
X(ω) = Fx(t) =
int infin
minusinfinx(t)eminusjωt dt x(t) = Fminus1X(ω) =
1
2π
int infin
minusinfinX(ω)ejωt dω
42 CHAPTER 3 MATHEMATICAL MODELS ndash THEORETICAL BACKGROUNDS
The power spectral density of the glide path noise appears to be similar to the localizer noiseand may be approximated by
Sgs(Ω) = 2σgs2Lgs
11 + (ΩLgs)2
[microA2radminus1m
](384)
where
σgs = standard deviation of the glideslope noiseLgs = lsquoscalersquo of the glideslope noise approximately 85 mΩ = spatial frequency [rad mminus1]
For atmospheric turbulence it is often assumed that the turbulence velocities are functions onlyof the position in the atmosphere (the frozen field concept or Taylorrsquos hypothesis) This assump-tion can be made because aircraft usually fly at large speeds compared to turbulence velocitiesUsing Taylorrsquos hypothesis for the ILS noise will probably induce errors especially for aircraftwith very low final approach speeds such as the lsquoBeaverrsquo Still this expression makes it possibleto convert the spatial power spectral density functions to temporal expressions in ω which canbe used for practical simulations One should remember that the power spectral density func-tions are in any case approximations of the actual ILS noise so if a really accurate representationof ILS noise is required for simulations (eg for assessing automatic cat III landing systems)an actual calibration of the localizer and glideslope signals for the site in question should be used
With Taylorrsquos hypothesis it is possible to substitute ω = ΩV Then the ILS noise can bemodeled as a white-noise signal which is sent through a linear forming filter in the same way asthe derivations for atmospheric turbulence shown in figure 36 The resulting filters are
Hloc(ω) = σloc
radic2Lloc
V
11 + Lloc
V jω(385)
Hgs(ω) = σgs
radic2Lgs
V
1
1 + Lgs
V jω(386)
Alternative shapes of the power spectral density functions for localizer and glideslope noise aregiven in ref[17] These expressions were based upon average power spectral density plots ofbeam noise at several airports
Sloc = |Hloc(ω)|2 =25 (15 + jω)2
(035 + jω)2(10 + jω)2[microA2radminus1s
](387)
Sgs = |Hgs(ω)|2 =159
(025 + jω)2[microA2radminus1s
](388)
The filters for these spectral density functions are
Hloc(ω) = plusmn 5 (15 + jω)(035 + jω)(10 + jω)
(389)
Hgs(ω) = plusmn 39875025 + jω
(390)
Both ILS noise models have been implemented in the FDC toolbox The maximum allowablevalues of the standard deviations of localizer and glideslope noise according to ICAO standards(ref[2]) are given in figure 316
In addition to the ILS noise and steady-state errors specific deterministic interferencepatterns may occur due to signal reflections from aircraft in the vicinity of the glideslope andorlocalizer transmitters These disturbances may be quite severe and should be taken into accountfor the evaluation of automatic landing systems It is possible to construct relatively simple
34 RADIO-NAVIGATION MODELS 43
Distance to threshold [m]741010506000-600
25
5
75
10
15
σ
microΑgs
loc
[ ]
(cat III)
σσloc
gsσ
gsσ
σ loc
σloc
(cat II III)
(cat I)
(cat I
I III)
(cat I)
Figure 316 Maximum allowable ILS localizer and glideslope noise
models of these interference effects but the FDC toolbox does not contain these models yetSee ref[1] for more details
342 The VOR navigation system
Nominal VOR signals
The Very high frequency Omnidirectional Radio range (VOR) system is a standard short-rangeradio-navigation aid The system uses the 108-118 MHz frequency range The VOR groundstation radiates a cardioid pattern that rotates 30 times per second thus generating a 30 Hzsine wave at the output of the airborne VOR receiver The ground station also radiates anomnidirectional signal which is modulated with a 30 Hz reference tone The phase differencebetween the two 30 Hz tones is a function of the bearing of the aircraft relatively to the VORground station A position fix can be obtained by using two or more VORrsquos or a combinationof VOR and DME information1 See refs[3] [4] or [18]
Figure 317 shows the geometry of the VOR system Simple general-aviation VOR systemsmake it possible for the pilot to fly along a VOR radial which must be selected by means ofthe lsquoOmni Bearing Selectorrsquo (OBS) This reference bearing is called lsquoCourse Datumrsquo (CD) Thebearing where the aircraft is actually flying is denoted by QDR (a term used in radio telephony)The course deviation angle ΓVOR which is equal to the angle between the reference bearing andthe actual bearing is shown on the cockpit instrument This information may also be usedby an automatic control system to automatically follow a VOR radial Modern airliners andbusiness aircraft have more advanced Area Navigation systems which use information of multipleVOR stations and of other navigation equipment to follow arbitrary routes between so-calledwaypoints In this report we will limit ourselves to the use of VOR systems for tracking VORradials
1DME = Distance Measuring Equipment
44 CHAPTER 3 MATHEMATICAL MODELS ndash THEORETICAL BACKGROUNDS
VOR antenna
CD
QDR
X (north)E
Y (east)E
yVOR
ye
x e
x VO
R VOR
R
VORΓ
ψ
Figure 317 Geometry of VOR navigation
34 RADIO-NAVIGATION MODELS 45
In order to compute VOR signals for simulation purposes it is necessary to know the exactpositions of the VOR station and the aircraft with respect to the Earth-fixed reference frameIf the position of the VOR ground station is given by (xVOR yVOR HVOR) and the position ofthe aircraft by (xe ye H) the following equations can be used to compute ΓVOR
QDR = arctan(
ye minus yVOR
xe minus xVOR
)(391)
ΓVOR = CD minus QDR (392)
A typical value for a full-scale deflection of the cockpit instrument is ΓVOR = 10
It is necessary to know whether the aircraft flies to or from the VOR transmitter This informa-tion is visualized in the cockpit by means of a To-From indicator If |ψ minus QDR| gt 90 the Toindicator should be visible if |ψminusQDR| lt 90 the From indicator must be shown In figure 317the aircraft flies from the VOR transmitter which is in accordance with these relations sinceψ minus QDR asymp 40 lt 90
VOR coverage and cone of silence
The ground distance RVOR can be used to determine whether the aircraft flies in an area wherethe VOR signals can be received with appropriate reliability This distance is equal to
RVOR =radic
(xe minus xVOR)2 + (ye minus yVOR)2 (393)
If the aircraft flies in a certain area in the direct neighborhood of the VOR transmitter thesignals are not accurate This area is formed by a cone with a top-angle of approximately 80 to120 degrees the so-called Cone of Silence This has been shown in figure 318 See also ref [3]The aircraft flies outside the cone of silence if
ξ equiv arctan(
H minus HVOR
RVOR
)le 90 minus (40 to 60) (394)
Table 33 gives the maximum coverage of the VOR signals as a function of the height aboveground level according to ref[4] Based upon this table the following approximative functionfor the VOR coverage as a function of the altitude (in [m]) was found with the Matlab functionPOLYFIT
Range = 1000(minus23570 middot 10minus6(H minus HVOR)2 + 57087 middot 10minus2(H minus HVOR) + 808612
)(395)
Another often used rule-of-thumb for determining the VOR coverage (see ref[3]) is
Range = 12(radic
h +radic
hVOR
)(396)
Range is measured in nautical miles h is the height above the ground measured in [ft ] and hVOR
is the elevation of the VOR antenna above the ground measured in [ft ] Usually the latter term isneglected For implementation in the FDC toolbox it will be necessary to convert this expressionto SI units and substitute h = H minus HVOR However since the values from equations (395)and (396) donrsquot differ much only equation (395) has been implemented in the toolbox
VOR steady-state errors
The nominal VOR signals become distorted by VOR noise and steady-state errors There aretwo types of systematic errors ground station errors and airborne equipment errors Each ofthese errors comprises both the equipment and antenna errors and site or location errors
46 CHAPTER 3 MATHEMATICAL MODELS ndash THEORETICAL BACKGROUNDS
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Cone of Silence
VOR antenna
40 to 60oo 40 to 60
oo
ξ
DMER
VORR
H -
HV
OR
Figure 318 The lsquoCone of Silencersquo
Height [ ft ] VOR range [ NM ]
1000 505000 9220000 18230000 220
3000 755000 95
Table 33 VOR coverage based on two different flight tests
ICAO has established the following rules (refs[2] and [4])
1 the error of the airborne equipment must be smaller than plusmn2 at a distance from theantenna of four times the wavelength and at an elevation-angle of 0 to 40
2 the maximum error for the ground station is plusmn35
Ref[4] presents some results of measurements of ground equipment errors Typical measuredvalues are errors of plusmn14 to plusmn25 Besides the constant steady-state errors of the ground andairborne equipment there are also random errors such as variations of supply voltage of theground andor airborne equipment temperature changes inaccurate instrument reading etcAccording to ref[4] the following values for the overall VOR system error were obtained fromflight tests using commercial aircraft
ε lt plusmn17 (68 of the tests)ε lt plusmn34 (95 of the tests)ε lt plusmn51 (997 of the tests)
Since ref[4] is already somewhat outdated it can safely be assumed that modern VOR stationsand receivers are more accurate
35 SENSORS ACTUATORS FLIGHT CONTROL COMPUTER 47
35 Sensors Actuators Flight Control Computer
Depending upon the tasks of the control system and its hardware characteristics other dynamicsubmodels may be necessary to complete the block-diagram from figure 31 The control lawsuse measured signals which do not fully correspond with the lsquoidealrsquo outputs from the aircraftmodel due to the characteristics of the sensors that measure them It may be necessary to addnoise components andor steady-state errors to take into account filter characteristics of thesensors to include time-delays etc Moreover it may be necessary to take into account theinfluence of computer processing upon the signals in case a digital Flight Control Computer isused to determine the control surface deflections In the example of the lsquoBeaverrsquo autopilot aquantization effect in the altitude measurements was encountered due to a Least Significant Bitthat corresponded with 4 feet And although a steady-state error of 4 feet would have beenquite acceptable for the Altitude Hold mode of our autopilot the resulting discontinuities in thealtitude signal proved to yield unacceptable control characteristics (see ref[22]) that requiredadditional filtering of the altitude signal This example shows how important it can be to takeinto account the differences between the lsquoidealrsquo outputs from the aircraft model and the measuredsignals which enter the control laws in practice
On the output side of the control laws the lsquoidealrsquo control surface deflections are distorteddue to the characteristics of the cables and actuators and because of additional time-delays anddiscretization effects due to the characteristics of the computer systems Moreover the rangeof deflections of the actuators and the control surfaces is limited and the rate of change ofthese deflections may be limited for reasons of constructional strength and stiffness Since theseeffects may have an adverse effect upon the behavior of the AFCS it is necessary to analyzetheir influence in non-linear simulations
Apart from the radio-navigation models from the previous section which in fact are justsophisticated sensor models the FDC 12 toolbox does not yet contain a complete library ofsensor models actuator models and computational effects It does contain some simple ad-hocsolutions for the assessment of the lsquoBeaverrsquo autopilot including simple linear second-order modelsof the actuator dynamics and the elastic behavior of the cables between the actuators and thecontrol surfaces (for the lsquoBeaverrsquo aircraft these cables were unusually long) The altitude signalwas artificially quantized to take into account the Least Significant Bit of 4 feet Computationaldelays can be taken into account by means of standard Time Delay blocks from Simulink Futureversions of the toolbox should be equipped with standard libraries to provide lsquoof the shelfrsquo sensorand actuator models for general control system design purposes
48
Chapter 4
Analytical tools ndash theoreticalbackgrounds
41 Introduction
This section describes the theoretical backgrounds of some important analytical tools fromSimulink and FDC 12 In section 42 the numerical integration methods from Simulink aredescribed This section provides some general theoretical backgrounds on numerical integrationtechniques which may be useful for determining the most suitable integration method and thekinds of errors to expect This section can be regarded as a theoretical addition to the somewhatlimited treatment of the simulation tools in the Simulink user manual In section 43 the trim-routine from FDC 12 is treated Contrary to the simulation and linearization tools the trim-routine does not use the built-in Simulink trim-functions but a custom-made algorithm whichis especially suited for the determination of steady-state flight conditions Section 43 providesthe theoretical basis for the treatment of the trim routines from section 82 Section 44 gives ashort theoretical description about the linearization tool from Simulink which is used by someroutines from FDC 12 to linearize the non-linear aircraft model in some user-specified operatingpoint
42 Simulation tools
421 Introduction
FDC 12 makes use of the built-in simulation functions of Simulink for the determination ofaircraft responses to control inputs or external disturbances These simulation functions arefulfilled by six different numerical integration routines
1 ndash EULER This is a one-step integration method which simply multiplies the time-derivativesof the state variables with the step-size Since it requires much smaller step-sizes than theother methods in order to achieve the same accuracy this method is not recommended forthe majority of simulation problems It will not be used for FDC simulations
2 ndash LINSIM This method divides the system in linear and non-linear subsystems The linearsubsystems are discretized and then solved in a straightforward way leaving only the non-linear system dynamics to be solved numerically This works best for systems which arelsquorelatively linearrsquo For the highly non-linear Simulink models from the FDC toolbox thismethod is not suited
49
50 CHAPTER 4 ANALYTICAL TOOLS ndash THEORETICAL BACKGROUNDS
3 ndash RK23 This is a third-order Runge-Kutta method which uses a second-order method forstep-size control It is a general purpose method which works well for a large range ofsimulation problems and for the simulation of systems with discontinuities In theory thismakes it a suitable candidate for FDC simulations although RK45 and ADAMSGEAR turnedout to be faster in practice
4 ndash RK45 This is a fifth-order Runge-Kutta method which uses a fourth-order method forstep-size control The method is usually faster and more accurate than RK23 and it producesfewer output points For this reason it has been applied in practice for FDC simulations Ifthe input signals are smooth the ADAMSGEAR methods may be more suitable than theRunge-Kutta methods
5 ndash ADAMS This is a so-called predictor-corrector method which uses a variable number ofpoints for the generation of one output point It works well for systems with smooth state-trajectories and it can be used in combination with GEAR This combination has been appliedfor FDC simulations in cases where the state-trajectories were smooth ie if the systems werenot affected by noisy disturbances or many discontinuous input signals
6 ndash GEAR This method is primarily designed for the simulation of systems with a mixture ofvery fast and slow dynamics (so-called lsquostiffrsquo systems see section 425) It has been appliedin combination with ADAMS for FDC simulations where the autopilot systems in particularexhibited such a mixture of fast and slow dynamics (namely the fast dynamics of the controlactuators and the slow dynamics of the phugoid and spiral modes of the aircraft) TheRunge-Kutta method RK45 was used for FDC simulations in cases where the input signalsto the aircraft model contained noisy disturbances or many discontinuities
In the next sections some theoretical aspects of these methods will be outlined These sectionsare largely based upon refs[12] [13] and [25] The actually used integration equations in Simu-
link are neither accessible to the users nor described in detail in the Simulink userrsquos manualso it is not sure that the equations from the next sections are exactly equal to the relationsused by Simulink but they do give a good general overview of the theoretical backgrounds ofnumerical integration
422 The type of problems considered
The numerical integration methods used in Simulink are designed to determine the time-trajectories of continuous state variables of dynamical systems described by ordinary differentialequations (ODErsquos)
x(t) = f(x(t)u(t) t) x(t0) = x0 (41)
where x is the state vector u is the input vector f is some non-linear function and x0 is theinitial value of the state vector at time t0 Since few differential equations can be solved exactlythe solutions of these ODErsquos must be approximated numerically The numerical integrationmethods have been developed for solving so-called initial value problems
x(t) = f(x(t) t) x(t0) = x0 (42)
This equation does not take into account the input vector u anymore but the methods forsolving equation (42) are similar to the methods for dealing with equation (41) If the statevector x has N elements N constants of integration appear in the solution of equation (42)A unique solution to this system can be obtained only if the initial values of the states arespecified The techniques for solving the vector equation (42) are essentially the same as thetechniques used for solving scalar initial value problems given by the equation
x(t) = f (x(t) t) (43)
42 SIMULATION TOOLS 51
The numerical integrators from Simulink generate a sequence of discrete points t0 t1 t2 intime possibly with variable spacing hn = tn+1minus tn (the step-size) At each point tn the solutionx(tn) is approximated by xn which is computed from earlier values of x If k earlier values xnxnminus1 xnminusk+1 are used for the computation of xn+1 the method is called a lsquok-step methodrsquoFor instance the Euler method (the integrator EULER in Simulink) is a single-step method
xn+1 = xn + hn middot f (xn tn) (44)
423 Stability errors and order of a numerical integration method
Figure 41 shows a typical family of solutions of a first-order differential equation for differentinitial values x0 Here a wrong value of the initial condition yields an error which increases intime ie the differential equation is unstable The figure demonstrates how the Euler approxi-mation generally crosses from one solution to another between to time steps For this unstabledifferential equation the resulting error increases in time In figure 42 the solutions of the ODEconverge as time proceeds which means that this ODE is stable and numerical integration errorsdo not increase with time Non-linear differential equations may be unstable in some regionsand stable in others For systems of ODErsquos the situation is even more complex One shouldalways be aware of possible instabilities of dynamic systems when assessing numerical results
There are two types of errors in numerical integration processes
1 discretization errors
2 round-off errors
Discretization errors are a property of the numerical integration method while round-off errorsoccur due to the finite number of digits used in the calculations (hence they are a property of thecomputer and the program that is used) In general the total error decreases as the step-sizehn decreases until a point where the round-off error becomes dominant This is illustrated infigure 43 Due to these errors it is possible that the numerical solution becomes unstable evenif the ODE itself is stable See for instance figure 44 which shows a system that is numericallyintegrated with the Euler method with a too large step-size
The order of a numerical integration method is defined in terms of the local discretizationerror δn obtained when the method is applied to problems with smooth solutions A method isof order p if a number C exists so that
|δn| le Chnp+1 (45)
C may depend on the derivatives of the function which defines the differential equation and onthe length of the interval over which the solution is sought but it should be independent of thestep number n and the step-size hn
424 Different categories of numerical integration methods
According to ref[12] it is possible to distinguish between four general categories of step-by-stepmethods which will briefly be discussed here All results can easily be converted to vector nota-tions for sets of Ordinary Differential Equations
52 CHAPTER 4 ANALYTICAL TOOLS ndash THEORETICAL BACKGROUNDS
Initial value
x1 x2
x0
x
tt0
Euler solution
t1 t2
Figure 41 Family of solutions of unstable ODE (Euler method displayed graphically)
x
t
Figure 42 Family of solutions of stable ODE
42 SIMULATION TOOLS 53
Total error
Discretization error
Round-off error
y(tn)minusyn
hn
Figure 43 Discretization error round-off error and total error as a function of the step-size
x
t
x
tttt
x
x
xf(t)
0
1
2
3
0 1 2 3
Figure 44 Unstable Euler solution for stable ODE
54 CHAPTER 4 ANALYTICAL TOOLS ndash THEORETICAL BACKGROUNDS
1 Taylor series methods
A smooth solution x(t) of equation (43) can be approximated by a Taylor series expansion
x(t + hn) = x(t) + hnx(t) +hn
2
2x(t) + (46)
Provided it is possible to determine higher-order time-derivatives of x a numerical method oforder p can be obtained by using
xn+1 = xn + hnxn +hn
2
2xn + +
hnp
p
(dpx
dtp
)(47)
The first neglected term provides an estimate of the local discretization error An example of aTaylor series method is the Euler method (equation (44)) which neglects all time-derivatives oforder two and higher Hence the local discretization error of the Euler method is of order h2
2 Runge-Kutta methods
Runge-Kutta methods approximate Taylor series methods without evaluating time-derivativesbeyond the first The higher-order derivatives are replaced by a number of evaluations of thefunction f Modern Runge-Kutta algorithms typically include techniques for estimating thediscretization error in order to control the step-size Runge-Kutta methods require only onevalue xn in order to compute xn+1 which makes them self-starting The reader is referred toref[13] for a derivation of a second-order Runge-Kutta method which clearly demonstrates therelations between the Taylor series and the Runge-Kutta approximation
The fifth-order Runge-Kutta method used by the integrator RK45 can be described by thefollowing formulas
ki = hnf (xn +iminus1sumj=1
βij ki tn + αi hn) i = 1 6 (48)
xn+1 = xn +6sum
i=1
γi ki (49)
These equations contain 27 coefficients 6 αrsquos 15 βrsquos and 6 γrsquos The βrsquos form a lower triangulararray so that each ki is obtained from the previous krsquos By expanding all krsquos in Taylor seriessubstituting the expansions into the formula for xn+1 and comparing the result with the Taylorseries for the true local solution of the differential equation the coefficients can be determinedThis is elaborated in detail in ref[13]
The combination of coefficients used in the fifth-order Runge-Kutta Fehlberg routine aregiven in table 41 see refs[12] and [13] The table also contains a second set of coefficientsγi
lowast which together yield another method which is accurate to fourth order This fourth-ordersolution is therefore
xn+1lowast = xn +
6sumi=1
γilowastki (410)
The difference δn between the fifth and fourth-order solutions used for step-size control is equalto
δn equiv xn+1 minus xn+1lowast =
6sumi=1
(γi minus γilowast) (411)
42 SIMULATION TOOLS 55
αi βij γi γilowast
0 16135
25216
14
14 0 0
38
332
932
665612825
14082565
1213
19322197 minus7200
219772962197
2856156430
21974104
1 439216 minus8 3680
513 minus 8454104 minus 9
50 minus15
12 minus 8
27 2 minus35442565
18594104 minus11
40255 0
Table 41 Fehlberg coefficients for integrator RK45
A vector equivalent of this scheme is used by the Matlab routine ODE45 (and probably alsoby the Simulink integrator RK45) In this Matlab routine the acceptable error is calculatedwith
τn = tol middot max|xn| 1 (412)
or a vector equivalent of this equation where tol is the desired accuracy Knowing the acceptableerror τn and the error estimate δn ODE45 updates the step-size as follows
hn+1 = min
hmax 08 hn
(τn
δn
) 15
with hn+1 ge hmin (413)
Obviously the step-size is not updated if δn = 0 Similar expressions are applied for vectorequations The integrator RK23 uses a similar scheme This algorithm is probably equal tothe code from the Matlab routine ODE23 which updates the state variable with the followingexpressions
k1 = f (x t) (414)k2 = f (x + hnk1 t + hn)
k3 = f
(x +
hn
4(k1 + k2) t +
hn
2
)
xn+1 = xn +hn
6(k1 + 4k3 + k2)
where hn is updated in a similar manner as for the RK45 method
3 Multistep methods
Contrary to Runge-Kutta and Taylor series methods multistep methods use information at pre-vious points to obtain a better accuracy Multistep methods can be very effective They usuallyrequire less function evaluations than one-step methods of equal accuracy Furthermore anestimate of the discretization error can often be trivially obtained (ref[12]) All linear multistepmethods can be considered as special cases of the formula
xn+1 =ksum
i=1
αi xn+1minusi + hn
ksumi=0
βi fn+1minusi (415)
where fi = f (xi ti) k is an integer and either αk or βk is not zero This formula defines thegeneral k-step method It is linear because every fi appears linearly in the equation f itselfdoes not necessarily have to be a linear function in its arguments After the method is lsquostartedrsquoeach step requires the calculation of xn+1 from the known values xn xnminus1 xnminusk+1 fn
56 CHAPTER 4 ANALYTICAL TOOLS ndash THEORETICAL BACKGROUNDS
i 1 2 3 4 5 6
β1i 1
2β2i 3 minus1
12β3i 23 minus16 5
24β4i 55 minus59 37 minus9
720β5i 1901 minus2774 2616 minus1274 251
1440β6i 4277 minus7923 9982 minus7298 2877 minus475
Table 42 Coefficients of the Adams-Bashforth integration method
i 1 2 3 4 5 6
β1ilowast 1
2β2ilowast 1 1
12β3ilowast 5 8 minus1
24β4ilowast 9 19 minus5 1
720β5ilowast 251 646 minus264 106 minus19
1440β6ilowast 475 1427 minus798 482 minus173 27
Table 43 Coefficients of the Adams-Moulton integration method
fnminus1 fnminusk+1 If β0 = 0 this method is explicit and the calculation is straightforward Ifβ0 = 0 the method is implicit because fn+1 = f (xn+1 tn+1) is then needed to solve for xn+1
Usually a combination of two multistep methods is used for computing each step of thesolution an explicit method called predictor followed by one or more applications of an im-plicit method which is called a corrector The ADAMS method is a predictor-corrector multistepmethod It is not known exactly what integration scheme is used by Simulink but the most im-portant Adams methods found in literature are the explicit Adams-Bashforth integration methodand the implicit Adams-Moulton method Probably these algorithms are used by Simulink tooThe k-step Adams-Bashforth formula can be written as
xn+1 = xn + hn
ksumi=1
βki fn+1minusi (416)
Table 42 lists some values βki for this method The k-step Adams-Moulton formula is equal to
xn+1 = xnminus1 + hn
kminus1sumi=0
βkilowast fn+1minusi (417)
Table 43 lists some values βkilowast for this method Often the Adams-Bashforth method is used as
predictor and Adams-Moulton as corrector
4 Extrapolation methods
The predictor methods actually extrapolate the value xn+1 from known previous values of x andthe function evaluations f There exist other types of extrapolation methods as well Thesemethods will not be discussed here since the Simulink integrators do not use them See ref[13]for more information
42 SIMULATION TOOLS 57
k 2 3 4 5 6
β023
611
1225
60137
60147
α143
1811
4825
300137
360147
α2 minus13 minus 9
11 minus3625 minus300
137 minus450147
α3211
1625
200137
400147
α4 minus 325 minus 75
137 minus225147
α512137
72147
α6 minus 10147
Table 44 Coefficients for stiffly stable integrator (GEAR)
425 Stiff differential equations
lsquoStiffnessrsquo of the differential equations can roughly be defined as the presence of one or more fastdecay processes in time with a time constant that is short compared to the time-span of interestThe time constant is defined as the time in which a solution to a differential equation decaysby a factor 1e In a physical system different elements often have different time constantswhich means that some solutions to differential equations decay much faster than others In suchcases the signals with fast dynamics will determine the stability of the integration method eventhough these components may have decayed to insignificant levels Figure 44 shows a family ofsolutions of a stiff system which is integrated by an Euler method with a too large step-sizeAlthough this system is stable the numerical solution diverges rapidly The only way to solvethis problem is by reducing the step-size but eventually round-off and discretization errors willaccumulate enough to result in another instability The transient part of the solution whichdecays very fast prevents an increase in step size although the solution is very smooth afteronly a few seconds
Simulink contains two integrators which are particularly suited for solving stiff ODErsquosGEAR and LINSIM Of these integrators LINSIM is only suited for lsquoalmost linearrsquo systems GEARworks well for systems with smooth non-linear stiff solutions It uses a predictor-correctormethod which takes a variable number of steps between two output points This method isprobably based upon the stiffly stable method from ref[13] which can be written as
xn =ksum
i=1
αi xnminusi + hn β0 fn (418)
The coefficients αi and β0 are listed in table 44 The method differs from the Adams methodin the way in which the implicit expression is solved In Simulink it is possible to use acombination of ADAMS and GEAR where Simulink itself will decide which of the two methodsto use depending upon the stiffness of the equation
426 Obtaining state-models from transfer functions
In Simulink it is possible to define system dynamics by means of transfer functions whichare converted to state equations by Simulink itself to make it possible to apply the numericalintegration routines It is useful to know how this conversion may be achieved in order to knowmore about the computation methods of Simulink and also because it enables us to implementtransfer functions with non-constant coefficients within graphical Simulink systems In the case
58 CHAPTER 4 ANALYTICAL TOOLS ndash THEORETICAL BACKGROUNDS
of the FDC toolbox this conversion scheme has been applied in practice for the implementationof the Dryden turbulence filters which are defined by transfer functions with airspeed-dependentcoefficients
Several possible transformations from transfer functions to linear state models can befound in the literature see for instance refs[5] [7] or [25] Only one method will be shown hereConsider the following transfer function
H(s) equiv Y (s)U(s)
=bnminus1s
nminus1 + F + b2s2 + b1s + b0
sn + anminus1snminus1 + + a2s2 + a1s + a0(419)
To transform this equation into a state model it will first be rewritten and a help function V (s)will be introduced
V (s) equiv Y (s)bnminus1snminus1 + + b1s + b0
=U(s)
sn + anminus1snminus1 + + a1s + a0(420)
This yields the following equations
Y (s) =(bnminus1s
nminus1 + + b1s + b0
)V (s) (421)
snV (s) = U(s) minus anminus1snminus1V (s) minus minus a1sV (s) minus a0V (s) (422)
Equations (421) and (422) can be used to obtain a linear state model Figure 45 shows theexpanded block-diagram equivalent of transfer function (419) The diagram is constructed withfirst-order integrals (the 1s blocks) and simple gain blocks If we define the state vector forthis transfer function block as
x = V (s)
1ss2
s3
snminus1
(423)
the following linear state equations are found
x = Ax + bu
y = c middot x (424)
with state matrices
A =
0 1 0 00 0 1 00 0 0 0
0 0 0 1
minusa0 minusa1 minusa2 minusanminus1
b =
00001
c = [ b0 b1 b2 bnminus1 ] (425)
For the implementation of the Dryden turbulence filters and for one filter in the Altitude Selectmode of the lsquoBeaverrsquo autopilot simulation model block-diagrams similar to figure 45 have beenused in practice Note that transfer functions with constant coefficients can be implemented inSimulink directly by means of built-in transfer-function blocks
427 Algebraic loops
One difficulty that can arise during simulation of a continuous-time system on a digital computeris the occurrence of algebraic loops Consider a system in block-diagram representation Theactual model is in fact a parallel system all variables change simultaneously But the calculation
42 SIMULATION TOOLS 59
U(s) s Vn s Vn-1
1s 1s 1ss Vn-2 s V V(s) Y(s)
++
++
++
bn-1
bn-2
b1
b0
++
++
++
+-
an-1
an-2
a1
a0
Figure 45 Block-diagram equivalent of transfer function
of responses of a parallel system on a digital computer system (with one microprocessor) canonly be done sequentially This means that the simulation program must choose an order ofcalculations However when feedback is applied it is possible that no suitable sequence can befound This situation occurs when two or more blocks with direct feed-through of their inputsform a feedback-loop This is called an algebraic loop For instance consider the system infigure 46 consisting of a gain A with negative unity feedback If this system is analyzed withan integrator with step width hn it is possible to write
en = un minus ynminus1
yn = Aen
where yn equiv y(n hn) and ynminus1 equiv y((n minus 1)hnminus1) (n is an integer) Taking the Z-transform ofthese equations yields
Y (z)U(z)
=Az
z + A
which indicates that additional dynamics due to the sequential calculation of the parallel feed-back system have been introduced (see figure 47)
When Simulink detects an algebraic loop it will use an iterative Newton-Rhapson methodto solve the resulting implicit problem (see the Simulink userrsquos manual and ref[5]) First anew block ALB is added to the system which contains the implicit algebraic equations thatresult due to the algebraic loop see figure 48 This block has an input g(x) and an output xThe block tries to find a value of x such that g(x) = x This means that the following non-linearequation has to be solved
G(x) = g(x) minus x = 0 (426)
60 CHAPTER 4 ANALYTICAL TOOLS ndash THEORETICAL BACKGROUNDS
Au e y
+minus
Figure 46 Gain with unity feedback an algebraic loop
0 1 2 3 4 5minus2
minus1
0
1
2
3
4
t [s]
y(t)
A
Input unit step at t = 0
A = 15
A = 10
A = 05
Figure 47 Dynamics introduced by an algebraic loop (gain with unity feedback)
43 THE TRIMMING FACILITY FROM FDC 12 61
ALB
AlgebraicEquations
x g(x)
Figure 48 Iterative solution of an algebraic loop
This is done by applying the Newton-Rhapson method
xi+1 = xi minus(Gprime(xi)
)minus1G(xi) (427)
where
Gprime(xi) =G(xi + ∆x)
∆x (∆x small) (428)
The subscript i denotes the iteration number not the time Simulink returns an error if it canrsquotsolve the algebraic loop within 200 iterations Note that the Newton-Rhapson iterations haveto be carried out for every time-step ie the integration will inevitably slow down Moreoveralgebraic loops may be too complex for Simulink to find a solution Therefore one should try toavoid algebraic loops whenever possible It is possible to lsquobreakrsquo an algebraic loop by includinga dynamical element in the feedback loop eg a filter See ref[5] for more details
43 The trimming facility from FDC 12
The FDC toolbox contains a custom trimming routine which can be applied to find steady-stateflight conditions Such flight conditions can be applied as lsquooperating pointsrsquo for the linearizationprocess which is necessary for the design of AFCSrsquos based upon linear system theory andas initial conditions for simulations Although Simulink contains a general trim routine (theMatlab function TRIM) the special problem of trimming a non-linear aircraft model can betterbe solved by means of a specialized aircraft trim routine The theoretical backgrounds for sucha routine will be shown in this section This section has largely been based upon ref[25]
431 Definition of steady-state flight
Recall the non-linear state equation (37) from section 32 for describing the general rigid-bodydynamics
x = f(x(t)u(t)v(t) t) (429)
with state vector x input vector u and external disturbance vector v This equation is actuallya special case of the more general implicit differential equation
f(x(t)x(t)u(t)v(t) t) = 0 (430)
In ref[25] a singular point or equilibrium point of a time-invariant system with no externalcontrol inputs is defined as
f(xxu) = 0 with x = 0 and u = 0 or constant (431)
Here the disturbance vector v has been omitted The system is lsquoat restrsquo when all of the time-derivatives are identically zero
62 CHAPTER 4 ANALYTICAL TOOLS ndash THEORETICAL BACKGROUNDS
Steady-state flight can be defined as a condition in which all of the motion variables are constantor zero and all acceleration components are zero This definition is very restrictive unless somesimplifying assumptions are made The definition allows steady wings-level flight and steadyturning flight if the flat-Earth equations of motion are used assuming that the aircraftrsquos massremains constant during the motions of consideration If the change in atmospheric densitywith altitude is neglected during the trim process a wings-level climb and a climbing turn arepermitted as steady-state flight conditions too The equations for the coordinates xe and yeand the altitude H then donrsquot couple back into the equations of motion and donrsquot need to beused in finding a steady-state equation So steady-state flight can be defined in terms of theremaining nine state variables of the flat-Earth equations
p q r V α β = 0 u = constant (432)
Additional constraints have to be made to define the exact flight condition Here we considersteady wings-level flight steady turning flight steady pull-up or push-over and steady rollswhich are defined by the following constraints
steady wings-level flight ϕ ϕ θ ψ = 0 (iep q r = 0)steady turning flight ϕ θ = 0 ψ = turn ratesteady pull-up ϕ ϕ ψ = 0 θ = pull-up ratesteady roll θ ψ = 0 ϕ = roll rate
The conditions p q r = 0 require the angular rates ndash and therefore also the aerodynamic andthrust moments ndash to be zero or constant The conditions V α β = 0 require the aerodynamicforces to be zero or constant For this reason the steady-state pull-uppush-over and steady rollconditions can only exist instantaneously Still it can be useful to trim the aircraft dynamicsin such flight conditions (and use the resulting trim values of x and u to linearize the aircraftmodel for these flight conditions) because control systems must operate there too
To find a steady-state flight condition a set of non-linear simultaneous equations derived fromthe state model must be solved Due to the very complex functional dependence of the aero-dynamic data it is in general not possible to solve these equations analytically Instead anumerical algorithm must be used to iteratively adjust the independent variables until somesolution criterion is met The solution will be approximate but can be made arbitrarily closeto the exact solution by tightening up the criterion Also the solution may not be unique forexample steady-state level flight at a given engine power level can correspond to two differentairspeeds and angles of attack Our knowledge of aircraft behavior makes it possible to specifythe required steady-state condition so that the trim algorithm will converge on an appropriatesolution The trim algorithm presented here will deal with the aircraft model only through itsinput and output signals It does not have to work within the model to balance forces and mo-ments separately which makes the trim-routine generally applicable Hence any aircraft modelusing the same input and state vectors as the model from this report can be trimmed with thesame program the internal structure of the aircraft model does not matter
In the next three sections first it will be shown how the steady-state condition can be specifiedhow many of the control variables may be chosen independently and what constraints exist onthe remaining variables Then an algorithm which solves the non-linear equations numericallywill be developed
43 THE TRIMMING FACILITY FROM FDC 12 63
432 Specification of the flight condition
The (initial) values of the altitude airspeed and climb angle for steady-state flight must bespecified by the user within the limits imposed by the engine power Assuming that the con-figuration of the aircraft (flap setting landing gear up or down etc) is pre-specified it can beexpected that a unique combination of control inputs and remaining state variables will existFor the lsquoBeaverrsquo model the flap setting δf and the engine speed n will be pre-specified In gen-eral it is not possible to determine any analytical constraints on the remaining control variablesδe δa δr and pz so these control inputs must be adjusted by the numerical trim algorithmThis is not the case for all state variables
The three states which define the position of the aircraft (xe ye and H) can temporarilybe eliminated from consideration because the only relevant component of the position vectoris the (initial) altitude H which can be pre-specified For steady translational flight the statevariables ϕ p q and r are identically zero and ψ can be selected freely by the user This leavesV α β and θ to be considered The sideslip angle β must be adjusted by the trim algorithm tozero out the sideforce Fy which leaves V α and θ It is customary to impose a flight-path angleconstraint on the steady-state condition so finally the variables V and γ remain to be specifiedby the user In the next section a general rate-of-climb constraint which allows non-zero valuesof the roll angle will be given
In steady-state turning flight ϕ p q and r will differ from zero The turn can be specifiedby the yaw rate ψ or by the turn radius R (ψ = VR) the initial heading can still be specifiedfreely Then p q and r can be determined from the kinematic relations given in appendix B(equation (B60)) given the attitude angles θ and ϕ If the roll angle ϕ is known the requiredpitch angle θ can be obtained from the rate-of-climb constraint which will be treated in the nextsection It is possible to specify the roll angle freely but then in general a significant sideslipangle β will occur which will yield a skidding turn Therefore a constraint for coordinated turnswill be included which will compute the roll and sideslip such that the aircraft is banked at anangle with no component of the aerodynamic side-force Ya
433 The rate-of-climb and turn-coordination constraints
The rate-of-climb and turn-coordination constraints must be solved simultaneously because thefirst constraint involves θ while the latter one involves both θ and ϕ According to ref[25] theflight condition must satisfy the following equation
sin γ = a sin θ minus b cos θ (433)
where
a = cos α cos β
b = sinϕ sinβ + cos ϕ sin α cos β (434)
Solving for θ the resulting rate-of-climb constraint is found to be
tan θ =a b + sin γ
radica2 minus sin2 γ + b2
a2 minus sin2 γ θ = plusmnπ
2 (435)
The coordinated turn constraint can be written as
sinϕ = G cos θ (sinα tan θ + cos α cos ϕ) (436)
with G = ψVg0 (see ref[25]) This equation must be used in conjunction with (435) to trimthe aircraft for turning flight with a specified rate-of-climb If the equations (435) and (436)are solved simultaneously the only remaining variables to be adjusted by the numerical trim
64 CHAPTER 4 ANALYTICAL TOOLS ndash THEORETICAL BACKGROUNDS
algorithm are the angle of attack and sideslip angle and the control inputs According to ref[25]the simultaneous solution equals
tan ϕ = Gcos β
cos α
(a minus b2) + b tan αradic
c (1 minus b2) + G2 sin2 β
a2 minus b2 (1 + c tan2 α)(437)
where
a = 1 minus G tan α sinβ
b =sin γ
cos β(438)
c = 1 + G2 cos2 β
The value of ϕ given by equation (437) can be substituted in (435) to solve for θ For skiddingturns ϕ can be selected freely by the user so then only the rate-of-climb constraint remains tobe solved When the flight-path angle is zero equation (437) reduces to
tan ϕ =G cos β
cos α minus G sin α sinβ(439)
With these flight-path constraints we can develop a general aircraft-trim algorithm which willbe described next
434 The resulting steady-state trimmed-flight algorithm
The trim algorithm determines steady-state flight conditions by searching for the state andcontrol vectors for which the state derivatives V α β p q and r are identically zero This isrealized in practice by applying a numerical minimization routine to a scalar cost function J which equals
J = c1V2 + c2α
2 + c3β2 + c4p
2 + c5q2 + c6r
2 (440)
where ci i isin 1 2 6 are weighting constants According to ref[25] the Simplex algorithmusually performs well as minimization algorithm for the aircraft-trim problem Figure 49 showsthe resulting trim algorithm First the flight condition must be specified The trim programmust make an initial guess for the independent state variables and the control variables whichwill be adjusted during the trim process Next the minimization routine which searches for thevalues of x and u for which the cost function J is minimal will be started The elements of thesevectors which are adjusted by the minimization routine or the constraints are updated for eachiteration step The state equations are then evaluated for the new values of u and x to findthe time-derivative of the state-vector x Substituting the results in equation (440) yields thenew value of J which is returned to the minimization routine A stop criterion which dependsupon the change of J between two iterations is used to decide when to finish the minimizationprocedure Also the maximum number of iterations is limited so the process will stop if nominimum can be found
44 The linearization facility
FDC 12 contains the linearization utility ACLIN which can be used to extract a linearized air-craft model from the graphical non-linear Simulink implementation of the aircraft dynamicsThis utility calls the Simulink program LINMOD for the actual linearization process Thissection will briefly describe the theoretical backgrounds of this linearization process
44 THE LINEARIZATION FACILITY 65
Specify (initial)flight- and aircraft-
condition for trimming
Minimizationalgorithm
Store steady-statevalues of x and u
Aircraft model(evaluate state equations)
x
Scalar cost functionJ(x) = J(xu)
xu
Flight pathconstraints
Figure 49 Trim algorithm from FDC 12
66 CHAPTER 4 ANALYTICAL TOOLS ndash THEORETICAL BACKGROUNDS
First of all consider the non-linear state equation
x(t) = f(x(t)u(t) ) (441)
This expression can be linearized around a certain operating point (x0u0)
x(t) asymp partfpartx
(x minus x0) +partfpartu
(x minus x0) + x0 (442)
where x0 = f(x0u0 ) Moving x0 to the left-hand side of the equation yields
x minus x0 =partfpartx
(x minus x0) +partfpartu
(x minus x0) (443)
Now define
xprime = x minus x0 a vector of length n
uprime = u minus u0 a vector of length m
A =partfpartx
B =partfpartu
Substituting these expressions in equation (443) yields the small-perturbations equation
xprime = Axprime + Buprime (444)
which is the desired linear state equation The task of a numerical linearization algorithm is todetermine the elements of the matrices A and B The matrix A can be written out as follows
A =
partf1
partx1 partf1
partxn
partfn
partx1 partfn
partxn
asymp
∆f1
∆x1 ∆f1
∆xn
∆fn
∆x1 ∆fn
∆xn
=
=
f1(x0+∆x1u0)minusf1(x0u0)∆x1
f1(x0+∆xnu0)minusf1(x0u0)∆xn
fn(x0+∆x1u0)minusfn(x0u0)
∆x1 fn(x0+∆xnu0)minusfn(x0u0)
∆xn
(445)
with
∆xi = ∆xi middot
δi1
δi2
δin
with δij =
0 if i = j
1 if i = j(446)
The columns of A can be gathered in vectors yielding
A =[
f(x0+∆x1u0)minusf(x0u0)∆x1
f(x0+∆xnu0)minusf(x0u0)∆xn
]=
=[
xx1minusx0
∆x1 xxnminusx0
∆xn
](447)
Obviously in this equation we define
xxi equiv f(x0 + ∆xiu0) (448)
which represents the output from the state equation (441) in the operating point with the ith
element of the state vector being perturbed by the amount ∆xi If this perturbation is chosenproperly it is now easy to determine an approximation of the matrix A by subsequently com-puting its columns (i = 1 n)
44 THE LINEARIZATION FACILITY 67
In a similar way the matrix B can be derived This time the elements of the input vectoru need to be perturbed The resulting approximation of B then equals
B =[
f(x0u0+∆u1)minusf(x0u0)∆u1
f(x0u0+∆um)minusf(x0u0)∆um
]=
=[
xu1minusx0
∆u1 xumminusx0
∆um
](449)
In this equation the columns of B were gathered in vectors The following definitions wereapplied
∆ui = ∆ui middot
δi1
δi2
δim
with δij =
0 if i = j
1 if i = j(450)
and
xui equiv f(x0u0 + ∆ui) (451)
Equation (451) represents the output from the state equation (441) in the operating point withthe ith element of the input vector perturbed by the amount ∆ui
The non-linear output equation equals
y(t) = g(x(t)u(t) ) (452)
This equation can also be linearized around the operating point (x0u0)
y(t) asymp partgpartx
(x minus x0) +partgpartu
(x minus x0) + y0 (453)
where y0 = g(x0u0 ) This equation can be developed into the following small-perturbationequation for the output vector y
yprime equiv y minus y0 = Cxprime + Duprime (454)
with
C =partgpartx
D =partgpartu
C and D can be approximated using the same procedure as for the matrices A and B from thestate equation The sizes of these matrices are
A (n times n)B (n times m)C (m times n)D (m times m)
This method has been implemented in the Simulink routine LINMOD There is also a routineLINMOD2 which uses a more advanced version of this method but the basic principles stillapply
68
Chapter 5
FDC implementation of the aircraftmodel
51 General structure of the aircraft model
Recall figure 32 from chapter 3 This figure provides the general framework for the Simu-
link implementation of the non-linear aircraft model The modular structure from figure 32is clearly reflected in the Simulink block-diagram from figure 51 which shows the simulationmodel of the lsquoBeaverrsquo aircraft From left to right we see the atmosphere and airdata equationsin the block Airdata Group the different contributions to the external forces and moments inthe blocks Aerodynamics Group Engine Group Gravity and Fwind a summation of the externalforces and moments in the block FMsort and the equations of motion themselves in the blockAircraft Equations of Motion This latter block contains the twelve state equations some cor-rection blocks and an integrator which determines the time-trajectories of the state variablesSome output variables which are not necessary for solving the equations of motion have beengathered in the subsystem Additional Outputs The block Hlpfcn in the feedback-loop computessome often used sines and cosines of angular values from the state vector On the left-hand sideof the block-diagram we see the external inputvectors uaero and uprop which contain inputsto the aerodynamic and engine models and uwind which contains wind velocity componentsalong the aircraftrsquos body-axes including contributions from atmospheric turbulence On theright-hand side of the diagram all results are gathered in a number of output vectors
The block-diagram from figure 51 thus provides the general picture of the aircraft dynam-ics but it canrsquot be used as first level of the Simulink model because it does not contain allnecessary interfacing functions Figure 52 shows the top-level of the Simulink implementationof the aircraft model which fulfills the inputoutput functions of the system In this level alltwelve scalar input variables are gathered in the three input vectors from figure 51 by means ofMux blocks Since Simulink does not allow the use of input vectors in the top-level of a systemtwelve scalar Inport blocks were needed Figure 51 shows the contents of the central subsystemBeaver dynamics and output equations On the left-hand side of this subsystem the outputs arecombined in one output vector which is sent to the Matlab workspace The most importantresults are extracted from this vector by means of Demux blocks and connected to (scalar) Out-port blocks thus enabling us to connect the aircraft model to other Simulink systems such asan autopilot model Again due to limitations of Simulink itself it is not possible to connect
69
70 CHAPTER 5 FDC IMPLEMENTATION OF THE AIRCRAFT MODEL
output vectors to these Outport blocks1
There are three To Workspace blocks one of which is connected to a Clock in order to createa time-axis for the analysis of simulation results They blocks send all input signals to thematrix In all output signals to the matrix Out and a time-axis to the vector time within theMatlab workspace After running a simulation these matrices can be examined and used forplotting results Enter type inputshlp or type outputshlp for on-line help or double-clickthe blue-colored Mux blocks with shadow borders in the top-level of the aircraft model2 Seealso the descriptions of RESULTS and RESPLOT in chapter 9 The definitions of the matrices Inand Out are given in section E2 of appendix E The To Workspace block that is connected tothe Clock creates a time-vector time which is needed for plotting purposes because Simulink
integrators use variable step-widths Storage of the input signals is useful in cases where theyare generated by other Simulink systems eg control laws or external disturbance blocks
The input signals which enter the system through the Inport blocks in the top-level of a Simulink
system will be called S-function inputs in the remainder of this report Similarly the outputswhich leave the system through the Outport blocks in the top-level will be called S-functionoutputs from now on For practical reasons only a small subset of the output signals have beenconnected to the Outport blocks in the top-level of the system but it is relatively easy to changethis set by adding new Outport blocks and making the right connections For many purposes thecurrent set of outputs will be sufficient Contrary to the S-function outputs the To Workspaceblocks take into account all output signals These results will be called simulation results fromnow on So S-function outputs are intended to be used by other systems while simulation resultsare sent to the Matlab workspace for further analysis after finishing the simulations In thischapter the top-level from the aircraft model Beaver shown in figure 52 will be denoted asLevel 1 while the second level shown in figure 51 will be called Level 2 Level 1 can be openedby typing beaver at the Matlab command-line Zooming in to deeper levels is possible bydouble-clicking the subsystems with the mouse
The masked subsystem blocks from the system Beaver have also been sorted in the followingsublibraries of the main model library FDCLIB
1 airdata atmosphere
2 aerodynamics
3 engine forces and moments
4 gravity and wind forces
5 equations of motion
6 other (output-) equations
These sublibraries may be useful if you plan to use the system Beaver as a template for theimplementation of other aircraft models In order to illustrate the connections between the dif-ferent masked subsystem blocks FDCLIB also contains the unmasked subsystems from BeaverThe model library can be opened by typing fdclib at the command-line
1Luckily Simulink does not have any restrictions with regard to the use of vector inputs and outputs forsubsystems such as the diagram from figure 51 so this rather confusing Muxing and Demuxing is required in thetop-levels of graphical systems only
2All blocks with a blue foreground and white background having shadow borders are linked to an on-line helptext that will be displayed in the Matlab command window when such a block is double-clicked For moreinformation about the color conventions from FDC 12 enter type colorshlp at the command-line
51 GENERAL STRUCTURE OF THE AIRCRAFT MODEL 71
Airdata group
Add + sortforces andmoments
(co)sines ofalpha beta
psi theta phi
Aerodynamicsgroup (Beaver)
Engine group (Beaver)
Gravity forces
Wind forces
Aircraft equationsof motion (Beaver)
Additional outputs
yhlp
x
xdot
FMsort
hlpfcn
4
yuvw
Gravity
15
yatm
18
yad35
ydl9
Caero
1
uaero
7
ypow10
Cprop
2
uprop
6
yfp
16
yad117
yad2
11
FMaero
3
ybvel
2
xdot
1
x
13
Fgrav
Fwind
3
uwind
14
Fwind
8
yacc
-K-
-K-
12
FMprop
Figure 51 Block-diagram of level 2 of the aircraft model Beaver
72 CHAPTER 5 FDC IMPLEMENTATION OF THE AIRCRAFT MODEL
Muxclick2x forinfo
Mux
Double-click for info
Out To Workspace
1
deltaeDemux
1
V
2
deltaa3
deltar 4
deltaf
5
n
Mux
Mux6
pz
2
alpha3
beta4
p5
q6
r7
psi8
theta9
phi10
xe11
ye12
H
Demux13
H dot
7
uw 8
vw9
ww
12
wwdot
11
vwdot
10
uwdot
Mux
Demux
14
pb2V15
qcV16
rb2V
FDC12MORAUW1996
In To Workspace
Clock
time
To Workspace
uaero
uprop
uwind
x
xdot
ydl
Beaver dynamicsand output equations
Figure 52 Block-diagram of top-level of the aircraft model Beaver
52 Conventions used in the Reference Guide chapters
The remainder of this chapter contains a systematical description of the Simulink implementa-tion of the aircraft model from chapter 3 Chapter 6 describes the implementation of the windand turbulence models chapter 7 describes the implementation of the radio-navigation modelsand chapter 8 gives an overview of the Simulink implementation of the analytical tools for theFDC toolbox With regard to the description of the graphical Simulink systems these chaptersall use the same conventions For each block in these systems the basic equations inputvariablesoutputvariables parameters and connections to other blocks will be listed If a block containsother subsystems a list of those subsystems will be given instead of the equations For eachseparate chapter the blocks will be treated in alphabetical order The name of the subsystemsis shown in the upper left corner of the pages the upper right corner shows the position of thesubsystem within the aircraft model (this chapter) or the model library (chapters 6 and 7) Forinstance the description of the block 12 ODEs from the system Beaver has the following header
12 ODEs Level 1 Level 2 Aircraft Equations of Motion 12 ODEs
which indicates that the subsystem 12 ODEs is contained in the third level of the Simulink
system Beaver This subsystem can be accessed by opening the system Beaver (which will revealLevel 1) and then double-clicking the blocks Beaver dynamics and output equations (to revealLevel 2) Aircraft equations of Motion and 12 ODEs respectively If you try to zoom in furtherfor instance by double-clicking the block Eulerdot you will see that the contents of this blockhave been hidden from the user by means of the Masking function of Simulink The individ-ual equations can be accessed only if the block is Unmasked first This may seem somewhatinconvenient but it facilitates the re-usability of blocks from the aircraft model and hence theoverall modularity of the system and it protects the system from being inadvertently disruptedat the level of the basic equations which is the most difficult level to debug Also this black-boxapproach makes it theoretically possible to implement separate blocks by means of Matlab C
52 CONVENTIONS USED IN THE REFERENCE GUIDE CHAPTERS 73
or Fortran subroutines without changing their appearance within the overall system Sinceit is assumed here that the user has direct access to the Simulink models this chapter doesnot contain any pictures of masked subsystems If you want to analyze the contents of maskedsubsystems you must therefore open the respective system on your own computer
The connections paragraphs from the alphabetical block-descriptions list the connectionsbetween different subsystems ordered by their input and output signals For the descriptionof the blocks from the non-linear aircraft model the exact level of the block within the systemBeaver is shown between brackets For instance the signal yatm is sent from the block Atmosphto the block Airdata 1 which both are part of the subsystem Airdata Group In the connectionssection from Airdata 1 this is written as ldquoyatm comes from the block Atmosph (Airdata Group)rdquoThe first two path-items being Level 1 and Level 2 have not been mentioned here to shortenthe notations although they are mentioned in the header lines of the block-descriptions
521 On-line help for FCD 12
Each graphical subsystem contains a blue-colored title-block which lists the block-name the au-thor and the month in which it was made Shadow borders around these blocks mean that theywill reveal more information about the subsystem when being double-clicked This is done bylisting the contents of the appropriate help-file in the Matlab command-window The help-filesare contained in the FDC subdirectory help They can be read also with an ASCII viewer oreditor or by typing type blknamehlp at the Matlab command-line where blkname is thename of the help-file which is usually directly related to the name of the subsystem block Allreference chapters from this report will refer to the appropriate help-text for each subsystemblock whenever on-line help is available Moreover if you double-click a masked subsystemblocks and then click on the help button the name of the appropriate help-file will be displayedOn-line help for the Matlab subroutines from FDC 12 can be viewed by typing help prognameat the command-line where progname is the name of the Matlab routine of interest eg typehelp actrim for more information about the aircraft trim routine Of course you can also viewthe contents of the m-files with an ASCII viewer or editor
Some particularly useful help-texts are
bull inputshlp contains information about the inputs to the system Beaver
bull outputshlp contains information about the outputs from the system Beaver
bull colorshlp gives an overview about the color conventions used in graphical systems fromFDC 12
bull eqmotionhlp describes the subsystem Aircraft Equations of Motion from the non-linearaircraft model
bull level1hlp contains information about the first level of the system Beaver
bull level2hlp contains information about the second level of the system Beaver
bull fdclibhlp gives a short description about the main FDC library FDCLIB
The next pages (pp 74 to 108) describe the blocks and subsystems from the aircraft modelBeaver in alphabetical order
Note appendix A contains a list of symbols reference frames abbreviations and other defi-nitions appendix E lists all acronyms and variable names used by the FDC models and tools
12 ODEs Level 1 Level 2 Aircraft Equations of Motion 12 ODEs
TypeNon-masked subsystem aircraft-independent essential for solving state equations
DescriptionThe subsystem 12 ODEs contains the twelve non-linear Ordinary Differential Equations describingthe aircraft dynamics These equations of motion are valid for all rigid bodies assuming a flat non-rotating Earth (see appendix B) The time-derivatives of the twelve state variables are non-linearfunctions of the state variables themselves and the external forces and moments which in turndepend upon the state variables and external inputs
Subsystemsmasked blocksThere are four masked subsystem blocks contained in the subsystem 12 ODEs
Vabdot computes time-derivatives of the true airspeed angle of attack and sideslip anglepqrdot computes time-derivatives of the angular velocities along the body-axes of the aircraftEulerdot computes time-derivatives of the Euler anglesxyHdot computes time-derivatives of the coordinates and the altitude above sea-level
Inputsx = [ V α β p q r ψ θ ϕ xe ye H ]T state vector x
Ftot = [ Fx Fy Fz ]T total external forces Ftot
Mtot = [ L M N ]T total external moments Mtot
yhlp = [ cos α sin α cos β sin β tan β sin ψ cos ψ sin θ cos θ sin ϕ cos ϕ ]T
often used sines and cosines yhlp
ylowastbvel = [ u + uw v + vw w + ww ]T body-axes velocity components plus wind ybvellowast
Outputsx = [ V α β p q r ψ θ ϕ xe ye H ]T time-derivative of state vector xdot
Note the vector x that leaves the subsystem 12 ODEs must be corrected for the influence of β uponthe aerodynamic side force Ya This correction is made in the block xdotcorr see the accompanyingdescription for more details
ParametersThe masked subsystem Vabdot needs the parameter matrix GM1 the masked subsystem pqrdot needsthe matrix GM2 Use the routine MODBUILD (section 92) for defining these parameters or useLOADER (section 931) for loading them into the Matlab workspace See appendix D for thedefinitions of GM1 and GM2
Connectionsin x comes from the block Integrator (Equations of Motion) Ftot and Mtot come from FMsort yhlp
comes from Hlpfcn ylowastbvel is the sum of the output from uvw (Equations of Motion) and the wind
velocity components from the external input vector uwind
out x (not corrected for implicit nature of the β-equation) is connected to the block xdotcorr (Equationsof Motion)
Enter type 12odeshlp at the command-line for on-line help
74
Accel Level 1 Level 2 Additional Outputs Accel
TypeMasked subsystem aircraft-independent not essential for solving state equations
DescriptionThe masked subsystem block Accel computes some accelerations and specific forces (outputs of ac-celerometers) in the aircraftrsquos center of gravity These output variables are useful for many purposesin AFCS design eg turn-coordination by means of feedback of the specific force along the YB axis ormanoeuvre load limiting However these variables are not used for actually solving the equations ofmotion themselves This block does not compute accelerations for points outside the center of gravitybut similar blocks can be implemented easily
EquationsAs outlined in section 325 the kinematic accelerations in the aircraftrsquos body-axes are equal to
bull Kinematic accelerations axk ayk and azk along the body-axes measured in the vehiclersquos cg
axk =1g0
(u + qw minus rv) =Fx
W
ayk =1g0
(v + ru minus pw) =Fy
W
azk =1g0
(w + pv minus qu) =Fz
W
These accelerations are measured in units of g which explains the division by g0 W = mg is the totalweight of the aircraft measured in [N ] Note the kinematic accelerations differ from the body-axesvelocity rates u v and w because the latter do not contain the angular and translational velocitycross-product terms see section 325
bull Outputs of body-axis accelerometers (specific forces) Ax Ay and Az at the cg [g]
Ax = axk + sin θ = (Fx minus Xgr) WAy = ayk minus cos θ sin ϕ = (Fy minus Ygr) WAz = azk + cos θ cos ϕ = (Fz minus Zgr) W
InputsFtot = [ Fx Fy Fz ]T total external forces Ftot
Fgrav = [ Xgr Ygr Zgr ]T gravity forces Fgrav
Outputsyacc = [ Ax Ay Az axk ayk azk ]T specific forces and accelerations yacc
ParametersAccel needs the parameter vector GM1 to extract the mass m of the aircraft (the mass has beenimplemented as a parameter ie it is assumed that it is constant during the relative short timeintervals considered) Use MODBUILD (section 92) to define GM1 or use LOADER (section 931) toload it into the Matlab workspace See appendix D for the definition of GM1
Connectionsin Ftot comes from the block FMsort Fgrav comes from Gravityout yacc is not used by any other block in the system Beaver
Enter type accelhlp at the command-line for on-line help
75
Additional Outputs Level 1 Level 2 Additional Outputs
TypeNon-masked subsystem aircraft-independent not essential for solving state equations
DescriptionThe non-masked subsystem Additional Outputs contains output equations which are not needed forthe solution of the state equations and which can not logically be included into another non-maskedsubsystem from the non-linear aircraft model The user is free to add or delete rsquoadditional outputblocksrsquo tofrom this subsystem but it is not allowed to use output signals from this subsystem asinputs to the forces and moments blocks or the equations of motion themselves Any function of thestates their time-derivatives external inputs andor disturbances or outputs from other subsystemswithin the Simulink-implementation of the aircraft model may be included in the subsystem AdditionalOutputs1
Subsystemsmasked blocksCurrently there are three masked subsystem blocks contained in the subsystem Additional Outputs
Accel computes specific forces (outputs of accelerometers) and kinematic accelerationsFlpath computes some flight-path variablesuvwdot computes the time-derivatives of the body-axes velocity components
Inputsx = [ V α β p q r ψ θ ϕ xe ye H ]T state vector x
x = [ V α β p q r ψ θ ϕ xe ye H ]T time-derivative of state vector xdot
yhlp = [ cos α sin α cos β sin β tan β sin ψ cos ψ sin θ cos θ sin ϕ cos ϕ ]T
often used sines and cosines yhlp
Ftot = [ Fx Fy Fz ]T total external forces Ftot
Fgrav = [ Xgr Ygr Zgr ]T gravity forces Fgrav
Outputsyfp = [ γ fpa χ Φ ]T flight-path variables yfp
yuvw = [ u v w ]T time-derivatives of body-axes velocities yuvw
yacc = [ Ax Ay Az axk ayk azk ]T specific forces and accelerations yacc
ParametersThe masked subsystem Accel needs the parameter vector GM1 the masked subsystem Flpath needsthe initial value of the state vector xinco Use the routine MODBUILD (section 92) for defining GM1or use LOADER (section 931) for loading this parameter vector into the Matlab workspace UseACTRIM (section 82) for defining a trimmed initial flight condition or use INCOLOAD (section 932)to load one to the workspace See appendix D for the definition of GM1
Connectionsin x comes from the block Integrator (Equations of Motion) x comes from xfix (Equations of Motion)
yhlp comes from Hlpfcn Ftot comes from FMsort Fgrav comes from Gravityout yfp which leaves the block Flightpath (Additional Outputs) yuvw from uvwdot (Additional Outputs)
and yacc from Accel (Additional Outputs) are not connected to any other block in the systemBeaver
Enter type moreoutshlp at the command-line for on-line help
1Since the outputs from the subsystem Additional Outputs are not involved in the solution of the state equationsthemselves the use of time-derivatives of state variables within this subsystem does not yield algebraic loopsHowever care must be taken when feeding back outputs from this subsystem to the input-side of the aircraftmodel eg in autopilot control loops because that may yield an algebraic loop which may be too complicatedfor Simulink to solve See also section 427
76
Aerodynamics Group (Beaver) Level 1 Level 2 Aerodynamics Group
TypeNon-masked subsystem aircraft-dependent essential for solving state equations
DescriptionThe subsystem Aerodynamics Group contains blocks for computing aerodynamic forces and momentswhich act upon the aircraft under consideration In this case the aerodynamic model of the DHC-2lsquoBeaverrsquo described in ref[26] has been implemented The subsystem Aerodynamics Group does notcompute the contributions to the forces and moments due to the slipstream-effects of the propellerthis is done in the subsystem Engine Group
Subsystemsmasked blocksThere are three masked subsystem blocks contained in the subsystem Aerodynamics Group (Beaver)
Aeromod computes the non-dimensional aerodynamic force and moment coefficients for the aircraftunder consideration (currently Aeromod contains the aerodynamic model of the lsquoBeaverrsquofrom ref[26])
Dimless computes non-dimensional angular velocitiesFMdims converts the non-dimensional force and moment coefficients to dimensional forces and mo-
ments
Since the block Aeromod (Beaver) is aircraft-dependent it needs to be replaced if a model of an-other aircraft is implemented However if the definitions of the non-dimensional angular velocitiesare different in another aircraft model it may be more convenient to replace the whole subsystemAerodynamic Group instead Building a large library of aerodynamic models for different aircraft inSimulink makes it easy to simulate many types of aircraft with a minimum of programming efforts
Inputsx = [ V α β p q r ψ θ ϕ xe ye H ]T state vector x
uaero = [ δe δa δr δf ]T aerodynamic control inputs uaero
yad1 = [ a M qdyn ]T basic airdata variables yad1
Outputsydl = [ pb
2VqcV
rb2V ]T non-dimensional angular velocities ydl
Caero = [ CXaCYa
CZaCla Cma
Cna]T aerodynamic force and moment coefficients Caero
FMaero= [ Xa Ya Za La Ma Na ]T dimensional aerodynamic forces and moments FMaero
ParametersThe masked subsystem block Dimless and the block FMdims need the parameter-vector GM1 theblock Aeromod (Beaver) needs the parameter-matrix AM Use MODBUILD (section 92) for definingthese parameters or use LOADER (section 931) for loading them into the Matlab workspace Seeappendix D for the definitions of AM and GM1
Connectionsin x comes from the block Integrator (Equations of Motion) uaero is an external input vector with
aerodynamic control inputs yad1 comes from Airdata1 (Airdata Group)out ydl from Dimless (Aerodynamics Group) is used by the block Aeromod (Aerodynamics Group)
Caero from Aeromod (Aerodynamics Group) is used by FMdims (Aerodynamics Group) FMaero
from FMdims (Aerodynamics Group) is used by the block FMsort
Enter type aerogrphlp at the command-line for on-line help
77
Aeromod (Beaver) Level 1 Level 2 Aerodynamics Group Aeromod
TypeMasked subsystem aircraft-dependent essential for solving state equations
DescriptionThe masked subsystem Aeromod (Beaver) contains the aerodynamic model for the DHC-2 lsquoBeaverrsquoaircraft described in ref[26] For this aircraft the aerodynamic forces and moments are expressed interms of non-linear polynomial functions of state variables and external aerodynamic control inputsIf a model of another aircraft is implemented within the Simulink framework of the lsquoBeaverrsquo modelthis masked subsystem block must be updated which shouldnrsquot be too difficult due to its black-boxstructure In many aircraft models aerodynamic forces and moments are computed by reading outdata from multi-dimensional tables which can be implemented by means of Lookup Table blocks fromthe standard Simulink-libraries Note the aerodynamic model of the lsquoBeaverrsquo as implemented withinAeromod does not take into account contributions to the forces and moments due to the propellerslipstream This is done in the masked subsystem block Engmod within the subsystem Engine Group
EquationsThe aerodynamic model of the lsquoBeaverrsquo expresses the aerodynamic force and moment coefficients interms of non-linear polynomial functions of the state variables and aerodynamic control inputs Themodel includes longitudinal-lateral cross-coupling effects as well as unsteady aerodynamics but itdoes not take into account the influence of compressibility as airspeed is assumed to be low Seeref[26] for more details
bull Aerodynamic force and moment coefficients measured in the body-fixed reference frame
CXa= CX0 + CXα
α + CXα2 α2 + CXα3 α3 + CXq
qc
V+ CXδr
δr + CXδfδf + CXαδf
αδf
ClowastYa
= CY0 + CYββ + CYp
p b
2V+ CYr
rb
2V+ CYδa
δa + CYδrδr + CYδrα
δrα
CZa= CZ0 + CZα
α + CZα3 α3 + CZq
qc
V+ CZδe
δe + CZδeβ2 δeβ2 + CZδf
δf + CZαδfαδf
Cla = Cl0 + Clβ β + Clp
p b
2V+ Clr
rb
2V+ Clδa
δa + Clδrδr + Clδaα
δaα
Cma= Cm0 + Cmα
α + Cmα2 α2 + Cmq
qc
V+ Cmδe
δe + Cmβ2 β2 + Cmr
rb
2V+ Cmδf
δf
Cna= Cn0 + Cnβ
β + Cnp
p b
2V+ Cnr
rb
2V+ Cnδa
δa + Cnδrδr + Cnq
qc
V+ Cnβ3 β3
The values of the stability and control derivatives ie the coefficients of the polynomials are listedin table C3 See also the description of the subroutine MODBUILD in chapter 8
If the block Aeromod (Beaver) is unmasked and double-clicked one can see how the polynomial evalu-ation has been implemented by means of a multiplication of the vector
[1 α α2 α3 β β2 β3 pb
2V
qc
V
rb
2Vδe δa δr αδf αδr αδa δeβ
2 0]T
with the constant parameter matrix AM in which the stability and control derivatives of the lsquoBeaverrsquoare contained Note that the influence of β upon CYa
has been omitted here (the last element ofthe multiplication vector is zero instead of βb2V ) This was necessary in order to prevent the βequation from becoming implicit which would yield an algebraic loop in the simulation model (seesection 427) The error which results from neglecting this term is corrected in the block xdotcorrWith this omission of the β-contribution CYa
has been denoted as ClowastYa
Inputsx = [ V α β p q r ψ θ ϕ xe ye H ]T state vector x
uaero = [ δe δa δr δf ]T aerodynamic control inputs uaero
ydl = [ pb2V
qcV
rb2V ]T non-dimensional angular velocities ydl
78
OutputsCaero = [ CXa
ClowastYa
CZaCla Cma
Cna]T aerodynamic force and moment coefficients Caero
ParametersAeromod needs the parameter matrix AM for reading out the stability and control coefficients Usethe routine MODBUILD (section 92) to define this matrix or use LOADER (section 931) to load itinto the Matlab workspace See appendix D for the definition of the matrix AM
Connectionsin x comes from the block Integrator (Equations of Motion) uaero is an external input vector with
aerodynamic control inputs ydl comes from Dimless (Aerodynamics Group)out Caero is connected to FMdims (Aerodynamics Group)
Enter type aeromodhlp at the command-line for on-line help
79
Aircraft Equations of Motion (Beaver) Level 1 Level 2 Equations of Motion
TypeNon-masked subsystem largely aircraft-independent except for the block xdotcorr essential for solvingthe equations of motion
DescriptionThe subsystem Aircraft Equations of Motion contains the actual non-linear equations of motion inwhich the time-derivatives of the state variables are determined and an Integrator-block for findingthe time-trajectories of the state variables themselves Currently this subsystem still contains oneaircraft-dependent element namely xdotcorr which is needed to correct the time-derivative of thesideslip angle for implicitness of the aerodynamic model
Subsystemsmasked blocksThere are two masked subsystems contained in the subsystem Aircraft Equations of Motion (Beaver)
uvw computes the body-axes velocity components as a function of the true airspeed angle ofattack and sideslip angle
xdotcorr makes corrections to the time-derivatives of the state variables in order to take into accountthe implicit influence of these time-derivatives upon the external (aerodynamic) forces andmoments (here xdotcorr corrects the time-derivative of the sideslip angle to account for thecontribution of β itself to the aerodynamic sideforce Ya)
In addition Aircraft Equations of Motion contains one non-masked subsystem
12 ODEs contains the state equations which express the time-derivatives of the state variables interms of these states themselves and the external forces and moments
and a standard Integrator-block is included to determine the time-trajectories of the state variables asa function of the time-derivatives and the initial condition
InputsFtot = [ Fx Fy Fz ]T total external forces Ftot
Mtot = [ L M N ]T total external moments Mtot
uwind = [ uw vw ww uw vw ww ]T wind velocity components along body-axesand their time-derivatives uwind
yatm = [ ρ ps T micro g ]T basic atmospheric properties yatm
yhlp = [ cos α sin α cos β sin β tan β sin ψ cos ψ sin θ cos θ sin ϕ cos ϕ ]T
often used sines and cosines yhlp
Outputsx = [ V α β p q r ψ θ ϕ xe ye H ]T state vector x
x = [ V α β p q r ψ θ ϕ xe ye H ]T time-derivative of state vector xdot
ybvel = [ u v w ]T body-axes velocity components ybvel
ParametersThe masked subsystem block xdotcorr needs the parameter matrix AM and the vector GM1 Thesubsystem 12 ODEs needs the parameter vector GM1 and the matrix GM2 Use the routine MOD-BUILD (section 92) for defining these parameters or use LOADER (section 931) for loading theminto the Matlab workspace See appendix D for the definitions of AM GM1 and GM2 The blockIntegrator requires the initial value of the state vector xinco which can be computed with the trimroutine ACTRIM or loaded from file with INCOLOAD
Connectionsin Ftot and Mtot come from FMsort uwind is an external input with wind and turbulence velocities
and their time-derivatives yatm comes from Atmosph (Airdata Group) yhlp comes from Hlpfcnout x which leaves the block Integrator (Equations of Motion) is connected to many other blocks in
the system Beaver x from xfix is connected to Accel Flpath and uvwdot (all from the subsystemAdditional Outputs) ybvel from uvw is connected to xyHdot (Equations of Motion 12 ODEs)
Enter type eqmotionhlp at the command-line for on-line help
80
Airdata1 Level 1 Level 2 Airdata Group Airdata 1
TypeMasked subsystem aircraft-independent necessary for solving state equations
DescriptionThe masked subsystem block Airdata1 is used to compute the most important airdata variables whichare often necessary for solving the equations of motion In the lsquoBeaverrsquo model only the dynamicpressure qdyn is actually needed for solving the state equations but for faster flying aircraft the Machnumber M is needed too See Atmosph Airdata2 and Airdata3 for other airdata (-related) equations
Equationsbull Dynamic pressure qdyn [kgmminus2]
qdyn = 12ρV 2
bull Speed of sound a [msminus1]
a =radic
γRT
where γ = 14 = ratio of specific heats of air with constant pressure and constant volume respectivelyand R = RaM0 = 28705 JKminus1kgminus1 = specific gas constant of the air (M0 = 289644 kg kmolminus1 =molecular weight of the air at sea level)
bull Mach number M [minus ]
M =V
a
Inputsx = [ V α β p q r ψ θ ϕ xe ye H ]T state vector x
yatm = [ ρ ps T micro g ]T basic atmospheric properties yatm
Outputsyad1 = [ a M qdyn ]T basic airdata variables yad1
ParametersAll parameters for Airdata1 are defined within the block itself Airdata 1 does not use parameters fromthe Matlab workspace
Connectionsin x comes from the block Integrator (Equations of Motion) yatm comes from Atmosph (Airdata
Group)out yad1 is connected to the blocks Airdata2 and Airdata3 (all from the subsystem Airdata Group)
Enter type airdata1hlp at the command-line for on-line help
81
Airdata2 Level 1 Level 2 Airdata Group Airdata 2
TypeMasked subsystem aircraft-independent in general not necessary for solving the equations of motion
DescriptionThe masked subsystem Airdata2 is used to compute the impact pressure qc the calibrated airspeed Vcand the equivalent airspeed Ve For most aircraft these airdata (-related) variables are not necessaryfor actually solving the equations of motion but they may be useful for other purposes For thisreason the block Airdata2 can be deleted from the Simulink model without affecting the solutions ofthe ODEs The equations from this block are independent of the aircraft under consideration
Equationsbull Impact pressure qc [Nmminus2]
qc = ps
(1 +
γ minus 12
M2
) γγminus1
minus 1
where γ is the ratio of specific heats of air with constant pressure and constant volume respectively(γ = 14)
bull Calibrated airspeed Vc [msminus1]
Vc =
radicradicradicradic 2γ
γ minus 1p0
ρ0
(1 +
qc
p0
) γminus1γ
minus 1
where p0 = 101325 Nmminus2 = air pressure at sea level and ρ0 = 1225 kgmminus3 = air density at sea level
bull Equivalent airspeed Ve [msminus1]
Ve = V
radicρ
ρ0=radic
2qdyn
ρ0
Inputsyatm = [ ρ ps T micro g ]T basic atmospheric properties yatm
yad1 = [ a M qdyn ]T basic airdata variables yad1
Outputsyad2 = [ qc Ve Vc ]T additional airdata (-related) variables yad2
ParametersAll parameters for Airdata2 are defined within the block itself Airdata 2 does not use parameters fromthe Matlab workspace
Connectionsin yatm comes from the block Atmosph (Airdata Group) yad1 comes from Airdata1 (Airdata Group)out yad2 is not connected to any other block in the system Beaver
Enter type airdata2hlp at the command-line for on-line help
82
Airdata3 Level 1 Level 2 Airdata Group Airdata 3
TypeMasked subsystem aircraft-independent in general not necessary for solving the equations of motion
DescriptionThe masked subsystem Airdata3 is used to compute the Reynolds number Rc which refers to themean aerodynamic chord of the aircraft the Reynolds number per unit length Re and the totaltemperature Tt Usually these airdata (-related) variables are not necessary for actually solving theequations of motion but they may be useful for other purposes such as comparing simulations withwindtunnel measurements or tests in real flight The block Airdata3 can be deleted from the Simulink
model of the aircraft without affecting the solutions of the ODEs The equations from this block areindependent of the aircraft under consideration
Equationsbull Total temperature Tt [K]
Tt = T
(1 +
γ minus 12
M2
)bull Reynolds number Rc [minus ]
Rc =ρV c
micro
bull Reynolds number per unit length Re [mminus1]
Re =ρV
micro
Inputsx = [ V α β p q r ψ θ ϕ xe ye H ]T state vector x
yatm = [ ρ ps T micro g ]T basic atmospheric properties yatm
yad1 = [ a M qdyn ]T basic airdata variables yad1
Outputsyad3 = [ Tt Re Rc ]T additional airdata (-related) variables yad3
ParametersAirdata3 needs the parameter vector GM1 in order to read out the mean aerodynamic chord c Usethe routine MODBUILD (section 92) to define this vector or use LOADER (section 931) to load itinto the Matlab workspace See appendix D for the definition of GM1
Connectionsin x comes from the block Integrator (Equations of Motion) yatm comes from Atmosph (Airdata
Group) yad1 comes from Airdata1 (Airdata Group)out yad3 is not connected to any other block in the system Beaver
Enter type airdata3hlp at the command-line for on-line help
83
Airdata Group Level 1 Level 2 Airdata Group
TypeNon-masked subsystem aircraft-independent partly necessary for solving the equations of motionsee the description of the masked subsystems within Airdata Group
DescriptionThe subsystem Airdata Group is used to compute airdata (-related) variables of which some are neededfor solving the equations of motion while others are included as rsquoadditional outputsrsquo Obviouslythe latter variables may be deleted from the Simulink model without affecting the solutions of theequations of motion
Subsystemsmasked blocksThere are four masked subsystem blocks contained in the subsystem Airdata Group
Atmosph computes basic atmospheric properties (air-temperature pressure density) using theICAO Standard Atmosphere model as well as the dynamic viscosity of the air and thegravitational acceleration
Airdata1 computes the most important airdata variables which usually are needed for solving theequations of motion of aircraft
Airdata2 computes more airdata (-related) variables which may be useful for such purposes as com-paring simulations with real flight experiments windtunnel measurements etc
Airdata3 computes still more airdata (-related) variables
The blocks Airdata2 and Airdata3 can be deleted from the Simulink model of the aircraft withoutaffecting the solution of the equations of motion the other two blocks cannot
Inputsx = [ V α β p q r ψ θ ϕ xe ye H ]T state vector x
Outputsyatm = [ ρ ps T micro g ]T basic atmospheric properties yatm
yad1 = [ a M qdyn ]T basic airdata variables yad1
yad2 = [ qc Ve Vc ]T additional airdata (-related) variables yad2
yad3 = [ Tt Re Rc ]T additional airdata (-related) variables yad3
ParametersThe blocks Airdata1 Airdata2 and Atmosph all define their own parameters without reading them fromthe Matlab workspace Airdata3 needs the parameter GM1 Use the routine MODBUILD (section 92)to define this parameter matrix or use LOADER (section 931) to load it into the Matlab workspaceSee appendix D for the definition of GM1
Connectionsin x comes from the block Integrator (Equations of Motion)out yatm which leaves the block Atmosph is connected to the blocks Airdata1 Airdata2 and Airdata3
(all from the subsystem Airdata Group) Power (Engine Group) Gravity and xdotcorr (Equations ofMotion) yad1 from Airdata1 is connected to Airdata2 (Airdata Group) Airdata3 (Airdata Group)and FMdims (Aerodynamics Group or Engine Group) yad2 from Airdata2 and yad3 from Airdata3are not connected to any other block in the system Beaver
Enter type adgrphlp at the command-line for on-line help
84
Atmosph Level 1 Level 2 Airdata Group Atmosph
TypeMasked subsystem aircraft-independent necessary for solving state equations
DescriptionThe block Atmosph is used to compute some basic atmospheric properties using the ICAO StandardAtmosphere model (see for instance ref[23] for a description of that model) Atmosph also computesthe gravitational acceleration g and the dynamic viscosity micro The outputs from Atmosph are usedby the block Airdata1 for the calculation of airdata variables that need to be known for solving theequations of motion Therefore Atmosph should not be deleted from the Simulink model of theaircraft
Equationsbull Air temperature T in the troposphere according to the ICAO Standard Atmosphere model [K]
T = T0 + λH
where T0 = 28815 K = air temperature at sea level and λ = minus00065 Kmminus1 = temperature gradientin troposphere In this equation the small difference between the geometrical altitude h and thegeopotential altitude H has been neglected in view of the altitudes considered see section 324
bull Static air pressure in Standard Atmosphere ps [Nmminus2]
ps = p0
(T0
T
) gλR
where p0 = 101325 Nmminus2 = air pressure at sea level and R = RaM0 = 28705 JKminus1kgminus1 = specificgas constant of the air (M0 = 289644 kg kmolminus1 = molecular weight of the air at sea level)
bull Air density ρ [kgmminus3] according to the gas law for ideal gasses
ρ =ps
RT
bull Coefficient of the dynamic viscosity micro [kgmminus1sminus1] according to Sutherlandrsquos equation (see ref[23])
micro =1458 middot 10minus6 T
32
T + 1104
bull Gravitational acceleration g [msminus2]
g = g0
(REarth
REarth + h
)2
where g0 = 980665 msminus2 = gravitational acceleration at sea level and REarth = 6371020 m = radiusof the Earth Note although this equation uses the radius of the Earth the state equations in theblock 12 ODEs are still based upon a flat-Earth model This equation only takes into account thealtitude-dependency of the gravitational acceleration
Inputsx = [ V α β p q r ψ θ ϕ xe ye H ]T state vector x
Outputsyatm = [ ρ ps T micro g ]T basic atmospheric properties yatm
ParametersAll parameters for Atmosph are defined within the block itself Atmosph does not use parameters fromthe Matlab workspace
Connectionsin x comes from the block Integrator (Equations of Motion)out yatm is connected to the blocks Airdata1 Airdata2 Airdata3 (all from the subsystem Airdata
Group) Power (Engine Group) Gravity and xdotcorr (Equations of Motion)
Enter type atmosphhlp at the command-line for on-line help
85
Dimless Level 1 Level 2 Aerodynamics Group Dimless
TypeMasked subsystem aircraft-independent necessary for solving the equations of motion
DescriptionThe masked subsystem block Dimless is used to obtain non-dimensional roll pitch and yaw ratesneeded by the aerodynamic model of the lsquoBeaverrsquo If you plan to implement a model of another aircraftwithin the structure of the lsquoBeaverrsquo model be sure to compare the definitions of non-dimensionalvariables with the equations given below Many textbooks use different expressions for making theangular velocities non-dimensional the definitions used here are typical for most models developedwithin the section Stability and Control of the Faculty of Aerospace Engineering Apart from thisthe equations are independent of the aircraft under consideration
Equationsbull Non-dimensional roll rate
p rarr p b
2V
bull Non-dimensional pitch rate
q rarr qc
V
bull Non-dimensional yaw rate
r rarr r b
2V
Inputsx = [ V α β p q r ψ θ ϕ xe ye H ]T state vector x
Outputsydl = [ pb
2VqcV
rb2V ]T non-dimensional angular velocities ydl
ParametersDimless needs the parameter vector GM1 for reading out the wing span b and mean aerodynamic chordc Use the routine MODBUILD (section 92) to define this vector or use LOADER (section 931) toload it into the Matlab workspace See appendix D for the definition of GM1
Connectionsin x comes from the block Integrator (Equations of Motion)out ydl is connected to Aeromod (Aerodynamics Group)
Enter type dimlesshlp at the command-line for on-line help
86
Engine Group (Beaver) Level 1 Level 2 Engine Group
TypeNon-masked subsystem aircraft-dependent necessary for solving state equations
DescriptionThe subsystem Engine Group contains blocks which determine the engine power of the lsquoBeaverrsquo andcompute the resulting forces and moments due to operation of the powerplant including contributionsof the propeller slipstream Naturally this subsystem is dependent of the aircraft under considerationUsers who want to adapt the system Beaver for the implementation of a model of another aircraftneed to replace the engine model from this subsystem
Subsystemsmasked blocksThere are three masked subsystems contained within the subsystem Engine Group
Power computes the engine power and the non-dimensional pressure increase across the propellerfor the lsquoBeaverrsquo aircraft
Engmod computes non-dimensional force and moment coefficients which are caused by the operationof the powerplant including slipstream effects
FMdims makes the non-dimensional force and moment coefficients dimensional
Inputsx = [ V α β p q r ψ θ ϕ xe ye H ]T state vector x
uprop = [ n pz ]T external propulsion inputs uprop
yatm = [ ρ ps T micro g ]T basic atmospheric properties yatm
yad1 = [ a M qdyn ]T basic airdata variables yad1
Outputsypow = [ dpt P ]T engine power related variables ypow
Cprop = [ CXpCYp
CzpClp Cmp
Cnp]T propulsive force and moment coefficients Cprop
FMprop= [ Xp Yp Zp Lp Mp Np ]T dimensional propulsive forces and moments FMprop
ParametersThe block Engmod needs the engine model parameter matrix EM FMdims needs the parameter vectorGM1 Use the routine MODBUILD (section 92) to define these parameters or use LOADER (sec-tion 931) to load them into the Matlab workspace See appendix D for the definitions of EM andGM1
Connectionsin x comes from the block Integrator (Equations of Motion) uprop is an external input vector with
engine inputs yatm comes from Atmosph (Airdata Group) yad1 comes from Airdata1 (AirdataGroup)
out ypow which leaves Power (Engine Group) is connected to the block Engmod (Engine Group) Cprop
from Engmod (Engine Group) is connected to FMdims (Engine Group) FMprop from FMdims(Engine Group) is connected to FMsort
Enter type enggrphlp at the command-line for on-line help
87
Engmod (Beaver) Level 1 Level 2 Engine Group Engmod
TypeMasked subsystem aircraft-dependent necessary for solving the equations of motion
DescriptionThe masked subsystem block Engmod (Beaver) contains the engine forces and moments model forthe lsquoBeaverrsquo aircraft according to ref[26] It computes the force and moment coefficients which arecaused by the operation of the powerplant including the contribution of the propeller slipstream Thisengine forces and moments model can be used as a typical example for other propeller-driven aircraftObviously this block is aircraft-dependent which implies that it must be replaced if a model of anotheraircraft is to be implemented within the FDC structure Due to the black-box character of this blockthis is not too difficult even if the structure of the engine model itself differs considerably from thepolynomial structure of the lsquoBeaverrsquo model (eg a model which is based upon multi-dimensional look-up tables) or if the aircraft has another type of engine (eg a jet engine instead of a piston-drivenpropeller) or more than one engine
Equationsbull Non-dimensional force and moment coefficients along the body axes due to operation of the power-plant including the influence of the propeller slipstream (see ref[26])
CXp= CXdpt
dpt + CXα dpt2
α dpt2
CYp= 0
CZp= CZdpt
dpt
Clp = Clα2dpt
α2dpt
Cmp= Cmdpt
dpt
Cnp= Cndpt3
dpt3
See table C4 in appendix C for the values of the stability derivatives from the polynomial equationsfor the non-dimensional propulsive forces and moments See also the description of MODBUILD inchapter 4
Inputsx = [ V α β p q r ψ θ ϕ xe ye H ]T state vector x
ypow = [ dpt P ]T engine power related variables ypow
OutputsCprop = [ CXp
CYpCzp
Clp CmpCnp
]T propulsive force and moment coefficients Cprop
ParametersEngmod needs the parameter matrix EM for reading out the stability coefficients of the engine forcesand moments model Use the routine MODBUILD (section 92) for defining this matrix or use LOADER(section 931) to load it into the Matlab workspace See appendix D for the definition of EM
Connectionsin x comes from the block Integrator (Equations of Motion) ypow comes from Power (Engine Group)out Cprop is connected to FMdims (Engine Group)
Enter type engmodhlp at the command-line for on-line help
88
Eulerdot Level 1 Level 2 Aircraft Equations of Motion 12 ODEs Eulerdot
TypeMasked subsystem aircraft-independent contains three state equations
DescriptionThe masked subsystem block Eulerdot is used to compute the time-derivatives of the Euler angles iethe yaw angle ψ pitch angle θ and roll angle ϕ which belong to the twelve time-derivatives of thestate variables of the non-linear aircraft model Eulerdot is contained within the subsystem 12 ODEswhich itself is contained within the subsystem Aircraft Equations of Motion In 12 ODEs the threeoutputs from Eulerdot are Muxed together with the time-derivatives of the other nine state variables
Equationsbull Time-derivatives of the Euler angles ψ θ and ϕ [rad sminus1]
ψ =q sin ϕ + r cos ϕ
cos θ
θ = q cos ϕ minus r sinϕ
ϕ = p + ψ sin θ
Inputsueul = [ xT Ftot
T MtotT yhlp
T ]T input vector to Eulerdot ueul
wherex = [ V α β p q r ψ θ ϕ xe ye H ]T state vector x
Ftot = [ Fx Fy Fz ]T total external forces Ftot
Mtot = [ L M N ]T total external moments Mtot
yhlp = [ cos α sin α cos β sin β tan β sinψ cos ψ sin θ cos θ sinϕ cos ϕ ]T
often used sines and cosines yhlp
Outputsyeul = [ ψ θ ϕ ]T (part of x) time-derivatives of the Euler angles yeul
Parametersnone
Connectionsin x comes from the block Integrator (Equations of Motion) Ftot and Mtot come from FMsort yhlp
comes from Hlpfcnout yeul is Muxed together with the time-derivatives of the other state variables into the vector x (not
corrected for the implicit nature of the β-equation) which is connected to xdotcorr (Equations ofMotion)
Enter type eulerdothlp at the command-line for on-line help
89
Flpath Level 1 Level 2 Additional Outputs Flpath
TypeMasked subsystem aircraft-independent not necessary for solving the equations of motion
DescriptionThe masked subsystem Flpath is used to compute some flight-path (-related) variables Its outputsare not used by any other block from the non-linear aircraft model hence they are not essential forsolving the equations of motion For this reason the block Flpath has been put in the subsystemAdditional Outputs which may be deleted from the non-linear aircraft model at any time You arefree to add or delete equations tofrom this subsystem according to your own needs
Equationsbull Flight-path angle γ [rad ]
γ = arcsin
(H
V
)
bull Flight-path acceleration fpa = acceleration in the direction of the true airspeed vector V [g ]
fpa =V
g0
with g0 = 980665 msminus1 = gravitational acceleration at sea level
bull Azimuth angle χ [rad ]
χ = β + ψ
bull Bank angle Φ [rad ]
Φ = ϕ cos(θ minus α0)
Inputsx = [ V α β p q r ψ θ ϕ xe ye H ]T state vector x
x = [ V α β p q r ψ θ ϕ xe ye H ]T time-derivative of state vector xdot
Outputsyfp = [ γ fpa χ Φ ]T flight-path variables yfp
ParametersFlpath needs the steady-state value of the angle of attack α0 for computing the bank angle This initialvalue is extracted from the vector xinco which can be computed with the aircraft trim routine ACTRIM(section 82) or loaded into the Matlab workspace from a file using INCOLOAD (section 932) Thegravity constant g0 which is used to normalize the flight-path acceleration fpa is defined within theblock Flpath itself
Connectionsin x comes from the block Integrator (Equations of Motion) x comes from xfix (Equations of Motion)out yfp is not connected to any other block in the system Beaver
Enter type flpathhlp at the command-line for on-line help
90
FMdims Level 1 Level 2 Aerodynamics Group FMdims
Level 1 Level 2 Engine Group FMdims
TypeMasked subsystem aircraft-independent necessary for solving state equations
DescriptionFor the lsquoBeaverrsquo aircraft both the aerodynamic model and the engine forces and moments modelexpress the forces and moments in terms of non-dimensional coefficients The masked subsystem blockFMdims is used to obtain dimensional forces and moments from these non-dimensional coefficientsThe equations used here are typical for most aircraft models used within the section Stability andControl of the Faculty of Aerospace Engineering but other textbooks may use different equations
Equationsbull Dimensional forces [N ]
Xa = CXaqdyn S
Ya = CYaqdyn S
Za = CZaqdyn S
bull Dimensional moments [Nm]
La = Cla qdyn S bMa = Cma
qdyn S cNa = Cna
qdyn S b
(replace the index a by p for FMdims in the subsystem Engine Group)
Inputsyad1 = [ a M qdyn ]T basic airdata variables yad1
Caero = [ CXaCYa
CzaCla Cma
Cna]T aerodynamic force and moment coefficients Caero
orCprop = [ CXp
CYpCzp
Clp CmpCnp
]T propulsive force and moment coefficients Cprop
OutputsFMaero= [ Xa Ya Za La Ma Na ]T dimensional aerodynamic forces and moments FMaero
orFMprop= [ Xp Yp Zp Lp Mp Np ]T dimensional propulsive forces and moments FMprop
ParametersFMdims needs the parameter vector GM1 for reading out the mean aerodynamic chord c the wingspan b and the wing surface S Use the routine MODBUILD (section 92) to define this vector or useLOADER (section931) for loading it into the Matlab workspace See appendix D for the definitionof GM1
Connectionsin yad1 comes from Airdata1 (Airdata Group) Caero comes from Aeromod (Aerodynamics Group)
Cprop comes from Engmod (Engine Group)out FMaero or FMprop are connected to FMsort
Enter type fmdimshlp at the command-line for on-line help
91
FMsort Level 1 Level 2 FMsort
TypeMasked subsystem aircraft-independent necessary for solving state equations
DescriptionThe masked subsystem block FMsort is used to compute the resulting forces and moments and to sortthem in two separate vectors Its inputs are vectors from the blocks Aerodynamics Group Engine GroupGravity and Fwind in which the different contributions to the external forces and moments acting uponthe aircraft are computed By using a separate block FMsort for sorting these forces and moments andadding the different contributions to each other it becomes easy to implement other contributions tothese forces and moments within the model eg forces from the landing gear for taxiing aircraft Forsuch enhancements the user must include the appropriate subsystem(s) for computing the additionalcontributions to the body-axes forces and moments and make the appropriate changes to the blockFMsort (after unmasking this block)
Equationsbull Resulting forces along the body-axes [N ]
Fx = Xa +Xp +Xgr +Xw
Fy = Ya +Yp +Ygr +Yw
Fz = Za +Zp +Zgr +Zw
bull Resulting moments about the body-axes [Nm]
L = La +Lp
M = Ma +Mp
N = Na +Np
InputsFMaero= [ Xa Ya Za La Ma Na ]T dimensional aerodynamic forces and moments FMaero
FMprop= [ Xp Yp Zp Lp Mp Np ]T dimensional propulsive forces and moments FMprop
Fgrav = [ Xgr Ygr Zgr ]T gravity force components along body-axes Fgrav
Fwind = [ Xw Yw Zw ]T corrections to body-axes forces in non-steady atmosphere Fwind
OutputsFtot = [ Fx Fy Fz ]T total external forces Ftot
Mtot = [ L M N ]T total external moments Mtot
Parametersnone
Connectionsin FMaero comes from Aeromod (Aerodynamics Group) FMprop comes from Engmod (Engine Group)
Fgrav comes from Gravity Fwind comes from Fwindout Ftot and Mtot are both connected to Vabdot pqrdot Eulerdot and xyHdot (all from the subsystem
Equations of Motion 12 ODEs) Ftot is also connected to Accel (Additional Outputs)
Enter type fmsorthlp at the command-line for on-line help
92
Fwind Level 1 Level 2 Fwind
TypeMasked subsystem aircraft-independent necessary for solving the equations of motion in a non-steadyatmosphere
DescriptionThe masked subsystem block Fwind is used to compute correction terms which are to be added to theforces along the aircraftrsquos body-axes if flight in non-steady atmosphere is considered These correctionterms depend upon the components of the wind velocity vector Vw along the aircraftrsquos body-axes thetime-derivatives of these wind components and the roll pitch and yaw rates of the aircraft
Equationsbull Correction terms to the body-axes forces in non-steady atmosphere [N ]
Xw = minusm (uw + qww minus rvw)Yw = minusm (vw minus pww + ruw)Zw = minusm (ww + pvw minus quw)
Inputsx = [ V α β p q r ψ θ ϕ xe ye H ]T state vector x
uwind = [ uw vw ww uw vw ww ]T wind velocity components along body-axesand their time-derivatives uwind
OutputsFwind = [ Xw Yw Zw ]T corrections to body-axes forces in non-steady atmosphere Fwind
ParametersFwind needs the parameter vector GM1 in order to extract the mass m of the aircraft (the masshas been implemented as a parameter ie it is assumed that it is constant during the relative shorttime intervals considered) Use the routine MODBUILD (section 92) to define GM1 or use LOADER(section 931) to load it into the Matlab workspace See appendix D for the definition of GM1
Connectionsin x comes from the block Integrator (Equations of Motion) uwind is an external input vector with
wind and turbulence velocities and the time-derivatives of these velocity componentsout Fwind is connected to FMsort
Enter type fwindhlp at the command-line for on-line help
93
Gravity Level 1 Level 2 Gravity
TypeMasked subsystem aircraft-independent necessary for solving state equations
DescriptionThe masked subsystem block Gravity computes the contribution of the aircraftrsquos weight W along thebody-axes In order to do so the Euler angles ψ θ and ϕ need to be known In the current modelthe gravitational acceleration varies with height This variable is obtained from the block Atmosph
Equationsbull Contribution of the aircraft weight to the forces along the body-axes [N ]
Xgr = minus W sin θYgr = W cos θ sinϕZgr = W cos θ cos ϕ
with W = mg = weight of the aircraft [N ]
Inputsx = [ V α β p q r ψ θ ϕ xe ye H ]T state vector x
yatm = [ ρ ps T micro g ]T basic atmospheric properties yatm
OutputsFgrav = [ Xgr Ygr Zgr ]T gravity force components along body-axes Fgrav
ParametersGravity needs the parameter vector GM1 in order to read out the mass m (which has been implementedas a parameter ie it is assumed to be constant during the relatively short time interval considered)Use the routine MODBUILD (section 92) to define GM1 or use LOADER (section 931) to load itinto the Matlab workspace See appendix D for the definition of GM1
Connectionsin x comes from the block Integrator (Equations of Motion) yatm comes from Atmosph (Airdata
Group)out Fgrav is connected to FMsort
Enter type gravityhlp at the command-line for on-line help
94
Hlpfcn Level 1 Level 2 Hlpfcn
TypeMasked subsystem aircraft-independent help-function block necessary for solving the equations ofmotion due to the current model structure
DescriptionThe masked subsystem block Hlpfcn is used to compute some frequently used sines and cosines ofthe angle of attack sideslip angle and Euler angles These computations have been combined in oneblock for reasons of efficiency in this way many double computations have been eliminated in thesimulation model The outputs from this blocks are used by several other subsystems For this reasonthe block Hlpfcn has been included in a feedback loop within the system Beaver
EquationsHlpfcn simply computes the required sines and cosines and puts the results into one vector
Inputsx = [ V α β p q r ψ θ ϕ xe ye H ]T state vector x
Outputsyhlp = [ cos α sin α cos β sin β tan β sinψ cos ψ sin θ cos θ sinϕ cos ϕ ]T
often used sines and cosines yhlp
Parametersnone
Connectionsin x comes from the block Integrator (Equations of Motion)out yhlp is connected to uvw xdotcorr (Equations of Motion) Eulerdot pqrdot Vabdot xyHdot (all
from the subsystem Equations of Motion 12 ODEs and uvwdot (Additional Outputs)
Enter type hlpfcnhlp at the command-line for on-line help
95
Integrator Level 1 Level 2 Aircraft Equations of Motion Integrator
TypeStandard Simulink block necessary for solving the equations of motion
DescriptionThe block Integrator is used to obtain the time-trajectories of the twelve state variables from theirtime-derivatives It expects the initial values of the state variables to be defined within the Matlab
workspace before starting a new simulation
Equationsbull Update of the state vector for the current time-step
x(tn+1) = x(tn) +int tn+1
tn
x(t)dt n = 0 1
where the integral is approximated by a numerical integration method as explained in section 42
Inputsx = [ V α β p q r ψ θ ϕ xe ye H ]T time-derivative of state vector xdot
Outputsx = [ V α β p q r ψ θ ϕ xe ye H ]T state vector x
ParametersThe initial value of the state vector must be defined in the vector xinco A steady-state initial valuecan be computed with the aircraft trim routine ACTRIM (section 82) or it can be loaded into theMatlab workspace from a file using INCOLOAD (section 932) Of course it is also possible tomanually define xinco
Connectionsin x comes from the block xdotcorr (Equations of Motion)out x is connected to most other blocks in the system Beaver
96
Level 1 Level 1
TypeFirst level of aircraft model (graphical Simulink system which contains the inputoutput blocks forthe aircraft model
DescriptionThe first level of the system Beaver fulfills the inputoutput functions of this system All inputs andoutputs are sent to the workspace by means of To Workspace blocks A time-signal is also sent to theworkspace in order to make it possible to plot the simulation results The most important outputsare connected to Outport blocks These outputs can be used by other Simulink systems Inputs fromother Simulink systems are sent through by means of twelve Inport blocks (six control inputs and sixInports for atmospheric disturbances) Unfortunately Simulink does not allow passing vector signalsthrough the Inports and Outports in the first level of a graphical system This is why only a subsetof the outputs from Beaver leave the system through these Outport blocks All results are availablein the workspace however The signals which are passed through the Inports and Outports are calledS-function inputs and outputs respectively in all help-files for the FDC toolbox
Subsystemsmasked blocksThe first level of the system Beaver contains Inport Outport Mux Demux and To Workspace blocksto manipulate the inputs and outputs from this system A clock block has been included to providea time-basis for plotting purposes in the Matlab workspace The actual aircraft model is containedin the subsystem Beaver dynamics and output equations which has shortly been denoted by Level 2 inthis report
InputsThe inputs to Level 1 are the twelve S-function inputs to the system Beaver δe δa δr δf n pz uwvw ww uw vw and ww These inputs are connected to scalar Inport blocks and Muxed in order toobtain the three external input vectors uaero uprop and uwind See the description of Level 2 for thedefinitions of these vectors See also figure 52 from section 51
OutputsLevel 1 has sixteen S-function outputs which are connected to scalar Outport blocks V α β p q rψ θ ϕ xe ye H H pb
2V qcV and rb
2V These outputs are obtained from the output vectors x x andydl as shown in figure 52 from section 51 In addition all output signals from the subsystem Level2 are sent to the Matlab workspace by means of To Workspace blocks See the description of Level2 for the definitions of the output vectors
ParametersThe subsystem Beaver dynamics and output relations (Level 2) needs the variables AM EM GM1 GM2 xfix and xinco which contain the model parameters for the lsquoBeaverrsquo to be defined in theMatlab workspace See the description of Level 2 for more details
ConnectionsLevel 1 is the IO level of the system Beaver where all input and output vectors are Muxed together andsent to the Matlab workspace by means of To Workspace blocks (see the on-line help files inputshlp
and outputshlp for more details) All inputs are sent to and all outputs are extracted from thesubsystem Level 2
Enter type level1hlp at the command-line for on-line help
97
Level 2 Level 1 Level 2
TypeSubsystem of Level 1 which contains the actual modular non-linear aircraft model
DescriptionThe second level of the system Beaver contains the actual implementation of the non-linear aircraftmodel Its block-diagram is shown in figure 51 in section 51 (compare this diagram with the schemefrom figure 32 in chapter 3)
Subsystemsmasked blocksThere are four masked subsystem blocks contained in Level 2
FMsort adds the different contributions to the external forces and moments and sorts out separatevectors with the force and moment components along the aircraftrsquos body-axes
Fwind computes the contributions to the external forces and moments due to non-steady atmos-phere (wind and turbulence)
Gravity computes the gravitational forces along the aircraftrsquos body-axesHlpfcn computes sines and cosines of α β ψ θ and ϕ needed by other blocks from Beaver
In addition Level 2 contains five non-masked subsystems
Additional outputs computes some lsquoadditionalrsquo output variables which are not necessary for the so-lution of the equations of motion themselves (in this case additional accelerations and flight-pathvariables are determined)
Aerodynamics Group (Beaver) computes the aerodynamic forces and moments for the lsquoBeaverrsquo aircraft
Aircraft equations of motion (Beaver) contains the general differential equations for the rigid-bodydynamics plus an aircraft-dependent correction for the time-derivatives of the state variables
Airdata Group computes airdata (-related) variables
Engine Group (Beaver) computes the propulsive forces and moments for the lsquoBeaverrsquo aircraft
See figure 51 in section 51 for more details
Inputsuaero = [ δe δa δr δf ]T aerodynamic control inputs uaero
uprop = [ n pz ]T external propulsion inputs uprop
uwind = [ uw vw ww uw vw ww ]T wind velocity components along body-axesand their time-derivatives uwind
Outputsx = [ V α β p q r ψ θ ϕ xe ye H ]T state vector x
x = [ V α β p q r ψ θ ϕ xe ye H ]T time-derivative of state vector xdot
ybvel = [ u v w ]T body-axes velocity components ybvel
yuvw = [ u v w ]T time-derivatives of body-axes velocities yuvw
ydl = [ pb2V
qcV
rb2V ]T non-dimensional angular velocities ydl
yfp = [ γ fpa χ Φ ]T flight-path variables yfp
ypow = [ dpt P ]T engine power related variables ypow
yacc = [ Ax Ay Az axk ayk azk ]T specific forces and accelerations yacc
Caero = [ CXaCYa
CZaCla Cma
Cna]T aerodynamic force and moment coefficients Caero
Cprop = [ CXpCYp
CzpClp Cmp
Cnp]T propulsive force and moment coefficients Cprop
FMaero= [ Xa Ya Za La Ma Na ]T dimensional aerodynamic forces and moments FMaero
FMprop= [ Xp Yp Zp Lp Mp Np ]T dimensional propulsive forces and moments FMprop
Fgrav = [ Xgr Ygr Zgr ]T gravity forces Fgrav
98
Fwind = [ Xw Yw Zw ]T corrections to body-axes forces in non-steady atmosphere Fwind
yatm = [ ρ ps T micro g ]T basic atmospheric properties yatm
yad1 = [ a M qdyn ]T basic airdata variables yad1
yad2 = [ qc Ve Vc ]T additional airdata (-related) variables yad2
yad3 = [ Tt Re Rc ]T additional airdata (-related) variables yad3
ParametersThe subsystems from Level 2 require the variables AM EM GM1 GM2 xfix and xinco to be definedin the Matlab workspace The following list shows which variables are needed by which (masked ornon-masked) subsystem from Level 2
AM Aerodynamics Group (Beaver)Aircraft Equations of Motion (Beaver)
EM Engine Group (Beaver)
GM1 Additional Outputs Aerodynamics Group (Beaver) Aircraft Equations of Motion (Beaver)Airdata Group Engine Group (Beaver) Fwind Gravity
GM2 Aircraft Equations of Motion (Beaver)
xfix Aircraft Equations of Motion (Beaver)
xinco Additional Outputs Aircraft Equations of Motion (Beaver)
The variables AM EM GM1 and GM2 can be defined by the routine MODBUILD (section 92) orretrieved from file by LOADER (section 931) The variable xfix can be used to fix state variablesartificially to their initial values It is defined by LOADER and can be altered by FIXSTATE (section 95)if required The initial value of the state vector is obtained from xinco which can be computed withthe trim routine ACTRIM (section 82) or loaded from file with INCOLOAD (section 932)
Connectionsin all input vectors are obtained from Level 1 by means of Inport blocks in Level 2out all output vectors from the aircraft model (except for some very trivial results such as the help
vector yhlp are sent to Level 1 by means of standard Outport blocks
Enter type level2hlp at the command-line for on-line help
99
Power (Beaver) Level 1 Level 2 Engine Group Power
TypeMasked subsystem block aircraft-dependent necessary for solving state equations
DescriptionThe masked subsystem block Power (Beaver) is used to compute the engine power P and the non-dimensional increase in total pressure across the propeller dpt For the lsquoBeaverrsquo there is a simplerelation between P dpt and the airspeed V Moreover the engine power itself is expressed by onlyone simple equation which made it very easy to implement the engine model of the lsquoBeaverrsquo in themasked Simulink subsystem Power See also ref[26] The non-dimensional pressure-increase is usedto compute the contribution of the engine to the external forces and moments and the influence ofchanges in airspeed Obviously the block Power (Beaver) will need to be replaced by another enginemodel if the FDC model structure is used to implement a model of another aircraft In that case itmay be necessary to use more complex solutions such as a table lookup routine instead of the simpleequations used here Due to the black-box structure of the model this shouldnrsquot be a problem
Equationsbull Non-dimensional pressure increase across the propeller dpt [minus ]
dpt =∆pt12ρV 2
= C1 + C2
(P
12ρV 3
)
with P12 ρV 3 measured in [kW kgminus1 s3] and C1 = 008696 C2 = 19118 see ref[26]
bull Engine power P [Nmsminus1]
P = 07355minus3265 +
(000412(pz + 74)(n + 2010) + (4080 minus 00965n)
(10 minus ρ
ρ0
))Inputs
x = [ V α β p q r ψ θ ϕ xe ye H ]T state vector x
uprop = [ n pz ]T external propulsion inputs uprop
yatm = [ ρ ps T micro g ]T basic atmospheric properties yatm
Outputsypow = [ dpt P ]T engine power related variables ypow
ParametersPower does not use parameters from the Matlab workspace it defines all required parameters withinthe block itself
Connectionsin x comes from the block Integrator (Equations of Motion) uprop is an external input vector with
engine inputs yatm comes from Atmosph (Airdata Group)out ypow is connected to Engmod (Engine Group)
Enter type powerhlp at the command-line for on-line help
100
pqrdot Level 1 Level 2 Aircraft Equations of Motion 12 ODEs pqrdot
TypeMasked subsystem block aircraft-independent contains three state equations
DescriptionThe masked subsystem block pqrdot is used to compute the time-derivatives of the roll rate p pitchrate q and the yaw rate r These time-derivatives are functions of the angular velocities themselvesand the external moments about the body-axes of the aircraft as shown in the equations below Thecoefficients Ppp Ppq Ppr Rm and Rn are inertia parameters see table B2 in appendix BThe block pqrdot is contained in the subsystem 12 ODEs which itself is contained in the subsystemAircraft Equations of Motion In 12 ODEs the three outputs from pqrdot are Muxed together with thetime-derivatives of the other nine state variables
Equationsbull Time-derivatives of the angular velocities along the body-axes [rad sminus2]
p = Pppp2 + Ppqpq + Pprpr + Pqqq
2 + Pqrqr + Prrr2 + PlL + PmM + PnN
q = Qppp2 + Qpqpq + Qprpr + Qqqq
2 + Qqrqr + Qrrr2 + QlL + QmM + QnN
r = Rppp2 + Rpqpq + Rprpr + Rqqq
2 + Rqrqr + Rrrr2 + RlL + RmM + RnN
Inputsupqr = [ xT Ftot
T MtotT yhlp
T ]T input vector to pqrdot upqr
wherex = [ V α β p q r ψ θ ϕ xe ye H ]T state vector x
Ftot = [ Fx Fy Fz ]T total external forces Ftot
Mtot = [ L M N ]T total external moments Mtot
yhlp = [ cos α sin α cos β sin β tan β sinψ cos ψ sin θ cos θ sinϕ cos ϕ ]T
often used sines and cosines yhlp
Outputsypqr = [ p q r ]T (part of x) time-derivatives of the angular velocities ypqr
ParametersThe block pqrdot needs the parameter matrix GM2 for reading out the inertia parameters (note themoments and products of inertia are considered to be constant during the motions of interest) Usethe routine MODBUILD (section 92) to define this matrix or use LOADER (section 931) to load itinto the Matlab workspace See appendix D for the definition of GM2
Connectionsin x comes from the block Integrator (Equations of Motion) Ftot and Mtot come from the block
FMsort yhlp comes from the block Hlpfcnout ypqr is Muxed together with the time-derivatives of the other state variables into the vector x
(not corrected for implicit nature of the β-equation) which is connected to xdotcorr (Equationsof Motion)
Enter type pqrdothlp at the command-line for on-line help
101
uvw Level 1 Level 2 Aircraft Equations of Motion uvw
TypeMasked subsystem block aircraft-independent necessary for solving state equations
DescriptionThe block uvw is used to compute the body-axes velocity components from the angle of attack αsideslip angle β and true airspeed V This is necessary for determining the coordinates xe and ye
and the altitude H of the aircraft
Equationsbull Velocity component u along the XB-axis [msminus1]
u = V cos α cos β
bull Velocity component v along the YB-axis [msminus1]
v = V sinβ
bull Velocity component w along the ZB-axis [msminus1]
w = V sinα cos β
Inputsx = [ V α β p q r ψ θ ϕ xe ye H ]T state vector x
yhlp = [ cos α sin α cos β sin β tan β sin ψ cos ψ sin θ cos θ sin ϕ cos ϕ ]T
often used sines and cosines yhlp
Outputsybvel = [ u v w ]T body-axes velocity components ybvel
Parametersnone
Connectionsin x comes from the block Integrator (Equations of Motion) yhlp comes from Hlpfcnout ybvel is connected to xyHdot (Equations of Motion 12 ODEs)
Enter type uvwhlp at the command-line for on-line help
102
uvwdot Level 1 Level 2 Additional Outputs uvwdot
TypeMasked subsystem block aircraft-independent not necessary for solving the equations of motion (doesnot contain any state equations itself because it is an additional-output block)
DescriptionFor some purposes it may be useful to know the time-derivatives of the body-axes velocity componentsu v and w in addition to the body-axes velocity components themselves Since u v and w are notused as state variables of the aircraft model ndash they were replaced by V α and β ndash their time-derivativesare not needed for solving the equations of motion themselves (The velocity components u v and ware computed in the block uvw as a function of V α and β uvw is contained in the subsystem AircraftEquations of Motion) Therefore a separate block uvwdot is used to compute these time-derivativesThis block has been included in the subsystem Additional Outputs () in order to make clear that thisblock can be deleted from the system without affecting the solutions of the equations of motion
Equationsbull Time-derivative of the velocity component along the XB-axis [msminus2]
u = V cos α cos β minus V (α sinα cos β + β cos α sin β)
bull Time-derivative of the velocity component along the YB-axis [msminus2]
v = V sin β + V β cos β
bull Time-derivative of the velocity component along the ZB-axis [msminus2]
w = V sinα cos β + V (α cos α cos β minus β sinα sinβ)
Inputsx = [ V α β p q r ψ θ ϕ xe ye H ]T state vector x
x = [ V α β p q r ψ θ ϕ xe ye H ]T time-derivative of state vector xdot
yhlp = [ cos α sin α cos β sin β tan β sinψ cos ψ sin θ cos θ sinϕ cos ϕ ]T
often used sines and cosines yhlp
Outputsyuvw = [ u v w ]T time-derivatives of the body-axes velocity components yuvw
Parametersnone
Connectionsin x comes from the block Integrator (Equations of Motion) x comes from the block xfix (Equations
of Motion) yhlp comes from the block Hlpfcnout yuvw is not connected to any other block from the system Beaver ()
Enter type uvwdothlp at the command-line for on-line help
103
Vabdot Level 1 Level 2 Aircraft Equations of Motion 12 ODEs Vabdot
TypeMasked subsystem block aircraft-independent contains three state equations
DescriptionThe masked subsystem block Vabdot computes the time-derivatives of the true airspeed V angle ofattack α and sideslip angle β Since V α and β are state variables of the dynamic model their time-derivatives are essential for solving the equations of motion The block Vabdot is contained within thesubsystem 12 ODEs which itself is a subsystem of Aircraft Equations of Motion In 12 ODEs the threeoutputs from Vabdot are Muxed together with the time-derivatives of the other nine state variables
Equationsbull Time-derivative of the true airspeed V [msminus2]
V =1m
(Fx cos α cos β + Fy sinβ + Fz sin α cos β)
bull Time-derivative of the angle of attack α [rad sminus1]
α =1
V cos β
1m
(minusFx sin α + Fz cos α)
+ q minus (p cos α + r sin α) tan β
bull Time-derivative of the sideslip angle β [rad sminus1]
β =1V
1m
(minusFx cos α sin β + Fy cos β minus Fz sin α sinβ)
+ p sin α minus r cos α
InputsuVab = [ xT Ftot
T MtotT yhlp
T ]T input vector to Vabdot uVab
wherex = [ V α β p q r ψ θ ϕ xe ye H ]T state vector x
Ftot = [ Fx Fy Fz ]T total external forces Ftot
Mtot = [ L M N ]T total external moments Mtot
yhlp = [ cos α sin α cos β sin β tan β sin ψ cos ψ sin θ cos θ sin ϕ cos ϕ ]T
often used sines and cosines yhlp
OutputsyVab = [ V α β ]T (part of x) time-derivatives of V α and β yVab
ParametersVabdot needs the parameter vector GM1 in order to retrieve the mass m (the mass is used as aparameter ie it is assumed to be constant during the relatively short time-interval considered) Usethe routine MODBUILD (section 92) to define this vector or use LOADER (section 931) to load itinto the Matlab workspace See appendix D for the definition of GM1
Connectionsin x comes from the block Integrator (Equations of Motion) Ftot and Mtot come from FMsort yhlp
comes from Hlpfcnout yVab is Muxed together with the time-derivatives of the other state variables into the vector x
(not corrected for the implicit nature of the β-equation) which is connected to xdotcorr (Equationsof Motion)
Enter type vabdothlp at the command-line for on-line help
104
xdotcorr (Beaver) Level 1 Level 2 Aircraft Equations of Motion xdotcorr
TypeMasked subsystem block aircraft-dependent necessary for solving state equations
DescriptionThe differential equation for the sideslip angle from the lsquoBeaverrsquo model is implicit because β appearson both sides of the equation β is a function of the sideforce Fy while the aerodynamic componentof this sideforce itself depends upon β Since such implicit equations are difficult for Simulink tosolve (see section 427) this equation must be expanded to an explicit ODE For the lsquoBeaverrsquo modelthis is relatively easy since both dependencies are linear but the resulting β-equation then containsan aircraft-dependent term which ruins the anticipated aircraft-independent model structure Thisproblem has been solved by neglecting the β-term during the computation of the aerodynamic side-force (see the description of Aeromod) and applying the appropriate corrections to the thus computedvalue of β in a separate correction block xdotcorr Here the correction block has been configuredfor the lsquoBeaverrsquo model The block xdotcorr is the only block in the subsystem Aircraft Equations ofMotion that needs to be replaced if a model of another aircraft is to be implemented Still this oneaircraft-dependent block is one too many so in future versions of the FDC toolbox this problem shouldbe solved differently
EquationsThe β-equation for the lsquoBeaverrsquo can be written as
β =1
V m
(minusFx cos α sin β + Fy
lowast cos β minus Fz sinα sin β +12ρV 2SCYβ
βb
2Vcos β
)+ p sin α minus r cos α
where Fylowast is the side-force without the contribution of β The β-term on the right hand side
of this equation is moved to the left-hand side
βlowast equiv β
(1 minus ρSb
4mCYβ
cos β
)=
1V m
(minusFx cos α sinβ + Fylowast cos β minus Fz sinα sinβ) + p sin α minus r cos α
Based upon this equation the following calculation sequence has been used in the systemBeaver
1 the external forces and moments are computed as usual except for the β-contributionto the aerodynamic side-force
2 the thus obtained forces and moments are substituted into the general β equationyielding βlowast instead of β
3 the true value of β is computed with the expression β = βlowast(1 minus ρSb
4m CYβ
)minus1
The last step represents a correction to the originally computed value of β which was denotedas βlowast this correction is contained in xdotcorr See also sectionsecimplicit
Inputsx = [ V α β p q r ψ θ ϕ xe ye H ]T time-derivative of state vector xdot (uncorrected for β)
yhlp = [ cos α sin α cos β sin β tan β sinψ cos ψ sin θ cos θ sinϕ cos ϕ ]T
often used sines and cosines yhlp
yatm = [ ρ ps T micro g ]T basic atmospheric properties yatm
Outputsx = [ V α β p q r ψ θ ϕ xe ye H ]T time-derivative of state vector xdot (corrected for β)
ParametersThe block xdotcorr needs the parameter vector GM1 in order to extract the wing span wing surfaceand mass of the aircraft (the mass has been implemented as a parameter ie it assumed to be constantduring the relatively short time-intervals considered) It also needs the parameter matrix AM forreading out the stability derivative CYβ
Use MODBUILD (section 92) for defining these parametersor use LOADER (section 931) to load them into the Matlab workspace See appendix D for thedefinitions of GM1 and AM
105
Connectionsin x (not corrected for the implicit nature of the β-equation) comes from the subsystem 12 ODEs
yhlp comes from the block Hlpfcn yatm comes from the block Atmosph (Airdata Group)
out x (with β-correction) is connected to the block xfix (Equations of Motion)
Enter type xdotcorrhlp at the command-line for on-line help
106
xfix Level 1 Level 2 Aircraft Equations of Motion xfix
TypeMasked Gain block aircraft-independent not necessary for solving the equations of motion themselvesbut quite useful for purposes such as autopilot design and analysis
DescriptionSometimes it is useful to artificially fix state variables to their initial values by simply setting theirtime-derivatives to zero thus totally disregarding the values of the time-derivatives resulting from themodel equations For instance it may be useful to analyze longitudinal-lateral cross-coupling effectsby comparing results from the full model with results obtained by artificially neglecting longitudinalor lateral motions of the aircraft Another application is for the design of an rsquoautothrottlersquo whichserves to maintain a constant airspeed by means of power-inputs to the engine Comparing resultswith a system where the airspeed V is artificially fixed to its initial value can help in assessing theperformance of the controller
The block xfix is a masked Gain block from the Simulink library Linear which multiplies the time-derivatives of all state variables with a value of either one (use the computed time-derivative) or zero(artificially fix the state variable)
Equationsbull Modified time-derivative of the state vector obtained by multiplying the computed value element-by-element with the vector xfix
xnew = xold lowast xfix =
Vα
βpqr
ψ
θϕxe
ye
H
lowast
xfix(1)xfix(2)xfix(3)
xfix(12)
where xfix(i) =
01
i isin 1 2 12
Inputsxold = [ V α β p q r ψ θ ϕ xe ye H ]T time-derivative of state vector xdot (true value)
Outputsxnew = [ V α β p q r ψ θ ϕ xe ye H ]T time-derivative of state vector xdot (partially fixed value)
ParametersThe block xfix requires the multiplication factor of the gain block to be defined in the variable xfix inthe Matlab workspace This variable is automatically set to 1 by the routine LOADER (section 931)if the other system parameters are loaded from file If it is required to fix individual states xfix caneither be defined by hand or by calling the routine FIXSTATE (section 95)
Connectionsin x comes from the block xdotcorr (Equations of Motion)out x (with elements that may have been set to zero artificially) is connected to the block Integrator
(Equations of Motion)
Enter type xfixhlp at the command-line for on-line help See also the description of the Matlab
subroutine FIXSTATE in section 95 or type help fixstate at the command-line
107
xyHdot Level 1 Level 2 Aircraft Equations of Motion 12 ODEs xyHdot
TypeMasked subsystem block aircraft-independent contains three of the state equations
DescriptionThe masked subsystem block xyHdot computes the time-derivatives of the aircraftrsquos X and Y -coordinatesxe and ye measured with respect to the Earth-fixed reference frame and the rate of climb or descentH The variables xe ye and H are all state variables of the non-linear aircraft model For mostpurposes it is possible to omit xe and ye in the simulation model because the motions of the aircraftare not affected by its coordinates with respect to the Earth However for the sake of completenessthese two variables have been included to the model the coordinates can for instance be used in thesimulation of ILS approaches to a runway Notice that the altitude H should not be omitted from thesimulation model because of the altitude-dependency of the air temperature pressure and densitywhich affect the outputs of both the aerodynamic and engine models The block xyHdot is containedin the subsystem 12 ODEs which itself is contained in the subsystem Aircraft Equations of MotionIn 12 ODEs the three outputs from xyHdot are Muxed together with the time-derivatives of the othernine state variables
Equationsbull Time-derivative of the X-coordinate xe [msminus1]
xe = ue cos θ + (ve sin ϕ + we cos ϕ) sin θ cos ψ minus (ve cos ϕ minus we sinϕ) sin ψ
bull Time-derivative of the Y -coordinate ye [msminus1]
ye = ue cos θ + (ve sin ϕ + we cos ϕ) sin θ sinψ + (ve cos ϕ minus we sinϕ) cos ψ
bull Time-derivative of the altitude H [msminus1]
H = minusze = ue sin θ minus (ve sinϕ + we cos ϕ) cos θ
Inputsylowastbvel = [ u + uw v + vw w + ww ]T body-axes velocity components plus wind ybvellowast
uxyH = [ xT FtotT Mtot
T yhlpT ]T input vector to xyHdot uxyH
wherex = [ V α β p q r ψ θ ϕ xe ye H ]T state vector x
Ftot = [ Fx Fy Fz ]T total external forces Ftot
Mtot = [ L M N ]T total external moments Mtot
yhlp = [ cos α sin α cos β sin β tan β sin ψ cos ψ sin θ cos θ sin ϕ cos ϕ ]T
often used sines and cosines yhlp
OutputsyxyH = [ xe ye H ]T (part of x) time-derivatives of xe ye and H yxyH
Parametersnone
Connectionsin x comes from the block Integrator (Equations of Motion) Ftot and Mtot come from FMsort yhlp
comes from Hlpfcn ylowastbvel is the sum of the output from uvw (Equations of Motion) and the wind
velocity components from the external input vector uwindout yxyH is Muxed together with the time-derivatives of the other state variables into the vector x
(not corrected for the implicit nature of the β-equation) which is connected to xdotcorr (Equationsof Motion)
Enter type xyhdothlp at the command-line for on-line help
108
Chapter 6
FDC implementation of theatmospheric disturbance models
The FDC library WINDLIB contains the Simulink implementation of the wind and turbulencemodels from section 33 Figure 61 shows the main window of this library while figures 62and 63 show the wind and turbulence sublibraries The main library can be opened by typingwindlib at the Matlab command-line or via the main FDC library FDCLIB which can beopened by typing fdclib This chapter describes the different blocks from the library WINDLIBin alphabetical order
See section 52 for the typographical conventions used in this chapter
Figure 61 Wind and turbulence library WINDLIB
109
Figure 62 Sublibrary with wind-models
Figure 63 Sublibrary with turbulence models
110
BLWIND Library WINDLIB wind BLWIND
TypeMasked subsystem block
DescriptionThe block BLWIND calculates components of the wind velocity along the aircraftrsquos body-axes in theboundary layer of the Earth (lsquoBLrsquo = Boundary Layer) which is about 300 m high The wind velocityhas been defined as a function of the altitude while the wind direction can also be defined as a functionof the altitude by the user By default a wind profile according to ref[1] has been implemented
Equationsbull Total wind velocity in the boundary layer of the Earth [msminus1]
Vw = Vw 915
H02545 minus 0409713470
(0 lt h lt 300m)
Vw = 286585Vw915 (h ge 300m)
Vw 915 is the wind speed at 915 m altitude
bull Wind velocity components along the aircraftrsquos body-axes [msminus1]
uw = Vw cos(ψw minus π) cos ψ + Vw sin(ψw minus π) sin ψ
vw = minusVw cos(ψw minus π) sin ψ + Vw sin(ψw minus π) cos ψ
where ψw is the wind direction with respect to the Earth (ψw = 0 rad if the wind is blowing to theSouth)1
InputsH altitude H
ψ heading psi
Outputs[ uw vw ww ]T wind velocities along body-axes [uwvwww]rsquo
ParametersBLWIND does not require parameters to be specified but the user can change the equations fordetermining the wind velocity and direction if required by double-clicking the appropriate blocks
Connectionsin H and ψ are usually extracted from the non-linear aircraft model (enter type outputshlp at
the command-line for more information about the outputs from the aircraft model)out the wind velocity components can be used as input signals to the aircraft model (note due to
the non-constant wind it is necessary to enter the time-derivatives of these signals too send theoutputs from BLWIND through Derivative blocks from the Simulink library Linear and Mux theseresults together with the velocity components themselves)
Enter type blwindhlp at the command-line for on-line help
1This axis transformation is performed in the subsystem Wind to body-axes within the block BLWIND
111
CWIND Library WINDLIB wind CWIND
TypeMasked subsystem block
DescriptionThe block CWIND computes components of the wind velocity along the aircraftrsquos body-axes for aconstant horizontal wind (lsquoCrsquo = Constant) The user must specify the wind direction (being thedirection where the wind is blowing from) and the wind speed after double-clicking the block
Equationsbull Wind velocity components along the aircraftrsquos body-axes [msminus1]
uw = Vw cos(ψw minus π) cos ψ + Vw sin(ψw minus π) sin ψ
vw = minusVw cos(ψw minus π) sin ψ + Vw sin(ψw minus π) cos ψ
where ψw is the wind direction with respect to the Earth (ψw = 0 rad if the wind is blowing to theSouth)1
Inputsψ heading psi
Outputs[ uw vw ww ]T wind velocities along body-axes [uwvwww]rsquo
ParametersThe user must specify the wind velocity and wind direction by double-clicking the block CWIND
Connectionsin ψ is usually extracted from the non-linear aircraft model (enter type outputshlp at the
command-line for more information about the outputs from the aircraft model)out the wind velocity components can be used as input signals to the aircraft model
Enter type cwindhlp at the command-line for on-line help
1Contrary to the block BLWIND CWIND does not use an additional internal masked subsystem block for theimplementation of this transformation from Earth to body-axes
112
UDRYD1 Library WINDLIB turbulence UDRYD1
TypeMasked subsystem block
DescriptionThe block UDRYD1 generates a turbulence velocity component and its time-derivative along the XB
axis of the aircraft using a longitudinal Dryden filter with constant coefficients The user must specifythe longitudinal scale-length of the turbulence Lug
the standard deviation σug and the expected mean
airspeed of the aircraft Variations of the filter coefficients with the airspeed are not taken into accountby UDRYD1 These variations usually are very small
Equationsbull Longitudinal turbulence velocity [msminus1]
ug(s) = Hugw1 w1(s)
where w1 is a white noise signal generated internally within the block UDRYD1 and Hugw1 is thetransfer function of the longitudinal turbulence velocity filter
bull Transfer function of longitudinal turbulence filter
Hugw1(s) = σu
radic2Lu
V
11 + Lu
V s
Note the value of V used by UDRYD1 is kept constant during the simulations it must be specifiedby the user
Inputsnone
Outputsug longitudinal turbulence velocity ug
ug time-derivative of longitudinal turbulence velocity ug dot
ParametersThe user must specify the scale length Lug the standard deviation σug and the estimated mean valueof the true airspeed for which the motions are evaluated by double-clicking the block UDRYD1
Connectionsin no connectionsout ug and ug are usually Muxed together with other turbulence velocities and their time-derivatives
they can be used as inputs to the aircraft model
Enter type udryd1hlp at the command-line for on-line help
113
UDRYD2 Library WINDLIB turbulence UDRYD2
TypeMasked subsystem block
DescriptionThe block UDRYD2 generates a turbulence velocity component and its time-derivative along the XB
axis of the aircraft using a longitudinal Dryden filter with airspeed-dependent coefficients The usermust specify the longitudinal scale-length of the turbulence Lug
and the standard deviation σug but
no mean airspeed since the filter coefficients are updated during the simulations as a function of theactual airspeed which is used as input signal
Equationsbull Longitudinal turbulence velocity [msminus1]
ug(s) = Hugw1 w1(s)
where w1 is a white noise signal generated internally within the block UDRYD2 and Hugw1 is thetransfer function of the longitudinal turbulence velocity filter
bull Transfer function of longitudinal turbulence filter
Hugw1(s) = σu
radic2Lu
V
11 + Lu
V s
Note since the value of V used by UDRYD2 is not kept constant during the simulations a block-diagram equivalent of this transfer function has been created using the theory from section 426 inchapter 4 The gains from this block-diagram equivalent are lsquoscheduledrsquo as a function of the currentvalue of the airspeed V
InputsV true airspeed V
Outputsug longitudinal turbulence velocity ug
ug time-derivative of longitudinal turbulence velocity ug dot
ParametersThe user must specify the scale length Lug and the standard deviation σug by double-clicking theblock UDRYD2
Connectionsin V is usually extracted from the non-linear aircraft modelout ug and ug are usually Muxed together with other turbulence velocities and their time-derivatives
they can be used as inputs to the aircraft model
Enter type udryd2hlp at the command-line for on-line help
114
VDRYD1 Library WINDLIB turbulence VDRYD1
TypeMasked subsystem block
DescriptionThe block VDRYD1 generates a turbulence velocity component and its time-derivative along the YB
axis of the aircraft using a lateral Dryden filter with constant coefficients The user must specify thelateral scale-length of the turbulence Lvg
the standard deviation σvg and the expected mean airspeed
of the aircraft Variations of the filter coefficients with the airspeed are not taken into account byVDRYD1 These variations usually are very small
Equationsbull Lateral turbulence velocity [msminus1]
vg(s) = Hvgw2 w2(s)
where w2 is a white noise signal generated internally within the block VDRYD1 and Hvgw2 is thetransfer function of the lateral turbulence velocity filter
bull Transfer function of lateral turbulence filter
Hvgw2(s) = σv
radic2Lv
V
1 +radic
3Lv
V s(1 + Lv
V s)2
Note the value of V used by VDRYD1 is kept constant during the simulations it must be specifiedby the user
Inputsnone
Outputsvg lateral turbulence velocity vg
vg time-derivative of lateral turbulence velocity vg dot
ParametersThe user must specify the scale length Lvg the standard deviation σvg and the estimated mean valueof the true airspeed for which the motions are evaluated by double-clicking the block VDRYD1
Connectionsin no connectionsout vg and vg are usually Muxed together with other turbulence velocities and their time-derivatives
they can be used as inputs to the aircraft model
Enter type vdryd1hlp at the command-line for on-line help
115
VDRYD2 Library WINDLIB turbulence VDRYD2
TypeMasked subsystem block
DescriptionThe block VDRYD2 generates a turbulence velocity component and its time-derivative along the YB
axis of the aircraft using a lateral Dryden filter with airspeed-dependent coefficients The user mustspecify the lateral scale-length of the turbulence Lvg
and the standard deviation σvg but no mean
airspeed since the filter coefficients are updated during the simulations as a function of the actualairspeed which is used as input signal
Equationsbull Lateral turbulence velocity [msminus1]
vg(s) = Hvgw2 w2(s)
where w2 is a white noise signal generated internally within the block VDRYD2 and Hvgw2 is thetransfer function of the lateral turbulence velocity filter
bull Transfer function of lateral turbulence filter
Hvgw2(s) = σv
radic2Lv
V
1 +radic
3Lv
V s(1 + Lv
V s)2
Note since the value of V used by VDRYD2 is not kept constant during the simulations a block-diagram equivalent of this transfer function has been created using the theory from section 426 inchapter 4 The gains from this block-diagram equivalent are lsquoscheduledrsquo as a function of the currentvalue of the airspeed V
InputsV true airspeed V
Outputsvg lateral turbulence velocity vg
vg time-derivative of lateral turbulence velocity vg dot
ParametersThe user must specify the scale length Lvg and the standard deviation σvg by double-clicking theblock VDRYD2
Connectionsin V is usually extracted from the non-linear aircraft modelout vg and vg are usually Muxed together with other turbulence velocities and their time-derivatives
they can be used as inputs to the aircraft model
Enter type vdryd2hlp at the command-line for on-line help
116
WDRYD1 Library WINDLIB turbulence WDRYD1
TypeMasked subsystem block
DescriptionThe block WDRYD1 generates a turbulence velocity component and its time-derivative along the ZB
axis of the aircraft using a vertical Dryden filter with constant coefficients The user must specifythe vertical scale-length of the turbulence Lwg
the standard deviation σwg and the expected mean
airspeed of the aircraft Variations of the filter coefficients with the airspeed are not taken into accountby WDRYD1 These variations usually are very small
Equationsbull Vertical turbulence velocity [msminus1]
wg(s) = Hwgw3 w3(s)
where w3 is a white noise signal generated internally within the block WDRYD1 and Hwgw3 is thetransfer function of the vertical turbulence velocity filter
bull Transfer function of vertical turbulence filter
Hwgw3(s) = σw
radic2Lw
V
1 +radic
3Lw
V s(1 + Lw
V s)2
Note the value of V used by WDRYD1 is kept constant during the simulations it must be specifiedby the user
Inputsnone
Outputswg vertical turbulence velocity wg
wg time-derivative of vertical turbulence velocity wg dot
ParametersThe user must specify the scale length Lwg the standard deviation σwg and the estimated meanvalue of the true airspeed for which the motions are evaluated by double-clicking the block WDRYD1
Connectionsin no connectionsout wg and wg are usually Muxed together with other turbulence velocities and their time-derivatives
they can be used as inputs to the aircraft model
Enter type wdryd1hlp at the command-line for on-line help
117
WDRYD2 Library WINDLIB turbulence WDRYD2
TypeMasked subsystem block
DescriptionThe block WDRYD2 generates a turbulence velocity component and its time-derivative along the ZB
axis of the aircraft using a vertical Dryden filter with airspeed-dependent coefficients The user mustspecify the vertical scale-length of the turbulence Lwg
and the standard deviation σwg but no mean
airspeed since the filter coefficients are updated during the simulations as a function of the actualairspeed which is used as input signal
Equationsbull Vertical turbulence velocity [msminus1]
wg(s) = Hwgw3 w3(s)
where w3 is a white noise signal generated internally within the block WDRYD1 and Hwgw3 is thetransfer function of the vertical turbulence velocity filter
bull Transfer function of vertical turbulence filter
Hwgw3(s) = σw
radic2Lw
V
1 +radic
3Lw
V s(1 + Lw
V s)2
Note since the value of V used by WDRYD2 is not kept constant during the simulations a block-diagram equivalent of this transfer function has been created using the theory from section 426 inchapter 4 The gains from this block-diagram equivalent are lsquoscheduledrsquo as a function of the currentvalue of the airspeed V
InputsV true airspeed V
Outputswg vertical turbulence velocity wg
wg time-derivative of vertical turbulence velocity wg dot
ParametersThe user must specify the scale length Lwg and the standard deviation σwg by double-clicking theblock WDRYD2
Connectionsin V is usually extracted from the non-linear aircraft modelout wg and wg are usually Muxed together with other turbulence velocities and their time-derivatives
they can be used as inputs to the aircraft model
Enter type wdryd2hlp at the command-line for on-line help
118
Chapter 7
FDC implementation of theradio-navigation models
The FDC library NAVLIB contains simulation models of radio-navigation tools described insection 34 Figure 71 shows the main window of this library while figures 72 and 73 showthe sublibraries with the ILS and VOR models respectively The main library can be openedby typing navlib at the Matlab command-line or via the main FDC library FDCLIB whichcan be opened by typing fdclib This chapter describes the different blocks from the libraryNAVLIB in alphabetical order
See section 52 for the typographical conventions used in this chapter
Figure 71 Radio-navigation library NAVLIB
119
Figure 72 Sublibrary with ILS models
Figure 73 Sublibrary with VOR models
120
GSERR Library NAVLIB ILS GSERR
TypeMasked subsystem block
DescriptionThe block GSERR contains the formularsquos for steady-state errors in the glideslope signal Notice that theequations are expressed in terms of glideslope currents through the cockpit indicator in the aircraft
Equationsbull glideslope signal with steady-state errors [microA]
igsactual = KSgs
(igsnominal + ∆igs
)where the multiplication factor KSgs takes into account the offset in the glideslope sensitivity Sgs
and ∆igs is an error signal that is caused by an offset in the nominal glideslope elevation angle γgs
(the user must specify the offset-values as percentages of the maximum allowable values according totable 32 from chapter 3 GSERR converts all signals to currents through the glideslope indicator inthe aircraft)
Inputsigsnominal nomimal glideslope current igs (nominal)
Outputsigsactual glideslope current with steady-state errors igs (actual)
ParametersThe user must specify the ILS performance category (1 2 or 3) the offset in Sgs in terms of percentsof its maximum allowable error according to table 32 and the glideslope misalignment in terms ofpercents of its maximum allowable value
Connectionsin igsnominal comes from the block ILS which determines the nominal ILS signalsout igsactual can be connected to a sum block for adding the glideslope noise signal (the resulting
signal can be used as an input to the control laws of an automatic approach system)
Enter type gserrhlp at the command-line for on-line help
121
GSNOISE Library NAVLIB ILS GSNOISE
TypeMasked subsystem blocks
DescriptionThe GSNOISE blocks contain glideslope noise models There are two versions GSNOISE1 based uponthe noise models from ref[1] (AGARD R-632) and GSNOISE2 based upon ref[17] (NASA CR-2022)
Equationsbull Glideslope noise [microA]
∆ilowastgs(s) = Hgs wprime1(s)
where ∆ilowastgs is the glideslope noise wprime1 is a white noise signal generated internally within the block
GSNOISE1 or GSNOISE2 and Hgs is the transfer function of the glideslope noise filter
bull Transfer function of the glideslope noise filter according to AGARD R-632
Hgs(s) = σgs
radic2Lgs
V
1
1 + Lgs
V s
Note the value of V used by GSNOISE1 is kept constant during the simulations It is equaled to theapproach speed which must be specified by the user
bull Transfer function of the glideslope noise filter according to NASA CR-2022
Hgs(s) =39875
025 + s
Inputsnone
Outputs∆ilowastgs Glideslope noise D igslowast
ParametersFor the AGARD R-632 version the user must specify the scale length Lgs the standard deviationσgs and the approach speed For the NASA CR-2022 version no parameters have to entered
Connectionsin no connectionsout ∆ilowastgs must be connected to a sum block for adding it to the original glideslope current signal
igs (note this must be done after taking into account possible steady-state errors by the blockGSERR)
Enter type gsnoisehlp at the command-line for on-line help
122
ILS Library NAVLIB ILS ILS
TypeMasked subsystem block
DescriptionThe block ILS is used to determine the nominal ILS signals for a given position of the aircraft Theblock also computes some closely associated properties which provide more information about thecurrent position of the aircraft with respect to the runway and the glideslope and localizer referenceplanes The validity of the signals is checked by an included masked subsystem block called ILSTEST
Equationsbull Currents through the ILS indicators in the cockpit [microA]
igs = Sgs εgs
iloc = Sloc Γloc
bull Angles between nominal and current ILS planes [rad ]
εgs = γgs + arctan(
Hf
Rgs
)
Γloc = arcsin(
dloc
Rloc
)
bull X and Y -coordinates of the aircraft with respect to the runway fixed reference frame [m]
xf = (xe minus xRW ) cos ψRW + (ye minus yRW ) sin ψRW
yf = minus(xe minus xRW ) sin ψRW + (ye minus yRW ) cos ψRW
bull Height of the aircraft above aerodrome level [m]
Hf = H minus HRW
bull Distance from the aircraft to the glide-path (perp nominal glide-path) [m]
dgs = (Rgs tan γgs + Hf ) cos γgs
bull Ground-distances from the aircraft to the glideslope and localizer transmitters [m]
Rgs =radic
(xgs minus xf )2 + (yf minus ygs)2
Rloc =radic
yf2 + (xloc minus xf )2
bull Two flags which determine whether the glideslope and localizer signals can be received with sufficientaccuracy are computed by evaluating logical Boolean expressions derived from the glideslope andlocalizer coverage from figures 311 and 39 (chapter 3) The glideslope signal is valid if the flagGS flag is equal to 1 the localizer signal is valid if LOC flag is equal to 1 If not the aircraft fliesoutside their respective ranges Note these flags are computed in the internal masked subsystemblock ILSTEST
Inputsuils = [ xe ye H ]T aircraft coordinates and altitude uils
Outputsyils 1 = [ igs iloc ]T nominal currents through ILS indicators yils1
yils 2 = [ εgs Γloc ]T angles between nominal and current ILS planes yils2
yils 3 = [ xf yf Hf dgs Rgs Rloc ]T distances defining the aircraftrsquos approach position yils3
yils4 = [ GS flag LOC flag ]T flags defining the validity of the ILS signals yils4
Note section 341 gives the exact definitions of all variables from these equations
123
ParametersThe user must define the following parameters by double-clicking the block ILS
bull runway heading ψRW
bull the coordinates xRW yRW and HRW of the origin of the runway-fixed reference frame measuredwith respect to the Earth-axes
bull the distance xloc from the runway threshold to the localizer antenna measured along the runwaycenterline
bull the distance xgs from the threshold to the projection of the glideslope antenna upon the center-line
bull the perpendicular distance ygs from the centerline to the glideslope antenna
bull the nominal glideslope angle γgs
See also section 341
Connectionsin uils is usually obtained from the non-linear aircraft modelout yils 1 is connected to the steady-state ILS error blocks GSERR and LOCERR because those blocks
express errors in terms of ILS currents the other output vectors are primarily used for evaluationsof simulation results and are therefore connected to a To Workspace
Enter type ilshlp at the command-line for on-line help about the block ILS Enter type ilstesthlpfor more information about the validity-check of the ILS signals in the subsystem ILSTEST
124
ILS example Library NAVLIB ILS ILS example
TypeMasked subsystem block (contents accessible without unmasking)
DescriptionThe subsystem ILS example demonstrates how to combine the different ILS-related blocks to obtain arealistic ILS simulation model This block is used within the lsquoBeaverrsquo autopilot models APILOT2 andAPILOT3 with a slightly different input definition The nominal ILS signals are sent to the Matlab
workspace by means of a To Workspace block it is easy to add similar blocks for noise and offsetsignals if required
Subsystemsmasked blocksThe subsystem ILS example contains five masked subsystem blocks
ILS computes the nominal ILS signalsGSERR takes into account steady-state errors in the glideslope signalGSNOISE computes glideslope noiseLOCERR takes into account steady-state errors in the localizer signalLOCNOISE computes localizer noise
Notice that the disturbance models used in ILS example are all based upon ref[1]
The values of the glideslope and localizer currents that leave the error blocks are converted back to theerror angles εgs and Γloc by means of the multiplication factors 1Kgs and 1Kloc respectively ILSexample also uses approximating differentiating filters 1
s+1 in order to determine the time-derivativesof the ILS signals (these approximated time-derivatives were needed for the lsquoBeaverrsquo autopilot modelsAPILOT2 and APILOT3 see sections 1134 and 1143 for more details)
Inputsuils = [ xe ye H ]T aircraft coordinates and altitude uils
Outputsεgs glideslope error angle with respect to nominal glide-path epsilon gs
εgs approximated time-derivative of εgs d(epsilon gs)dt
Γloc localizer error angle with respect to runway centerline Gamma loc
Γloc approximated time-derivative of Γloc d(Gamma loc)dt
Note all outputs from the block ILS are sent to the variable yils in the Matlab workspace bymeans of a To Workspace block For storing other signals from ILS example you must include more ToWorkspace blocks You may also want to create a time-basis by means of a Clock that is connected toa To Workspace block but if you connect ILS example to the non-linear aircraft model this is alreadybeing taken care of within the aircraft model itself (see section 51 for more details)
ParametersThe user must specify the properties of the ILS errors by double-clicking the blocks GSERR GSNOISELOCERR and LOCNOISE The geometrical properties of the ILS system normally would have to beentered by the user after double-clicking the block ILS but for this example they are extracted fromthe Matlab workspace using the following variables
gamgs nominal glideslope angle [deg ] ()HRW elevation of the runway [m]psiRW heading of the runway [deg ] ()xgs X-coordinate of the glideslope transmitter in runway-axes [m]xloc X-coordinate of the localizer transmitter in runway-axes [m]xRW X-coordinate of origin of runway-axes with respect to Earth-axes [m]ygs X-coordinate of the glideslope transmitter in runway-axes [m]yRW Y -coordinate of origin of runway-axes with respect to Earth-axes [m]
Furthermore the sensitivity of the glideslope and localizer systems must be defined in the variablesSgs and Sloc within the Matlab workspace1
1Although these sensitivity values were already computed in the block ILS we also need them for recoveringthe angles εgs and Γloc from the ILS currents which are obtained by the ILS error blocks This is due to the factthat the approach control laws of the lsquoBeaverrsquo were based upon these angles rather than the ILS currents
125
In order to facilitate this definition a Matlab macro ILSINIT has been created Run this program bytyping ilsinit at the command-line and you will be asked automatically to specify all parametersYou can also run APINIT and then select the option Initialize VOR andor ILS systems Type helpilsinit or help apinit for on-line help See also section 1241
Connectionsin uils is usually extracted from the non-linear aircraft modelout the outputs from ILS example can be connected to control system blocks as demonstrated in the
systems APILOT2 and APILOT3 or sent to the workspace by means of a To Workspace block
Enter type ilsxmplhlp at the command-line for on-line help
126
LOCERR Library NAVLIB ILS LOCERR
TypeMasked subsystem block
DescriptionThe block LOCERR contains the formularsquos for steady-state errors in the localizer signal Notice thatthe equations are expressed in terms of localizer currents through the cockpit indicator in the aircraft
Equationsbull localizer signal with steady-state errors [microA]
ilocactual = KSloc(ilocnominal + ∆iloc)
where the multiplication factor KSloctakes into account the offset in the localizer sensitivity Sloc and
∆iloc is an offset in the localizer reference plane ie a deviation from runway centerline (the usermust specify the offset-values as percentages of the maximum allowable values according to table 31from chapter 3)
Inputsilocnominal nomimal localizer current iloc (nominal)
Outputsilocactual localizer current with steady-state errors iloc (actual)
ParametersThe user must specify the performance category (1 2 or 3) the percentage of maximum allowableoffset in localizer sensitivity the percentage of maximum allowable localizer misalignment and thedistance from the runway threshold to the localizer antenna by double-clicking the block LOCERR
Connectionsin ilocnominal comes from the block ILS which determines the nominal ILS signalsout ilocactual can be connected to a sum block for adding the localizer noise signal (the resulting
signal can be used as an input to the control laws of an automatic approach system)
Enter type locerrhlp at the command-line for on-line help
127
LOCNOISE Library NAVLIB ILS LOCNOISE
TypeMasked subsystem blocks
DescriptionThe LOCNOISE blocks contain glideslope noise models There are two versions LOCNOISE1 basedupon the noise models from ref[1] (AGARD R-632) and LOCNOISE2 based upon ref[17] (NASACR-2022)
Equationsbull Localizer noise [microA]
∆ilowastloc(s) = Hloc wprime2(s)
where ∆ilowastloc is the localizer noise wprime2 is a white noise signal generated internally within the block
LOCNOISE1 or LOCNOISE2 and Hloc is the transfer function of the localizer noise filter
bull Transfer function of the localizer noise filter according to AGARD R-632
Hloc(s) = σloc
radic2Lloc
V
11 + Lloc
V s
Note the value of V used by LOCNOISE1 is kept constant during the simulations It is equaled tothe approach speed which must be specified by the user
bull Transfer function of the localizer noise filter according to NASA CR-2022
Hloc(s) =5 (15 + s)
(035 + s)(10 + s)
Inputsnone
Outputs∆ilowastloc Localizer noise D iloclowast
ParametersFor the AGARD R-632 version the user must specify the scale length Lloc the standard deviationσloc and the approach speed For the NASA CR-2022 version no parameters have to entered
Connectionsin no connectionsout ∆ilowastloc must be connected to a sum block for adding it to the original localizer current signal
iloc (note this must be done after taking into account possible steady-state errors by the blockLOCERR)
Enter type locnoisehlp at the command-line for on-line help
128
VOR Library NAVLIB VOR VOR
TypeMasked subsystem block
DescriptionThe block VOR computes the nominal VOR signals which an aircraft will receive if it flies at a certainposition with respect to the VOR station In addition the ground-distance to the VOR station twoflags which define if the VOR signal is valid and a ToFrom flag are computed
Equationsbull current VOR bearing on which the aircraft is flying [rad ]
QDR = arctan(
ye minus yVOR
xe minus xVOR
)bull deviation from desired VOR bearing [rad ]
ΓVOR = CD minus QDR
bull ground-distance from the aircraft to the VOR station [m]
RVOR =radic
(xe minus xVOR)2 + (ye minus yVOR)2
bull the cone of silence flag is set to 1 if the aircraft enters the cone of silence ie if
arctan(
H minus HVOR
RVOR
)gt 90 minus (40 to 60)
bull the range flag is set to 1 if the aircraft flies outside the area where the VOR signals can be receivedwith appropriate accuracy ie if
RVOR gt Range
where
Range = 1000(minus23570 middot 10minus6(H minus HVOR)2 + 57087 middot 10minus2(H minus HVOR) + 808612
)bull the ToFrom flag is set to 1 if the aircraft flies to the VOR station ie if
|ψ minus QDR| gt 90
InputsuVOR = [ xe ye H ]T coordinates of the aircraft with respect to the Earth uVOR
ψ heading of the aircraft psi
OutputsyVOR1 = ΓV OR nominal VOR angle Gamma VOR
yVOR2 = RV OR ground distance from aircraft to VOR station R VOR
yVOR3 = [ Cone-of-silence flag Range flag ]T flags specifying VOR validity yVOR3
yVOR4 = ToFrom ToFrom flag ToFrom
ParametersThe user must specify the X and Y coordinates of the VOR station measured relative to the initialposition of the aircraft the elevation of the VOR station and the Course Datum (reference bearingon which the aircraft should fly)
Connectionsin uVOR and ψ are usually extracted from the non-linear aircraft modelout yVOR1 is connected to the block VORERR to take into account steady-state errors in the VOR
signal the other outputs can be used by control law blocks andor sent to the workspace bymeans of To Workspace blocks
Enter type vorhlp at the command-line for on-line help
129
VORERR Library NAVLIB VOR VORERR
TypeMasked subsystem block
DescriptionThe block VORERR implements a steady-state error in the VOR signal by multiplying the VOR signalwith a gain value that slightly differs from 1 Note FDC 12 currently does not contain more accuratesteady-state error models for the VOR system nor does it contain VOR noise models
Equationsbull VOR signal with steady-state error [rad ]
ΓVORactual = KVORerr middot ΓVORnominal
where KVORerr is equal to 1 plus the overall percentile VOR system error
InputsΓVORnominal nominal VOR signal Gamma VOR (nominal)
OutputsΓVORactual VOR signal with steady-state errors Gamma VOR (actual)
ParametersThe user must specify the overall percentile VOR system error by double-clicking the block VORERR
Connectionsin ΓVORnominal is retrieved from the block VOR which computes the nominal VOR signalsout ΓVORactual will usually be connected to some control law or sent to the Matlab workspace
Enter type vorerrhlp at the command-line for on-line help
130
VOR example Library NAVLIB VOR VOR example
TypeMasked subsystem block (contents accessible without unmasking)
DescriptionThe subsystem VOR example shows how to combine the different VOR-related blocks into one completeVOR simulation model
EquationsThe subsystem VOR example contains two masked subsystem blocks
VOR computes the nominal VOR signalVORERR takes into account steady-state errors in the VOR signal
InputsuVOR = [ xe ye H ]T aircraft coordinates and altitude uVOR
ψ heading of the aircraft psi
OutputsΓV OR nominal VOR angle Gamma VOR
Note all outputs from the block VOR are sent to the variable yvor in the Matlab workspace bymeans of a To Workspace block For storing other signals you must include more To Workspace blocksYou may also want to create a time-basis by means of a Clock that is connected to a To Workspaceblock but if you connect VOR example to the non-linear aircraft model this is already being takencare of within the aircraft model (see section 51 for more details)
ParametersThe user must specify the properties of the steady-state errors in the VOR signal by double-clickingthe block VORERR The geometrical data which determine the nominal VOR signal would normallyhave to be entered by the user after double-clicking the block VOR but for this example they areextracted from the Matlab workspace using the following variables
CD Course Datum (reference value for the VOR radial) [deg ] ()HVOR altitude of the VOR transmitter above sea level [m]xVOR X-coordinate of VOR transmitter relative to the aircraft at t = 0 sec [m]yVOR Y -coordinate of VOR transmitter relative to the aircraft at t = 0 sec [m]
Connectionsin uVOR and ψ are usually extracted from the non-linear aircraft modelout the output signal from VOR example can be connected to control system blocks as demonstrated
in the systems APILOT2 and APILOT3 or sent to the workspace by means of a To Workspaceblock
Enter type vorxmplhlp at the command-line for on-line help
131
132
Chapter 8
Implementation of the analyticaltools in FDC 12
81 Introduction
This chapter describes the trimming program ACTRIM and the linearization tool ACLIN Thefirst program is a real trimming tool which actually contains the aircraft trim algorithm fromfigure 49 while the latter program uses the Simulink routine LINMOD to do the actual linea-rization For the simulations FDC uses the standard built-in Runge-Kutta and AdamsGearmethods of Simulink so no additional programs were developed for that purpose See chapter 4for the theoretical backgrounds
82 The trimming facility
821 Program structure of ACTRIM
The program ACTRIM contains the trimming algorithm from section 43 which was speciallytailored for the search of steady-state flight conditions The source-code of this program hasbeen stored in the file actrimm in the subdirectory tools ACTRIM uses two subroutines(i) ACCONSTR which contains the flight-path constraints and kinematic relationships and (ii)ACCOST which evaluates the cost-function for the minimization algorithm The source-codes ofthese subroutines are stored in the files acconstrm and accostm in the subdirectory toolsACTRIM uses the Matlab minimization routine FMINS for the numerical determination of thetrimmed flight condition This routine is based upon the Simplex search method type helpfmins for more details about this function The basic program-structure of ACTRIM and itssubroutines ACCONSTR and ACCOST is shown in figures 81 to 83 This structure closelyresembles the diagram from figure 49
The user must first choose a flight condition from the main menu and specify those motionvariables that cannot be derived directly from the specified flight condition and which are notadjusted by the trim algorithm itself ACTRIM then creates two vectors
1 ctrim which contains the user-specified values of the states inputs and some time-derivatives of state variables
2 vtrim which contains the independent input and state variables that will be adjustednumerically by the trim algorithm
133
134 CHAPTER 8 IMPLEMENTATION OF THE ANALYTICAL TOOLS IN FDC 12
Obviously the c in ctrim denotes constant values while the v in vtrim denotes variables Thecurrent version of ACTRIM designed for the lsquoBeaverrsquo aircraft defines these vectors as follows
ctrim =
[V H ψ (γ)
ψV
g0ψ θ ϕ δf n ϕ
]T
vtrim = [ α β δe δa δr pz (or γ) ]T
The minimization routine FMINS is used to search the values of the independent motion variablesgathered in vtrim which minimize the cost function from the subroutine ACCOST ACCOSTitself calls the subroutine ACCONSTR in order to determine the value of the state and inputvectors in accordance with the flight-path constraints from section 433 These values aresubstituted in the non-linear state equation of the aircraft model
x = f(x(t)u(t) t) (81)
by calling the S-function Beaver in order to find the time-derivatives of the state variables Theseare substituted in the cost function J
J = c1V2 + c2α
2 + c3β2 + c4p
2 + c5q2 + c6r
2 (82)
The current implementation of ACCOST uses the following values of the weighting constants c1
to c6
c1 = 1c2 = c3 = 2
c4 = c5 = c6 = 5
See the source-codes actrimm acconstrm and accostm in the FDC subdirectory tools
for more details The source-codes contain complete lists of variables and many comments tohelp you comprehending the structure of these programs
The numerical iterations are finished if the minimum value of the cost function has been achievedwithin a certain termination-tolerance of the minimization function FMINS or if the maximumnumber of iterations is reached and the user decides to stop the minimization process Thenthe subroutine ACCONSTR is called once more in order to extract the input vector u and statevector x from ctrim and vtrim which at this point contain the values for the trimmed flightcondition Also the S-function Beaver is called once more to find the time-derivative of the statevector for the trimmed condition The results can be saved to a data file if desired
822 Using ACTRIM in practice
ACTRIM can be started by typing actrim at the Matlab command-line It can also be startedby clicking the ACTRIM button-blocks which have been included in several graphical Simulink
systems from FDC 12 ACTRIM first loads the aircraft model parameters from the file air-
craftdat by calling the function LOADER (see section 931) The user must enter the nameof the aircraft model (by default set to Beaver) which will then be initialized Then a graphicalmenu with several possible steady-state flight conditions will appear see figure 84 Dependingupon the selection you make you will be asked to specify certain initial andor fixed values ofthe variables involved in the trimming process1 Most often a steady wings-level flight conditionwill be evaluated In that case you must specify the desired airspeed altitude heading flap
1Notice that these variables are only valid for the lsquoBeaverrsquo aircraft other motion variables will be needed ifyou want to apply ACTRIM to other types of aircraft Unfortunately this still requires re-programming of thesource codes which is not very convenient Future versions of the trim program should therefore be equippedwith more general ways of defining the motion variables
82 THE TRIMMING FACILITY 135
DEFINE FLIGHT CONDITION
- Steady wings-level flight- Steady turning flight (coordinated or uncoordinated)- Steady pull-up or push-over- Steady roll (in stability-axes or body-axes)
Combine all fixed states inputs and time-derivativesof states in the vector ctrim
which will be adjusted by the numericalCombine all independent states and inputvariables in thevector vtrimoptimization algorithm
Iterate until solution is found or optimization is cancelledby the user
Call FMINS for cost function ACCOST (see subroutine)ACCOST itself calls ACCONSTR
Call ACCONST once more to find resulting trimmed valuesof and ux
Call SIMULINK system BEAVER once more to find thetime-derivative of for trimmed conditionx
Figure 81 Program structure of ACTRIM (main aircraft trim program)
Calculate and from flight-path constraintsϕθ
Compute and using the kinematic relations fromsection B4
p q r
Combine these results with the fixed states which specifythe flight-condition and the independent states which areadjusted by the minimization algorithm into the the currentstate vector x
Combine the fixed inputs specified by the user to define theaircraft-condition with the independent inputs adjusted bythe minimization algorithm into the current input vector u
Return and x u
Figure 82 Program structure of ACCONSTR (flight-path constraints amp kinematic relations)
136 CHAPTER 8 IMPLEMENTATION OF THE ANALYTICAL TOOLS IN FDC 12
Call ACCONSTR to find constrained valuesof and x u
Call SIMULINK model BEAVER to findcurrent value of the time-derivative of the statevector x
Compute cost function J
Return to the minimization routineJ
Figure 83 Program structure of ACCOST (contains the cost function)
Figure 84 Main user-menu of ACTRIM
angle and engine RPM of the aircraft You may choose to define the flight-path angle or mani-fold pressure which leaves one of these two variables to be numerically solved by the trimmingalgorithm If you specify a value of the flight-path angle ACTRIM will ask you to define aninitial estimate for the manifold pressure as well (usually the default values will do just fine)After defining these variables the numerical iteration process will be started If the solutionhas converged enough according to the trimming options specified within the source code theresults will be displayed on the screen If the maximum number of iterations is exceeded withouta solution having been found a warning message will appear on the screen and you must choosewhether to perform more iterations or accept the best solution found thus far If the solutionhasnrsquot converged after a few more attempts it is probably not possible to find a steady solutionwithin the tolerance specified in the source code of the trim program
If you choose to save the trimmed flight condition to a file you will be asked to specifythe destination directory (by default the FDC subdirectory data) and the filename The filewill get the extension tri to specify that it represents a trimmed flight condition This will endthe program An example of this trim process will be given in section 105
83 THE LINEARIZATION FACILITY 137
ACTRIM stores the results in the following variables1
bull xinco = x(0) is the steady-state value of the state vector from the non-linear aircraft modelx equiv [ V α β p q r ψ θ ϕ xe ye H ]T
bull xdot0 = x(0) is the time-derivative of the state vector valid for the current flight condition(if a trimmed flight condition was found most elements of xdot0 will be almost equal tozero as explained in section 43)
bull uaero0 = uaero(0) is the steady-state value of the input vector to the aerodynamic forcesamp moment functions of the aircraft model uaero equiv [ δe δa δr δf ]T
bull uprop0 = uprop(0) is the steady-state value of the input vector to the propulsion functionsof the aircraft model uprop equiv [ n pz ]T
bull trimdef is a text-matrix which contains the user-specified variables that define the flightcondition and aircraft configuration the name of the Simulink system of the aircraftmodel the definitions of the state and input vectors used by the aircraft model a shortexplanation about the other variables and the date and time when ACTRIM was used tofind this steady-state condition
Although ACTRIM works perfectly well for finding initial flight conditions for non-linear simu-lations it is not really suited for searching large numbers of steady-state flight conditions egin order to find the steady-state elevator-deflection as a function of airspeed In such cases itmay be easier to write a customized trim routine which may contain pieces of software codefrom the source code actrimm For example the program TRIMDEMO contains only thetrimming commands of ACTRIM while using its own routines for defining the flight conditionand displaying results on the screen The source code trimdemom has been stored in the FDCsubdirectory examples See section 105 for more details about that example program In orderto enhance the flexibility of the trimming program it is planned to divide the separate functionsfrom ACTRIM into separate generalized subroutines for future versions of the FDC toolboxHowever since the source-codes themselves contain many explanatory comment-lines and a fulllist of variables it is not very complicated to adapt the programs if required Remember not toviolate the license agreement if you wish to distribute such adapted FDC programs
83 The linearization facility
831 Program structure of ACLIN
The program ACLIN has been designed to extract linearized aircraft models from the non-linearSimulink system Beaver (or similar models) in a user-specified operating point2 Its main goalis to simplify the model definitions for the user the actual linearization process is left to theSimulink function LINMOD Figure 85 shows the general structure of this program ACLINfirst asks which aircraft model to be used (by default Beaver) Next the operating point needsto be defined ndash either by loading it from file manually defining it in the workspace using anexisting operating point from the workspace or running ACTRIM to obtain a new steady-statetrimmed-flight condition as operating point for the linearization If the aircraft model parametersare not yet present in the workspace they are loaded by means of the routine LOADER (see
1Due to the fact that these vectors are often used as initial values for non-linear simulations they use theextensions 0 or inco in their variable names
2ACLIN currently works only for aircraft models which use the same definitions of input and output vectors asthe system Beaver For other types of aircraft models the source-codes must be adapted This again is not quitesatisfactory for future enhancements of the FDC toolbox so a more modular approach will be needed in futurereleases
138 CHAPTER 8 IMPLEMENTATION OF THE ANALYTICAL TOOLS IN FDC 12
Define operating point - Load operating point from file or- Manually define operating point or- Use operating point defined in workspace or- Run ACTRIM to find operating point
Load aircraft model parameters
Call LINMOD to obtain linearized aircraft model
Select state variables for the linear aircraft model(use all twelve states to select a subset)
Select control inputs for the aircraft model(use all six control inputs to select a subset)
Either add or dont add wind amp turbulence inputs
Present results and save them to a file if required
Figure 85 Program-structure of ACLIN
section 931) The linearization routine LINMOD then determines the full 12th-order systemmatrices of the linearized aircraft model which subsequently can be simpified by neglecting theinfluence of certain state andor input variables If desired the resulting matrices can be savedto a datafile which will get the extension lin
832 Using ACLIN in practice
ACLIN can be started by typing aclin at the command-line It will also be started if youdouble-click the lsquobuttonrsquo blocks of ACLIN which are contained in several graphical Simulink
systems from FDC 12 ACLIN first asks the user to enter the name of the aircraft model (bydefault Beaver) Next the method of defining an operating point must be selected by clickingone of the buttons from the menu shown in figure 86 The operating point can be defined inthe following ways
bull It is possible to load an operating point from a file Usually this will be a trimmed flightcondition obtained with ACTRIM If you choose this option the program INCOLOAD willbe started (see section 932)
bull An operating point can be defined manually After selecting this option the user will beasked to enter values for all state variables of the aircraft model and all control inputs ieV α β p q r ψ θ ϕ xe ye H δe δa δr δf n and pz
bull If an operating point already exists in the Matlab workspace that is if the variablesxinco uaero0 and uprop0 are present in the workspace it is possible to that operatingpoint for the linearization process
bull ACTRIM can be called in order to find an appropriate steady-state operating point for thelinearization See section 822
After defining the operating point ACLIN will load the model parameters from file using the rou-tine LOADER (see section 931) unless these parameters are already present in the workspaceNext the linearization routine LINMOD will be called to find the linear aircraft model matricesAac Bac Cac and Dac Since the lsquoBeaverrsquo model uses 12 state variables and 12 inputs (includ-ing wind amp turbulence) these matrices all have the dimensions 12times 12 It is possible to extract
83 THE LINEARIZATION FACILITY 139
Figure 86 User-menu of ACLIN used to determine operating points
simplified submatrices from Aac and Bac by specifying a vector with the element numbers of therequired state variables and control inputs This option can also be used to change the order ofthe state andor input variables just type all twelve element numbers in the required changedorder Moreover it is possible to eliminate the wind amp turbulence inputs from the model Ifthe user thus specifies a simplified model two additional matrices will be constructed in theMatlab workspace Aac s and Bac s The extension s in these variable names denotes a sim-plified model Of course the exact definitions of these matrices depend upon the user-specifiedelement numbers from the state and input vectors Remember that any simplification of themodel matrices yields less accurate results than the complete 12th-order model One possibleapplication of this simplification is to de-couple the symmetrical and asymmetrical equationsof motion in the linearized model In order to help you remind the definitions of all resultsincluding the simplified model matrices Aac s and Bac s a text-matrix lindef is created Thismatrix also contains the definition of the operating point and the date and time when the resultswere determined by ACLIN
Finally ACLIN will ask you whether you want to save the results to a file If you answer Yyou will be asked to enter a directory name (by default the FDC subdirectory data will beused) and a filename The file will get the extension lin specifying a linearized model Inaddition to the model matrices and the text-matrix lindef it is possible to include the operatingpoint to this file This will be stored in the variables xinco uaero0 uprop0 and if presentin the workspace trimdef See the definitions in section 822 page 137 An example of thislinearization process is given in section 104
140
Chapter 9
Other utilities for the FDC toolbox
91 The FDC initialization routine FDCINIT
The routine FDCINIT initializes the FDC package by extending the Matlab search path withthe FDC directories The first time you run FDCINIT by typing fdcinit or fdc at the command-line you will get some welcome messages before being asked to specify the search path extension(see also section 15) The default FDC directory structure is
cfdc12 aircraft
apilot
data
doc
examples
help
navigate
tools
wind
FDCINIT makes it easy to change the path-names extend the search path with new directoriesor delete directories from the FDC search path if they are not needed anymore Just answerN to the question whether the FDC path is correct and select the appropriate menu-items tochange the FDC path according to your wishes The next time you start FDCINIT the newFDC path will be displayed as default It is possible to suppress the question to check the FDCpath for future sessions If you still want to change the FDC path after suppressing this checkonce you must delete the file fdcinitini from the FDC root-directory before running FDCINITagain You will then be welcomed again like a first-time user See section 15 for more details
92 The aircraft model parameter definition macro MODBUILD
Although the aerodynamic propulsive and geometrical properties of different types of aircraftcan differ strongly the structure of the aircraft model is quite generic In theory it is to someextent also possible to specify standard structures for the aircraft-dependent submodels but thisrequires clear well defined modeling standards In practice this is often not the case especiallywhen using model data from different sources However for the practical use of the non-linearaircraft model this does not matter too much since all aircraft-dependent elements from thismodel can be combined in separate subsystems which can be treated as black-boxes In this wayit does not matter whether an aerodynamic model is being described by means of non-linearpolynomial equations with constant coefficients or by equations with non-constant coefficients
141
142 CHAPTER 9 OTHER UTILITIES FOR THE FDC TOOLBOX
which are extracted from tables It is not necessary to use standardized data formats for themodel parameters either In the MatlabSimulink environment it is easy to load systemparameters for the Simulink systems into the Matlab workspace regardless of their exactdefinitions
Thus in general there are no restrictions to the definitions of model parameters Thisprovides maximum flexibility for the implementation of other aircraft models within the frame-work of the system Beaver However there is one exception to this rule the main geometricproperties of the aircraft and its mass-distribution data must be defined in two standardizeddata-matrices called GM1 and GM2 respectively Currently it is not possible to alter the def-initions of these matrices without changing the contents of the subsystem Aircraft Equations ofMotion which forms the core part of the non-linear aircraft model This is mainly due to thefact that the current aircraft model considers the aircraft geometry and mass-distribution to beconstant during the motions of interest Future versions of the toolbox should feature on-linecomputation of these properties which will allow us to simulate the motions of vehicles withnon-constant geometry eg variable wing-sweep or significant sudden changes in mass andormass-distribution eg dropping loads from flying aircraft
For the current implementation of the lsquoBeaverrsquo model the model parameters are defined infour data-matrices including the earlier mentioned matrices for storing geometrical data andmass distribution (GM1 and GM2 ) The matrices AM and EM contain the coefficients forthe aerodynamic model and engine forces and moments model of the lsquoBeaverrsquo using data fromref[26] Appendix D contains the exact definitions of these parameter matrices Before start-ing a simulation involving the system Beaver the parameter matrices need to be present in theMatlab workspace For this reason they have been gathered in the datafile aircraftdat
(stored in the subdirectory data) which can be loaded into the workspace by means of theMatlab macro LOADER (see section 931) The datafile itself was generated by the Matlab
macro MODBUILD This macro defines the values of all model parameters stores the resultsin the data matrices AM EM GM1 and GM2 and saves these matrices to the datafile air-
craftdat In order to obtain the inertial parameters MODBUILD contains the equations fromtables B1 and B2 from appendix B
For the FDC users it is normally not necessary to run MODBUILD since all results arealready available in the file aircraftdat within the FDC subdirectory data If the userwants to change one or more model parameters for instance because an improved version of theaerodynamic or engine models has been obtained the quickest way to update the datamatrices isto edit the source-code modbuildm accordingly1 Since MODBUILD also computes the inertialparameters changes in geometrical properties or mass-distribution also have to be taken intoaccount by editing modbuildm This may seem rather complicated but due to the clearstructure of modbuildm it is not that difficult If you want to implement a model of anotheraircraft within the framework of the system Beaver it is recommended to use at least the part ofMODBUILD where the matrices GM1 and GM2 are determined in order to get the appropriatematrix definitions The definitions of the aerodynamic and engine model parameter matrices AMand EM may be useful as a guideline for implementations of other aircraft models but as saidbefore you are not restricted to the use of those parameter matrices and you are free to applyyour own data structure instead Future versions of the FDC toolbox will probably be equippedwith more flexible parameter-definition tools If you accidentally destroy the file aircraftdatit can be retrieved by running MODBUILD again (type modbuild at the command-line)
1The file modbuildm has been stored in the subdirectory aircraft because it directly relates to the non-linear aircraft model itself
93 ROUTINES TO LOAD DATA FROM FILES 143
Loading model parameters from AIRCRAFTdat==========================================
Specify directory (default cfdc12data) gmytoolsfdcdata
Datamatrices AM EM GM1 and GM2 loaded
Ready
gtgt
Figure 91 The Matlab command-window when running LOADER
93 Routines to load data from files
931 The model-parameter load routine LOADER
The routine LOADER is used for loading the parameter matrices for the aircraft model from thedatafile aircraftdat In FDC 12 this datafile contains the model parameters for the systemBeaver but it is planned to use a similar data structure for other aircraft models in futureversions of the toolbox In addition to loading the model parameters LOADER also defines thevector xfix which is used in the aircraft model to artificially fix elements of the state vector totheir initial values By default no state variables are fixed unless you have already changed thevector xfix yourself see section 95 and the description of the block xfix in chapter 5 for moreinformation
If you type loader at the Matlab command-line or double-click a button block LOADERin a graphical Simulink system from FDC 12 the program will ask you to specify the directoryin which it will search for the file aircraftdat Normally the default directory (being theFDC subdirectory data) will be correct so you only have to press Enter If you have saved acustomized version of aircraftdat in another directory or if the path-definition of FDCINIT isnot correct you must enter the correct directory name If LOADER cannot find aircraftdat
in the specified directory it will asks whether to run MODBUILD to create this file Else thefile will be loaded into the Matlab workspace Figure 91 shows what the command-windowwill look like In this example the directory gmytoolsfdcdata is specified in stead of thesuggested default directory cfdc12data If you activate LOADER by means of a button-block in a graphical Simulink system you must activate the Matlab command-window byyourself which may not be obvious if the command-window is hidden behind other windowsTherefore it is recommended to keep at least a part of the command-window in sight Thissomewhat inconvenient user-interface is an inheritage of the original version of the FDC toolboxwhich ran under Matlab 35 for Windows where this problem did not arise Expect a newversion of LOADER featuring a graphical user-menu to be released soon
932 The load routine INCOLOAD
The routine INCOLOAD is used for loading trimmed flight conditions system matrices of lin-earized aircraft models or other datafiles into the Matlab workspace It can be started bytyping incoload at the command-line or double-clicking an INCOLOAD button within a graph-ical Simulink system from FDC 12 after which a user menu will be displayed see figure 92
144 CHAPTER 9 OTHER UTILITIES FOR THE FDC TOOLBOX
Figure 92 The main menu from INCOLOAD
FDC 12 - INCOLOAD------------------Load data for simulations of FDC systems
Specify directory (default cfdc12data) gmytoolsfdcdata
Enter filename without extension (8 characters max)
gt cr4520
Enter extension (3 characters) default = tri
gt
Loading data from file
gmytoolsfdcdatacr4520tri
Your variables are
uprop0 xdot0trimdef xincouaero0
Ready
gtgt
Figure 93 Specification of a filename for trimmed-flight condition
94 PROGRAMS FOR POST-PROCESSING SIMULATION RESULTS 145
Here the type of data to be loaded into the workspace must be specified After clicking theappropriate button you will be asked to specify the name of the directory (in the Matlab
command-window) By default this is set to the FDC sub-directory data Next you must enterthe filename without extension (INCOLOAD does not support filenames longer than 8 charac-ters) and the file extension (not longer than 3 characters) By default the file extension is setto tri for trimmed flight conditions lin for linearized models and mat for other datafilesdepending upon the choice made in the options menu INCOLOAD will then try to load thedatafile into the workspace If the file cannot be found a warning message will be displayedotherwise the file will be loaded and all variables present in the workspace after loading thefile will be displayed in the command-window Figure 93 shows what the command-windowwill look like if you choose to load a trimmed flight condition from file In this example thedatafile cr4520tri is retrieved from the directory gmytoolsfdcdata which differs fromthe default directory cfdc12data
Note expect an improved version of INCOLOAD which will feature a lsquorealrsquo graphical user-interface that bypasses the command-window to be released soon
94 Programs for post-processing simulation results
941 The routine RESULTS
During simulations all results are sent to the Matlab workspace by means of To Workspaceblocks For the non-linear aircraft model currently time-trajectories of 89 output variables 12input variables and the time-points themselves are stored in the Matlab workspace in theoutput variables Out In and time respectively1 In order to facilitate the processing of theseresults a Matlab macro RESULTS has been created This macro extracts time-trajectories ofindividual variables from these matrices in easily recognizable variables such as alpha deltaeqdyn Tt etc After running RESULTS it becomes quite easy to plot the time-trajectories ofoutput signals by simply typing
plot(timeV)plot(timealpha)plot(timedeltae)
and so forth See appendix E for a complete list of software acronyms for the different symbolsused in this report Future versions of the FDC package should include more advanced optionsfor selecting which output signals are to be send to the workspace and for automating thegeneration of graphical presentations of the simulation results
942 The routine RESPLOT
In order to get a quick overview of the last simulation results the Matlab macro RESPLOThas been created This macro should be applied after running RESULTS It plots the mostimportant output variables in a graphics window First the true airspeed V angle of attackα sideslip angle β and altitude H will be displayed Pressing a key then reveals the angularvelocities p q and r Next the Euler angles ψ θ and ϕ are displayed The final screen containsthe aerodynamic input signals δe δa and δr as well as the wind velocity components uw vwand ww If you want to plot other output variables or change the order of appearance you will
1Note under some circumstances Simulink does not properly send the simulation results to the workspaceTo solve this problem a routine RECOVER has been created see section 943
146 CHAPTER 9 OTHER UTILITIES FOR THE FDC TOOLBOX
Figure 94 Main menu of FIXSTATE
have to edit the file resplotm in the subdirectory tools Of course it is also possible to writeyour own plotting macros or enhance the capabilities of the RESULTS utilityIt is obvious that the current version of RESPLOT lacks the desired flexibility and interactivenessof a sophisticated plotting routine Its sole purpose at this moment is to facilitate the first roughanalysis of simulation results and to help novice users in visualizing simulation results from theworkspace Future versions of the toolbox should contain more sophisticated plotting utilitieswhich allow users to customize the graphs define the variables to plot and save or print theresults in an interactive way
943 The routine RECOVER
During simulations of the non-linear aircraft model the results are sent to the Matlab workspacethrough To Workspace blocks However this does not always function properly due to a bugin Simulink which has been noticed for Simulink for MS Windows up to version 12cLuckily it is often still possible to retrieve the results if they are not present in the workspaceafter running a simulation by simply calling the appropriate Simulink model once more Theroutine RECOVER simplifies this process somewhat If you canrsquot find the results after a simula-tion type recover(rsquosysnamersquo) where sysname is the name of the Simulink model eg typerecover(rsquobeaverrsquo) for the system Beaver The routine RESULTS automatically calls RECOVERif it cannot find the matrices In and Out or the time-vector time
95 The routine FIXSTATE to artificially fix state variables
The non-linear aircraft model contains a gain-block xfix which is used to artificially fix state va-riables to their initial values This may for instance be useful if you want to neglect longitudinal-lateral cross-coupling effects or if you want to fix the airspeed to its initial value to simulatean lsquoidealrsquo autothrottle system In order to fix certain states the block xfix multiplies the time-derivative of the state vector with the vector xfix This multiplication vector has twelve elementsthat correspond with the twelve state variables These elements are either equal to one in whichcase the actual time-derivative of the corresponding state variable is taken into account or zeroin which case the time-derivative of the corresponding state variable is artificially set to zero In
96 THE ROUTINE SYSTPROP TO COMPUTE LINEAR SYSTEM-PROPERTIES 147
the latter case the state variable will remain equal to its initial value The block xfix has beendescribed in detail in chapter 5
In order to facilitate the definition of the multiplication vector xfix the routine FIXSTATEhas been designed Figure 94 shows the main menu of this routine It has the following options
bull Fix asymmetrical state variable This yields a simplified model which takes into accountthe symmetrical equations of motion only If you select this option FIXSTATE will askwhether the variable ye needs to be fixed as well It will then try to re-initialize theaircraft model (this is only possible if the initial condition has already been defined in theworkspace by means of the trim routine ACTRIM the load routine INCOLOAD or manualdefinition of the variable xinco) and display the fixed state variables being β p r ψ ϕand if desired ye
bull Fix symmetrical state variables This simplifies the aircraft model to the asymmetricalequations of motion only If you select this option FIXSTATE will ask whether the variablesxe and H need to be fixed as well and it will try to re-initialize the aircraft model It willthen display the fixed state variables being V α q θ and if desired also xe and H
bull Fix arbitrary state variables If you select this option FIXSTATE will ask you to specifya vector with the element numbers of the state variables you want to fix With the statevector being x = [ V α β p q r ψ θ ϕ xe ye H ]T you can for instance fix θ and xe byspecifying the vector [8 10]
bull Don not fix any state variables Use this option to reset the original configuration in whichall states can vary freely
Although it is necessary to have the variable xfix defined in the Matlab workspace it is notnecessary to run FIXSTATE if you donrsquot want to fix any states The default value of xfix canbe defined manually by simply typing xfix = 1 (which is equivalent to xfix = ones(112))but if you use LOADER to retrieve the model parameters from file the default value of xfix willbe set automatically if the variable is not yet present in the workspace Use FIXSTATE only ifyou actually want to fix state variables or reset the model back to its original configuration
96 The routine SYSTPROP to compute linear system-properties
In order to facilitate the analysis of a linear system the utility SYSTPROP (which stands forlsquosystem propertiesrsquo) has been included to the FDC 12 package This utility can be applied toany linear system in state space or transfer function format although its main goal in the FDCtoolbox is to facilitate the analysis of linearized aircraft models obtained by the linearizationroutine ACLIN (see section 83) SYSTPROP computes the following properties of a linear system
bull time constant τ
bull natural frequency of the undamped system ω0
bull eigenfrequency of the system ωn
bull period P
bull damping factor ζ
bull percentage overshoot PO
bull peak-time Tpeak
bull settling time Tset
bull halve-time T12
148 CHAPTER 9 OTHER UTILITIES FOR THE FDC TOOLBOX
The results are displayed on the screen using the number-formatting routine NUM2STR2 whichis a customized version of the Matlab routine NUM2STR They are also stored in the file syst-
propdat Type systprop or help systprop at the command-line to see how it works (typehelp num2str2 to find out more about the number-formatting routine NUM2STR2) Refer toref[28] for the theoretical backgrounds
Note SYSTPROP requires the Control System Toolbox to function properly
97 The Simulink library FDCTOOLS
FDC 12 contains a library FDCTOOLS with some useful new blocks that can be applied ingraphical Simulink systems Some of these blocks have been applied in other graphical systemsfrom FDC 12 others have been implemented for general use The library itself is containedin the file fdctoolsm in the subdirectory tools It can be opened by typing fdctools atthe command-line If you want to copy the tools library separately be sure to include the filesnswitchm and softlimm too (these files belong to the blocks n-switch and Soft-limiter fromthe tools library)
971 Input blocks from FDCTOOLS
The library FDCTOOLS contains two new input blocks
bull Block fcn generates a block-shaped input signal The user can specify the initial value ofthe signal the amplitude of the block and the duration of the block-input
bull Doublet generates a doublet signal The user can specify the initial value of the signal thelength of the two time-intervals for the upper and lower block-shaped part of the signal thevalues of the signal during those two time-intervals and the starting time of the doublet
These blocks were created with the Mask utility of Simulink Unmask these blocks to see howthey work
972 Gain scheduling blocks from FDCTOOLS
The block Scheduled Gain makes it possible to implement a gain-scheduling system The secondinput of this block is multiplied by a signal that depends upon the first input The user mustspecify the gain-scheduling function in the internal Fcn block of Scheduled Gain If a vectorinput is used as gain-scheduling signal it is possible to change the gain value as a function ofall vector elements For instance it would be possible to change gains in an autopilot systemas a function of both the airspeed and the altitude In the systems APILOT1 to APILOT3 theuse of the gain-scheduling blocks has been demonstrated for the lsquoBeaverrsquo autopilot If you applymany Scheduled Gain blocks it is recommended to delete the internal title and More Info blocksleaving only the actual gain-scheduling function This will considerably reduce the size of them-file that contains your graphical system Note if you flip or rotate Scheduled Gain blocks theicon of this block will not automatically change its direction Although this may look somewhatodd it does not affect the results
973 Switches from FDCTOOLS
Simulink 12c contains a switch block that selects which one of two input signals is passedthrough depending upon a switch-control signal The library FDCTOOLS contains some newswitch blocks with enhanced functionality
97 THE SIMULINK LIBRARY FDCTOOLS 149
bull The block Onoff switch which is based upon the standard switch block from Simulink Ithas two inputs a switch-control signal and the main signal which is either passed throughor blocked If the first input is equal to 1 the second input is passed through otherwisethe output of the Onoff switch is set to zero
bull The block 6-switch which is a masked subsystem that makes it possible to select one outof six main input signals by setting an additional seventh switch-control signal The firstinput of the block 6-switch is the switch-control signal which must be equal to a number iwith i isin 1 2 3 4 5 6 The output signal from the 6-switch is equal to the i + 1th inputIf i isin 1 2 3 4 5 6 the output signal will be equal to zero The block 6-switch has beencreated with the Matlab macro NSWITCH If you want to make an n-switch (where n isan arbitrary integer value which defines the number of input signals to the desired n-switchblock) you can run NSWITCH from the command-line by typing nswitch(n) If you typenswitch without an input argument NSWITCH itself will prompt you to enter the valueof the integer n Although there is no upper-limit for the number of input signals yourscreen size will impose a practical limit The time needed for building the graphical n-switch block increases exponentially with n Try running NSWITCH for some differentvalues of n to see for yourself Type help nswitch at the command-line for on-line help
974 Discrete signal blocks from FDCTOOLS
The block MA-filter contains a Moving Average filter The output from this block is equal to theaverage of a number of samples taken from the input signal This number along with the sampletime can be specified freely by the user double-click the MA-filter block to enter these valuesA second variant of the MA-filter block has been included for users who have the Control
System Toolbox from Matlab The only difference between the two versions is that thelatter creates a nice graphical icon using the Matlab function DSTEP from the Control
System Toolbox If you double-click the button-block under which this second version of theMA-filter has been hidden an error message will appear if the function DSTEP canrsquot be found
975 Non-linear function blocks from FDCTOOLS
The block Soft-limiter contains a limiter with a smooth transition to the limit values Theuser can specify the range of the limiter and the part of this range where the input signalis passed through directly (linear throughput of the input signal) Values of the input signalthat exceed this linear range will be reduced to a value within the limiter-range The signalreduction is larger for input signals which further exceed the linear range ie the output signalasymptotically reaches the maximum or minimum allowed value as defined by the limiter rangesetting The block Soft-limiter has been implemented as a graphical S-function block which callsthe Matlab subroutine SOFTLIM It was not possible to use a normal Matlab subroutine-block because such blocks do not allow parameters to be sent from the graphical Simulink
block to the subroutine For this reason the subroutine has been implemented as an S-functionof which only the output relation is used See the source-code of softlimm in the subdirectorytools for more details
150
Chapter 10
Performing open-loop analysis withFDC 12
101 Introduction
This chapter explains how to generate open-loop responses with the lsquoBeaverrsquo simulation modelfrom chapter 5 It is useful to read this section to get acquainted with the practical use ofthe FDC models and tools Once you master this part of the report it will be much easierto understand the description of the autopilot case-study from chapters 11 and 12 FDC 12contains three open-loop simulation models
1 OLOOP1 is used to obtain non-linear aircraft responses to control inputs
2 OLOOP2 is used to obtain non-linear aircraft responses to atmospheric turbulence
3 OLOOP3 is used to obtain linear aircraft responses to control inputs
In addition there are three corresponding lsquotutorialrsquo systems which explain the functions of all el-ements within these open-loop systems These tutorial system are called OLOOP1T OLOOP2Tand OLOOP3T respectively These open-loop systems will be treated in sections 102 to 104Section 105 describes a Matlab program which uses the aircraft trim algorithm to determinethe trimmed-flight elevator deflection curve of the aircraft
102 Non-linear responses to deterministic inputs ndash OLOOP1
1021 Structure of the system OLOOP1
The Simulink system OLOOP1 can be used to obtain open-loop simulations of the lsquoBeaverrsquoAfter initialization of the toolbox (section 15) it can be opened by typing oloop1 at the Matlab
command-line or by double-clicking the OLOOP1 button in the library FDCLIB There is alsoa lsquotutorialrsquo system OLOOP1T which explains the meaning of all blocks from OLOOP1 Thissystem can be opened by typing oloop1t at the command-line or double-clicking the OLOOP1Tbutton in FDCLIB A picture of OLOOP1 is shown in figure 101
The core of this simulation model is an S-function block which calls the system Beaver (seechapter 5 for a description of this simulation model) As explained in section 51 the connectionsbetween Beaver and other subsystems are made by means of Inport and Outport blocks withinthe first level of Beaver When calling Beaver from within another simulation model such asOLOOP1 it is necessary to apply an input vector with as many elements as there are Inportblocks in the first level of Beaver Obviously the output vector will have has as many elements
151
152 CHAPTER 10 PERFORMING OPEN-LOOP ANALYSIS WITH FDC 12
uaero0
Initial inputsfor aeromod
uprop0
Initial inputsfor engmod
uaero++
++
uprop
Block delta r
Block delta a
Block delta e
Step pz
Step n
Step delta f
Rate Limiter
Rate Limiter
Rate Limiter
1 Createtrajectoriesof individual
outputsRESULTS
Double-clickbefore
simulating
Double-clickafter
simulating
3b Load initialcondition from file
INCOLOAD
(1) Createdatafiles
MODBUILD
(4) Fixindividual
states
FIXSTATE
3a Call aircrafttrim routine
ACTRIM2 Load model
parametersfrom file
LOADER
beaver
aircraft model
theta
Auto-scale storageGraph Scope
Figure 101 Block-diagram of the open-loop system OLOOP1
as there are Outports in the first level of Beaver As explained in section 51 these so-calledS-function outputs cover only a subset of the total number of outputs from the aircraft modeldue to the fact that Simulink does not allow the use of vector signals by the Inport and Outportblocks in the first level of a graphical model However all outputs are sent to the workspaceduring simulations from where they can be accessed for further analysis See also the definitionsof the output matrices in section E2 of appendix E For the system lsquoBeaverrsquo there are sixteenS-function outputs which are gathered in one output vector that leaves the S-function blockwithin OLOOP1
y = [ V α β p q r ψ θ ϕ xe ye H︸ ︷︷ ︸x
H pb2V
qcV
rb2V︸ ︷︷ ︸
ydl
]T (101)
The non-dimensional rotational velocities pb2V qc
V and rb2V were needed for the autopilot simu-
lation models see section 123 For most purposes this selection of output signals is quitesufficient ndash the number of outputs can be increased by appropriate editing of the first level ofBeaver1 There are twelve input signals which enter the S-function block in OLOOP1 by meansof one input vector
u = [ δe δa δr δf︸ ︷︷ ︸uaero
n pz︸ ︷︷ ︸uprop
uw vw ww uw vw ww︸ ︷︷ ︸uwind
]T (102)
The first six elements of this vector are the control inputs while the latter six elements representatmospheric disturbances The number of S-function inputs is equal to the total number of input
1Remember however that any change in the Inport and Outport definitions from the system Beaver must betaken into account in all systems and Matlab programs which contain calls to Beaver If you plan to do this itis therefore recommended to save the modified system under a new filename
102 NON-LINEAR RESPONSES TO DETERMINISTIC INPUTS ndash OLOOP1 153
signals to the system Beaver The definitions of the input and output vectors are also given insection E2 of appendix E and it can be retrieved from the command-line by typing typeinputshlp or type outputshlp
On the output side of the S-function block a Demux block with 16 outputs has been con-nected This enables us to connect Scope blocks for monitoring individual output trajectoriesduring the simulations Detailed analysis of the results is also possible after finishing a simu-lation because all results are sent to the workspace by means of To Workspace blocks withinthe system Beaver On the input side of the S-function block a Mux block is used to combinethe three input vectors uaero uprop and uwind into the vector u from equation (102) OLOOP1limits itself to the control inputs ie uaero and uprop while OLOOP2 has been designed foropen-loop simulations of aircraft responses in atmospheric turbulence For the system OLOOP1we can therefore leave the uwind line to the Mux block unconnected Two additional Mux blocksare included to construct aerodynamic and propulsive input vectors from their scalar elements
It is important to point out the fundamental difference between linear and non-linear aircraftmodels Linear models use small-perturbation signals which describe the responses of the air-craft in terms of deviations from the nominal values of its motion variables The input signalsto these models represent deviations from the nominal values of the control inputs On theother hand non-linear models use the true values of all signals For instance if we want toanalyze the response of the aircraft to a block-shaped elevator input we would supply only thechange in elevator deflection in case of a linear model while the total elevator deflection ie theinitial value plus the block-shaped change in elevator deflection must be supplied in case of anon-linear model Therefore it is necessary to add the initial values of the input vectors (uaero(0)and uprop(0)) to the test-signals before they are entered into the non-linear aircraft model Thisexplains the function of the two Sum blocks in OLOOP1 These Sum blocks add the initial valuesof the aerodynamic and propulsive input vectors to the block-shaped test-inputs The initialvalues of the input vectors are obtained from the Matlab workspace via the variables uaero0and uprop0 which enter the graphical system through two Constant blocks These initial valuescan be specified manually or obtained by means of the aircraft trim program ACTRIM as willbe shown in the next section
In the example system OLOOP1 the following test-signals are supplied by default
bull a block-shaped change in elevator deflection ∆δe = 3 during 2 seconds
bull a block-shaped change in aileron deflection ∆δa = 3 during 2 seconds
bull a block-shaped change in rudder deflection ∆δr = 3 during 2 seconds
bull a ramp-shaped change in flap setting ∆δf = 3 within 3 seconds
bull a ramp-shaped change in engine RPM ∆n = 200 [RPM ] within 4 seconds
bull a ramp-shaped change in manifold pressure ∆pz = 2 [primeprimeHg ] within 2 seconds
(These signals originally were chosen to validate the simulation results by comparing them withexisting data they trigger all important characteristic motions of the aircraft) The block-inputsare extracted from the FDC library FDCTOOLS which can be opened by typing fdctools at thecommand-line See section 97 for a description of this block-library The ramp-shaped inputsare created by passing a step-input through a Rate Limiter (both are standard Simulink blocks)A different shape of the test signals can be obtained by changing the block-parameters afterdouble-clicking the input blocks Of course it is also possible to replace these blocks by othertypes of input shapes from the standard Simulink libraries or from FDCTOOLS In figure 101only the elevator test signal has actually been connected to the aircraft model The other test
154 CHAPTER 10 PERFORMING OPEN-LOOP ANALYSIS WITH FDC 12
inputs can easily be connected by drawing the corresponding signal lines
Before starting a simulation of OLOOP1 it may be useful to take a closer look at the lsquotuto-rialrsquo system OLOOP1T This system provides a step-by-step explanation of the construction ofOLOOP1 itself which will probably help you to comprehend this simulation model
1022 Performing simulations with OLOOP1
First open the system OLOOP1 Suppose we want to evaluate the responses of the aircraftto the (default) block-shaped elevator input In that case we donrsquot have to edit the system onthe input side Before we can start a simulation it is necessary to define the system parame-ters in the Matlab workspace First of all the system Beaver requires the parameter vectorGM1 and the parameter matrices AM EM and GM2 to be present in the Matlab workspaceThese matrices are defined in appendix D They can be retrieved from the file aircraftdatwhich is contained in the FDC subdirectory data by means of the utility LOADER (see sec-tion 931) So after opening OLOOP1 first double-click the button LOADER You must activatethe Matlab command-window yourself after double-clicking this button to specify the directorywhere LOADER will search for aircraftdat ndash usually the default directory will do fine Nextthe initial flight-condition must be defined or computed You can use ACTRIM to determinea steady-state flight-condition (see the example in section 105) or use INCOLOAD to load aflight-condition from file The FDC subdirectory data contains at least the following two fileswith steady-state initial flight conditions cr4520tri and cr4560tri The file-extension tri
reveals that these files were created by the routine ACTRIM Their filenames have the followingmeaning cr means lsquoCruisersquo condition 45 denotes the initial value of the true airspeed in [msminus1]20 denotes the initial flight-level ie the altitude in [ft ] divided by 100 In this case start IN-COLOAD by double-clicking its button in OLOOP1 or by typing incoload at the command-lineClick the first button from the user-menu to retrieve a trimmed flight condition and specify thedirectory filename and extension in the command-window If you want to keep state variablesfrom the aircraft model fixed to their initial values run FIXSTATE by double-clicking its buttonin the system OLOOP1 or by typing fixstate at the command-line (see section 95) Here wewill evaluate the complete aircraft model so it is not necessary to run FIXSTATE
Now start the simulation For the systems from the FDC toolbox the simulation parame-ters already have been defined appropriately so you can simply select Start Simulation in thesimulation menu By default the system OLOOP1 sends the 8th output being θ1 to a GraphScope which will display its time-trajectory in a graphical window and automatically sets thefigure axes This is useful for monitoring the simulation but for real analysis of the results it ismore convenient to make plots after finishing the simulation using the simulation results fromthe workspace If everything goes well you will see a good example of a short-period oscillationfollowed by the phugoid mode of the lsquoBeaverrsquo aircraft If you want to monitor another variableduring simulations you must connect the Graph Scope to another output from the Demux block
Try performing some more simulations ndash it is really quite simple Notice that by defaultonly one of the input signals namely a block-shaped elevator deflection is connected to theaircraft model This may lead to some Matlab warnings about unconnected output lines fromthe other input signal blocks which in this case obviously can be disregarded If you want toanalyze responses to the other input signals simply connect their output line to the appropriateMux block
1See the definition of the S-function output vector from equation 101 or enter type outputshlp at thecommand-line for on-line help
103 NON-LINEAR RESPONSES TO STOCHASTIC INPUTS ndash OLOOP2 155
1023 Analyzing simulation results
After a complete simulation of OLOOP1 the workspace should contain the variables time Inand Out which represent the time-axis input trajectories and output trajectories respectivelySee section E2 of appendix E for the definitions of In and Out or type type inputshlp ortype outputshlp for on-line help at the command-line It is useful to check which variablesare present in the workspace after finishing the simulation by typing who because under certaincircumstances Simulink does not properly send the simulation results to the workspace Thisbug has been noticed for all Simulink versions for Windows up to version 12c If time In andOut are not present in the workspace after a simulation something has gone wrong In that casetry to recover the simulation results by running the routine RECOVER for the system Beaver(type recover(rsquobeaverrsquo) at the command-line) If this doesnrsquot solve the problem you have torepeat the simulation See also section 943
The variables time In and Out may be used rightaway to plot the results but it isalso possible to run the Matlab macro RESULTS first in order to simplify this process NoteRESULTS can only be applied if you havenrsquot changed the definitions of the input andor outputvectors which are sent to the workspace from the system Beaver RESULTS yields a largenumber of new variables such as alpha deltae Hdot etc which can be plotted against timeby typing plot(timealpha) plot(timedeltae) etc The variable names are mostly literalrepresentations of the corresponding symbols see appendix E or the source-code of RESULTS formore details RESULTS can be started by typing results at the command-line or by double-clicking its button block in OLOOP1 After running RESULTS you can plot the most importanttime-trajectories with the Matlab macro RESPLOT See also sections 941 and 942
103 Non-linear responses to stochastic inputs ndash OLOOP2
1031 Structure of the system OLOOP2
The system OLOOP2 (figure 102) contains an open-loop simulation model of the lsquoBeaverrsquo aircraftflying through atmospheric turbulence The corresponding lsquotutorialrsquo system OLOOP2T explainsthe function of each block in this system Like OLOOP1 the core of this system is an S-functionblock which calls the system Beaver A Demux block on the right-hand side of the system extractsthe sixteen individual output signals from the S-function output vector Each output from Demuxcan be connected to a Scope block for monitoring the simulations in the example system a GraphScope has been connected to the third output line which corresponds with the sideslip angle β(the complete definition of the S-function output vector from Beaver was given in equation (101)and can be displayed in the Matlab command window by typing type outputshlp) On theinput side a Mux block combines the two control input vectors and the vector with wind andturbulence velocities and their time-derivatives Due to the fact that the aircraft model is notlinear it is necessary to enter the initial values of the control input vectors uaero and uprop intothe system even though we only want to analyze the responses to atmospheric turbulence Theatmospheric turbulence model was copied from the library WINDLIB which was described inchapter 6 Here Dryden filters with constant coefficients are used The parameters from thesefilters can be changed by double-clicking the subsystem Atmospheric Turbulence Group and thendouble-clicking each Dryden Filter block Of course it is possible to connect and disconnect theDryden Filter blocks according to your own wishes By default the scale lengths are set to 150m the standard deviations are 1 msminus1 and the velocity for which the filters are determined is45 msminus1 This velocity lies exactly between the upper and lower limits of the flight envelope ofthe lsquoBeaverrsquo On-line help for the subsystem Atmospheric Turbulence Group can be displayed bydouble-clicking its title-block or by typing type turb1hlp at the command-line
156 CHAPTER 10 PERFORMING OPEN-LOOP ANALYSIS WITH FDC 12
uprop0
Initial inputsfor engmod
uaero0
Initial inputsfor aeromod
beta
beaver
aircraft model
Auto-scale storageGraph Scope
Atmospheric TurbulenceGroup (Dryden filters)
uwind
2 Load modelparameters
from file
LOADER
3a Call aircrafttrim routine
ACTRIM(4) Fix
individualstates
FIXSTATE
(1) Createdatafiles
MODBUILD3b Load initial
condition from fileINCOLOAD
Double-clickafter
simulating
Double-clickbefore
simulating1 Create
trajectoriesof individual
outputsRESULTS
Figure 102 Block-diagram of the open-loop system OLOOP2
1032 Performing simulations with OLOOP2 and analyzing the results
First run LOADER in order to retrieve the model parameters for the system Beaver from the fileaircraftdat Use INCOLOAD to retrieve an initial condition from file eg load cr4520tri
or cr4560tri from the subdirectory data or determine a steady-state initial condition withACTRIM Run FIXSTATE if you want to artificially fix state variables from the aircraft modelNext start the simulation by selecting Start in the simulation menu The results can be analyzedby means of RESULTS and RESPLOT It is useful to make separate simulations for longitudi-nal lateral and vertical turbulence by connecting the respective blocks within the subsystemAtmospheric Turbulence Group
104 Linear responses to deterministic inputs ndash OLOOP3
1041 Structure of the system OLOOP3
Figure 103 shows the system OLOOP3 which contains a linear open-loop simulation model ofthe lsquoBeaverrsquo In stead of the non-linear S-function block from OLOOP1 and OLOOP2 it definesthe aircraft dynamics by means of a linear State-Space block which extracts its model matricesAac Bac Cac and Dac from the Matlab workspace These matrices can be extracted fromthe non-linear system Beaver by means of the linearization program ACLIN see section 83 formore details The purpose of OLOOP3 is to determine linear aircraft responses to the samecontrol inputs as used in the non-linear system OLOOP1 Contrary to OLOOP1 OLOOP3 is asmall-perturbations model Therefore it was not necessary to add the initial conditions uaero(0)and uprop(0) to the test-signals hence the test-signals could be connected directly to a Muxblock to get the small-deviations version of the input vector from equation (102) For moreinformation about OLOOP3 you should consult the lsquotutorialrsquo system OLOOP3T which can beopened by typing oloop3t at the command-line
104 LINEAR RESPONSES TO DETERMINISTIC INPUTS ndash OLOOP3 157
Step delta f
Step n
Step pz
Block delta e
Block delta a
Block delta r
Double-clickbefore
simulating
1b Load linearmodel from file
INCOLOAD
1a Call lineari-zation routine
ACLIN
t
To WorkspaceClock
x = Ax+Bu y = Cx+Du
Linear aircraftmodel
Scope
yout
To Workspace
yin
To Workspace
Rate Limiter
Rate Limiter
Rate Limiter
Figure 103 Block-diagram of the open-loop system OLOOP3
1042 Performing simulations with OLOOP3 and analyzing the results
The definition of model parameters is different from the definitions for OLOOP1 and OLOOP2Here it is only necessary to define the matrices of the linear aircraft model (Aac Bac Cacand Dac) in the Matlab workspace It is not necessary to define an initial condition becausethe linearized model expresses all signals in deviations from their initial values The aircraftmodel matrices can be loaded from file by running INCOLOAD or determined by the linearizationprogram ACLIN By default the subdirectory data contains two files with linearized aircraftmodels cr4520lin and cr4560lin
For this example we will use ACLIN to obtain a linear aircraft model Double-click theACLIN button in OLOOP3 or type aclin at the command-line to start this program You willbe welcomed by the message from figure 104 and you must enter the name of the aircraft model(by default Beaver) Next choose a method for defining the operating point in the workspace Inthis case click the first button of the user-menu to retrieve a trimmed-flight condition from fileHere we will load the file cr4560tri from the subdirectory data see figure 106 ACLIN willthen start LOADER to retrieve the model parameters for the non-linear aircraft model and startthe linearization process itself It is then possible to select a subset of the state equations andorinput equations but since we need the full 12th-order model the questions from figures 109and 1010 are answered by pressing Enter Save the results to the file testfilelin in thesubdirectory data
All model matrices are now specified in the workspace and the simulation can be startedby selecting Start from the simulation menu If you want to view the process of the simulationitself double-click the Scope block first before starting the simulation Due to the fact that themodel is now linear the simulation will be very fast1 The results from the simulations will
1Due to the fact that it is a linear model the integrator LINSIM was applied for simulations of the system
158 CHAPTER 10 PERFORMING OPEN-LOOP ANALYSIS WITH FDC 12
gtgt aclin
FDC 12 - ACLIN
Linearize nonlinear aircraft model in SIMULINK===============================================
Enter name of the aircraft model in Simulink (default BEAVER)
gt beaver
Figure 104 When you start ACLIN you must first specify the model name
Figure 105 Click the first button fro the user-menu to load an operating point from file
104 LINEAR RESPONSES TO DETERMINISTIC INPUTS ndash OLOOP3 159
Specify directory (default cfdc12data)
Enter filename without extension (8 characters max)
gt cr4560
Enter extension (3 characters) default = tri
gt
Loading operating point from file
cfdc12datacr4560tri
ltltlt Press a key to proceed with model definition gtgtgt
Figure 106 Specify the directory filename and extension (here cfdc12datacr4560tri)
Loading model parameters from AIRCRAFTdat------------------------------------------
Specify directory (default cfdc12data)
Datamatrices AM EM GM1 and GM2 loaded
Ready
ltltlt Press a key to proceed with linearization gtgtgt
Figure 107 ACLIN now calls LOADER to retrieve the model parameters
Now linearizing S-function beaver
Wait a moment please
Linearization succeeded
ltltlt Press a key to continue gtgtgt
Figure 108 Next the linearization function LINMOD is called
160 CHAPTER 10 PERFORMING OPEN-LOOP ANALYSIS WITH FDC 12
Select states-------------
The current state vector is
x = [ V alpha beta p q r psi theta phi xe ye H ]rsquo
1 2 3 4 5 6 7 8 9 10 11 12
Enter vector with element numbers of states you want to use(enter = use all states)
gt
Figure 109 It is possible to select a subset of the state vector but we need all state variables
Select inputs-------------
The current control-input vector is
u = [ deltae deltaa deltar deltaf n pz ]rsquo
1 2 3 4 5 6
Enter vector with element numbers of control inputs that you wantto use (enter = use all control inputs)
gt
Include wind amp turbulence inputs (yn) y
Figure 1010 We also need all input variables including the wind and turbulence inputs
104 LINEAR RESPONSES TO DETERMINISTIC INPUTS ndash OLOOP3 161
State-space matrices of complete 12th-order systemAac Bac Cac and Dac
Save linear state-space model to file (yn) y
Enter data for storing the linear model
Specify directory (default cfdc12data)
Enter filename without extension (8 characters max)
gt testfile
The linear state-space model will be saved to the file
cfdc12datatestfilelin
Is this correct (yn) y
Include operating point xincouaero0uprop0 to file (yn) y
Saving linear state-space model to the file
cfdc12datatestfilelin
ltltlt Press a key gtgtgt
Figure 1011 The results can be saved to a file (here testfilelin)
162 CHAPTER 10 PERFORMING OPEN-LOOP ANALYSIS WITH FDC 12
State-space matrices of linearized aircraft model Aac Bac Cacand Dac (ac = aircraft) Operating point is defined by the vectorsxinco uaero0 and uprop0
Examine the nonlinear aircraft model in Simulink for the currentdefinition of the outputvector The S-function BEAVER uses
y = [xrsquo dHdt pb2V qcV rb2V]rsquo
which contains all relevant information for the autopilot simu-lation model APILOT
See matrix lindef for more details
Ready
Figure 1012 The final screen message at the end of the linearization process
be stored in the vector t which contains the time-axis and the matrices yin and yout whichcontain the time trajectories of the input and output variables respectively Notice that thesevariables are not equal to the standard results time In and Out due to the fact that OLOOP3does not call the non-linear model Beaver which constructs the latter variables For this reasonit is not possible to apply RESULTS and RESPLOT here In stead you must plot individual inputandor output trajectories by typing
plot(tyin(1))plot(tyin(2))plot(tyout(6))
and so forth The definitions of yin and yout correspond with the definitions of the S-functioninput and output vectors given in equations (102) and (101) although here only deviationsfrom nominal input and output values are represented
105 Trim-demo trimmed-flight elevator deflection curve
From the Simulink models we can extract quite useful information about the characteristics ofthe aircraft For example it is easy to determine the trimmed-flight elevator deflection curvewhich provides information about the stability and control characteristics of the aircraft (seefor instance ref[15]) Figure 1013 shows two trimmed-flight elevator curves for the lsquoBeaverrsquoaircraft which were extracted from the Simulink system Beaver using the trim algorithm fromsection 43 In the figure these curves have been compared to flight-test results in order to geta general idea about the validity of the model1 The solid line and cross-points denote computedand measured values for low engine power the dotted line and circle-points denote computedand measured values for high engine power
OLOOP3 For non-linear simulations this routine was not suitable so RK45 or ADAMSGEAR were applied forall other simulation models from FDC 12 See section 42 for more details about numerical integration methods
1These flight-test results were obtained as a part of the practical training for students in Aeronautical En-gineering at Delft University of Technology Due to the somewhat limited accuracy of these measurements the
105 TRIM-DEMO TRIMMED-FLIGHT ELEVATOR DEFLECTION CURVE 163
-2
0
2
4
6
8
10
12
30 35 40 45 50 55 60
o
o
o
o
o
o
o
o
o
o
o
x
x
x
x
x
x
x
xx
x
V [ms]
- de
ltae
[deg
]
Figure 1013 Trimmed-flight elevator deflection curves for the lsquoBeaverrsquo
The Matlab program TRIMDEMO demonstrates how these elevator deflection curves can beobtained This program first asks the user to specify the altitude flap-angle and engine RPM forwhich the elevator curve should be computed It automatically defines the other motion variablesfor wings-level flight conditions The trim procedure from figure 49 is then performed for 10different values of the airspeed which all lay within the flight-envelope of the lsquoBeaverrsquo The partof trimdemom which actually determines the trimmed flight conditions has largely been copiedfrom the general trim program actrimm (see section 82)1 After determination of the trimmedflight conditions TRIMDEMO plots the relation between the steady-state elevator deflectionδe and the true airspeed Of course it is easy to modify trimdemom if you want to viewsteady-state curves of different state andor input variables The source code of TRIMDEMOis contained in the file trimdemom within the FDC subdirectory examples It is useful tocompare this with the source-code from ACTRIM which is stored in the file actrimm withinthe subdirectory tools
In stead of using TRIMDEMO it is also possible to create the elevator curve with the generalaircraft trim program ACTRIM In this case you will have to define the flight conditions manuallyfor each velocity that you want to include in the δe-plot Figures 1014 to 1021 demonstrate thecomplete trim-procedure for a velocity of 35 msminus1 Of course it is quite cumbersome to repeatthis procedure for ten different velocities so it is much more practical to use TRIMDEMO forthis particular task Still this clearly demonstrates the practical use of ACTRIM
flight test results should be used for qualitative comparison only1For future versions of the toolbox it is planned to divide the ACTRIM into more separate Matlab functions
which will make it easier to write utilities like TRIMDEMO
164 CHAPTER 10 PERFORMING OPEN-LOOP ANALYSIS WITH FDC 12
gtgt actrim
FDC 12 - ACTRIM================
Find steady-state trimmed-flight condition fornonlinear aircraft model in Simulink
ltltlt Press a key gtgtgt
Figure 1014 When you start ACTRIM you get this welcome message
Loading model parameters from AIRCRAFTdat------------------------------------------
Specify directory (default cfdc12data)
Datamatrices AM EM GM1 and GM2 loaded
Ready
Figure 1015 ACTRIM first calls LOADER to retrieve the model parameters
Give name of system with aircraft model (8 characters max)default = beaver
gt beaver
Simulink will first make an internal representation ofthe system beaver Press a key
ltltlt Ready press a key gtgtgt
Figure 1016 Next the name of the aircraft model must be entered
105 TRIM-DEMO TRIMMED-FLIGHT ELEVATOR DEFLECTION CURVE 165
Figure 1017 Next select a trim-condition (here steady wings-level flight see next figure
Steady wings-level flight==========================
Give desired airspeed [ms] default = 45 35
Give (initial) altitude [m] default = 0 200003048
Give heading [deg] default = 0
Use specified flight-path angle or manifold pressure (fm) m
Give flap angle [deg] default = 0
Give engine speed [RPM] default = 1800
Give manifold pressure pz [Hg] default = 20
Searching for stable solution Wait a moment
Iteration stopped
ltltlt Press a key to get results gtgtgt
Figure 1018 Some starting values for the trim process must be specified
166 CHAPTER 10 PERFORMING OPEN-LOOP ANALYSIS WITH FDC 12
State vector (trimmed)
x = 35000e+00121131e-001
-20667e-0020000
19190e-0010000
Input vector (trimmed)
u = -93083e-00296242e-003
-49506e-0020
18000e+00320000e+001
000000
Time derivative of state vector (trimmed)
xdot = -18871e-004-12348e-00546356e-004
-25027e-005-20660e-005-52604e-005
000
34986e+001-72330e-001-67909e-001
Figure 1019 The resulting states inputs and time-derivatives are shown
105 TRIM-DEMO TRIMMED-FLIGHT ELEVATOR DEFLECTION CURVE 167
Save trimmed condition to file (yn) yEnter data for storing the trimmed-flight condition
Specify directory (default cfdc12data)
Enter filename without extension (8 characters max)
gt testfile
The trimmed-flight condition will be saved to the file
cfdc12datatestfiletri
Is this correct (yn) y
Saving trimmed-flight condition to the file
cfdc12datatestfiletri
ltltlt Press a key gtgtgt
Figure 1020 The results can be saved to a file (here testfiletri)
The results have been stored in the following variables
xinco = [V alpha beta p q r psi theta phi xe ye H]rsquo = state vectorxdot0 = dxdt(0)uaero0= [deltae deltaa deltar deltaf]rsquo = initial input vector for
aerodynamic modeluprop0= [n pz]rsquo = initial input vector for engine model
The text-matrix rsquotrimdefrsquo contains more info about the trimmedflightcondition
Ready
gtgt
Figure 1021 The final screen messages at the end of the trim process
168
Chapter 11
lsquoBeaverrsquo autopilot ndash theoreticalbackgrounds
111 Introduction
The Simulink models from chapters 5 to 7 played an important role for the design and evaluationof the control laws for the lsquoBeaverrsquo autopilot at the Faculty of Aerospace Engineering SectionStability and Control This project served to gain practical experience in designing an autopilotfrom scratch to actual flight tests The control laws were based upon classical control theorywhich resulted in a baseline autopilot that served as an example for similar developments for thenew Cessna Citation II lsquoNational Fly-by-wire Testbedrsquo and provided a basic reference againstwhich modern control design methods could be measured In this report the resulting controllaws will be treated as a case study which will demonstrate the power and flexibility of the FDCtoolbox This chapter describes the required theoretical backgrounds The implementation ofthe control structure within Simulink will be treated in the next chapter These two chaptersare intended primarily as a demonstration for the more experienced FDC users but they alsoprovide a good basis for similar Automatic Flight Control System design projects in the futureHowever for a detailed description about the lsquoBeaverrsquo autopilot project the reader is referredto the MSc-theses of MO Rauw and PNH Wever (refs [22] and [29]) which though notpublished for public use may still be available at the Section Stability and Control of theFaculty of Aerospace Engineering
112 Basic autopilot functions
The functions of an autopilot can be divided in the areas of guidance and control Thesefunctions are defined as follows (ref[20])
Guidance the action of determining the course and speed to be followed by the vehicle relativeto some reference system
Control the development and application of appropriate forces and moments to the vehiclewhich (i) establish some equilibrium state of vehicle motion and (ii) restore a disturbedvehicle to its equilibrium state (operating point) andor regulate within desired limits itsdeparture from operating point conditions
The boundary between these two areas is seldom inherently sharp because of functional oper-ational and equipment interactions that they may share The control loops ensure a fast andstable response of the aircraft to the commands created by the guidance loops They must also
169
170 CHAPTER 11 lsquoBEAVERrsquo AUTOPILOT ndash THEORETICAL BACKGROUNDS
eliminate the influence of external disturbances such as atmospheric turbulence As a resultof the separation between guidance and control task the autopilot structure can be divided ininner and outer loops The control function is fulfilled by the inner loops (figure 111) whichcontrol the pitch and roll angles of the aircraft ie the aircraftrsquos attitude relatively to the EarthThe actual pitch and roll commands are created by the outer loops which guide the aircraftequipped with the inner-loop control structure along the desired flight-path (figure 112)
A combination of control loops needed to fulfill a certain guidance or control function iscalled an autopilot mode It is possible to make a distinction between lateral and longitudinalmodes even though the lateral and longitudinal motions of the aircraft are not totally indepen-dent To prevent the lateral movements affecting the performance of the longitudinal guidanceand control loops it is necessary to include some laterallongitudinal interconnections eg aturn-compensation which compensates for lost of lift due to rolling (a lateral motion) by meansof elevator deflection (a longitudinal control input)
113 The longitudinal autopilot modes
1131 Pitch Attitude Hold mode
The Pitch Attitude Hold mode (PAH) is the basic longitudinal autopilot mode it controls thepitch angle by applying appropriate deflections of the elevator if the actual pitch angle differsfrom the desired reference value Normally the PAH mode serves as inner loop for the AltitudeHold Altitude Select and Glideslope modes (after adding a filter in the θ-loop) It is alsopossible to select the PAH mode separately for instance in order to control the pitch-attitudeof the aircraft by means of longitudinal side-stick inputs (fly-by-wire control) In addition thelongitudinal part of the Go-Around mode is based upon the PAH control laws see section 1135The pitch angle θ is fed back to damp the phugoid mode of the lsquoBeaverrsquo and to ensure that thedesired pitch angle is maintained A proportional and integrating controller is applied in orderto make sure that no steady-state errors in the pitch angle will remain As long as the errorsignal θminus θref is not equal to zero the signal from the integrator will increase which leads to anincreasing elevator deflection which eliminates the error A feedback-loop of the pitch rate to theelevator has been included to compensate for the small decrease in damping of the short-periodmode due to the θ-feedback See refs[6] [19] or [20]
The block-diagram of the PAH mode is shown in figure 113 A loop for turn-compensationhas been added later see section 115 Also some signals from this block-diagram will be lim-ited The feedback-signals are obtained by means of on-board sensors which have not beendrawn in this block-diagram All gain factors are functions of the airspeed V see table 113 atthe end of this chapter
1132 Altitude Hold mode
The Altitude Hold mode (ALH) is used to maintain a reference altitude which is specified bythe pilot This mode uses the PAH mode with an additional washout filter in the θ-loop asinner-loop In other words the ALH mode fulfills a basic guidance function of the lsquoBeaverrsquoautopilot If the reference altitude differs too much from the actual altitude the mode controllerautomatically switches to the Altitude Select mode see section 1133
The difference between the reference altitude and the actual altitude ∆H = Href minusH isfed back via an amplifier to the inner loops hence the outer loop generates a pitch commandsignal θref for the inner loops The washout filter in the θ-loop is necessary because as soon as
113 THE LONGITUDINAL AUTOPILOT MODES 171
Inner-loopController
Aircraft
Commandsignals
Errorsignals
Referencesignals
Motionvariables
+ndash
Figure 111 Control function fulfilled by inner-loops of the autopilot
Inner-loopController
Aircraft
Commandsignals
Errorsignals
Referencesignals
Motionvariables
+ndash
Outer-loopController
Flight-pathrelatedparameters
Figure 112 Guidance function fulfilled by outer-loops of the autopilot
Kθ
Ki
s
Kq
Integrator
++ndash
V δe δeθq
θref
+ndash
Compu-tationaldelay
Actuatoramp cabledynamics
lsquoBeaverrsquodynamics
Figure 113 Block-diagram of the Pitch Attitude Hold mode (without turn-compensation)
172 CHAPTER 11 lsquoBEAVERrsquo AUTOPILOT ndash THEORETICAL BACKGROUNDS
KH
Ki
s
Kq
Integrator
++ndash
V δe δeHref
+ndash
Compu-tationaldelay
Actuatoramp cabledynamics
lsquoBeaverrsquodynamics
Kθ
+ndash
H
θq
Washoutfilter
ss+Kd
Figure 114 Block-diagram of the Altitude Hold mode (without turn-compensation)
Href is reached the command signal θref will become zero whereas the actual value of the pitchangle in level-flight usually differs from zero But since the signal that leaves the washout filterwill be very small if the changes in pitch angle are equal or close to zero the inner-loop doesnot try to maintain a pitch angle θ = 0 anymore
The block-diagram of the ALH mode is shown in figure 114 An additional loop for turn-compensation has been added later see section 115 The feedback-signals are obtained bymeans of on-board sensors which have not been drawn in this block-diagram The gains dependupon the airspeed V see table 113 at the end of this chapter
1133 Altitude Select mode
The Altitude Select mode actually controls the rate of climb of the aircraft The climb rateH is fed back via a filter to the pitch channel The PAH mode with an additional washoutfilter in the θ-loop serves as inner-loop for this mode so the ALS mode can be regarded as aguidance mode The mode controller of the lsquoBeaverrsquo autopilot automatically decides which rateof climb is to be maintained if the pilot enters a certain desired reference altitude If the dif-ference between the reference altitude and the actual altitude exceeds a certain value the ALSmode will automatically be engaged The mode controller switches from ALS to ALH mode ifthe aircraft enters a certain lsquoaltitude windowrsquo around the desired altitude It is essential thatthe pilot maintains a sufficient airspeed by increasing the engine power during climbs becauseotherwise the reference value of the rate of climb cannot be reached This is due to the fact thatthe system does not include an autothrottle which would take care of selecting the right enginepower itself (this is not uncommon in simple general-aviation autopilots)
The block-diagram of the ALS mode is given in figure 115 Notice that the feedback-signals areobtained by means of on-board sensors which have not been drawn in this block-diagram Thegains depend upon the airspeed V see table 113 at the end of this chapter
113 THE LONGITUDINAL AUTOPILOT MODES 173
KH
s+Kc
Ki
s
Kq
Integrator
++ndash
V δe δeHref
+ndash
Compu-tationaldelay
Actuatoramp cabledynamics
lsquoBeaverrsquodynamics
Kθ
+ndash
H
θq
Washoutfilter
ss+Kd
Integrating
filter
Figure 115 Block-diagram of the Altitude Select mode
1134 Longitudinal part of the Approach mode Glideslope
In the Approach mode the lsquoBeaverrsquo is guided along the reference planes of the glideslope andlocalizer These reference planes are provided by radio signals of the Instrument Landing System(ILS) which can be detected in the aircraft (see for instance ref[3]) The Glideslope mode(GS) is the longitudinal part of the Approach mode which brings the aircraft from level-flightinto a descent following the glideslope reference plane The glideslope signal is emitted by anantenna which is located at some 300 meters beyond the runway threshold The angle betweenthe glideslope reference plane and the horizontal equals some value between 2 and 4 degrees(refs[1] [3] and [14]) See section 341 for a description of the ILS system
The Glideslope mode uses a feedback signal of the error angle εgs between the line throughthe aircraft and glideslope transmitter and the glideslope reference plane An estimate of therate of change of this error angle is also obtained by applying a differentiating filter s
s+1 tothis feedback signal This helps reducing the overshoot when the aircraft captures the referenceglide path The differentiating filter is engaged as soon as the autopilot is turned on to ensurethat the transients during the first couple of seconds after engaging the filter do not affect theglideslope performance The filter provides a good approximation of the actual time-derivativedue to its very small phase-lag Both εgs and the distance from the aircraft to the glideslopereference plane dgs are measured positive if the aircraft flies above the reference glide path
There are two different phases during a glideslope approach
1 Glideslope Armed This phase is engaged as soon as the approach mode is selected bythe pilot The longitudinal autopilot mode in which the aircraft flew before selectingthe approach mode usually ALH will be maintained until the aircraft has reached theglideslope reference plane
2 Glideslope Coupled This phase is initiated as soon as the aircraft passes the glideslopereference plane for the first time In this phase the control laws of the GS mode take overthe longitudinal guidance task of the autopilot
The block diagram of the GS Coupled mode is shown in figure 116 Notice that the feedback
174 CHAPTER 11 lsquoBEAVERrsquo AUTOPILOT ndash THEORETICAL BACKGROUNDS
Kεgs
Ki
s
Kq
Integrator
++ndash
V δe δeεgs=0+
ndash Compu-tationaldelay
Actuatoramp cabledynamics
lsquoBeaverrsquodynamics
Kθ
+ndash
xf yf Hf
θq
Washoutfilter
ss+Kd
GlideslopeReceiver
Krss+1
εgs xf yf Hf
++
Differentiatingfilter
Figure 116 Block-diagram of the Glideslope Coupled mode
signals θ and q are measured by means of on-board sensors which have not been drawn infigure 116 The signal from the glideslope receiver actually depends upon the geographicalposition of the aircraft relatively to the runway which in figure 116 has been interpreted as afeedback of the coordinates xref and yref and the height Href to the glideslope receiver Thegains from this block-diagram depend upon the airspeed V see table 113 at the end of thissection In addition the gain Kεgs is reduced as the aircraft nears the runway threshold in orderto compensate for the increasing sensitivity in the measurements of the εgs-signal The closerthe aircraft flies with respect to the glideslope transmitter the larger the angle εgs becomesfor a constant distance to the glideslope reference line Since this effect is comparable with anincreasing Kεgs it can be compensated by reducing this gain If Kεgs is kept constant the systemwould become unstable if the distance to the glideslope transmitter is reduced below a certainlimit value
For some runways it is possible to compute the distance to the runway threshold by meansof information from the Distance Measurement Equipment (DME) but in general the distanceto the glideslope transmitter must be obtained in a different way For the lsquoBeaverrsquo autopilotit was not possible to use DME information at all due to hardware limitations Therefore thedistance to the glideslope transmitter was computed as a function of the altitude which yieldsa satisfactory approximation if the deviation from the nominal glide-path is small
R asymp Href
sin |γgs|(
=radic
Href2 + Rgs
2
)(111)
where R is the three-dimensional distance to the transmitter Href is the height above the airfieldand γgs is the flight-path angle which an aircraft that flies along the nominal glide path wouldhave Rgs is the (unknown) ground-distance to the glideslope transmitter It is common practiceto use a radio-altimeter to determine Href for such gain-scheduling purposes For the lsquoBeaverrsquoaircraft we had to use the pressure altitude above sea level corrected for the elevation of theairfield itself This works well as long as the elevations of all relevant airfields are available insome kind of database within the Flight Control or Flight Management Computer
114 THE LATERAL AUTOPILOT MODES 175
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Runway
Switch to GS Coupled
Aircraft moves to theglideslope referenceline if GS Coupled isengaged
GS Armed
xxxxxx
Figure 117 Response of the aircraft if the Coupled phase is entered too soon
The mode controller takes care of switching from Armed to Coupled It constantly evaluatesa switch-criterion which checks if the aircraft crosses the glideslope reference line for the firsttime Although this yields a small overshoot in the error angle εgs the response of the aircraftis far more desirable than the response shown in figure 117 which would have occurred if theCoupled mode would have been switched on earlier The differentiating filter of the GlideslopeCoupled mode also helps in achieving a satisfactory transition from Glideslope Armed to Glides-lope Coupled After switching from Armed to Coupled the autopilot will remain in GlideslopeCoupled mode unless the pilot completely de-selects the Approach mode The Glideslope Coup-led control laws only work correctly if the pilot reduces power manually after intercepting theglide path in order to maintain the desired approach speed See section 341 for more detailsabout the glideslope signals
1135 Longitudinal part of the Go Around mode
The Go Around mode is used to cancel an approach It has both longitudinal and lateral controlloops The longitudinal part of the GA mode in fact is a special case of the PAH mode It uses thesame control logic and inserts a step-wise increase in reference pitch angle of 10 The pilot mustmanually apply full engine power Notice that this makes the Go Around mode potentially verydangerous if the pilot does not apply full power the aircraft will stall Therefore the currentlongitudinal Go Around mode should be equipped with more safety measures to become actuallyuseful See section 1145 for a description of the lateral part of the GA mode
114 The lateral autopilot modes
1141 Roll Attitude Hold mode with turn-coordinator
The Roll Attitude Hold mode (RAH) is the basic lateral autopilot mode Its main purpose is toserve as inner-loop for the other lateral autopilot modes but it is also possible to use the RAHmode separately for instance to control the roll angle by means of side-stick inputs (fly-by-wirecontrol) The deviation of the actual roll angle from the desired roll angle is fed back to theailerons via a proportional integrating controller The integrator ensures that the desired rollangle is actually reached without a remaining steady-state error The RAH control loops areequipped with a turn-coordinator which fulfills two functions it must (i) suppress the sideslipangle in turns with appropriate deflections of rudder and ailerons and (ii) suppress the adverse
176 CHAPTER 11 lsquoBEAVERrsquo AUTOPILOT ndash THEORETICAL BACKGROUNDS
yaw which occurs when a turn is initiated by deflecting only the ailerons1
1 In a coordinated turn it is necessary to apply both aileron and rudder deflections whichmust have opposite signs (ref[15]) The deflections of the ailerons and rudder dependon the true airspeed and the yaw rate or roll angle (ref[29]) Using linearized modelsof the lsquoBeaverrsquo from ref[26] these deflections were determined for a number of differentairspeeds as a function of the yaw rate Non-linear simulations in Simulink were used tofurther fine-tune the aircraft responses The resulting control structure almost completelyeliminates the sideslip-angle in turns The turn-coordinator relations were added to thebasic roll angle controller by means of airspeed-dependent factors dar and drr which whenmultiplied with the yaw rate r determine the turn-coordination corrections to the aileronand rudder deflections δa and δr
2 The suppression of the adverse yawing due to aileron deflection is based upon the followingrelation which is valid only in coordinated turns
r =g
Vsinϕ (112)
If the yaw rate is too small that is if gV sinϕ gt r the turn obviously is not coordinated
and it is necessary to apply a larger deflection of the rudder If gV sinϕ lt r the aircraft
is yawing too fast and a smaller deflection of the rudder is required Therefore the factorgV sinϕ has been fed back to the rudder channel via the factor Kr
The resulting deflection of the ailerons is equal to the sum of the deflection needed accordingto the actual control loop of the RAH mode and the deflection needed to maintain a zero valueof the sideslip-angle Rudder deflection is determined by the sum of the deflection for sideslipsuppression and the corrections to suppress adverse yawing
Figure 118 gives the block-diagram of the RAH mode with turn-coordinator The feedback-signals are obtained by means of on-board sensors which have not been drawn in this block-diagram The gains and correction factors in figure 118 all depend upon the true airspeed V see table 113 at the end of this chapter
1142 Heading HoldHeading Select mode
The Heading Hold Heading Select mode (HH) is used to maintain or select a certain headingof the vehicle It uses the yaw angle as feedback-signal The difference between the desired yawangle and the actual yaw angle determines the magnitude of the roll angles needed to turn theaircraft to the desired heading (Note in practice the pilot would rather want to control theazimuth angle χ in stead of the yaw angle ψ but since the sideslip angle β is kept minimal thetwo angles are practically the same However the pilot himself must make the proper correctionsfor the drift-angle due to wind) With regard to the control laws there is no difference betweenHeading Hold and Heading Select They both use the RAH control loops with turn-coordinatoras inner-loops hence the HH mode fulfills a lateral guidance task
Figure 119 shows the resulting block-diagram for the HH mode The feedback-signals are
1lsquoAdverse yawrsquo arises from the difference in drag of the down-aileron compared to the drag of the up-aileronThe sign of the stability-derivative Cnδa
depends mainly on the rigging of the ailerons their profile drag charac-teristics and the angle of attack of the airframe Aileron deflections can also produce side forces on the verticaltail which can become important contributors to Cnδa
(ref[20]) A negative value of Cnδacauses the aircraft
to yaw initially in a direction opposite to that desired by the pilot the resulting movement is therefore calledadverse yaw
114 THE LATERAL AUTOPILOT MODES 177
obtained by means of on-board sensors which have not been drawn in this block-diagram Allgains are functions of the true airspeed see table 113 at the end of this chapter
1143 Lateral part of the Approach mode Localizer
In the Approach mode the lsquoBeaverrsquo autopilot uses localizer signals from the Instrument LandingSystem (ILS) for guiding the aircraft to the runway centerline A description of the ILS systemcan be found in section 341 The vertical approach guidance is performed by the Glideslopemode as shown in section 1134
The Localizer mode (LOC) uses a feedback signal of the angle Γloc between the line throughthe aircraft and the localizer transmitter and the centerline of the runway and its time-derivativeIn the flight-tests this signal proved to contain so much noise that an estimation of the angleΓloc was made by comparing the heading of the aircraft with the runway heading A lsquomixrsquo ofthis estimated error angle and the measured angle was used in the feedback-loop in order toget a satisfactory behavior despite the noise while maintaining enough robustness to account forcrosswind This refinement will not be taken into account here
There are two phases in the lateral approach guidance
1 Localizer Armed In this phase the autopilot keeps using the lateral autopilot mode con-trolling the aircraft (usually Heading Hold) until the aircraft comes near enough to thelocalizer reference plane Exactly how soon the Localizer Coupled phase is entered isdetermined by the rate of change of the angle Γloc in the Localizer switch-criteria
2 Localizer Coupled This phase is entered if Γloc and Γloc satisfy the following switch-criteria
KΓlocΓloc + Γloc gt 0 and Γloc lt 0 (113)
or
KΓlocΓloc + Γloc lt 0 and Γloc gt 0 (114)
where Γloc is positive if the aircraft flies at the right-hand side of the localizer referenceplane while heading towards the runway There are two criteria because it must be possibleto approach the localizer reference plane from two sides
In the lsquoBeaverrsquo autopilot the time-derivative of the localizer signal Γloc is approximated with adifferentiating filter s
s+1 This filter is enabled as soon as the autopilot is turned on to makesure that its transient effects have been died out if the LOC mode is actually switched on Thisfilter has a very small phase lag therefore it approximates the actual time-derivative quite wellWithout the Γloc-feedback the aircraft tends to fly to the localizer reference plane as fast aspossible thereby neglecting the wish to make a smooth interception of the centerline This hasbeen illustrated in figure 1110
There is a fixed relation between the lateral distance to the centerline dloc the angle Γlocand the distance to the Localizer transmitter Rloc If the aircraft nears the runway the latterdistance will decrease If dloc is kept constant while reducing Rloc the angle Γloc will increaseThis increases the sensitivity of the LOC mode which leads to instability of the control modewhen the aircraft comes too close to the runway In a similar way as for the Glideslope modethis problem has been solved by reducing the gain KΓloc
as a function of the factor
Href
sin(|γgs| + εgs)+ xloc
(asympradic
Rloc2 + Href
2
)(115)
which is approximately equal to the three-dimensional distance from the aircraft to the localizertransmitter Href is the height of the aircraft above the field xloc is the distance between the
178 CHAPTER 11 lsquoBEAVERrsquo AUTOPILOT ndash THEORETICAL BACKGROUNDS
Kϕ
Ki
s
Integrator
++ V δa δa r
ϕ
ϕref
+ndash
Compu-tationaldelay
Actuatoramp cabledynamics
lsquoBeaverrsquodynamics
+
V δr δrCompu-tationaldelay
Actuatoramp cabledynamics
dar
KrgV sinϕ
drr minus Kr
Turn-coordination loops
Turn-coordination loop
++
Figure 118 Block-diagram of the Roll Attitude Hold mode and turn-coordinator
Kϕ
Ki
s
Integrator
++ V δa δa r
ψ
ψref
+ndash
Compu-tationaldelay
Actuatoramp cabledynamics
lsquoBeaverrsquodynamics
+
V δr δrCompu-tationaldelay
Actuatoramp cabledynamics
dar
KrgV sin ϕ
drr minus Kr
Turn-coordination loops
Turn-coordination loop
++
Kψ +ndash
ϕ
Figure 119 Block diagram of the Heading Hold Heading Select mode with turn-coordination
114 THE LATERAL AUTOPILOT MODES 179
Feedback of both andΓloc
Γloc
Feedback of onlyΓloc
Feedback of onlyΓloc
Runway
Figure 1110 Using Γloc Γloc or a combination of both signals as feedbacks for the LOC mode
runway-threshold and the localizer transmitter γgs is the nominal glide-path angle and εgs isthe error angle between the line through the aircraft and the glideslope transmitter and thenominal glideslope reference line which is measured by the glideslope antenna on board theaircraft For the lsquoBeaverrsquo aircraft the height Href was determined from the pressure altitudeabove sea level corrected for the elevation of the airfield itself This makes it necessary tohave information about the elevation of the runway available in the Flight Control Computer orFlight Management Computer of the aircraft
The block-diagram of the Localizer Coupled mode is shown in figure 1111 The gains fromthis diagram depend upon the true airspeed see table 113 at the end of this chapter Noticethat the feedback signal ϕ is measured by means of an on-board sensor which has not been drawnin figure 1111 The signal from the localizer receiver actually depends upon the geographicalposition of the aircraft relatively to the runway which in figure 1111 has been interpreted as afeedback of the coordinates xref and yref and the height Href to the localizer receiver
1144 VOR navigation mode
In the Navigation mode (NAV) the aircraft is guided along a VOR-bearing which is selected bythe pilot For this purpose the angle ΓV OR between the desired VOR-bearing and the bearingon which the aircraft actually flies is used as a feedback signal In principle the NAV modefunctions in a similar way as the LOC mode the control structure of the LOC mode is notsuitable for VOR navigation because of the small values of ΓV OR at large distances from theVOR beacon The heading ψ is used as a feedback signal in stead of the rate of change ofΓV OR because at a large distance the angle ΓV OR is too small to obtain an accurate value ofits time-derivative The combination of ΓV OR and ψ for the NAV mode has a similar effect asthe combination of Γloc and Γloc for the LOC mode for creating a better interception of a radial(see figure 1110)
Just like the approach modes the NAV mode has two different phases
1 Navigation Armed This phase is engaged as soon as the NAV mode is turned on Thelateral autopilot mode in which the aircraft was flying before the pilot selected the NAVmode usually Heading Hold is maintained until the aircraft flies through the selectedVOR bearing The mode controller then automatically switches to NAV Coupled
180 CHAPTER 11 lsquoBEAVERrsquo AUTOPILOT ndash THEORETICAL BACKGROUNDS
2 Navigation Coupled This phase is engaged if the aircraft passes the reference VOR bearingfor the first time (then the error angle ΓV OR = 0) The NAV Coupled mode makes theaircraft turn towards the VOR bearing and follow the selected reference line
The Navigation Coupled control law uses the RAH mode with turn-coordination as inner loopsThe signal ΓV OR passes a first-order filter which eliminates the high-frequency components fromthe VOR signal for noise suppression In stead of the signal ΓV OR the heading ψ is coupledback This loop is basically equal to the outer-loop of the Heading Hold Heading Select modebut it contains an additional washout filter that makes it possible to lsquocrabrsquo along a VOR bearingif there is a side-wind component This is due to the fact that the washout filter eliminates thelow-frequency components from ψ which naturally includes a constant crab-angle
The block-diagram of the Navigation Coupled mode is shown in figure 1112 Notice thatthe feedback-signals ψ and ϕ are obtained by means of on-board sensors which have not beendrawn in this block-diagram The gain values from this diagram are scheduled as a function ofthe airspeed See table 113 at the end of this chapter for a comprehensive list Contrary to theLOC mode it was not possible to schedule the gains as a function of the distance to the VORmode In theory this would have been possible by applying DME information since many VORand DME stations are co-located at the same position For the lsquoBeaverrsquo project this was notpossible due to hardware limitations Therefore the sensitivity of the NAV control law increasesif the aircraft nears the beacon and decreases if the aircraft moves away from the beacon Ifthe distance to the VOR beacon is too small the NAV mode becomes unstable The gains wereselected such that the system will become unstable if the aircraft enters the lsquocone of silencersquowhen cruising at an altitude of 1500 feet This cone of silence is an area where the VOR signalscannot be received accurately see section 342 and ref[3]
1145 Lateral part of the Go Around mode
The lateral part of the Go Around mode which is activated if the pilot wants to cancel anapproach is effectively a special case of the Roll Attitude Hold mode It uses the RAH controlstructure to maintain a roll angle of zero degrees hence it serves as a wing-leveler for a canceledapproach See section 1135 for a description of the longitudinal part of the GA mode
115 Turn-compensation
1151 Introduction
The assumption that the longitudinal and lateral motions of the aircraft are independent isno longer valid if the aircraft has a non-zero roll angle because the lift force decreases if thepilot does not apply an appropriate deflection of the elevator Although the aircraft has beenequipped with an Altitude Hold control mode it is still necessary to compensate for this effect inorder to obtain a quicker reaction to the tendency to loose height A compensation in the PitchAttitude Hold mode also proved to be useful in order to obtain a smoother ride of the aircraftIn addition to the compensation for the loss of lift in turns a correction of the measured pitchrate is also necessary
1152 Correction of the pitch rate in turns
If the aircraft turns with a roll angle ϕ and yaw rate r the pitch rate gyro will measure a valueqtot = q+r cos ϕ in stead of the actual pitch rate q as is illustrated in figure 1113 In this figure
115 TURN-COMPENSATION 181
KΓloc
Ki
s
Integrator
V δa δaΓloc=0+
ndash Compu-tationaldelay
Actuatoramp cabledynamics
lsquoBeaverrsquodynamics
+
xf yf Hf
LocalizerReceiver
Kvss+1
Γloc xf yf Hf
++
Differentiatingfilter
Kϕ
ndash
ϕ+ndash
Figure 1111 Block diagram of the Localizer mode (turn-coordination not shown)
Ki
s
Integrator
V δa δaΓloc=0+
Compu-tationaldelay
Actuatoramp cabledynamics
lsquoBeaverrsquodynamics
xe yeH
VORReceiver
ΓV OR xe yeH
ϕ+ndash
KϕKΓV OR
s+Kl
ψ
KψKps
Kps+1
Low-pass filter
Gain lowastWashout filter
++
+ ndash
ndash
+ndash
ψref
Figure 1112 Block diagram of the VOR Navigation mode (turn-coordination not shown)
182 CHAPTER 11 lsquoBEAVERrsquo AUTOPILOT ndash THEORETICAL BACKGROUNDS
r sin r tancos =ϕϕ ϕ
X
Y
Z
B
B
B
r
r sinϕ
ϕ
Ω
q
Figure 1113 Contribution r tan ϕ to measured pitch rate for ϕ = 0
Ω is the angular velocity about the ZV -axis The additional component r cos ϕ should not befed back to the q-loop of the longitudinal autopilot modes because it has nothing to do with thelongitudinal motions of the aircraft If the measured pitch rate qtot is not corrected properlythe term will yield a positive-valued contribution to the elevator deflection which results in anunwanted nose-down command
1153 Correction for the loss of lift in turns
For roll angles ϕ = 0 the lift force in ZV -direction decreases as shown in figure 1114 In ahorizontal symmetrical stationary flight condition the lift L is equal to the total weight W ofthe aircraft If the aircraft has a roll angle ϕ the total lift force must be increased to L + ∆Lin order to maintain a lift component along the ZV -axis that equals W From figure 1114 wecan deduce that
L prime = L cos ϕ
L minus L prime = L (1 minus cos ϕ)∆L cos ϕ = L (1 minus cos ϕ) (116)
115 TURN-COMPENSATION 183
L
LL = L (sec -1)∆ ϕ
W = m g
L = L cosϕ
ϕ
Figure 1114 Loss of lift force for non-zero roll angle
So the required extra lift for a non-zero roll angle becomes
∆L = L
(1
cos ϕminus 1
)= L (sec ϕ minus 1) (117)
To compensate for this loss of lift a negative (= upward) contribution to the elevator deflectionis needed For the lsquoBeaverrsquo aircraft this contribution initially leads to a further decrease in thelift force due to the negative value of the stability derivative CZδe
but this is compensated dueto the fact that the aircraft will rotate to a larger angle of attack The overall effect is thereforea positive contribution to the lift-force The additional deflection of the elevator needed tocompensate for the loss of lift-force in turns can be written as
∆δe = Ktclowast(sec ϕ minus 1) (118)
1154 Total turn-compensation
It is convenient to express the compensation for the decreasing lift force in terms of a correctionof q since this makes it easier to combine this compensation with the correction for r tan ϕ Thetotal correction to obtain the required pitch rate q from the measured value qtot now becomes
q = qtot minus (r tanϕ + Ktc (sec ϕ minus 1)) (119)
where Ktc = minusKtclowastKq The values of the gain Ktc were obtained by means of non-linear
simulations of the aircraft flying under Pitch Attitude Hold or Altitude Hold control in com-bination with large roll-attitude commands for the Roll Attitude Hold mode for three differentinitial values of the airspeed Table 113 shows the resulting gains as a function of the air-speed The turn-compensation for the ALH mode is stronger than the compensation for PAHie Ktc is larger for the ALH mode than for PAH because of the different functions of these twolongitudinal modes
184 CHAPTER 11 lsquoBEAVERrsquo AUTOPILOT ndash THEORETICAL BACKGROUNDS
Kθ
Ki
s
Kq
Integrator
++ndash
V δe δe
θqθref
+ndash
Compu-tationaldelay
Actuatoramp cabledynamics
lsquoBeaverrsquodynamics
r tan ϕ +Ktc (sec(ϕ + ∆ϕ) minus 1)
ϕr
+ndash
Figure 1115 Block-diagram of the PAH mode with turn-compensation
bull The ALH mode is designed to maintain a certain reference altitude If the actual altitudediffers from the desired value a pitch-up or pitch-down command is initiated by the outer-loop of the ALH control law The turn-compensation for the ALH mode has thereforebeen optimized to minimize variations in altitude if the aircraft starts to roll Howeverthis implies that appropriate pitch-up or pitch-down commands have to be given whichresults in a non-constant value of the pitch angle
bull The PAH mode is designed to maintain a constant pitch angle The turn-compensationfor this mode helps to minimize variations in pitch angle response to rolling motions of theaircraft If the compensation in PAH mode would have been equal to the ALH mode theinitiation of turns would have yielded pitch-up commands which are desirable for maintain-ing a constant altitude but undesirable for maintaining a constant pitch angle In practicethe PAH mode will be used separately only in combination with side-stick control ie infly-by-wire mode where the pilot will generate the appropriate pitch commands to com-pensate for a loss of altitude while the PAH turn-compensation takes care of compensatingfor changes in pitch angle
Non-linear simulations of the lsquoBeaverrsquo aircraft revealed a noticeable asymmetrical behaviorwhich made it difficult to obtain satisfactory turn-compensation behavior for both right and leftturns (corresponding with positive and negative values of the roll angle) For this reason it wasconsidered to use a small offset in ϕ which would result in a somewhat different correction ofthe pitch rate in comparison to equation (119)
q = qtot minus (r tan ϕ + Ktc (sec(ϕ + ∆ϕ) minus 1)) (1110)
where ∆ϕ is the offset in the roll angle After introducing this offset it turned out that anyimprovement in the altitude responses led to larger differences in pitch angle responses for leftand right turns and vice-versa In the final autopilot system the offset value was thereforeonly applied for the ALH mode where some differences in pitch angle responses for right and leftturns were considered to be tolerable taking into account that this mode could not be controlleddirectly via a side-stick For the PAH mode the best compromise between matching altituderesponses and matching pitch angle responses turned out to be no offset at all Table 113 atthe end of this chapter shows the value of the offset-angle for the ALH mode as a function ofthe true airspeed Figure 1115 shows the resulting block-diagram of the Pitch Attitude Holdmode with turn-compensation which also serves as inner-loop for other longitudinal autopilot
116 THE SIGNAL LIMITERS 185
Signal Lower boundary Upper boundary
θ -10 [deg ] +20 [deg ]ϕ -45 [deg ] +45 [deg ]p -12 [deg sminus1] +12 [deg sminus1]q -12 [deg sminus1] +12 [deg sminus1]r -12 [deg sminus1] +12 [deg sminus1]
Table 111 Signal boundaries used by the mode controller
modes after adding a washout filter in the θ-loop (see section 1132)
116 The signal limiters
For reasons of safety the mode controller of the experimental lsquoBeaverrsquo autopilot used duringthe flight tests constantly checked the magnitude of the feedback signals If these values wouldexceed certain upper or lower boundary values the autopilot would automatically switch offThese boundary values have been listed in table 111 In order to make sure that the aircraft willnever exceed these limits the control laws have been equipped with signal limiters which weretuned by means of non-linear simulations of the PAH and RAH modes In the flight tests theselimitations proved to be sufficient to keep the aircraft within the safety margins from table 111Apart from the signal limiters in the inner-loops and the safety checks in the mode controllerthe output signals to the control surfaces were also limited allowing only practically feasiblecontrol surface deflections In the simulations the outputs from the control laws lay alwayswithin the practical range of the control surfaces
In the PAH mode and the inner loops of the ALH ALS GA and GS modes the followinglimitations were necessary
bull The reference pitch angle θref had to be limited to the maximum value from table 111minus a small margin to make sure the autopilot would not switch off
bull The difference pitch angle θref minus θ had to be limited to make sure that the pitch rate qremained between the upper and lower limits from table 111 This limiter was tuned byexamining q-responses to large block-shaped pitch commands in PAH mode
bull The output signal from the integrator block had to be limited in order to prevent integratorwindup Without such a limitation it is possible that the output signal from the integratorblock becomes larger than the maximum feasible elevator deflection if the signal θref minus θhas a value unequal to zero that remains either positive or negative during a large periodof time Without an anti-windup limiter it can take a long time before the integrator islsquounloadedrsquo which degrades the autopilot performance
In the RAH mode and the inner loops of the HH LOC and NAV modes the following limitationswere necessary
bull The reference roll angle was limited in order to prevent excessive loss of lift force andextreme values of the load factor in turns Also the roll angle limitation made it possibleto turn without increasing the engine power except for turns at very low velocities Theresulting limits were tighter than the roll angle limits from table 111
186 CHAPTER 11 lsquoBEAVERrsquo AUTOPILOT ndash THEORETICAL BACKGROUNDS
Signal Lower limit Upper limitθref minus8 +18
θref minus θ minus2 V +2 VOutput of PAH integrator minus10 V +10 V
ϕref minus30 +30
ϕref minus ϕ minus375 V +375 VOutput of RAH integrator minus1 V +1 V
Table 112 Signal limiters from the PAH and RAH loops
bull The difference ϕref minus ϕ had to be limited in order to keep the roll rate p within the rangefrom table 111 This limiter was tuned by examining p-responses to large block-shapedroll commands in RAH mode
bull The output from the integrator had to be limited in order to prevent integrator wind upThe output value had to be large enough to suppress the influence of the engine upon thelateral motions of the aircraft (the lsquoBeaverrsquo exhibits a pronounced asymmetrical behaviorin open-loop responses which needs to be suppressed by the RAH loops) but it had tobe limited to get a reasonably small overshoot when the reference heading in HeadingSelect mode was reached Without the anti-windup integrator the overshoots would havebeen unacceptably large due to the considerable time it would then take to lsquounloadrsquo theintegrator
It was not necessary to include additional signal limiters to the outer loops because all autopilotmodes make use of the same inner-loops Therefore if the aircraft remains within the safe regiondefined by table 111 for PAH and RAH modes it can never exceed these limitations in othermodes whose outer-loops effectively create command signals for the PAH and RAH inner-loopsThe resulting limiter values for the lsquoBeaverrsquo autopilot are listed in table 112 The values of thereference angles are measured in degrees while the other signals are converted to Volts Thisis due to the fact that the actuator deflections are functions of input Voltages The maximumallowable values of the command signals to the actuators are plus or minus 10 Volts due tophysical limitations of the control system hardware The resulting maximum and minimumdeflections of the elevator rudder and ailerons are smaller than the deflections which can beapplied by a human pilot
116 THE SIGNAL LIMITERS 187
Longitudinal Autopilot Modes
PAH Kθ = minus0001375 V 2 + 01575 V minus 48031 [V degminus1]Kq = minus0000475 V 2 + 00540 V minus 15931 [V s degminus1]Ki = 05 [sminus1]Ktc = 002865 V 2 minus 17189 V + 537148 [V ]∆ϕ = 0 [deg ]
ALH KH = minus000010 V 2 + 0015 V minus 05975 [V mminus1]Kd = minus00025 V + 02875 [sminus1]Ktc = 17189 V + 143239 [V ]∆ϕtc = 2 [deg ]Other gains amp coefficients see PAH
ALS KH = minus00003875 V 2 + 004025 V minus 11041 [V smminus1]Kc = 015 [sminus1]Kd = minus00025 V + 02875 [sminus1]Other gains amp coefficients see PAH
GS Kεgs =(000575 V 2 minus 063 V + 1800625
) (HminusHRWsin |γgs| + xgs
)1
1000 [V degminus1]Kd = minus00025 V + 02875 [sminus1]Kr = 1 [ ndash ]Other gains amp coefficients see PAH
Lateral Autopilot Modes
RAH Kϕ = 0000975 V 2 minus 0108 V + 2335625 [V degminus1]Ki = 025 [sminus1]Kr = minus4 [V s degminus1]dar = 0165 [V smminus1]drr = minus0000075 V 2 + 00095 V minus 04606 [V s degminus1]
HH Kψ = 005 V minus 11 [deg degminus1]Other gains amp coefficients see RAH
LOC KΓloc=
(000775 V 2 minus 076 V + 1575625
) (HminusHRWsin |γgs| + xloc
)1
1000 [deg degminus1]Kv = 10 [ ndash ]Other gains amp coefficients see RAH
NAV KΓV OR= 005375 V 2 minus 6825 V + 15303125 [deg degminus1]
Kψ = 005 V minus 11 [deg degminus1]Kl = 1 [sminus1]Kp = 15 [s]Other gains amp coefficients see RAH
Table 113 Gain-factors and coefficients of the control laws as a function of airspeed and altitude
188
Chapter 12
lsquoBeaverrsquo autopilot ndash implementationin FDC 12
121 Introduction
There are several ways to implement control laws of an Automatic Flight Control System inSimulink In practice there will be a gradual increase in model complexity during the AFCSdesign process In this chapter two different implementation methods will be described The firstmethod is to obtain a literal lsquotranslationrsquo of the block-diagrams from chapter 11 in SimulinkDue to the straightforward manner of implementing the control laws this method is very suitablefor quick evaluations but the resulting Simulink systems are rather inflexible and do not matchthe software structure needed for actual application in a Flight Control Computer This methodwill be demonstrated for the basic control modes of the lsquoBeaverrsquo autopilot in section 122 Thesecond method integrates all control laws in one subsystem yielding a structure like figure 31which makes it easier to convert graphical block-diagrams to a high-level programming languagefor use in a real-time flight-simulator or in the FCCrsquos of the actual aircraft In section 123 thissecond method will be demonstrated for the complete lsquoBeaverrsquo autopilot
122 Implementing separate control laws in Simulink
1221 Structure of the control-law simulation models
The first steps in a control system design usually require application of linear control systemdesign tools such as the control system design toolboxes of Matlab The linear results mustbe validated by means of non-linear simulations which should take place directly after finishingthe linear system design in order to provide direct feed-back of possible errors in the design atan early stage of the design process Within the Matlab environment this can be achievedby converting the original block-diagrams of the control laws eg the block-diagrams fromchapter 11 into corresponding graphical Simulink models
During this conversion it is important to remember that the linear system analysis isbased upon small perturbations of signals around their nominal values while the non-linearanalysis is based upon the true values of those signals Consider for instance simulations ofa pitch-attitude control law With a linear small-perturbations model such simulations arestraightforward because all output signals from the control laws represent deviations from thenominal elevator deflections while the signals obtained from the linear aircraft model correspondto deviations from the initial flight condition For this reason the desired change in pitch anglemay be entered directly into the pitch controller when using a linearized aircraft model With
189
190 CHAPTER 12 lsquoBEAVERrsquo AUTOPILOT ndash IMPLEMENTATION IN FDC 12
a non-linear model this signal must be superimposed upon the initial value of the pitch anglebefore it can be compared with the true value of the pitch angle extracted from the aircraftmodel Moreover the change in elevator deflection according to the pitch controller must beadded to the initial elevator deflection before it is sent to the non-linear aircraft model Thisinitial value is in general not equal to zero In general for a non-linear simulation it is necessaryto add the outputs from control laws to the initial values of the control inputs before they maybe entered into the aircraft model while the initial values of the outputs from the aircraft modelmust be subtracted from the current outputs before sending them to the control laws
1222 Simulink implementation of the Pitch Attitude Hold mode
Figure 121 shows the Simulink implementation of the Pitch Attitude Hold mode of the lsquoBeaverrsquoautopilot which was obtained by means of a lsquoliteral translationrsquo of the PAH block-diagram fromfigure 113 This Simulink system is called PAH Figure 122 shows the signal manipulationsrequired to convert the inputs and outputs from the non-linear aircraft model to small pertur-bation signals for the PAH control law and vice versa as implemented within the subsystemBeaver dynamics The core of this subsystem is an S-function block which calls the system Beaver(see chapter 5)
The aircraft model has twelve input signals of which the first four are aerodynamic controlinputs the fifth and the sixth signals are engine inputs and the others are wind and turbulenceinputs These inputs are gathered in the vectors uaero uprop and uwind respectively The firstelement of uaero represents the elevator deflection δe which is equal to the initial value δe(0)plus the computed change in elevator deflection ∆δe obtained from the PAH control law Sincethe other aerodynamic and engine control inputs are not used by the PAH loop they remainequal to their initial values Moreover the wind and turbulence inputs are zero in order tosimulate a no-wind condition Thus on the input side of the S-function block we add a vector[ ∆δe 0 0 0 ]T to the initial aerodynamic input vector uaero(0) called uaero0 in figure 122This result is Muxed with the initial value of the engine input vector uprop(0) called uprop0 infigure 122 and the atmospheric disturbance vector uwind which equals zero in figure 122 dueto no wind This results in the S-function input vector for the system Beaver see equation (102)from chapter 10
On the output side of the S-function block the output vector is first Demuxed in two partsthe state-vector x and a vector containing the remaining output signals The initial value of thestate vector x0 is subtracted from x to obtain the deviations from the initial flight-condition forthe PAH control law A second Demux block divides the resulting deviations vector into twelvescalar signals of which the PAH mode only needs the fifth and seventh elements correspondingto ∆θ = θ minus θ0 and ∆q = q minus q0 respectively The Outport and Inport blocks in the subsystemBeaver dynamics transfer the signals ∆δe ∆θ and ∆q tofrom the top-level of the system PAH
1223 Simulink implementation of the Roll Attitude Hold mode
In a similar way the Roll Attitude Hold mode and turn-coordinator of the lsquoBeaverrsquo autopilotwere implemented in Simulink Figure 123 shows the Simulink equivalent of the block-diagramfrom figure 118 called RAH The block Beaver Dynamics again is a subsystem which now containssignal manipulations for the RAH mode shown in figure 124
In figure 125 the Pitch and the Roll Attitude Hold modes have been combined in oneblock-diagram This scheme also includes the turn-compensation loop in the pitch-channelwhich was described in section 115 This Simulink model is called PAHRAH It is obvious thatthe model structure in this case already is starting to become complicated even though thisdiagram is still limited to the two basic modes of the lsquoBeaverrsquo autopilot Adding the guidance
122 IMPLEMENTING SEPARATE CONTROL LAWS IN SIMULINK 191
Dtheta_ref
Dtheta
Dq
Cable ampactuator
dynamics
BEAVERdynamics
+
+
-
Ki_1
s
Integrator
+- -K-
Ktheta
Kq
Kq
Pitch Attitude Hold
Figure 121 Block-diagram representation of the PAH mode in Simulink
1
Dtheta
2
Dq
xinco
-+
beaver
Non-linearaircraft model
uprop0
++
uaero0
1
Ddelta_e
Figure 122 Signal manipulations for the PAH mode in a non-linear simulation model
loops (Altitude Hold Altitude Select Heading Hold) to this structure is feasible when more partsof the system are lsquogroupedrsquo together in subsystems but it is hard to keep the complexity of thesystem under control Remember that the system from figure 125 does not yet contain signallimiters continuous gain-scheduling functions feedback of the pitch and roll rates to the actuatoramp cable models and turn-compensation loops Implementation of the radio-navigation modes(Glideslope Localizer and Navigation) will be even more complicated because then additionalmodels for the generation of the radio signals are needed For this reason lsquoliteral translationsrsquoof the block-diagrams from chapter 11 are only usable for the basic autopilot modes The nextsteps in the control-law design process require a better structured simulation model like themodel from section 123 For a smooth transition between linear design and non-linear analysisit is recommended to use both kinds of models the simplified models of the basic modes alreadyyield useful results (as will be demonstrated in the next section for the PAH and RAH modesof the lsquoBeaverrsquo autopilot) while the sophisticated simulation structure from later design phasesis especially useful for the transition to full flight simulation and the FCCrsquos of the real aircraftThe next section describes how to apply the block-diagrams from figures 121 123 and 125 inpractice for non-linear simulations
192 CHAPTER 12 lsquoBEAVERrsquo AUTOPILOT ndash IMPLEMENTATION IN FDC 12
Turn-coordination dar
dar
-K-
drr-Kr
(Kr980665V)sin(u[1])
Turn-coordination
Roll Attitude Hold
Ki_2
s
Integrator++
-K-
Kphi
+-
Dphi_refCable ampactuator
dynamicsBEAVERdynamics
Dphi
Dr
+++
Figure 123 Block-diagram representation of the RAH mode in Simulink
uaero0
uprop0
2
Ddelta_r
1
Ddelta_a
2
Dphi
1
Dr
xinco
-+
beaver
Non-linearaircraft model
++
Figure 124 Signal manipulations for the RAH mode in a non-linear simulation model
1224 Using the PAH and RAH simulation models in practice
The Simulink systems PAH RAH and PAHRAH can be opened by typing pah rah or pahrahat the Matlab command-line It is also possible to use the Matlab macro APMENU whichopens up a user-menu from which to choose the appropriate autopilot simulation model Beforestarting a simulation with these systems it is necessary to initialize the system parameters andinitial conditions which is simplified by means of the Matlab macro PRAHINIT This routinecan be started by typing prahinit at the command-line or by double-clicking the magentainitialization button at the bottom of the block-diagrams Figure 126 shows the user menufrom PRAHINIT All menu items should be clicked in the indicated order and all questionswhich appear in the Matlab command-window should be answered Item 5 (lsquoFix statesrsquo) isoptional it can be skipped if one does not want to artificially fix state variables of the aircraftmodel to their initial values during a simulation
122 IMPLEMENTING SEPARATE CONTROL LAWS IN SIMULINK 193
Turn-coordination
Pitch Attitude Hold
Roll Attitude Hold
dar
dar
-K-
drr-Kr
Kq
Kq-K-
Ktheta
-+
Dtheta_ref
Ki_1
sIntegrator
-++
++
Ki_2
sIntegrator
+++
-K-
Kphi
+-
Dphi_ref
Dphi
Dr
Dq
Dtheta
(Kr980665V)sin(u[1])
BEAVERdynamics
Cable ampactuator
dynamics
Figure 125 Block-diagram representation of the PAH and RAH modes in Simulink
Figure 126 Initialization menu for the systems PAH RAH and PAHRAH
194 CHAPTER 12 lsquoBEAVERrsquo AUTOPILOT ndash IMPLEMENTATION IN FDC 12
The system initialization thus requires the following steps to be taken
1 First the parameters for the non-linear aircraft model must be loaded from the file air-
craftdat This is done by clicking item number 1 which will start the load routineLOADER You will be asked to specify the directory in which this file can be found usu-ally the default directory will be correct If the load routine canrsquot find aircraftdat itwill ask whether or not it should run MODBUILD to create the file This question willalso be asked if you specify a wrong directory so before running MODBUILD you shouldcheck the directory name again If you return to the main menu without aircraftdat
having been loaded the model parameters will not be present in the workspace so you willencounter an error message if you still try to start a simulation
2 The second item in the main menu must be clicked to load the state-space matrices of thecable amp actuator models for the elevator ailerons and rudder There are three modelsavailable valid for an airspeed of 35 45 or 55 msminus1 Choose the one that lies mostclosely to the airspeed for which you want to make a simulation (variations in actuator ampcable parameters due to changes in the airspeed during simulations will not be taken intoaccount) The actuator model for V = 45 msminus1 is usually good enough
3 The third item in the main menu must be clicked to define the initial value of the inputand output vectors of the non-linear aircraft model There are two options to run theaircraft trim-routine ACTRIM or to load the initial flight condition from file by means ofthe Matlab macro INCOLOAD For a description of the trim-routine consult section 82If you select the second option a menu will be shown for asking you what to load (chooseload trimmed flight condition) and you will be asked to specify the directory name (againthe default directory will usually be right) the filename (eg cr4520 for a symmetricalsteady-state trimmed flight condition at an airspeed of 45 msminus1 and an altitude of 2000 ft)and the extension (use the default extension tri for a trimmed-flight condition obtainedwith ACTRIM)
4 The fourth item must be clicked to define the gain values for the Pitch and Roll AttitudeHold modes Since the systems PAH RAH and PAHRAH do not contain continuous gain-scheduling functions it is necessary to enter a value for the airspeed for which the gainsare determined This value of the airspeed should be chosen as close as possible to themean value of the airspeed anticipated for the simulation Usually quite accurate resultscan be obtained by selecting the initial airspeed as reference value for the gains
5 Finally the fifth item can be clicked if for one reason or another it is necessary to artificiallyfix some state variables of the aircraft model to their initial values This option will beused later on in an example See also section 95 Under normal circumstances item 5 canbe skipped
After having defined all system parameters it is possible to define the reference input signals Inthe systems PAH RAH and PAHRAH the default pitch-command equals a 1 step-input whilethe default roll-command is equal to a 10 step-input Double-clicking the step-signal blocks onthe left hand side of the systems makes it possible to change the magnitude of these signals1
Replacing the step-signal blocks by other kinds of input-signal generators makes it possible tochange the shape of the input signals if desired
1The factor π180 in these blocks is used to transform all angles from degrees to radians
122 IMPLEMENTING SEPARATE CONTROL LAWS IN SIMULINK 195
0 10 20 30 40 50 600
2
4
6
8
10
t [s]
∆θ [d
eg]
∆θref
= 2deg ∆θ
ref = 4deg
∆θref
= 6deg ∆θ
ref = 8deg
0 10 20 30 40 50 60minus80
minus60
minus40
minus20
0
20
t [s]
∆φ [d
eg]
∆θref
= 2deg ∆θ
ref = 4deg
∆θref
= 6deg ∆θ
ref = 8deg
Figure 127 Pitch and roll-responses without wing-leveler
Examples
Use the system PAH to perform simulations of block-shaped pitch commands ranging from1 to 8 First run PRAHINIT then enter the desired reference pitch angle in the input block onthe left hand side of the system PAH Do not use item 5 of the initialization menu yet Increasingthe reference step in pitch angle eventually yields an unstable pitch-response which is caused bylongitudinal-lateral cross-coupling effects in combination with a large decrease in airspeed (theengine power remains constant) This is shown in figure 127 For large pitch-commands theroll angle will increase considerably bringing the aircraft in a spiral dive (The results of eachsimulation can be plotted by means of the Matlab macros RESULTS and RESPLOT whichshould be run in this particular order see sections 941 and 942 for more details) Now re-runPRAHINIT this time selecting item 5 in the user-menu to artificially fix the asymmetrical motionvariables to their initial values This time the instability in the pitch-response will not occureven for much larger reference pitch commands This proves that the increasing roll angle wasindeed the cause of the instability in the pitch angle Now repeat these simulations with thesystem PAHRAH using a reference roll-command of 0 to suppress the increase of the roll angleRun item 5 of PRAHINIT again and select the option lsquoDonrsquot fix any statesrsquo in the user-menu inorder to allow the asymmetrical state variables to vary freely this time Now the instability inthe pitch response will be suppressed by the Roll Attitude Hold mode which serves as a lsquowinglevelerrsquo keeping the roll angle equal to zero Figure 128 presents the results These simulationsmake clear that in practice the two basic modes of the autopilot should not be applied sepa-rately to avoid dangerous situations Of course there is no operational need for separate use ofeither the symmetrical or asymmetrical autopilot modes but this analysis is still useful since itprovides more insight in the overall dynamics of the system and the validity of the linear resultsover a large range of pitch commands
196 CHAPTER 12 lsquoBEAVERrsquo AUTOPILOT ndash IMPLEMENTATION IN FDC 12
0 10 20 30 40 50 600
2
4
6
8
10
t [s]
∆θ [d
eg]
∆θref
= 2deg ∆θ
ref = 4deg
∆θref
= 6deg ∆θ
ref = 8deg
0 10 20 30 40 50 60minus15
minus1
minus05
0
05
t [s]
∆φ [d
eg]
∆θref
= 2deg ∆θ
ref = 4deg
∆θref
= 6deg ∆θ
ref = 8deg
Figure 128 Pitch and roll-responses with wing-leveler
123 Integral autopilot simulation model
1231 General structure of the autopilot simulation model
While the basic modes of the lsquoBeaverrsquo autopilot could be implemented quite easily in Simulink
systems that resembled the block-diagrams from chapter 11 it is quite difficult to maintain aclear structure of the simulation model if the outer loops are also implemented in this way Thisis especially true when items such as on-line gain-scheduling signal limiters turn-compensationatmospheric turbulence and radio-navigation signals are to be implemented Also conversionfrom the simulation models to real-time software routines is quite difficult to achieve with themodel structure from section 122 The implementation of the complete lsquoBeaverrsquo autopilottherefore has been based upon the model structure from figure 31 which combines all controllogic into one subsystem in stead of constructing the control laws lsquoaroundrsquo the aircraft modellike the block-diagrams from chapter 11 Reconstruction of these block-diagrams required arepositioning of the different elements to obtain a clear inputoutput structure for the controllogic A division between symmetrical and asymmetrical control laws was made and the controlfunction of the inner-loops was separated from the guidance task of the outer-loops
The systems APILOT1 APILOT2 and APILOT3 contain the resulting Simulink implemen-tation of the lsquoBeaverrsquo autopilot model APILOT3 is the most comprehensive version APILOT2is a simplified model that does not take into account external atmospheric disturbances andnoise in radio-navigation signals and APILOT1 contains neither atmospheric disturbances norradio-navigation blocks In this section APILOT3 will be used as a guideline to explain the gen-eral structure of the autopilot simulation model but APILOT1 and APILOT2 are better suitedfor practical purposes because they require less computing time and memory due to the largerfeasible step-size for the numerical integrations For on-line help about these models enter type
123 INTEGRAL AUTOPILOT SIMULATION MODEL 197
apilothlp at the Matlab command-line
Figure 129 shows the top-level of APILOT3 compare this with figure 31 This system canbe opened by typing apilot3 at the command-line (type apilot1 or apilot2 to open the sim-plified models) The models can also be accessed by means of the Matlab macro APMENUwhich reveals a graphical user-menu for choosing the appropriate autopilot model The thetop-level of APILOT3 contains the following subsystem blocks
bull Beaver Dynamics links the non-linear aircraft model Beaver to the autopilot simulationmodel by means of an S-function block
bull Symmetrical autopilot modes and Asymmetrical autopilot modes contain the control laws
bull Actuator amp cable dynamics contains linear state-space models of the dynamics of the ac-tuators and the cables from the actuators to the control surfaces as used in the lsquoBeaverrsquotest aircraft
bull Computational delay amp limiters takes into account the computational delay in the evaluationof the control laws and the input limitations of the actuators
bull Mode Controller and Reference Signals define switch-settings and reference values used bythe control laws
bull Wind amp Turbulence determines the components of wind and atmospheric turbulence in theaircraftrsquos body-axes along with the time-derivatives of these values
bull VOR and ILS determine radio-navigation signals for the navigation and approach modesusing the models from chapter 7
bull Sensors gathers other sensor characteristics and is used to subtract the initial conditionsfrom the S-function outputs that leave the system Beaver (this is necessary because theautopilot control laws are based upon deviations from the initial values of the S-functionoutputs while the aircraft model itself uses the full signals)
bull Add initial inputs is used to add the initial values of the control inputs to the changes incontrol surface deflections according the control laws (again the aircraft model is basedupon the full signals the control laws are based upon deviations from the initial values)
Notice that only three control inputs have been coupled to the system Beaver the autopilot doesnot manipulate the engine inputs and flap setting But APILOT3 already has been preparedto accommodate possible autopilot enhancements which do control those variables eg an au-tothrottle system that controls the engine in order to maintain a constant airspeed
For on-line help about the autopilot models enter type apilothlp Information about thecolor scheme from these models can be found in colorshlp (type type colorshlp at thecommand-line)
1232 Implementation of the symmetrical autopilot modes
Figure 1210 shows the internal structure of the block Symmetrical Autopilot Modes The controllaws themselves have been implemented separately in the subsystems ALH ALS GS and PAHwhich correspond with Altitude Hold Altitude Select Glideslope Coupled and Pitch AttitudeHold modes respectively The PAH mode serves both as an independent autopilot mode and asinner-loop controller for the ALH ALS and GS modes The additional washout-filter which wasneeded in the θ-loop for the ALH ALS and GS modes (see sections 1132 1133 and 1134)has been included in the subsystem PAH with a switch to de-activate it for the PAH mode
198 CHAPTER 12 lsquoBEAVERrsquo AUTOPILOT ndash IMPLEMENTATION IN FDC 12
2 Select mode ampreference signals
1 Initializesubsystems
ILS
D_elv ref
D_ail ref
D_rud ref
ydl
z-z0
zuwind
Ddeltae
uprop
uaeroActuator ampcable dy-namics
Ddeltaa
Ddeltar Addinitialinputs
computationaldelay amp limiters
Referencesignals
wind ampturbulence
Symmetricalautopilotmodes
Graph scopeAsymmetrical
autopilotmodes
VOR
ModeCon-troller
BEAVERdynamics
[x Hdot]
Sensors
subtractinitial
conditions
Figure 129 Top-level of the autopilot simulation model
itself The gain-block 1Ktheta is a correction needed to use the PAH control law as inner-looptaking into account the different position of the gain Kθ in the ALH ALS and GS modescompared to the PAH mode itself (compare figures 114 115 and 116 with figure 113) Infigure 1210 the results from the blocks ALH ALS and GS are added together switches insidethese blocks determine whether the outputs from these blocks are taken into account or not (if acontrol mode is not active its output is set to zero) The settings of all switches are determinedby the subsystem Mode Controller in the top-level of APILOT3 (see section 1234) the blockSelect symm mode-controller signals extracts the relevant switch-settings for the symmetricalautopilot modes It also extracts the reference input signals for the symmetrical modes whichare determined by the block Reference signals in the top-level of APILOT3 The block Selectsymm control variables extracts the variables used by the symmetrical control laws to determinethe change in elevator deflection from the output vectors from the aircraft model z and zminus z0including signals for the gain-scheduling functions See section 1236 for the definitions of thesevectors
1233 Implementation of the asymmetrical autopilot modes
The general structure of the block Asymmetrical Autopilot Modes from the top-level of APILOT3is shown in figure 1211 The individual asymmetrical control laws have been implemented inthe subsystems HH NAV LOC and RAH which correspond to the Heading Hold NavigationLocalizer and Roll Attitude Hold modes respectively The RAH mode serves both as indepen-dent autopilot mode and as the inner-loop controller for the HH NAV and LOC modes The
123 INTEGRAL AUTOPILOT SIMULATION MODEL 199
1
D_elv ref
Symmmode
OnOff
K(u1)
1Ktheta
Select symm mode-controller signals
PAH
ALH
ALS
+++
GS
-K--K-
Select symmcontrol variables
1
ymode
2
yref
3
z-z0
4
z
6
d(epsilon_gs)dt
5
epsilon_gs
Figure 1210 Implementation of the symmetrical autopilot modes
outputs from the blocks HH NAV and LOC are added together switches inside these blocksdetermine whether or not the outputs from these blocks are taken into account The settingsof all switches for the asymmetrical modes are extracted from the block Mode Controller (seesection 1234) by the block Select asymm mode-controller signals which also extracts the refer-ence input signals for the asymmetrical modes from the outputs of Reference signals The blockSelect asymm control variables extracts the variables used by the asymmetrical control laws todetermine the change in aileron and rudder deflection from the vectors z and z minus z0 includingthe signals for the gain-scheduling functions See section 1236 for the definition of the vector z
1234 Implementation of the Mode Controller
Figure 1212 shows the subsystem Mode Controller It contains switch-criteria for the GlideslopeLocalizer and Navigation modes as described in sections 1134 1143 and 1144 The switch-criteria themselves are contained in the Matlab subroutines GSSWITCH LOCSWTCH andNAVSWTCH respectively The source-codes of these routines which can be found in the FDCsubdirectory apilot are self-explaining compare them with the theoretical description of theswitch-criteria from chapter 11 Type help gsswitch help locswtch or help navswtch atthe command-line for on-line help about these subroutines
The output signal from the subsystem Mode Controller is the vector ymode which has tenelements The first five elements of this vector control the settings of the switches from thesubsystem Symmetrical autopilot modes This part of ymode is equal to the Matlab variableymod1S or ymod2S depending upon the desired symmetrical autopilot mode and the outputfrom the switch-function GSSWITCH The last five elements of ymode define the switch-settingsfor the subsystem Asymmetrical autopilot modes This part of the vector is equal to the variableymod1A or ymod2A depending upon the asymmetrical autopilot mode and the output fromthe switch-function LOCSWTCH or NAVSWTCH The variables ymod1S ymod2S ymod1A and
200 CHAPTER 12 lsquoBEAVERrsquo AUTOPILOT ndash IMPLEMENTATION IN FDC 12
RAH
Select asymmcontrol variables
4
z
3
z-z0
1
D_rud ref
2
yref
1
ymode
HH
NAV
LOC
-K-
Select asymm mode-controller signals
-K-
5
Gamma_VOR
6
Gamma_loc
7
d(Gamma_loc)dt
+++
2
D_ail ref
Asymmmode
OnOff
Asymmmode
OnOff
Figure 1211 Implementation of the asymmetrical autopilot modes
Memory
locswtchmLOC armed=gtcoupled
ymod2A(5)==1
LOC mode active
ymod2A(4)==1
NAV mode active
navswtchmNAV armed=gtcoupled
Memory
Memory
gsswitchmGS armed=gtcoupled
ymod2S(5)==1
GS mode active
ymod1S
symm mode-setting(initial mode)
ymod2S
symm mode-setting(second mode)
Switch
ymod2A
asymm mode-setting(second mode)
ymod1A
asymm mode-setting(initial mode)
++
Switch
1
ymode3
Gamma_loc
2
d(Gamma_loc)dt
1
Gamma_VOR
4
epsilon_gs
Figure 1212 Implementation of the Mode Controller
123 INTEGRAL AUTOPILOT SIMULATION MODEL 201
ymod2A are obtained from the Matlab workspace by means of Constant blocks They can beset manually or by running the Matlab routine APMODE (type apmode at the command-lineor double-click the block Select mode amp reference signals) The extensions S and A in the namesof these variables refer to symmetrical and asymmetrical autopilot modes respectively Thenumbers 1 and 2 refer to an initial and a final mode-definition which is used for defining Armedand Coupled phases in control modes respectively See section 1241 for the exact definitionsof these variables
The signs of the output signals from the Matlab functions GSSWITCH LOCSWTCHand NAVSWTCH determine whether the corresponding control laws are in Armed or Coupledphase Consider for example the glideslope switch-function GSSWITCH As long as its outputvalue is positive the corresponding Switch block on the right-hand side of the system ModeController will pass-through the symmetrical mode-setting vector for the Armed phase ymod1SIf the output from GSSWITCH becomes negative the mode-setting vector for the Coupled phaseymod2S will be passed instead In order to ensure that the glideslope mode will not switch backfrom Coupled to Armed a Memory block is used to store the previous output from GSSWITCHThe same technique has been applied for the Localizer and Navigation modes using the routinesLOCSWTCH and NAVSWTCH respectively Notice that while this switching method makes itpossible to switch between an initial and second phase of the symmetrical and asymmetricalcontrol modes it does not allow more than one mode-switching action per simulation runOf course it is possible to extend the system Mode Controller with other switches using newvariables such as ymod3S ymod4S etc but this will always limit the number of switchingactions to a finite value For simulations of the lsquoBeaverrsquo autopilot one switching action for thesymmetrical and asymmetrical modes is sufficient Mode Controller does not take into accountmode-selections by the pilot it only represents the automatic switching actions from the ModeController software in the real aircraft
Although the switch-criteria functions are evaluated regardless of which control mode isactive their outputs are only passed through if the corresponding control mode is actuallyselected by the user at the start of a simulation If the control mode is not selected theoutputs from the switch-functions are multiplied by zero which causes the Switch blocks on theright hand side of the subsystem Mode Controller to pass through the first mode-setting vector(being ymod1S or ymod1A) This is the only mode-setting vector for all modes which donrsquothave a separate Armed phase for those modes the variables ymod2S and ymod2A are treatedas dummy variables In the subsystem Mode Controller this has been achieved by multiplyingthe outputs from GSSWITCH LOCSWTCH and NAVSWTCH with the output from a logicalfunction that is zero when the corresponding control law is not active
1235 Implementation of atmospheric disturbances
Figure 1213 shows the structure of the block Wind amp Turbulence from APILOT3 It containsa model of atmospheric turbulence based upon Dryden filters with velocity-dependent coeffi-cients and a wind-profile for the Earthrsquos boundary layer These subsystems (turb2 and BLwind)can both be found in the wind and turbulence library WINDLIB which has been described inchapter 6 The time-derivative block dudt is used to obtain time-derivatives of the body-axeswind-velocity components extracted from BLwind which are needed as inputs to the equationsof motion The time-derivatives of the velocity components due to atmospheric turbulence arecomputed within the subsystem turb2 See section B3 in appendix B for more details about theequations of motion in non-steady atmosphere
202 CHAPTER 12 lsquoBEAVERrsquo AUTOPILOT ndash IMPLEMENTATION IN FDC 12
dudt
turb2
Windprofile inEarths boun-
dary layer
BLwind
H
psi
V
1
uwind
++
1
z
Figure 1213 Internal structure of the subsystem Wind amp Turbulence
1236 Blocks to obtain small-deviation signals from the aircraft model
Due to the fact that the control laws are based upon small deviation models of the aircraftmotions some signal manipulations are needed on the input and output sides of the non-linearaircraft model On the input side the initial values of the control surface deflections must beadded to the deviations of these values according to the control laws This is done in the maskedsubsystem Add initial inputs whose contents are displayed in figure 1214 The three unconnectedinput ports correspond with the flap deflection the engine RPM and the manifold pressure ofthe engine The current version of the autopilot does not use these potential control inputsto the aircraft model although it is theoretically possible to do so For instance the engineinputs can be manipulated by an autothrottle system and the flap extension can be used forgust-alleviation purposes
On the output side of the aircraft model the difference between the initial and currentvalue of the output vector z is determined in the subsystem SensorsSubtract initial conditionsThe vector z is defined as
z =[
V α β p q r ψ θ ϕ xe ye H H]T
This vector is practically equal to the state vector x from the aircraft model Beaver (see chap-ter 5) with two exceptions
1 z contains the rate of climb or descent H as a thirteenth element
2 z has passed the sensor models from the subsystem Sensors
Because of this second difference the output vector from the block Beaver Dynamics has beendenoted as [x H] (written as [x Hdot ] in the graphical system from figure 129) in stead of zThe initial value of the vector z is called z0 In the graphical autopilot systems these vectorshave been written as z and z0 respectively
Figure 1215 shows the structure of the subsystem Sensors On the left-hand side ofthis system the initial conditions are subtracted from the aircraft model outputs The resultingvector is then Demuxed into separate scalar elements which are sent to the corresponding sensormodels Here it is assumed that the sensor models are based upon small deviation signals toootherwise the original outputs from the non-linear aircraft model should be used On the right-hand side of the block-diagram the outputs from the sensor models are Muxed again into onevector which will be used as basic input vector for the control laws Since these small-deviationsignals are not suited for gain-scheduling purposes a second vector is constructed Here theinitial conditions are added again to the small deviation signals which leave the sensor blocks
123 INTEGRAL AUTOPILOT SIMULATION MODEL 203
The difference between this signal and the original output vector from the non-linear aircraftmodel is completely caused by the sensor dynamics
1237 Additional blocks on the input side of the aircraft model
The masked subsystem Computational delay amp limiters takes into account the time-delay whichis caused by the sampling and computing actions of the Flight Control Computer and thehardware-related limitation of the command signals to the actuators In the FCC of the lsquoBeaverrsquothe input signals for the control laws were sampled thirty times per second Since the softwareis fast enough to evaluate all control laws within one sample-interval the total time-delay equalsapproximately 003 sec1 The maximum allowable magnitude of the input signals to the ac-tuators is equal to plus or minus 10 V This imposes a hard limit to the magnitude of theoutput signals from the Flight Control Computer For the lsquoBeaverrsquo autopilot every individualcontribution to the command signals for the actuators has been carefully balanced by means ofinternal limiters within the FCC software in order to keep the FCC outputs within this 10 Vrange Yet in order to cover for possible errors in the sizing of the internal limiters from thesubsystems Asymmetrical autopilot modes and Symmetrical autopilot modes the 10 V limit hasalso been implemented separately in the subsystem Computational delay amp limiters
The block Actuator amp cable dynamics contains the dynamic models of the actuators andthe cables to the control surfaces Here simplified linear second-order state-space models withtwo inputs and one output are used For the model of the elevator actuator these inputs arethe commanded elevator deflection and the non-dimensional pitch rate the aileron actuatormodel uses the commanded aileron deflection and the non-dimensional roll rate and the rudderactuator model uses the commanded rudder defection and the non-dimensional yaw rate Thenon-dimensional angular velocities which take into account the effect of rotational movementsupon the aerodynamic effectiveness of the control surfaces are extracted from the non-linearaircraft model They are contained in the S-function output vector of Beaver see equation (101)from chapter 10
1238 Additional blocks on the output side of the aircraft model
As shown in figure 1215 the subsystem Sensors contains models of sensor dynamics Actuallythis is only partially true because most of the sensor blocks are still empty due to a lack ofsuitable models the subsystem Sensors merely provides an easy way of extending the simulationmodel should better sensor models become available Currently Sensors only contains
bull a time-delay of 04 seconds in the airspeed signal which takes into account the time neededfor changes in air-pressure to travel from the Pitot-tube to the airdata computer
bull a similar time-delay for the altitude signal a quantizer which takes into account a LeastSignificant Bit of 4 ft in the measured altitude and a Moving Average Filter which wasimplemented in the autopilot software to smoothen-out the altitude signal
bull a time-delay of 08 sec in the time-derivative of the altitude signal which takes into accountthe transport delay in the Pitot-static system and the computational delay caused by thedetermination of the time-derivative of the altitude from different altitude samples withinthe airdata computer
1For reasons of computing speed APILOT3 does not actually use sampled signals It is possible to simulatethe influence of sampling by means of a Zero Order Hold filter in the subsystem Sensors but at a sampling rateof 30 Hz the influence of sampling proved to be negligible The influence of the computational delay is not verypronounced either but contrary to the ZOH filter this effect could be simulated easily without any penalties incomputing speed
204 CHAPTER 12 lsquoBEAVERrsquo AUTOPILOT ndash IMPLEMENTATION IN FDC 12
4
Ddeltaf
3
Ddeltar
2
Ddeltaa 1
uaero
1
Ddeltae
++
AERODYNAMIC INPUTS
uaero0
Initial inputsfor aeromod
ENGINE INPUTS
uprop0
Initial inputsfor engmod
++ 2
uprop
5
Dn
6
Dpz
Figure 1214 Internal structure of the subsystem Add initial inputs
[xinco xdot0(12)]
Initial condition
++
2
z-z0
V
beta
q
psi
phi
alpha
H
theta
Hdot
p
r
ye
xe
SENSOR DYNAMICS
1
z
1
[x Hdot]
[xinco xdot0(12)]
Initial condition
+-
Figure 1215 Internal structure of the subsystem SensorsSubtract initial conditions
124 PERFORMING SIMULATIONS WITH THE AUTOPILOT MODELS 205
Figure 1216 Main menu of the autopilot initialization routine APINIT
The altitude sensor block contains a 3-switch generated by the Matlab routine NSWITCH (seesection 973) which makes it possible to select one of three different altitude outputs (i) acontinuous signal which has passed the 04 sec time-delay only (ii) a discontinuous signal whichhas also passed the 4 ft quantizer block (iii) a discontinuous signal which has been smoothenedout by the Moving Average filter after passing the quantizer block first Which option is chosendepends upon the value of the Constant block that is connected to the 3-switch This can bechanged after double-clicking the altitude sensor block within the subsystem SensorsSubtractinitial conditions
124 Performing simulations with the autopilot models
1241 Autopilot model initialization
Before starting a simulation of one of the autopilot models it is necessary to define all parametersfrom these systems Two Matlab routines to assist the user in this initialization task
1 APINIT This routine sets the initial values of the control signals and initializes the aircraftmodel actuator and cable models and radio navigation models Moreover it contains alsquoshortcutrsquo to the routine FIXSTATE that makes it possible to artificially fix one or morestate variables from the aircraft model eg to neglect longitudinal-lateral cross-couplingeffects (see section 95) APINIT can be started by typing apinit at the command-line orby double-clicking the button-block Initialize subsystems in the top-level of the autopilotsimulation model Figure 1216 shows the main menu from APINIT The user should walkthrough the menu-options in the appropriate order to make sure all system parametersare properly set in the Matlab workspace Item 5 is optional and has therefore been putbetween brackets
2 APMODE This routine helps setting the longitudinal and lateral autopilot modes andthe reference inputs These reference signals define the shape of the deviations from theinitial values of the input signals Currently it is possible only to specify step-shaped inputvalues If this step is set to zero we can analyze the effectiveness of the lsquoHoldrsquo modes of theautopilot under influence of external disturbances and longitudinal-lateral coupling effectsNon-zero steps are used to obtain step-responses Simulating other types of input signalsrequires manual editing of the Simulink models of the autopilot It is recommendedalways to use APMODE for setting the autopilot mode because this ensures that onlylegitimate combinations of autopilot modes are selected APMODE can be started by
206 CHAPTER 12 lsquoBEAVERrsquo AUTOPILOT ndash IMPLEMENTATION IN FDC 12
Element number Symmetrical mode switches (ymodS ) Asymmetrical mode switches (ymodA)1 Symmetrical mode OnOff Asymmetrical mode OnOff2 Symmetrical outer-loops OnOff Asymmetrical outer-loops OnOff3 ALH mode OnOff HH mode OnOff4 ALS mode OnOff NAV mode OnOff5 GS mode OnOff LOC mod OnOff
Table 121 Definition of the elements from ymodS and ymodA (1 = On 0 = Off)
typing apmode at the command-line or by double-clicking the button-block Select mode ampreference signals in the autopilot simulation model The user must specify the symmetricalautopilot mode and corresponding reference input signal and the asymmetrical autopilotmode and reference input APMODE does not set the reference inputs for the approachand navigation modes those definitions will be defined by clicking item 4 of the mainmenu from APINIT
The switch-settings that define which autopilot mode is activated are stored within the Mat-
lab workspace in the variables ymod1S ymod1A ymod2S and ymod2A These variables are alldefined by APMODE The extensions S and A refer to symmetrical and asymmetrical autopilotmodes respectively while the numbers 1 and 2 specify which phase the autopilot mode is in1 = Armed ie the first phase of the control mode and 2 = Coupled ie the second phase1
The switch-setting variables are vectors with five elements which all have a value of either 0or 1 which determine whether a switch should be lsquoopenedrsquo or lsquoclosedrsquo Table 1241 shows themeaning of all elements from ymodS and ymodA In order to get valid combinations of controllaws APMODE only allows the following definitions of ymodS and ymodA
Symmetrical ymod1S (Armed) ymod2S (Coupled)
PAH [ 1 0 0 0 0 ] [ 0 0 0 0 0 ]ALH [ 1 1 1 0 0 ] [ 0 0 0 0 0 ]ALS [ 1 1 0 1 0 ] [ 0 0 0 0 0 ]GS [ 1 1 1 0 0 ] [ 1 1 0 0 1 ]
Asymmetrical ymod1A (Armed) ymod2A (Coupled)
RAH [ 1 0 0 0 0 ] [ 0 0 0 0 0 ]HH [ 1 1 1 0 0 ] [ 0 0 0 0 0 ]NAV [ 1 1 1 0 0 ] [ 1 1 0 1 0 ]LOC [ 1 1 1 0 0 ] [ 1 1 0 0 1 ]
Moreover APMODE determines valid combinations of symmetrical and asymmetrical modeswhich both may have an independent Armed and Coupled phase The Go-Around mode can besimulated by selecting the Pitch and Roll Attitude Hold modes and entering the appropriate ref-erence values with APMODE (∆θ = 10 ϕ = 0) For the Armed phase of the Glideslope modethe ALH control law is used while the Localizer and Navigation modes use the HH control law
1Although Armed and Coupled phases only apply to the radio-navigation modes the variables ymod2S andymod2A must always be defined in the Matlab workspace when running simulations of the autopilot (exceptfor the simplified model APILOT1 which does not contain radio-navigation models altogether) If they are notneeded their elements are set to zero by APMODE Leaving them undefined would yield an error when startinga simulation
124 PERFORMING SIMULATIONS WITH THE AUTOPILOT MODELS 207
in Armed phaseThe reference inputs to the basic control laws being PAH ALH ALS RAH and HH are
stored in the variables yrefS and yrefA These variables are defined as follows
yrefS = [∆θref ∆Href ∆Href ]T
yrefA = [∆ϕref ∆ψref ]T
All elements from these vectors are constants which implies that the simulation model onlyallows step-shaped changes in θ H H ϕ and ψ to be defined (all at t = 0) If you want tochange the shape of these test inputs you must edit the block Reference Signals within APILOT1APILOT2 or APILOT3
The parameters for the Glideslope Localizer and Navigation modes are defined separatelyby APINIT which calls the routines ILSINIT and VORINIT Type help ilsinit or help vorinitat the command-line for more information
1242 Examples of non-linear autopilot simulations
In this section some examples of autopilot simulation experiments will be demonstrated in or-der to show how to use the systems APILOT1 to APILOT3 in practice Since this report doesnot intend to fully cover the behaviour of the lsquoBeaverrsquo autopilot itself the reader is referredto refs[22] and [29] for detailed information about the lsquoBeaverrsquo autopilot project Ref[29] de-scribes the linear design of the control laws and ref[22] treats the non-linear evaluations of theautopilot along with the very first version of the FDC toolbox which has now become obsolete
Example step response of the PAH mode
Suppose we want to analyze the response of the lsquoBeaverrsquo to a step-shaped pitch-command for thePAH mode similar to the analysis from section 1222 Since we will not take into account windturbulence and sensor models and we donrsquot need the radio-navigation signals it is possible touse the system APILOT1 for this simulation This model contains complete implementationsof all autopilot modes except approach and navigation Type apilot1 at the command-line toopen APILOT1 Before starting a simulation double-click the two button-blocks at the bottomside of the block-diagram or type apinit and apmode at the command-line From the user-menuof APINIT choose options 1 to 3 and answer the questions appearing in the command-windowOption 4 is not necessary because APILOT3 does not contain VOR or ILS models option 5 isskipped because we donrsquot want to fix any state variables of the aircraft model After clickingbutton 2 select the actuator models for an airspeed of 45 msminus1 After clicking button 3 load aninitial trimmed flight condition from the file cr4520tri within the FDC subdirectory dataFrom the user-menu of APMODE select the Pitch Attitude Hold mode with a step input ∆θref
equal to 1 and the Roll Attitude Hold mode with a reference value ∆ϕref = 0 If you nowstart the simulation a time-trajectory will appear in the figure-window generated by the Graphscope1 By default this scope will display θ but you may connect it to another output line if youwish See the definition of the S-function output vector in equation (101) By default 60 sec-onds of flight will be simulated After the simulation run the routines RESULTS and RESPLOTrespectively to get an overview of the results Again it is useful to figure out how large the pitchstep may be without the response becoming unstable Compared with the earlier result fromfigure 128 the feasible ∆θ range is now smaller which is probably due to the influence of thelimiters andor continuous gain scheduling functions
1You may get a warning message about an unconnected output line in APILOT1 Disregard this message thediagram was purposely designed in this way
208 CHAPTER 12 lsquoBEAVERrsquo AUTOPILOT ndash IMPLEMENTATION IN FDC 12
Example step response of the ALH and RAH modes with and without turn-compensation
As described in section 115 a turn-compensation loop was added to the pitch channel in orderto minimize the influence of the bank angle upon the pitch angle in PAH mode and the alti-tude in ALH mode The fine-tuning of the gains for these loops was done by means of seriesof non-linear simulations this process has been treated in more detail in ref[22] Here we willbriefly analyze the influence of the turn-compensation logic upon altitude responses due to rollangle commands Open the system APILOT1 and initialize its subsystems by double-clicking thefirst button-block or running APINIT Remember that it is not necessary to initialize the VORandor ILS systems when using APILOT1 Now double-click the second button-block or runAPMODE Select the Altitude Hold mode with reference input ∆Href = 0 in combination withthe Roll Attitude Hold mode with reference input ∆ϕref = 30 Run the simulation then runRESULTS and save the altitude response by typing time1 = time H1 = H at the command-line This is the altitude response with turn-compensation Next enter the system Symmetricalautopilot modes double-click PAH and delete the output line from the block Turn CompensatorRestart the simulation and run RESULTS again If you now type plot(timeHtime1H1) thealtitude responses with and without turn-compensation will be displayed Figure 1217 showsthe results expressed in feet Obviously the turn-compensator helps reducing the initial changein altitude that occurs after initiating a turn with a roll angle of 30 Note the gains for theturn-compensation were carefully fine-tuned for both left and right turns up to a level where anyimprovement in altitude response for left turns yielded a deterioration of the responses for rightturns and vice versa Since the responses were judged to be good enough more sophisticatedlsquoasymmetricalrsquo turn-compensation loops were not taken into account during the design process
Example simulation of the Approach mode
For simulations of the approach mode it is necessary to specify the parameters of the radio-navigation models as well before starting a simulation The user must make sure that theaircraft is in the vicinity of the Localizer and Glideslope reference planes at the beginning ofa simulation because the LOC and GS modes will not couple unless the aircraft passes thesereference planes For this reason it is also required to select an appropriate initial heading andaltitude for ILS capture Letrsquos take a closer look at this problem First open the system API-LOT2 This system does not take into account wind turbulence and sensor noise but it doescontain the required VOR and ILS models Double click button 1 to initialize the subsystems ofAPILOT2 Click the appropriate buttons in the user menu to load the aircraft model parametersload the actuator amp cable models load the initial flight condition from file (in this case loadcr4520tri from the default FDC data-directory) and initialize the ILS system The follow-ing parameters must be entered at the command-line for the ILS initialization runway heightinitial X-distance from the aircraft to the runway initial Y-distance from the aircraft to therunway glideslope angle runway heading X-distance from the runway threshold to the localizerantenna X-distance from the runway threshold to the glideslope antenna and Y-distance fromthe runway centerline to the glideslope antenna Here enter 12000 m for the initial X-distancefrom the aircraft to the runway and use default values for all other ILS parameters Also usedefault values for the VOR system (the VOR parameters are used here as dummy variablesonly) Since the initial flight condition from the file cr4520tri sets the initial altitude to2000 ft the X-distance of 12000 m puts the aircraft in the vicinity of the glideslope referenceplane In this case the initial Y-position puts the aircraft on the extended runway centerlineand the initial heading corresponds with the reference runway heading (ψ = ψRW = 0 deg)
124 PERFORMING SIMULATIONS WITH THE AUTOPILOT MODELS 209
0 10 20 30 40 50 601975
1980
1985
1990
1995
2000
2005
H [f
t]
t [s]
Figure 1217 H-response to command ∆ϕ = 30 (mdash with without turn-compensation)
0 1000 2000 3000 4000 5000 6000 70001200
1400
1600
1800
2000
2200
2400
H [f
t]
X-coordinate [m]
Figure 1218 Altitude response when intercepting glideslope ( reference line)
210 CHAPTER 12 lsquoBEAVERrsquo AUTOPILOT ndash IMPLEMENTATION IN FDC 12
Now double-click the other button block or run APMODE directly from the command-line andspecify the Glideslope and Localizer modes to be used You may now start the simulation Bydefault the Graph Scope block is coupled to the altitude After approximately 8 seconds theaircraft will capture the glideslope Run RESULTS after the simulation has finished and plotthe altitude against the coordinate xe to see the glide-path Figure 1218 shows the resultingaltitude response expressed in [ft] It is also useful to plot the results which are stored in thematrix yils enter type ilshlp at the command-line for the definition of this matrix or seetable E5 in appendix E If you plot the airspeed V you will notice an considerable increase inairspeed when the aircraft starts to descend on the glideslope This is due to the fact that thepowersetting is not changed automatically for the descent In the real aircraft the pilot wouldreduce power which can be roughly simulated by fixing the airspeed to its initial value Useoption 5 of the initialization menu to do so or type fixstate at the command-line Select theoption Fix arbitrary states and specify the vector [1] at the command-line to fix the first statevariable being the airspeed See also section 95
Chapter 13
Recommendations for futureFDC releases
131 Transforming the toolbox to a central model library
The current toolbox provides ample possibilities for the users to adapt and enhance the modelsand tools Combining all those new developments in a central model and tool library canquickly enhance the flexibility and power of the FDC toolbox provided such a library is wellmaintained Although every individual user is free to do whatever he wants with the FDC modelsand tools all entries to a central model library should comply to certain rules in order to preventcompatibility problems That was also the main reason for issuing the license agreement fromsection 13 If there is one central model library to distribute the lsquoofficialrsquo FDC toolbox and itsenhancements it will be much easier to support the toolbox and to determine who is responsiblefor compatibility problems and bugs of each distributed FDC version
An example of such a central program library is the distribution of all TEX-related pro-grams via the Comprehensive TEXArchive Network (CTAN) on Internet1 On a smaller scalethe same sort of program distribution via an ftp-site could be applied to the FDC toolbox and itsfuture enhancements There should be one or more lsquolibrariansrsquo which are ultimately responsiblefor deciding which entries are included to the main FDC distribution and which are not Thisalso makes it easier to respond to user-comments while the user himself can easier issue owncontributions to the FDC toolbox It depends upon the user responses to this version of thetoolbox whether such an ftp-site will ever be realized
132 Porting Simulink models to other computer platforms
In theory it is possible to use an automatic code-generator for transforming graphical Simulink
systems to a subroutine written in a high-level program language that can easily be ported toother systems One application where this could be particularly useful is for transferring controllaws from an off-line Simulink-based simulation environment to on-line flightsimulation andthe Flight Control Computers (FCCrsquos) of the test aircraft Automating these conversions willdrastically reduce the chances of making errors It will ensure that the control laws used inflight are exactly the same as the control laws designed within the Simulink environment
Figure 131 shows what this process would look like In the early stages of the AFCSdesign process the control laws are implemented as graphical block-diagrams in the fashion of
1This network is a set of fully-mirrored ftp-sites which provide up-to-date TEX-related software on the WorldWide Web (httpwwworacomhomepagesCTAN-web)
211
212 CHAPTER 13 RECOMMENDATIONS FOR FUTURE FDC RELEASES
Graphical Simulink system Graphical Simulink systemC-codegenerator
Control Laws
(block-diagram)
Control Laws
(C-code)
Control Laws
(C-code)
Control Laws
(C-code)
Off-line
Real-time
Flight Control Computer
Flightsimulator
Figure 131 lsquoPortablersquo control laws
section 122 Next the separate control laws are integrated within a block-diagram structureas treated in section 123 taking into account all possible external errors sensor dynamicsactuator dynamics discretization effects time-delays etc This type of block-diagram representsthe ultimate off-line simulation model of the AFCS At this stage it becomes necessary to makethe step towards on-line simulation To achieve this it is necessary to convert the part ofthe block-diagram that represents the control laws to a high-level language subroutine Forreasons of computing speed it is probably best to use the C language or take an object-orientedapproach with C ++ (in figure 131 it has been assumed that the block-diagrams are convertedto C ) Before porting this to the on-line flightsimulator or FCCrsquos of the aircraft the resultingprogram should be verified thoroughly to ensure that the results match those of the graphicalblock-diagram The best way to do this is to link the C programs to the original Simulink
simulation model thus replacing the graphical block-diagram representation of the AFCS bythe new C subroutine In Simulink this is possible by means of so-called Matlab-executables(mex-files)
Porting the C subroutine to the on-line flightsimulator is possible only if the simulatorsoftware contains interface-routines for linking external subroutines to the main simulation pro-gram It is essential that the inputoutput relations between the simulator software and thesubroutine with the AFCS control laws are clearly defined and lsquocompatiblersquo with the off-lineSimulink model Should the Simulink model use different units of measurements referenceframes etc it is necessary to put an appropriate interfacing program between the AFCS soft-ware and the aircraft model within the simulator software Obviously these considerations alsoapply to the implementation of AFCS software within the FCCrsquos of the test aircraft
Another problem that has to be solved is the pilot-interface Obviously the pilot mustbe able to enter the AFCS mode and reference values It is recommended to use computerdisplays to represent the status of the AFCS in the aircraft or simulator because that provides
133 OTHER POSSIBLE IMPROVEMENTS FOR FUTURE FDC RELEASES 213
a large flexibility with regard to the display formats Furthermore the pilot needs a flexiblestandardized input device to enter settings and reference values to the AFCS Such standardizeddisplay and input devices make it possible to test different experimental AFCS designs in theon-line flightsimulator and in real flight in parallel without changing the hardware every timea new system is developed In the off-line environment it is relatively easy to emulate suchinputoutput devices from the flight-simulator and the test aircraft
Theoretically we could also go one step beyond the automatic code generation for control lawsonly because an automatic code generator can also be applied to the complete simulation model(ie aircraft model + external disturbances + AFCS control laws + sensor dynamics + actuatordynamics + ) This opens the possibility to port a complete simulation model from Simu-
link to the on-line flightsimulator However there are a number of fundamental problems tobe solved for achieving that level of portability First of all the Simulink environment is byitself not suited for real-time simulations while the on-line flightsimulator must have real-timecapabilities Using the converted Simulink model as a subroutine of the flightsimulator thusrequires careful control of the timing of the program Secondly the interfacing problem becomeseven more pronounced if the complete aircraft model is ported since the simulation model needsto be coupled to the software subroutines which control the display flight instruments motionsystem etc The interfacing problem is enlarged by the enormous flexibility of Simulink Onlyby making solid guidelines for the inputoutput structure of the graphical systems it will bepossible to achieve this level of portability Thirdly it will still be necessary to extract theAFCS control laws separately for implementation within the FCCrsquos of the aircraft All theseproblems eventually can be solved but it will require quite some programming efforts plus care-ful application of hardware interface devices Such extensions to the research environment canprobably best be achieved with help from experienced programmers and hardware developersFor this reason it seems recommendable to start with a more limited approach taking care ofthe portability of the control laws first
133 Other possible improvements for future FDC releases
FDC 12 provides the basis for future implementations of other aircraft models and their appli-cation to a large variety of research and design tasks However since many of its subroutines arestill heavily leaning towards the original lsquoBeaverrsquo model the implementation of other aircraftmodels is not as straightforward as it should be The current tools and models are quite flexiblebut not yet flexible enough Also the structure of some programs has become somewhat in-comprehensible because of the increasing complexity due to new options and safeguards for theusers despite the highly improved on-line help facilities and documentation within the source-codes themselves The basic programming efforts for new FDC versions will therefore be aimedat improving the structure of the Matlab programs and increasing their flexibility to cope withchanges in the Simulink systems For the graphical systems themselves it is also necessary toincrease the flexibility of the package which in particular will require a major overhaul of thefirst level of the non-linear aircraft model
Some other improvements under consideration for future FDC releases are listed below
bull In order to keep the toolbox easily accessible to the users a further improvement of theuser-interface will have to be considered All user-menursquos should be brought to the Mat-
lab 4x standard which should completely eliminate the necessity of using the Matlab
command window for entering system parameters directory names etc when using FDC
214 CHAPTER 13 RECOMMENDATIONS FOR FUTURE FDC RELEASES
tools In the current version it is too often necessary to switch from graphical user-menusto the text-oriented command window and vice versa
bull It should be possible to define units of measurements for the different variables from theFDC models and analytical tools as global definitions Currently the user is often forced tostick to the SI units which may be rather inconvenient in some instances (eg in aviationthe altitude is often expressed in [ft ] in stead of [m] and ILS deviations are expressed inlsquodotsrsquo in stead of [microA])
bull Future versions of the toolbox should contain more flexible and user-friendly tools toprocess simulation data (ie generalized replacements for RESULTS and RESPLOT)
bull The on-line help-texts should be further developed to a windows-oriented format such asthe lsquoMatlab Exporsquo demonstration Of course a hypertext-oriented help environmentwould be even better (it may be a good idea to use a HTML-based help environmentbecause Internet browsers are nowadays very common for PCrsquos and workstations)
bull It may be a good idea to couple the VOR and ILS models to animation routines thatdisplay typical cockpit instruments such as a Radio Magnetic Indicator Track DeviationIndicator or Horizontal Situation Indicator (see ref[3]) The current output signals fromthese models tend to be rather abstract in comparison with the readings from cockpitinstruments which may be a problem in cases where it is necessary to consult pilots Otheranimation routines may also be useful for instance to visualize the simulated motions ofthe aircraft
At the moment of writing some of these improvements were already being implemented so youmay find some additional undocumented options for the FDC toolbox at your FDC installationdiskette Consult the file readme1txt for the latest information
Appendix A
Symbols and definitions
In this appendix the symbols used in this report will be defined along with the frames ofreference and sign conventions Due to the very large number of variables used in this reportit sometimes has been necessary to use the same symbols for different variables In practicethis is not a serious problem since the meaning of a particular symbol usually follows directlyfrom the context in which it is used In cases where confusion can arise some symbols havebeen overlined to make the necessary distinction For the units of measurement in most casesthe SI conventions are used in order to prevent confusion Only in a few cases where equationsfrom other literature has been used the units of measurements may differ from the SI units Alist of variable names and acronyms has been included in appendix E Appendix C defines theparameters of the mathematical model of the aircraft appendix D contains the parameters forthe Simulink implementation of this model
A1 List of symbols
a [ msminus1 ] speed of soundaxk [ g ] kinematic acceleration along XB-axisayk [ g ] kinematic acceleration along YB-axisazk [ g ] kinematic acceleration along ZB-axisAx [ g ] output of accelerometer (specific force) in cg along XB-axisAy [ g ] output of accelerometer (specific force) in cg along YB-axisAz [ g ] output of accelerometer (specific force) in cg along ZB-axisb [ m ] wing-spanc [ m ] mean aerodynamic chordCD [ rad ] course datum (selected VOR bearing)C1 [ ndash ] engine model parameterC2 [ ndash ] engine model parameterCl [ ndash ] non-dimensional moment about XB-axis (rolling moment)Cm [ ndash ] non-dimensional moment about YB-axis (pitching moment)Cn [ ndash ] non-dimensional moment about ZB-axis (yawing moment)CX [ ndash ] non-dimensional force along XB-axisCY [ ndash ] non-dimensional force along YB-axisCZ [ ndash ] non-dimensional force along ZB-axisD [ N ] total aerodynamic dragdgs [ m ] distance from aircraft to nominal glideslope linedloc [ m ] distance from aircraft to extended runway centerlinedpt [ ndash ] ∆pt
12 ρV 2 = non-dimensional pressure increase across propeller
FB body-fixed reference frameFE Earth-fixed reference frame
215
216 APPENDIX A SYMBOLS AND DEFINITIONS
M qN p
F w
F v
F uL r
Y -axis
cg
X -axis
Z -axis
x
y
z
B
B
B
α
βV
Figure A1 Definitions of (angular) velocity components p q and r angle of attack α sideslipangle β and external forces amp moments Fx Fy Fz L M and N
FM measurement reference frameFR special body-fixed reference frame for the lsquoBeaverrsquoFS stability reference frameFV vehicle-carried vertical reference frameFW flight-path reference frameFx [ N ] total external force along XB-axis see figure A1Fy [ N ] total external force along YB-axis see figure A1Fz [ N ] total external force along ZB-axis see figure A1fpa [ g ] flight-path accelerationg [ msminus2 ] acceleration of gravityh [ m ] pressure altitudeh [ s ] step-size for numerical integrationH [ m ] geopotential altitudeHf [ m ] height above aerodrome levelHRW [ m ] runway elevation above sea leveli [ ndash ] counter or iteration numberigs [ microA ] glideslope current (ILS)Ii [ kgm2 ] inertia parameter (i = 1 2 6 see appendix B table B2)iloc [ microA ] localizer current (ILS)Ix [ kgm2 ] moment of inertia along XB-axisIy [ kgm2 ] moment of inertia along YB-axisIz [ kgm2 ] moment of inertia along ZB-axisJxy [ kgm2 ] product of inertia in XBYB-planeJxz [ kgm2 ] product of inertia in XBZB-planeJyz [ kgm2 ] product of inertia in YBZB-planek [ ndash ] time-step for discrete systems t equiv ktsK gain factors for autopilot model see table 113L [ Nm ] total rolling moment see figure A1L [ N ] total aerodynamic liftLg [ m ] general scale length for atmospheric turbulenceLu [ m ] scale length for turbulence velocity along XB-axisLv [ m ] scale length for turbulence velocity along YB-axisLw [ m ] scale length for turbulence velocity along ZB-axism [ kg ] mass of the aircraft
A1 LIST OF SYMBOLS 217
M [ ndash ] Mach numberM [ Nm ] total pitching moment see figure A1Ma [ kg kmolminus1 ] molecular weight of the airM0 [ kg kmolminus1 ] molecular weight of the air at sea leveln [ RPM ] engine speedN [ Nm ] total yawing moment see figure A1p [ rad sminus1 ] angular rate of roll see figure A1P [ Nmsminus1 ] engine powerPl PmPn PppPpq PprPqq PqrPrr
inertia parameters for p-equation (see appendix B table B2)
ps [ Nmminus2 ] ambient or free-stream pressurepz [ primeprimeHg ] manifold pressureq [ rad sminus1 ] angular rate of pitch see figure A1qc [ Nmminus2 ] impact pressureqdyn [ Nmminus2 ] dynamic pressureQl QmQn QppQpq QprQqq QqrQrr
inertia parameters for q-equation (see appendix B table B2)
r [ rad sminus1 ] angular rate or yaw see figure A1R [ JKminus1kgminus1 ] RaM0 specific gas constant of airRa [ JKminus1kmolminus1 ] universal gas constantRc [ minus ] Reynolds number with respect to cRe [ mminus1 ] Reynolds number per unit lengthRgs [ m ] ground distance from aircraft to glideslope transmitter (ILS)Rloc [ m ] ground distance from aircraft to localizer transmitter (ILS)Rl RmRn RppRpq RprRqq RqrRrr
inertia parameters for r-equation (see appendix B table B2)
S [ m2 ] wing areaSgs [ microA radminus1 ] sensitivity of the glideslope system (ILS)Sloc [ microA radminus1 ] sensitivity of the localizer system (ILS)t [ s ] timets [ s ] sampling time (step-width for discrete systems)T [ K ] ambient or free-stream temperatureTt [ K ] total temperatureu [ msminus1 ] velocity component along XB-axisug [ msminus1 ] component of the turbulence velocity along XB-axisuw [ msminus1 ] wind velocity component along XB-axisuwe [ msminus1 ] wind velocity component along XE-axisv [ msminus1 ] velocity component along YB-axisvg [ msminus1 ] component of the turbulence velocity along YB-axisvw [ msminus1 ] wind velocity component along YB-axisvwe [ msminus1 ] wind velocity component along XE-axisV [ msminus1 ] true airspeed see figure A1Vc [ msminus1 ] calibrated airspeedVe [ msminus1 ] equivalent airspeedVw [ msminus1 ] wind velocityVw915 [ msminus1 ] wind velocity at 915 m altitude (reference velocity)
218 APPENDIX A SYMBOLS AND DEFINITIONS
V ∆δa [ V ] command signal to actuators (change in deflection of the ailerons)V ∆δe [ V ] command signal to actuators (change in elevator deflection)V ∆δr [ V ] command signal to actuators (change in rudder deflection)w [ msminus1 ] velocity component along ZB-axisw1 w2 w3 [ minus ] independent white noise signalswg [ msminus1 ] component of the turbulence velocity along ZB-axisww [ msminus1 ] wind velocity component along ZB-axiswwe [ msminus1 ] wind velocity component along XE-axisW [ N ] aircraft weightXa [ N ] aerodynamic force along XB-axisxe [ m ] X-coordinate in Earth-fixed reference frame FE
xf [ m ] X-coordinate in runway-fixed reference frame FF
Xgr [ N ] gravity force along XB-axisXp [ N ] propulsive force along XB-axisYa [ N ] aerodynamic force along YB-axisye [ m ] Y-coordinate in Earth-fixed reference frame FE
yf [ m ] Y-coordinate in runway-fixed reference frame FF
Ygr [ N ] gravity force along YB-axisYp [ N ] propulsive force along YB-axisZa [ N ] aerodynamic force along ZB-axisze [ m ] Z-coordinate in Earth-fixed reference frame FE
zf [ m ] Z-coordinate in runway-fixed reference frame FF
Zgr [ N ] gravity force along ZB-axisZp [ N ] propulsive force along ZB-axisα [ rad ] angle of attack see figure A1β [ rad ] sideslip angle see figure A1γ [ rad ] flight-path angleγ [ ndash ] ratio of specific heats of airγgs [ rad ] nominal glide-path angle on final approach (ILS glide-path)Γgs [ rad ] angle between localizer reference plane and the line through the ground
position of the aircraft and the glideslope antennaΓloc [ rad ] angle between localizer reference plane and the line through the ground
position of the aircraft and the localizer antennaΓV OR [ rad ] angle between selected and actual VOR radialδa [ rad ] deflection of ailerons (δa = δaright
minus δaleft)
δe [ rad ] deflection of elevatorδf [ rad ] deflection of flapsδr [ rad ] deflection of rudder∆ increment∆pt [ Nmminus2 ] increase of total pressure over the propeller∆δa [ rad ] change in deflection of the ailerons∆δe [ rad ] change in elevator deflection∆δr [ rad ] change in rudder deflectionεgs [ rad ] glideslope error angle abovebelow the nominal ILS glide-pathθ [ rad ] pitch angleλ [ Kmminus1 ] temperature gradient (partTparth)micro [ rad ] aerodynamic angle of rollmicro [ kg mminus1sminus1 ] dynamic viscosityρ [ kg mminus3 ] air densityσ standard deviationσgs [ microA ] standard deviation of glideslope noiseσloc [ microA ] standard deviation of localizer noiseσu [ msminus1 ] standard deviation of turbulence velocity in XB-directionσv [ msminus1 ] standard deviation of turbulence velocity in YB-directionσw [ msminus1 ] standard deviation of turbulence velocity in ZB-direction
A2 VECTORS 219
ϕ [ rad ] roll angleΦ [ rad ] bank angleχ [ rad ] azimuth angleψ [ rad ] yaw angleψw [ rad ] wind direction (wind from the North ψw = π)ψRW [ rad ] runway headingω [ rad sminus1 ] angular frequencyω0 [ rad sminus1 ] natural frequency of undamped systemωn [ rad sminus1 ] natural frequency of damped systemΩ [ radmminus1 ] spatial frequency
A2 Vectors
a body-axes acceleration vectorCaero vector with non-dimensional aerodynamic force and moment coefficientsCprop vector with non-dimensional engine force and moment coefficients (lsquopropulsiversquo)F resulting force vector acting on rigid body (F = [Fx Fy Fz]T )h resulting angular momentum of rigid body about cg (h = [hx hy hz]T )M resulting moment vector about cg of rigid body (M = [L M N ]T )r position vectoru input vectorsV true airspeed vectorVw wind velocity vectorx state vectory output vectorsΩ rotational velocity vector
A3 Matrices
A system matrix of linear state-space systemB input matrix of linear state-space systemC output matrix of linear state-space system due to xD output matrix of linear state-space system due to uTPrarrQ transformation matrix from a reference frame FP to a reference frame FQ
Θ transformation matrix for first Euler rotation from FE to FB
Φ transformation matrix for second Euler rotation from FE to FB
Ψ transformation matrix for second Euler rotation from FE to FB
A4 Functions
f(t) general vector-equation for the time-derivatives of the state variablesg(t) general vector-equation for the output variablesH(ω) frequency response of forming filterS(ω) power spectral density functionS(Ω) power spectral density function
A5 Indices and subscripts
0 nominal value0 value at sea levela aileronsa relative to the surrounding atmosphere (used for velocity components)
220 APPENDIX A SYMBOLS AND DEFINITIONS
aero aerodynamic forces and moments or force and moment coefficientscg center of gravitydpt stability derivative with respect to non-dimensional pressure increase across propellere elevatore relative to Earth axes (used for velocity components)f flapsf referenced to runway-fixed reference frame FF F stands for lsquofieldrsquograv gravity force componentsgs related to glideslope deviationk lsquokinematicrsquo (used for accelerations)loc related to localizer deviationp stability derivative with respect to non-dimensional rolling speedq stability derivative with respect to non-dimensional pitching speedr stability derivative with respect to non-dimensional yawing speedr rudderRW runway used for defining runway parametersprop engine forces and moments or force and moment coefficients (lsquopropulsiversquo)VOR related to VOR signalsw wind velocity and wind velocity components along body axeswind force components due to non-steady atmospherewe wind velocity components along Earth axesα stability derivative with respect to angle of attackα2 stability derivative with respect to α2
α3 stability derivative with respect to α3
αδf stability derivative with respect to αδf
α dpt2 stability derivative with respect to α dpt2
α2dpt stability derivative with respect to α2dptβ stability derivative with respect to sideslip angleβ2 stability derivative with respect to β2
β3 stability derivative with respect to β3
β stability derivative with respect to non-dimensional sideslip rateδa stability derivative with respect to deflection of aileronsδaα stability derivative with respect to δaαδe stability derivative with respect to deflection of elevatorδeβ
2 stability derivative with respect to δeβ2
δf stability derivative with respect to deflection of flapsδr stability derivative with respect to deflection of rudderδrα stability derivative with respect to δrα
A6 Abbreviations
AFCS Automatic Flight Control SystemALH Altitude Hold mode of autopilotALS Altitude Select mode of autopilotCACSD Computer Aided Control System DesignCD Course Datumcg center of gravityDHC De Havilland of Canada LtdDME Distance Measuring EquipmentDUT Delft University of TechnologyFCC Flight Control ComputerFDC Flight Dynamics and ControlGA Go Around mode of autopilotGS Glideslope mode of autopilot
A7 REFERENCE FRAMES AND SIGN CONVENTIONS 221
HH Heading Hold Heading Select mode of autopilotILS Instrument Landing SystemLOC Localizer mode of autopilotNAV VOR Navigation mode of autopilotPAH Pitch Attitude Hold mode of autopilotODE Ordinary Differential EquationRAH Roll Attitude Hold mode of autopilotSTOL Short Take-off and LandingTAS True AirspeedVOR Very high frequency Omnidirectional RangeVTOL Vertical Take-off and Landing
A7 Reference frames and sign conventions
A71 Definitions
The definitions of the reference frames used within this report are given below The referenceframes FM and FR have been added to this list although they will be used only in table C2 inappendix C The equations for translational and angular velocities are referenced to the bodyaxes FB The aircraft attitude is defined by the Euler angles ψ θ and ϕ for which purpose thevehicle-carried vertical reference frame FV is introduced The aircraft position is defined withrespect to the Earth-fixed reference frame FE
Measurement reference frame FM This is a left-handed orthogonal reference frame that isused for correcting stability and control derivatives of the aircraft if the cg position differsfrom the one used during the flight tests For the lsquoBeaverrsquo aircraft the origin OM lies in apoint resulting from the perpendicular projection of the foremost point of the wing chordparallel to the OBXBZB-plane (ref[26]) The XMOMZM -plane coincides with the OBXBZB-plane The positive XM -axis points backwards the positive YM -axis points to the left andthe positive ZM -axis points upwards
Body-fixed reference frame FB This is a right-handed orthogonal reference system whichhas its origin OB in the center of gravity of the aircraft The XBOBZB plane coincides withthe aircraftrsquos plane of symmetry if it is symmetric or it is located in a plane approximatingwhat would be the plane of symmetry if it is not (ref[9]) The XB-axis is directed towardsthe nose of the aircraft the YB-axis points to the right wing (starboard) and the ZB-axispoints towards the bottom of the aircraft
Special body-fixed reference frame for the lsquoBeaverrsquo FR This reference frame is definedspecifically for the lsquoBeaverrsquo aircraft It is identical to FB with one exception its origin OR
is placed in a body-fixed reference point which has been selected to coincide with a cgposition that was actually used during one flight It has the following coordinates in FM x = 05996 m y = 0 m z = minus08815 m see ref[26] FR is used only to define the momentsand products of inertia for the aircraft condition on which the aerodynamic model is based(see table C2 in appendix C)
Stability reference frame FS This is a special body-fixed reference frame used in the studyof small deviations from a nominal flight condition The reference frames FB and FS differin the orientation of their respective X-axes The XS-axis is chosen parallel to the projectionof the true airspeed vector V on the OBXBZB-plane (if the aircraft is symmetric this is theplane of symmetry) or parallel to V itself in case of a symmetrical nominal flight conditionThe YS-axis coincides with the YB-axis
222 APPENDIX A SYMBOLS AND DEFINITIONS
Flight-path or wind reference frame FW This reference frame also called the wind refer-ence frame has its origin in the cg of the aircraft The XW -axis is aligned with the velocityvector of the aircraft and the ZW -axis coincides with the ZS-axis
Earth-fixed reference frame FE This reference frame also called the topodetic referenceframe (ref[9]) is a right-handed orthogonal system which is considered to be fixed in spaceIts origin can be placed at an arbitrary position but will be chosen to coincide with theaircraftrsquos center of gravity at the start of a flight test manoeuvre The ZE-axis points down-wards parallel to the local direction of gravity The XE-axis is directed to the North theYE-axis to the East
Vehicle-carried vertical reference system FV This reference system has its origin at thecg of the aircraft The XV -axis is directed to the North the YV -axis to the East and theZV -axis points downwards (along the local direction of gravity) These reference axes arealways parallel to the Earth-fixed reference axes although the origin OV moves relatively tothe Earth-fixed reference frame
A72 Relationships between the reference frames
In figure A2 the relationship between the Earth-fixed and vehicle-carried vertical reference sys-tems is shown FE and FV differ only in the position of their respective origins The relationshipbetween the vehicle-carried vertical and body-axes is shown in figure A3 The Euler angles ψθ and ϕ define the orientation of FB with respect to FV hence they define the attitude of theaircraft with respect to the Earthrsquos surface The transformation matrices that express each ofthe Euler rotations separately are
Ψ =
cos ψ sinψ 0
minus sinψ cos ψ 00 0 1
(A1)
Θ =
cos θ 0 minus sin θ
0 1 0sin θ 0 cos θ
(A2)
Φ =
1 0 0
0 cos ϕ sinϕ0 minus sinϕ cos ϕ
(A3)
The total transformation matrix from FV to FB then becomes
TV rarrB = Φ middot Θ middot Ψ =
=
cos ψ cos θ sinψ cos θ minus sin θ
cos ψ sin θ sinϕ minus sinψ cos ϕ sinψ sin θ sinϕ + cos ψ cos ϕ cos θ sinϕcos ψ sin θ cos ϕ + sinψ sinϕ sinψ sin θ cos ϕ minus cos ψ sinϕ cos θ cos ϕ
(A4)
so the relation between a vector yB in the body reference frame and yV in the vehicle-carriedvertical reference frame is
yB = TV rarrB middot yV (A5)
The orientation of the flight-path axes with respect to the vehicle-carried vertical axes can alsobe expressed in terms of Euler angles denoted by χ γ and micro This is shown in figure A4
The relationships between the body flight-path and stability reference frames are shown infigure A5 These three reference systems all have their origin in the aircraftrsquos center of gravity
A7 REFERENCE FRAMES AND SIGN CONVENTIONS 223
X (north)
Y (east)
Y (east)X (north)
Z (down)
Z (down)
E
V
V
E
V
E
g
cg
r
Figure A2 Relationship between the vehicle-carried vertical reference frame FV and the Earth-fixed reference frame FE
The XW -axis is aligned with the velocity vector of the aircraft The orientation of the flight-path axes with respect to the body-fixed reference frame is defined by the angle of attack α andthe sideslip angle β The stability reference system is displaced from the flight-path axes by arotation β and from the body axes by a rotation minusα
A73 Sign conventions for deflections of control surfaces
Figure A6 shows the positive directions of control surface deflections The positive elevatordeflection is measured downwards a positive value of δe results in a pitch-down moment to theaircraft The deflections of the rudder and ailerons are positive if they force the aircraft to moveto the left If one aileron deflection has a positive sign the other one consequently is negativeThe lsquototalrsquo aileron deflection is defined as δa = δaright
minus δaleft The flap angle is positive if the
flaps deflect downwards (which they always do) similar to the elevator deflection A positivevalue of δf results in an increase in lift and drag of the aircraft
224 APPENDIX A SYMBOLS AND DEFINITIONS
Horizontal plane
ZV
XV
YV
ψ
ψX prime
Y prime
bull A rotation by ψ about the ZV -axisto the intermediate position X primeY primeZV
ZV
XV
YV
ψ
ψ
Z prime
X prime
Y prime
XB
θ
θ
bull A rotation by θ about the Y prime-axisto the intermediate position XBY primeZ prime
ZV
XV
YV
ψ
ψ
Z prime
X prime
Y prime
XB
θ
θ
ϕ
ϕ
YBZB bull A rotation by ϕ about the XB-axis
to the final position XBYBZB
Figure A3 Relationship between the vehicle-carried vertical reference frame FV and the body-fixed reference frame FB
A7 REFERENCE FRAMES AND SIGN CONVENTIONS 225
ZV
XV
YV
χ
χ
X prime
Y prime
bull A rotation by χ about the ZV -axisto the intermediate position X primeY primeZV
Horizontal plane
ZV
XV
YV
χ
χ
X prime
Y prime
bull A rotation by γ about the Y prime-axisto the intermediate position XW Y primeZ prime
13
γ
γ
Z prime
XW
ZV
XV
YV
χ
χ
X prime
Y prime
bull A rotation by micro about the XW -axisto the final position XW YW ZW
13
γ
γ
Z prime
XW
micro
micro
ZW
YW
Figure A4 Relationship between the vehicle-carried vertical reference frame FV and the flight-path reference frame FW
226 APPENDIX A SYMBOLS AND DEFINITIONS
cg
αo
βo
αo
V
XB
XS
XW
BZ
S WZ = Z
Y = YB S
WYoβ
Figure A5 Relationship between the body-fixed reference frame FB flight-path reference frameFW and stability reference frame FS
δ (+)r
δ (+)e
δaleft( )
δaright(+)
δaleftδaright
δa =
Figure A6 Sign conventions for control surface deflections
Appendix B
General rigid-body equations ofmotion
In this appendix the derivation of the rigid-body equations of Newton will be given This ap-pendix has been included since a good understanding of Newtonian mechanics is very importantfor any discussion about the derivation of the equations of motion of an aircraft One shouldparticularly take notice of the assumptions which shall be made during this derivation For moredetails regarding the equations of motion the reader is referred to refs[9] [10] [15] [19] or [20](to name just a few)
B1 Linear and rotational velocity equations in body-axes
B11 General force equation for a rigid body
Consider a mass point δm that moves with time-varying velocity V under the influence of aforce F Both V and F are measured relatively to a right-handed orthogonal reference frameOXYZ Applying Newtonrsquos second law yields
δF = δm middot V (B1)
Applying this equation to all mass points of a rigid body and summing all contributions acrossthis body yieldssum
δF =sum
δmdVdt
=d
dt
sumVδm (B2)
Let the center of gravity of the rigid body have a velocity Vcg with components u v and walong the X Y and Z-axes of the right-handed reference frame The velocity of each masspoint within the rigid body then equals the sum of Vcg and the velocity of the mass point withrespect to this center of gravity If the position of the mass point with respect to the cg isdenoted by the vector r the following vector equation is found
V = Vcg + r (B3)
thereforesumVδm =
sum(Vcg + r)δm = mVcg +
d
dt
sumrδm (B4)
In this equation m denotes the total mass of the rigid body In the center of gravity we canwritesum
r δm = 0 (B5)
227